From c4f1e580ef0fc9e18a44ad3cf8ca3890d57ea07d Mon Sep 17 00:00:00 2001 From: Philippe Coval Date: Fri, 25 Oct 2019 18:40:59 +0200 Subject: [PATCH] vscode: Parse settings with comments If needed developer can revert the removed comments at the cost of loosing JSON compliance. The alternative would be to use an other non standard JSON.parse Bug: https://github.com/Microsoft/generator-docker/issues/104 Forwarded: https://github.com/microsoft/generator-docker/pull/146 Change-Id: I80f8b290b846f62abaf5b99d424a8cfdfd9f84a1 Signed-off-by: Philippe Coval --- generators/app/baseHelper.js | 3 ++- package-lock.json | 15 +++++++++++++++ package.json | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/generators/app/baseHelper.js b/generators/app/baseHelper.js index 2b3ca19..6ae4b08 100644 --- a/generators/app/baseHelper.js +++ b/generators/app/baseHelper.js @@ -7,6 +7,7 @@ var util = require('./utils.js'); var path = require('path'); var process = require('process'); var fs = require('fs'); +var decomment = require('decomment'); /** * Represents a base helper for projects. @@ -123,7 +124,7 @@ BaseHelper.prototype.updateSettingsJson = function (cb) { data = data.replace(/^\uFEFF/, ''); } - data = JSON.parse(data); + data = JSON.parse(decomment(data)); updateSettingsCB(data, true, cb); }); diff --git a/package-lock.json b/package-lock.json index 3527b45..02a3863 100644 --- a/package-lock.json +++ b/package-lock.json @@ -509,6 +509,21 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "decomment": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.2.tgz", + "integrity": "sha512-sblyUmOJZxiL7oJ2ogJS6jtl/67+CTOW87SrYE/96u3PhDYikYoLCdLzcnceToiQejOLlqNnLCkaxx/+nE/ehg==", + "requires": { + "esprima": "4.0.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + } + }, "decompress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", diff --git a/package.json b/package.json index 9c72add..34573f5 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "dependencies": { "chalk": "^1.0.0", "configstore": "^1.3.0", + "decomment": "^0.9.2", "node-uuid": "^1.4.7", "process": "^0.11.2", "yeoman-generator": "^0.19.0",