codify-plugin-test 0.0.53-beta1 → 0.0.53-beta10
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/dist/plugin-tester.js +8 -2
- package/dist/plugin-tester.js.map +1 -1
- package/dist/utils.d.ts +2 -1
- package/dist/utils.js +21 -1
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/plugin-tester.ts +9 -2
- package/src/utils.ts +25 -2
package/dist/plugin-tester.js
CHANGED
|
@@ -2,10 +2,13 @@ import chalk from 'chalk';
|
|
|
2
2
|
import { ResourceOperation, } from 'codify-schemas';
|
|
3
3
|
import unionBy from 'lodash.unionby';
|
|
4
4
|
import { PluginProcess } from './plugin-process.js';
|
|
5
|
-
import { splitUserConfig } from './utils.js';
|
|
5
|
+
import { getResourceOs, splitUserConfig } from './utils.js';
|
|
6
6
|
export class PluginTester {
|
|
7
7
|
static async fullTest(pluginPath, configs, options) {
|
|
8
|
-
const ids = configs
|
|
8
|
+
const ids = configs
|
|
9
|
+
.filter((c) => !c.os || c.os.includes(getResourceOs()))
|
|
10
|
+
.map((c) => `${c.type}.${c.name}`)
|
|
11
|
+
.join(', ');
|
|
9
12
|
console.info(chalk.cyan(`Starting full test of [ ${ids} ]...`));
|
|
10
13
|
const { skipUninstall = false, } = options ?? {};
|
|
11
14
|
const plugin = new PluginProcess(pluginPath);
|
|
@@ -55,6 +58,7 @@ export class PluginTester {
|
|
|
55
58
|
if (!options?.skipImport) {
|
|
56
59
|
const importPlugin = new PluginProcess(pluginPath);
|
|
57
60
|
try {
|
|
61
|
+
await importPlugin.initialize();
|
|
58
62
|
console.info(chalk.cyan('Testing import...'));
|
|
59
63
|
const importResults = [];
|
|
60
64
|
for (const config of configs) {
|
|
@@ -73,6 +77,7 @@ export class PluginTester {
|
|
|
73
77
|
if (options?.testModify) {
|
|
74
78
|
const modifyPlugin = new PluginProcess(pluginPath);
|
|
75
79
|
try {
|
|
80
|
+
await modifyPlugin.initialize();
|
|
76
81
|
console.info(chalk.cyan('Testing modify...'));
|
|
77
82
|
const modifyPlans = [];
|
|
78
83
|
for (const config of options.testModify.modifiedConfigs) {
|
|
@@ -112,6 +117,7 @@ ${JSON.stringify(modifyPlans, null, 2)}`);
|
|
|
112
117
|
static async uninstall(pluginPath, configs, options) {
|
|
113
118
|
const destroyPlugin = new PluginProcess(pluginPath);
|
|
114
119
|
try {
|
|
120
|
+
await destroyPlugin.initialize();
|
|
115
121
|
console.info(chalk.cyan('Testing destroy...'));
|
|
116
122
|
const plans = [];
|
|
117
123
|
for (const config of configs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-tester.js","sourceRoot":"","sources":["../src/plugin-tester.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-tester.js","sourceRoot":"","sources":["../src/plugin-tester.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ResourceConfig, StringIndexedObject } from 'codify-schemas';
|
|
1
|
+
import { ResourceConfig, ResourceOs, StringIndexedObject } from 'codify-schemas';
|
|
2
2
|
export declare function splitUserConfig<T extends StringIndexedObject>(config: ResourceConfig & T): {
|
|
3
3
|
parameters: T;
|
|
4
4
|
coreParameters: ResourceConfig;
|
|
5
5
|
};
|
|
6
|
+
export declare function getResourceOs(): ResourceOs;
|
package/dist/utils.js
CHANGED
|
@@ -1,13 +1,33 @@
|
|
|
1
|
+
import { ResourceOs } from 'codify-schemas';
|
|
2
|
+
import os from 'node:os';
|
|
1
3
|
export function splitUserConfig(config) {
|
|
2
4
|
const coreParameters = {
|
|
3
5
|
type: config.type,
|
|
4
6
|
...(config.name ? { name: config.name } : {}),
|
|
5
7
|
...(config.dependsOn ? { dependsOn: config.dependsOn } : {}),
|
|
8
|
+
...(config.os ? { os: config.os } : {}),
|
|
6
9
|
};
|
|
7
|
-
const { type, name, dependsOn, ...parameters } = config;
|
|
10
|
+
const { type, name, dependsOn, os, ...parameters } = config;
|
|
8
11
|
return {
|
|
9
12
|
parameters: parameters,
|
|
10
13
|
coreParameters,
|
|
11
14
|
};
|
|
12
15
|
}
|
|
16
|
+
export function getResourceOs() {
|
|
17
|
+
const currOs = os.platform();
|
|
18
|
+
switch (currOs) {
|
|
19
|
+
case 'darwin': {
|
|
20
|
+
return ResourceOs.MACOS;
|
|
21
|
+
}
|
|
22
|
+
case 'linux': {
|
|
23
|
+
return ResourceOs.LINUX;
|
|
24
|
+
}
|
|
25
|
+
case 'win32': {
|
|
26
|
+
return ResourceOs.WINDOWS;
|
|
27
|
+
}
|
|
28
|
+
default: {
|
|
29
|
+
throw new Error(`Unsupported OS: ${currOs}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
13
33
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,UAAU,eAAe,CAC7B,MAA0B;IAE1B,MAAM,cAAc,GAAG;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;IAGF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;IAE5D,OAAO;QACL,UAAU,EAAE,UAAe;QAC3B,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC7B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codify-plugin-test",
|
|
3
|
-
"version": "0.0.53-
|
|
3
|
+
"version": "0.0.53-beta10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"ajv": "^8.12.0",
|
|
18
18
|
"ajv-formats": "^3.0.1",
|
|
19
|
-
"codify-schemas": "1.0.86-
|
|
19
|
+
"codify-schemas": "1.0.86-beta7",
|
|
20
20
|
"lodash.matches": "^4.6.0",
|
|
21
21
|
"lodash.differencewith": "4.5.0",
|
|
22
22
|
"lodash.unionby": "^4.8.0",
|
package/src/plugin-tester.ts
CHANGED
|
@@ -8,7 +8,8 @@ import {
|
|
|
8
8
|
import unionBy from 'lodash.unionby';
|
|
9
9
|
|
|
10
10
|
import { PluginProcess } from './plugin-process.js';
|
|
11
|
-
import { splitUserConfig } from './utils.js';
|
|
11
|
+
import { getResourceOs, splitUserConfig } from './utils.js';
|
|
12
|
+
import * as os from 'node:os';
|
|
12
13
|
|
|
13
14
|
export class PluginTester {
|
|
14
15
|
static async fullTest(
|
|
@@ -26,7 +27,10 @@ export class PluginTester {
|
|
|
26
27
|
validateModify?: (plans: PlanResponseData[]) => Promise<void> | void,
|
|
27
28
|
}
|
|
28
29
|
}): Promise<void> {
|
|
29
|
-
const ids = configs
|
|
30
|
+
const ids = configs
|
|
31
|
+
.filter((c) => !c.os || c.os.includes(getResourceOs()))
|
|
32
|
+
.map((c) => `${c.type}.${c.name}`)
|
|
33
|
+
.join(', ')
|
|
30
34
|
console.info(chalk.cyan(`Starting full test of [ ${ids} ]...`))
|
|
31
35
|
|
|
32
36
|
const {
|
|
@@ -91,6 +95,7 @@ export class PluginTester {
|
|
|
91
95
|
if (!options?.skipImport) {
|
|
92
96
|
const importPlugin = new PluginProcess(pluginPath);
|
|
93
97
|
try {
|
|
98
|
+
await importPlugin.initialize();
|
|
94
99
|
console.info(chalk.cyan('Testing import...'))
|
|
95
100
|
|
|
96
101
|
const importResults = [];
|
|
@@ -113,6 +118,7 @@ export class PluginTester {
|
|
|
113
118
|
const modifyPlugin = new PluginProcess(pluginPath);
|
|
114
119
|
|
|
115
120
|
try {
|
|
121
|
+
await modifyPlugin.initialize();
|
|
116
122
|
console.info(chalk.cyan('Testing modify...'))
|
|
117
123
|
|
|
118
124
|
const modifyPlans = [];
|
|
@@ -164,6 +170,7 @@ ${JSON.stringify(modifyPlans, null, 2)}`)
|
|
|
164
170
|
const destroyPlugin = new PluginProcess(pluginPath);
|
|
165
171
|
|
|
166
172
|
try {
|
|
173
|
+
await destroyPlugin.initialize();
|
|
167
174
|
console.info(chalk.cyan('Testing destroy...'))
|
|
168
175
|
|
|
169
176
|
const plans = [];
|
package/src/utils.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ResourceConfig, StringIndexedObject } from 'codify-schemas';
|
|
1
|
+
import { ResourceConfig, ResourceOs, StringIndexedObject } from 'codify-schemas';
|
|
2
|
+
import os from 'node:os';
|
|
2
3
|
|
|
3
4
|
export function splitUserConfig<T extends StringIndexedObject>(
|
|
4
5
|
config: ResourceConfig & T
|
|
@@ -7,13 +8,35 @@ export function splitUserConfig<T extends StringIndexedObject>(
|
|
|
7
8
|
type: config.type,
|
|
8
9
|
...(config.name ? { name: config.name } : {}),
|
|
9
10
|
...(config.dependsOn ? { dependsOn: config.dependsOn } : {}),
|
|
11
|
+
...(config.os ? { os: config.os } : {}),
|
|
10
12
|
};
|
|
11
13
|
|
|
12
14
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
13
|
-
const { type, name, dependsOn, ...parameters } = config;
|
|
15
|
+
const { type, name, dependsOn, os, ...parameters } = config;
|
|
14
16
|
|
|
15
17
|
return {
|
|
16
18
|
parameters: parameters as T,
|
|
17
19
|
coreParameters,
|
|
18
20
|
};
|
|
19
21
|
}
|
|
22
|
+
|
|
23
|
+
export function getResourceOs(): ResourceOs{
|
|
24
|
+
const currOs = os.platform();
|
|
25
|
+
switch (currOs) {
|
|
26
|
+
case 'darwin': {
|
|
27
|
+
return ResourceOs.MACOS;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
case 'linux': {
|
|
31
|
+
return ResourceOs.LINUX;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
case 'win32': {
|
|
35
|
+
return ResourceOs.WINDOWS;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
default: {
|
|
39
|
+
throw new Error(`Unsupported OS: ${currOs}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|