@alfresco/adf-cli 8.4.0-19758325202 → 8.4.0-19764492903
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -4
- package/scripts/audit.d.ts.map +1 -1
- package/scripts/audit.js +35 -3
- package/scripts/audit.js.map +1 -1
- package/scripts/changelog.d.ts.map +1 -1
- package/scripts/changelog.js +33 -11
- package/scripts/changelog.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfresco/adf-cli",
|
|
3
3
|
"description": "Alfresco ADF cli and utils",
|
|
4
|
-
"version": "8.4.0-
|
|
4
|
+
"version": "8.4.0-19764492903",
|
|
5
5
|
"author": "Hyland Software, Inc. and its affiliates",
|
|
6
6
|
"bin": {
|
|
7
7
|
"adf-cli": "bin/adf-cli",
|
|
@@ -22,11 +22,10 @@
|
|
|
22
22
|
"unlink": "cd ../../dist/libs/cli && npm unlink"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@alfresco/js-api": ">=9.4.0-
|
|
25
|
+
"@alfresco/js-api": ">=9.4.0-19764492903",
|
|
26
26
|
"ejs": "^3.1.10",
|
|
27
27
|
"license-checker": "^25.0.1",
|
|
28
28
|
"node-fetch": "^2.7.0",
|
|
29
|
-
"shelljs": "^0.10.0",
|
|
30
29
|
"spdx-license-list": "^5.0.0"
|
|
31
30
|
},
|
|
32
31
|
"keywords": [
|
|
@@ -36,7 +35,6 @@
|
|
|
36
35
|
"devDependencies": {
|
|
37
36
|
"@types/ejs": "^3.1.2",
|
|
38
37
|
"@types/node": "^20.1.7",
|
|
39
|
-
"@types/shelljs": "^0.8.12",
|
|
40
38
|
"typescript": "^4.9.5"
|
|
41
39
|
}
|
|
42
40
|
}
|
package/scripts/audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../lib/cli/scripts/audit.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAcH;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../lib/cli/scripts/audit.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAcH;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,oBA0H/D"}
|
package/scripts/audit.js
CHANGED
|
@@ -51,7 +51,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
51
51
|
})();
|
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
53
|
exports.default = main;
|
|
54
|
-
const
|
|
54
|
+
const node_child_process_1 = require("node:child_process");
|
|
55
55
|
const ejs = __importStar(require("ejs"));
|
|
56
56
|
const path = __importStar(require("path"));
|
|
57
57
|
const fs = __importStar(require("fs"));
|
|
@@ -113,8 +113,40 @@ Options:
|
|
|
113
113
|
// eslint-disable-next-line no-console
|
|
114
114
|
console.log(`Running audit on ${packagePath}`);
|
|
115
115
|
const packageJson = JSON.parse(fs.readFileSync(packagePath).toString());
|
|
116
|
-
|
|
117
|
-
const
|
|
116
|
+
// Run in the directory containing the package.json
|
|
117
|
+
const packageDir = path.dirname(packagePath);
|
|
118
|
+
// Use spawnSync with array arguments for safer command execution (prevents shell injection)
|
|
119
|
+
// Cross-platform: npm is available on PATH on all platforms (Windows, macOS, Linux)
|
|
120
|
+
const result = (0, node_child_process_1.spawnSync)('npm', ['audit', '--json', '--prod'], {
|
|
121
|
+
cwd: packageDir,
|
|
122
|
+
encoding: 'utf-8',
|
|
123
|
+
// shell: false is the default and more secure (no shell interpretation)
|
|
124
|
+
shell: false,
|
|
125
|
+
// Set maxBuffer to handle large audit outputs
|
|
126
|
+
maxBuffer: 10 * 1024 * 1024 // 10MB
|
|
127
|
+
});
|
|
128
|
+
let jsonAudit;
|
|
129
|
+
// npm audit returns non-zero exit code when vulnerabilities are found
|
|
130
|
+
// We still want to parse the JSON output in this case
|
|
131
|
+
if (result.error) {
|
|
132
|
+
console.error('Failed to run npm audit:', result.error.message);
|
|
133
|
+
reject(result.error);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const auditOutput = result.stdout;
|
|
137
|
+
if (!auditOutput) {
|
|
138
|
+
console.error('npm audit produced no output');
|
|
139
|
+
reject(new Error('npm audit produced no output'));
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
try {
|
|
143
|
+
jsonAudit = JSON.parse(auditOutput);
|
|
144
|
+
}
|
|
145
|
+
catch (parseError) {
|
|
146
|
+
console.error('Failed to parse npm audit output');
|
|
147
|
+
reject(parseError);
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
118
150
|
ejs.renderFile(templatePath, {
|
|
119
151
|
jsonAudit,
|
|
120
152
|
projVersion: packageJson.version,
|
package/scripts/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../../lib/cli/scripts/audit.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBH,
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../../lib/cli/scripts/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../../../lib/cli/scripts/changelog.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../../../lib/cli/scripts/changelog.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAwJH;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,oBAiI/D"}
|
package/scripts/changelog.js
CHANGED
|
@@ -54,7 +54,7 @@ exports.default = main;
|
|
|
54
54
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
55
55
|
const node_process_1 = require("node:process");
|
|
56
56
|
const node_util_1 = require("node:util");
|
|
57
|
-
const
|
|
57
|
+
const node_child_process_1 = require("node:child_process");
|
|
58
58
|
const path = __importStar(require("path"));
|
|
59
59
|
const logger_1 = require("./logger");
|
|
60
60
|
const fs = __importStar(require("fs"));
|
|
@@ -66,9 +66,19 @@ const ejs = __importStar(require("ejs"));
|
|
|
66
66
|
* @returns URL pointing to the git remote
|
|
67
67
|
*/
|
|
68
68
|
function getRemote(workingDir) {
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
69
|
+
// Use spawnSync with array arguments for safer command execution (prevents shell injection)
|
|
70
|
+
const result = (0, node_child_process_1.spawnSync)('git', ['config', '--get', 'remote.origin.url'], {
|
|
71
|
+
cwd: workingDir,
|
|
72
|
+
encoding: 'utf-8',
|
|
73
|
+
shell: false
|
|
74
|
+
});
|
|
75
|
+
if (result.error) {
|
|
76
|
+
throw new Error(`Failed to get git remote: ${result.error.message}`);
|
|
77
|
+
}
|
|
78
|
+
if (result.status !== 0) {
|
|
79
|
+
throw new Error(`git config command failed with exit code ${result.status}: ${result.stderr}`);
|
|
80
|
+
}
|
|
81
|
+
return result.stdout.trim();
|
|
72
82
|
}
|
|
73
83
|
/**
|
|
74
84
|
* Get the list of commits based on the configuration options
|
|
@@ -84,14 +94,14 @@ function getCommits(options) {
|
|
|
84
94
|
if (!authorFilter) {
|
|
85
95
|
authorFilter = `bot|Alfresco Build User`;
|
|
86
96
|
}
|
|
97
|
+
// Build git command arguments array for safe execution (prevents shell injection)
|
|
87
98
|
const args = [
|
|
88
|
-
|
|
89
|
-
`log`,
|
|
99
|
+
'log',
|
|
90
100
|
options.range,
|
|
91
|
-
|
|
92
|
-
|
|
101
|
+
'--no-merges',
|
|
102
|
+
'--first-parent',
|
|
93
103
|
// this format is needed to allow parsing all characters in the commit message and safely convert to JSON
|
|
94
|
-
|
|
104
|
+
'--format={ ^@^hash^@^: ^@^%h^@^, ^@^author^@^: ^@^%an^@^, ^@^author_email^@^: ^@^%ae^@^, ^@^date^@^: ^@^%ad^@^, ^@^subject^@^: ^@^%s^@^ }'
|
|
95
105
|
];
|
|
96
106
|
if (options.max !== undefined) {
|
|
97
107
|
args.push(`--max-count=${options.max}`);
|
|
@@ -99,8 +109,20 @@ function getCommits(options) {
|
|
|
99
109
|
if (options.skip !== undefined) {
|
|
100
110
|
args.push(`--skip=${options.skip}`);
|
|
101
111
|
}
|
|
102
|
-
|
|
103
|
-
|
|
112
|
+
// Use spawnSync with array arguments for safer command execution
|
|
113
|
+
const result = (0, node_child_process_1.spawnSync)('git', args, {
|
|
114
|
+
cwd: options.dir,
|
|
115
|
+
encoding: 'utf-8',
|
|
116
|
+
shell: false,
|
|
117
|
+
maxBuffer: 10 * 1024 * 1024 // 10MB to handle large git logs
|
|
118
|
+
});
|
|
119
|
+
if (result.error) {
|
|
120
|
+
throw new Error(`Failed to get git commits: ${result.error.message}`);
|
|
121
|
+
}
|
|
122
|
+
if (result.status !== 0) {
|
|
123
|
+
throw new Error(`git log command failed with exit code ${result.status}: ${result.stderr}`);
|
|
124
|
+
}
|
|
125
|
+
let log = result.stdout;
|
|
104
126
|
// https://stackoverflow.com/a/13928240/14644447
|
|
105
127
|
log = JSON.stringify(log.trim()).slice(1, -1).replace(/\^@\^/gm, '"');
|
|
106
128
|
if (log.endsWith(',')) {
|
package/scripts/changelog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../../../lib/cli/scripts/changelog.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../../../lib/cli/scripts/changelog.ts"],"names":[],"mappings":"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"}
|