1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.addPackageToPackageJson = void 0;
|
4 | function sortObjectByKeys(obj) {
|
5 | return Object.keys(obj)
|
6 | .sort()
|
7 | .reduce((result, key) => (result[key] = obj[key]) && result, {});
|
8 | }
|
9 | function addPackageToPackageJson(tree, pkg, version) {
|
10 | if (tree.exists('package.json')) {
|
11 | const packageJsonFile = tree.read('package.json');
|
12 | const sourceText = packageJsonFile && packageJsonFile.toString('utf-8');
|
13 | const json = sourceText && JSON.parse(sourceText);
|
14 | if (!json.dependencies) {
|
15 | json.dependencies = {};
|
16 | }
|
17 | if (!json.dependencies[pkg]) {
|
18 | json.dependencies[pkg] = version;
|
19 | json.dependencies = sortObjectByKeys(json.dependencies);
|
20 | }
|
21 | tree.overwrite('package.json', JSON.stringify(json, null, 2));
|
22 | }
|
23 | return tree;
|
24 | }
|
25 | exports.addPackageToPackageJson = addPackageToPackageJson;
|
26 |
|
\ | No newline at end of file |