You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by dp...@apache.org on 2024/12/17 05:01:07 UTC
(cordova-lib) branch master updated: Keep final new line in package.json (#941)
This is an automated email from the ASF dual-hosted git repository.
dpogue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-lib.git
The following commit(s) were added to refs/heads/master by this push:
new 8c63c3ac Keep final new line in package.json (#941)
8c63c3ac is described below
commit 8c63c3ac146c6ad99820d66aaf51c98fd3ab94ed
Author: Aidan Temple <15...@users.noreply.github.com>
AuthorDate: Tue Dec 17 16:01:01 2024 +1100
Keep final new line in package.json (#941)
* fix package json formatting
* revert back to fs.writeFileSync
* fix tests
---
spec/cordova/plugin/add.spec.js | 2 +-
src/cordova/platform/addHelper.js | 5 ++++-
src/cordova/platform/remove.js | 5 ++++-
src/cordova/plugin/add.js | 5 ++++-
src/cordova/plugin/remove.js | 5 ++++-
5 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/spec/cordova/plugin/add.spec.js b/spec/cordova/plugin/add.spec.js
index 02092795..ec96cf60 100644
--- a/spec/cordova/plugin/add.spec.js
+++ b/spec/cordova/plugin/add.spec.js
@@ -145,7 +145,7 @@ describe('cordova/plugin/add', function () {
spyOn(fs, 'readFileSync').and.returnValue('file');
return add(projectRoot, hook_mock, { plugins: ['cordova-plugin-device'], cli_variables: cli_plugin_variables, save: 'true' }).then(function () {
- expect(fs.writeFileSync).toHaveBeenCalledWith(jasmine.any(String), JSON.stringify({ cordova: { plugins: { 'cordova-plugin-device': cli_plugin_variables } }, dependencies: {}, devDependencies: {} }, null, 2), 'utf8');
+ expect(fs.writeFileSync).toHaveBeenCalledWith(jasmine.any(String), JSON.stringify({ cordova: { plugins: { 'cordova-plugin-device': cli_plugin_variables } }, dependencies: {}, devDependencies: {} }, null, 2) + '\n', 'utf8');
});
});
it('should overwrite plugin information in config.xml after a successful installation', function () {
diff --git a/src/cordova/platform/addHelper.js b/src/cordova/platform/addHelper.js
index 98793a70..db5694e7 100644
--- a/src/cordova/platform/addHelper.js
+++ b/src/cordova/platform/addHelper.js
@@ -27,6 +27,8 @@ const cordova_util = require('../util');
const promiseutil = require('../../util/promise-util');
const platforms = require('../../platforms');
const detectIndent = require('detect-indent');
+const detectNewline = require('detect-newline');
+const stringifyPackage = require('stringify-package');
const getPlatformDetailsFromDir = require('./getPlatformDetailsFromDir');
const preparePlatforms = require('../prepare/platforms');
@@ -226,7 +228,8 @@ function addHelper (cmd, hooksRunner, projectRoot, targets, opts) {
if (modifiedPkgJson === true) {
const file = fs.readFileSync(pkgJsonPath, 'utf8');
const indent = detectIndent(file).indent || ' ';
- fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, indent), 'utf8');
+ const newline = detectNewline(file);
+ fs.writeFileSync(pkgJsonPath, stringifyPackage(pkgJson, indent, newline), 'utf8');
}
});
}).then(function () {
diff --git a/src/cordova/platform/remove.js b/src/cordova/platform/remove.js
index 9d2a84c9..e2b03e75 100644
--- a/src/cordova/platform/remove.js
+++ b/src/cordova/platform/remove.js
@@ -25,6 +25,8 @@ const cordova_util = require('../util');
const promiseutil = require('../../util/promise-util');
const platforms = require('../../platforms/platforms');
const detectIndent = require('detect-indent');
+const detectNewline = require('detect-newline');
+const stringifyPackage = require('stringify-package');
module.exports = remove;
@@ -71,7 +73,8 @@ function remove (hooksRunner, projectRoot, targets, opts) {
if (modifiedPkgJson === true) {
const file = fs.readFileSync(pkgJsonPath, 'utf8');
const indent = detectIndent(file).indent || ' ';
- fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, indent), 'utf8');
+ const newline = detectNewline(file);
+ fs.writeFileSync(pkgJsonPath, stringifyPackage(pkgJson, indent, newline), 'utf8');
}
}
}).then(function () {
diff --git a/src/cordova/plugin/add.js b/src/cordova/plugin/add.js
index 6b656470..91af02a5 100644
--- a/src/cordova/plugin/add.js
+++ b/src/cordova/plugin/add.js
@@ -22,6 +22,8 @@ const path = require('node:path');
const semver = require('semver');
const url = require('url');
const detectIndent = require('detect-indent');
+const detectNewline = require('detect-newline');
+const stringifyPackage = require('stringify-package');
const cordova_util = require('../util');
const plugin_util = require('./util');
const cordova_pkgJson = require('../../../package.json');
@@ -154,7 +156,8 @@ function add (projectRoot, hooksRunner, opts) {
// Write to package.json
const file = fs.readFileSync(pkgJsonPath, 'utf8');
const indent = detectIndent(file).indent || ' ';
- fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, indent), 'utf8');
+ const newline = detectNewline(file);
+ fs.writeFileSync(pkgJsonPath, stringifyPackage(pkgJson, indent, newline), 'utf8');
}
const src = module.exports.parseSource(target, opts);
diff --git a/src/cordova/plugin/remove.js b/src/cordova/plugin/remove.js
index 1524f386..9d93a612 100644
--- a/src/cordova/plugin/remove.js
+++ b/src/cordova/plugin/remove.js
@@ -28,6 +28,8 @@ const plugman = require('../../plugman/plugman');
const metadata = require('../../plugman/util/metadata');
const PluginInfoProvider = require('cordova-common').PluginInfoProvider;
const detectIndent = require('detect-indent');
+const detectNewline = require('detect-newline');
+const stringifyPackage = require('stringify-package');
const { Q_chainmap } = require('../../util/promise-util');
const preparePlatforms = require('../prepare/platforms');
@@ -145,7 +147,8 @@ function remove (projectRoot, targets, hooksRunner, opts) {
// Write out new package.json with plugin removed correctly.
const file = fs.readFileSync(pkgJsonPath, 'utf8');
const indent = detectIndent(file).indent || ' ';
- fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, indent), 'utf8');
+ const newline = detectNewline(file);
+ fs.writeFileSync(pkgJsonPath, stringifyPackage(pkgJson, indent, newline), 'utf8');
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org