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",