From a051807d6a184ad92e1470b12f5d8d14ccce3ee9 Mon Sep 17 00:00:00 2001 From: digli Date: Wed, 26 Sep 2018 10:23:30 +0200 Subject: [PATCH 1/3] Upgrade to node 8 and update outdated dependencies --- package.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index e8b3ded..fb75789 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "url": "git://github.com/sydsvenskan/node-graphql-partials" }, "engines": { - "node": ">=6.0.0" + "node": ">=8.0.0" }, "main": "index.js", "bin": { @@ -20,7 +20,7 @@ "update-examples": "./cli.js examples/with-partials.graphql > examples/without-partials.graphql", "mocha": "NODE_ENV=test istanbul cover _mocha -- -u exports -R spec test/**/*.spec.js", "dependency-check": "JS_FILES=\"*.js test/*/*.js\" && dependency-check . $JS_FILES && dependency-check . $JS_FILES --unused --no-dev", - "test": "npm run --silent build && installed-check -e && eslint --ext .js --ext .jsx . && npm run --silent dependency-check && npm run --silent mocha", + "test": "npm run --silent build && installed-check -e -i eslint && eslint --ext .js --ext .jsx . && npm run --silent dependency-check && npm run --silent mocha", "build": "pegjs schema-parser.pegjs > schema-parser.js", "watch": "nodemon -w schema-parser.pegjs -x \"npm run --silent build\"", "prepush": "npm test", @@ -28,18 +28,18 @@ }, "devDependencies": { "chai": "^4.1.0", - "dependency-check": "^2.9.1", - "eslint": "^4.2.0", - "eslint-config-semistandard": "^11.0.0", - "eslint-config-standard": "^10.0.0", + "dependency-check": "^3.2.1", + "eslint": "^5.6.0", + "eslint-config-semistandard": "^12.0.1", + "eslint-config-standard": "^12.0.0", "eslint-plugin-import": "^2.7.0", - "eslint-plugin-node": "^5.1.0", - "eslint-plugin-promise": "^3.5.0", - "eslint-plugin-standard": "^3.0.1", - "husky": "^0.14.3", + "eslint-plugin-node": "^7.0.1", + "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-standard": "^4.0.0", + "husky": "^1.0.0", "installed-check": "^2.1.1", "istanbul": "^0.4.5", - "mocha": "^4.0.1", + "mocha": "^5.2.0", "nodemon": "^1.11.0", "pegjs": "^0.10.0" }, From 640378730be23b29c44651999f099ec76e6624ae Mon Sep 17 00:00:00 2001 From: digli Date: Wed, 26 Sep 2018 10:24:27 +0200 Subject: [PATCH 2/3] Use ampersand separators instead of comma --- schema-parser.pegjs | 14 +++++++------- test/unit/main.spec.js | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/schema-parser.pegjs b/schema-parser.pegjs index 1a662f7..8972b8b 100644 --- a/schema-parser.pegjs +++ b/schema-parser.pegjs @@ -12,26 +12,26 @@ TypeContent = [^}]* { return text(); } Extension - = _ type:String _ names:CommaSeparatedString { + = _ type:String _ names:AmpersandSeparatedString { return { type, names }; } Implements - = _ "implements" _ interfaces:CommaSeparatedString { return interfaces; } + = _ "implements" _ interfaces:AmpersandSeparatedString { return interfaces; } Uses - = _ "using" _ traits:CommaSeparatedString { return traits; } + = _ "using" _ traits:AmpersandSeparatedString { return traits; } Comment = _? "#" comment:EverythingButNewline sp* nl { return comment.trim(); } -CommaSeparatedString - = head:String tail:(CommaPrefixedString)* { +AmpersandSeparatedString + = head:String tail:(AmpersandPrefixedString)* { return [head].concat(tail); } -CommaPrefixedString - = _? "," _? value:String { return value; } +AmpersandPrefixedString + = _? "&" _? value:String { return value; } SpacePrefixedString = _ value:String { return value; } diff --git a/test/unit/main.spec.js b/test/unit/main.spec.js index 83bdaae..845fccc 100644 --- a/test/unit/main.spec.js +++ b/test/unit/main.spec.js @@ -25,7 +25,7 @@ interface ContentInterface using ContentFields { # Wow 😧 Is this real? # 🚀 Very much so! -interface Document implements ContentInterface using FooFields, ContentFields { +interface Document implements ContentInterface using FooFields & ContentFields { uuid: ID! } `; From b28b59876bdf95034f505d089a3ffc534b6b8b93 Mon Sep 17 00:00:00 2001 From: digli Date: Wed, 26 Sep 2018 10:31:51 +0200 Subject: [PATCH 3/3] Compile with ampersand separator --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index a3db751..0cf07be 100644 --- a/index.js +++ b/index.js @@ -83,7 +83,7 @@ const renderSchemaWithPartials = function (schema) { const extensions = getExtensions(item); delete extensions.using; const extensionList = Object.keys(extensions) - .map(extension => ' ' + extension + ' ' + extensions[extension].join(', ')); + .map(extension => ' ' + extension + ' ' + extensions[extension].join(' & ')); const name = item.name ? ' ' + item.name : '';