@salesforce/plugin-release-management 4.2.2 → 4.3.0
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/lib/jit.js +27 -28
- package/lib/jit.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/lib/jit.js
CHANGED
|
@@ -26,19 +26,7 @@ async function testJITInstall(options) {
|
|
|
26
26
|
// Clear tmp dir before test to ensure that we're starting from a clean slate
|
|
27
27
|
await fs.promises.rm(tmpDir, { recursive: true, force: true });
|
|
28
28
|
await fs.promises.mkdir(tmpDir, { recursive: true });
|
|
29
|
-
const dataDir = path.join(tmpDir, 'data');
|
|
30
|
-
const cacheDir = path.join(tmpDir, 'cache');
|
|
31
|
-
const configDir = path.join(tmpDir, 'config');
|
|
32
|
-
process.env.SF_DATA_DIR = dataDir;
|
|
33
|
-
process.env.SF_CACHE_DIR = cacheDir;
|
|
34
|
-
process.env.SF_CONFIG_DIR = configDir;
|
|
35
|
-
await fs.promises.mkdir(dataDir, { recursive: true });
|
|
36
|
-
await fs.promises.mkdir(cacheDir, { recursive: true });
|
|
37
|
-
await fs.promises.mkdir(configDir, { recursive: true });
|
|
38
29
|
ux.styledHeader('Testing JIT installation');
|
|
39
|
-
ux.log(`SF_DATA_DIR: ${dataDir}`);
|
|
40
|
-
ux.log(`SF_CACHE_DIR: ${cacheDir}`);
|
|
41
|
-
ux.log(`SF_CONFIG_DIR: ${configDir}`);
|
|
42
30
|
const fileData = await fs.promises.readFile('package.json', 'utf8');
|
|
43
31
|
const packageJson = (0, kit_1.parseJson)(fileData);
|
|
44
32
|
const jitPlugins = Object.keys(packageJson.oclif?.jitPlugins ?? {});
|
|
@@ -66,17 +54,24 @@ async function testJITInstall(options) {
|
|
|
66
54
|
return false;
|
|
67
55
|
}
|
|
68
56
|
};
|
|
69
|
-
const verifyInstall = async (plugin) => {
|
|
57
|
+
const verifyInstall = async (plugin, dataDir) => {
|
|
70
58
|
const userPjsonRaw = await fs.promises.readFile(path.join(dataDir, 'package.json'), 'utf-8');
|
|
71
59
|
const userPjson = (0, kit_1.parseJson)(userPjsonRaw);
|
|
72
60
|
return Boolean(userPjson.dependencies?.[plugin]);
|
|
73
61
|
};
|
|
74
62
|
const passedInstalls = [];
|
|
75
63
|
const failedInstalls = [];
|
|
76
|
-
|
|
77
|
-
|
|
64
|
+
await Promise.all(jitPlugins.map(async (plugin) => {
|
|
65
|
+
ux.log(`Testing JIT install for ${plugin}`);
|
|
66
|
+
const dataDir = path.join(tmpDir, plugin, 'data');
|
|
67
|
+
const cacheDir = path.join(tmpDir, plugin, 'cache');
|
|
68
|
+
const configDir = path.join(tmpDir, plugin, 'config');
|
|
69
|
+
await fs.promises.mkdir(dataDir, { recursive: true });
|
|
70
|
+
await fs.promises.mkdir(cacheDir, { recursive: true });
|
|
71
|
+
await fs.promises.mkdir(configDir, { recursive: true });
|
|
72
|
+
let resultStdout = '';
|
|
73
|
+
let resultStderr = '';
|
|
78
74
|
try {
|
|
79
|
-
ux.log(`Testing JIT install for ${plugin}`);
|
|
80
75
|
const firstCommand = commands.find((c) => c.pluginName === plugin);
|
|
81
76
|
if (!firstCommand) {
|
|
82
77
|
throw new core_1.SfError(`Unable to find command for ${plugin}`);
|
|
@@ -88,21 +83,28 @@ async function testJITInstall(options) {
|
|
|
88
83
|
// Test that executing the command will trigger JIT install
|
|
89
84
|
// This will likely always fail because we're not providing all the required flags or it depends on some other setup.
|
|
90
85
|
// However, this is okay because all we need to verify is that running the command will trigger the JIT install
|
|
91
|
-
const { stdout, stderr } = await exec(`${executable} ${firstCommand.id}
|
|
92
|
-
|
|
93
|
-
|
|
86
|
+
const { stdout, stderr } = await exec(`${executable} ${firstCommand.id}`, {
|
|
87
|
+
env: {
|
|
88
|
+
...process.env,
|
|
89
|
+
SF_DATA_DIR: dataDir,
|
|
90
|
+
SF_CACHE_DIR: cacheDir,
|
|
91
|
+
SF_CONFIG_DIR: configDir,
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
resultStdout = stripAnsi(stdout);
|
|
95
|
+
resultStderr = stripAnsi(stderr);
|
|
94
96
|
}
|
|
95
97
|
catch (e) {
|
|
96
98
|
const err = e;
|
|
97
99
|
// @ts-expect-error ExecException type doesn't have a stdout or stderr property
|
|
98
100
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
99
|
-
|
|
101
|
+
resultStdout = stripAnsi(err.stdout);
|
|
100
102
|
// @ts-expect-error ExecException type doesn't have a stdout or stderr property
|
|
101
103
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
102
|
-
|
|
104
|
+
resultStderr = stripAnsi(err.stderr);
|
|
103
105
|
}
|
|
104
106
|
finally {
|
|
105
|
-
const result = await verifyInstall(plugin);
|
|
107
|
+
const result = await verifyInstall(plugin, dataDir);
|
|
106
108
|
if (result) {
|
|
107
109
|
ux.log(`✅ ${chalk.green(`Verified installation of ${plugin}\n`)}`);
|
|
108
110
|
passedInstalls.push(plugin);
|
|
@@ -110,14 +112,11 @@ async function testJITInstall(options) {
|
|
|
110
112
|
else {
|
|
111
113
|
ux.log(`❌ ${chalk.red(`Failed installation of ${plugin}\n`)}`);
|
|
112
114
|
failedInstalls.push(plugin);
|
|
115
|
+
ux.log(`stdout:\n${resultStdout}`);
|
|
116
|
+
ux.log(`stderr:\n${resultStderr}`);
|
|
113
117
|
}
|
|
114
|
-
// Move the data dir so that we can start with a clean slate for the next plugin
|
|
115
|
-
// Deleting the dir would waste time, especially on Windows
|
|
116
|
-
// These prevents the 'oclif.lock' install refresh from slowing down the test
|
|
117
|
-
// There are integration tests in '@oclif/plugin-plugins' that test the oclif.lock refresh
|
|
118
|
-
await fs.promises.rename(dataDir, path.join(tmpDir, `data-${plugin.replace('@salesforce/', '')}`));
|
|
119
118
|
}
|
|
120
|
-
}
|
|
119
|
+
}));
|
|
121
120
|
ux.styledHeader('JIT Installation Results');
|
|
122
121
|
ux.log(`Passed (${passedInstalls.length})`);
|
|
123
122
|
passedInstalls.forEach((msg) => ux.log(`• ${msg}`));
|
package/lib/jit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jit.js","sourceRoot":"","sources":["../src/jit.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,qCAAqC;AACrC,yBAAyB;AACzB,6BAA6B;AAC7B,yBAAyB;AACzB,+BAAiC;AACjC,iDAAgE;AAChE,iEAAiD;AACjD,+BAA+B;AAC/B,2CAA2C;AAC3C,yCAA4C;AAE5C,wCAAyC;AAGzC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,oBAAQ,CAAC,CAAC;AAQ1B,KAAK,UAAU,cAAc,CAAC,OAAgB;IACnD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,EAAE,GAAG,IAAI,oBAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;IACrD,6EAA6E;IAC7E,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,
|
|
1
|
+
{"version":3,"file":"jit.js","sourceRoot":"","sources":["../src/jit.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,qCAAqC;AACrC,yBAAyB;AACzB,6BAA6B;AAC7B,yBAAyB;AACzB,+BAAiC;AACjC,iDAAgE;AAChE,iEAAiD;AACjD,+BAA+B;AAC/B,2CAA2C;AAC3C,yCAA4C;AAE5C,wCAAyC;AAGzC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,oBAAQ,CAAC,CAAC;AAQ1B,KAAK,UAAU,cAAc,CAAC,OAAgB;IACnD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,EAAE,GAAG,IAAI,oBAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;IACrD,6EAA6E;IAC7E,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAA,eAAS,EAAC,QAAQ,CAAgB,CAAC;IACvD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEpC,IAAI,YAAY,CAAC;IACjB,IAAI;QACF,YAAY,GAAG,OAAO,CAAC,YAAY;YACjC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;YAC1D,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;KAC/D;IAAC,MAAM;QACN,EAAE,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;KAC1E;IAED,MAAM,QAAQ,GAAG,IAAA,eAAS,EAAC,YAAY,CAAwB,CAAC;IAEhE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,KAAK,EAAE,OAAe,EAAoB,EAAE;QACvD,IAAI;YACF,MAAM,IAAI,CAAC,GAAG,UAAU,IAAI,OAAO,SAAS,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC;SACd;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAoB,EAAE;QAChF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QAE7F,MAAM,SAAS,GAAG,IAAA,eAAS,EAAC,YAAY,CAAgB,CAAC;QACzD,OAAO,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9B,EAAE,CAAC,GAAG,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEtD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAExD,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI;YACF,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,IAAI,cAAO,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;aAC3D;YAED,yCAAyC;YACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/C,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,YAAY,CAAC,EAAE,WAAW,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE9G,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,2DAA2D;YAC3D,qHAAqH;YACrH,+GAA+G;YAC/G,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,UAAU,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE;gBACxE,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,WAAW,EAAE,OAAO;oBACpB,YAAY,EAAE,QAAQ;oBACtB,aAAa,EAAE,SAAS;iBACzB;aACF,CAAC,CAAC;YACH,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACjC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;SAClC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,GAAG,CAAkB,CAAC;YAC/B,+EAA+E;YAC/E,iEAAiE;YACjE,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrC,+EAA+E;YAC/E,iEAAiE;YACjE,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACtC;gBAAS;YACR,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,MAAM,EAAE;gBACV,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,4BAA4B,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC7B;iBAAM;gBACL,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,0BAA0B,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/D,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,EAAE,CAAC,GAAG,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC;gBACnC,EAAE,CAAC,GAAG,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC;aACpC;SACF;IACH,CAAC,CAAC,CACH,CAAC;IAEF,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAC5C,EAAE,CAAC,GAAG,CAAC,WAAW,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IACpD,IAAI,cAAc,CAAC,MAAM,EAAE;QACzB,EAAE,CAAC,GAAG,EAAE,CAAC;QACT,EAAE,CAAC,GAAG,CAAC,WAAW,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,cAAO,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AACH,CAAC;AAxHD,wCAwHC"}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-release-management",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@salesforce/plugin-release-management",
|
|
9
|
-
"version": "4.
|
|
9
|
+
"version": "4.3.0",
|
|
10
10
|
"license": "BSD-3-Clause",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@oclif/core": "^2.15.0",
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED