presetter 3.1.0 → 3.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/README.md +7 -7
- package/lib/content.d.ts +1 -1
- package/lib/content.js +58 -129
- package/lib/directive.js +67 -196
- package/lib/error.js +12 -36
- package/lib/executable/entry.js +55 -73
- package/lib/executable/error.js +24 -55
- package/lib/executable/index.js +5 -23
- package/lib/index.js +20 -69
- package/lib/io.d.ts +1 -1
- package/lib/io.js +88 -170
- package/lib/package.js +58 -149
- package/lib/preset.js +160 -294
- package/lib/run.js +59 -127
- package/lib/scripts.js +52 -128
- package/lib/template.js +70 -139
- package/lib/types.d.ts +1 -0
- package/lib/types.js +2 -1
- package/package.json +9 -1
- package/lib/content.js.map +0 -1
- package/lib/directive.js.map +0 -1
- package/lib/error.js.map +0 -1
- package/lib/executable/entry.js.map +0 -1
- package/lib/executable/error.js.map +0 -1
- package/lib/executable/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/io.js.map +0 -1
- package/lib/package.js.map +0 -1
- package/lib/preset.js.map +0 -1
- package/lib/run.js.map +0 -1
- package/lib/scripts.js.map +0 -1
- package/lib/template.js.map +0 -1
- package/lib/types.js.map +0 -1
package/lib/run.js
CHANGED
@@ -1,134 +1,66 @@
|
|
1
1
|
"use strict";
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
});
|
6
|
-
exports.run =
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
var _error = require("./error");
|
17
|
-
|
18
|
-
var _package = require("./package");
|
19
|
-
|
20
|
-
var _preset = require("./preset");
|
21
|
-
|
22
|
-
var _scripts = require("./scripts");
|
23
|
-
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
25
|
-
|
26
|
-
/*
|
27
|
-
* *** MIT LICENSE ***
|
28
|
-
* -------------------------------------------------------------------------
|
29
|
-
* This code may be modified and distributed under the MIT license.
|
30
|
-
* See the LICENSE file for details.
|
31
|
-
* -------------------------------------------------------------------------
|
32
|
-
*
|
33
|
-
* @summary Run a task
|
34
|
-
*
|
35
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
36
|
-
* @license MIT
|
37
|
-
* @copyright Copyright (c) 2019 - All Rights Reserved.
|
38
|
-
* -------------------------------------------------------------------------
|
39
|
-
*/
|
40
|
-
|
41
|
-
/** manage ~package.json */
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.run = void 0;
|
7
|
+
const execa_1 = __importDefault(require("execa"));
|
8
|
+
const fs_extra_1 = require("fs-extra");
|
9
|
+
const lodash_1 = require("lodash");
|
10
|
+
const path_1 = require("path");
|
11
|
+
const error_1 = require("./error");
|
12
|
+
const package_1 = require("./package");
|
13
|
+
const preset_1 = require("./preset");
|
14
|
+
const scripts_1 = require("./scripts");
|
42
15
|
class TemporaryPackageJSONManager {
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
this.package.json.scripts = (0, _scripts.composeScripts)({
|
67
|
-
template,
|
68
|
-
target: { ...this.package.json.scripts
|
69
|
-
}
|
70
|
-
}); // move the existing package.json to a safe place
|
71
|
-
|
72
|
-
if (this.shouldRestore) {
|
73
|
-
await (0, _error.wrap)((0, _fsExtra.move)(this.package.path, this.path), `failed to backup package.json`);
|
74
|
-
} // generate a temporary package.json in order to let npm to see all the definitions
|
75
|
-
|
76
|
-
|
77
|
-
const PADDING = 2;
|
78
|
-
const content = JSON.stringify(this.package.json, null, PADDING);
|
79
|
-
await (0, _error.wrap)((0, _fsExtra.writeFile)(this.package.path, content), 'failed to write to package.json');
|
80
|
-
}
|
81
|
-
/**
|
82
|
-
* clean up the temporary artifacts
|
83
|
-
*/
|
84
|
-
|
85
|
-
|
86
|
-
async restore() {
|
87
|
-
if (this.shouldRestore) {
|
88
|
-
await (0, _error.wrap)((0, _fsExtra.unlink)(this.package.path).then(async () => (0, _fsExtra.move)(this.path, this.package.path)), `failed to restore package.json`);
|
16
|
+
constructor(packageDetail) {
|
17
|
+
this.path = (0, path_1.resolve)((0, path_1.dirname)(packageDetail.path), '~' + (0, path_1.basename)(packageDetail.path));
|
18
|
+
this.package = packageDetail;
|
19
|
+
this.shouldRestore = !(0, fs_extra_1.pathExistsSync)(this.path);
|
20
|
+
}
|
21
|
+
async replace(task) {
|
22
|
+
delete this.package.json.scripts[task];
|
23
|
+
const template = await (0, preset_1.getScripts)(await (0, preset_1.getContext)());
|
24
|
+
this.package.json.scripts = (0, scripts_1.composeScripts)({
|
25
|
+
template,
|
26
|
+
target: Object.assign({}, this.package.json.scripts),
|
27
|
+
});
|
28
|
+
if (this.shouldRestore) {
|
29
|
+
await (0, error_1.wrap)((0, fs_extra_1.move)(this.package.path, this.path), `failed to backup package.json`);
|
30
|
+
}
|
31
|
+
const PADDING = 2;
|
32
|
+
const content = JSON.stringify(this.package.json, null, PADDING);
|
33
|
+
await (0, error_1.wrap)((0, fs_extra_1.writeFile)(this.package.path, content), 'failed to write to package.json');
|
34
|
+
}
|
35
|
+
async restore() {
|
36
|
+
if (this.shouldRestore) {
|
37
|
+
await (0, error_1.wrap)((0, fs_extra_1.unlink)(this.package.path).then(async () => (0, fs_extra_1.move)(this.path, this.package.path)), `failed to restore package.json`);
|
38
|
+
}
|
89
39
|
}
|
90
|
-
}
|
91
|
-
|
92
40
|
}
|
93
|
-
/**
|
94
|
-
* run a task defined in the combined script definitions
|
95
|
-
* @param task the name of the task to be run
|
96
|
-
* @param argv parameters supplied for the task
|
97
|
-
*/
|
98
|
-
|
99
|
-
|
100
41
|
async function run(task, argv = []) {
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
42
|
+
const packageDetail = await (0, package_1.getPackage)();
|
43
|
+
const manager = new TemporaryPackageJSONManager(packageDetail);
|
44
|
+
await manager.replace(task);
|
45
|
+
const restore = (0, lodash_1.once)(async (isInterrupted) => {
|
46
|
+
process.removeListener('SIGINT', restore);
|
47
|
+
await manager.restore();
|
48
|
+
if (isInterrupted) {
|
49
|
+
const SIGINT = 130;
|
50
|
+
process.exit(SIGINT);
|
51
|
+
}
|
52
|
+
});
|
53
|
+
process.on('SIGINT', restore.bind(run, true));
|
54
|
+
const { exitCode } = await (0, execa_1.default)('npm', ['run', task, '--', ...argv], {
|
55
|
+
cwd: (0, path_1.dirname)(packageDetail.path),
|
56
|
+
stdio: 'inherit',
|
57
|
+
reject: false,
|
58
|
+
shell: true,
|
59
|
+
});
|
60
|
+
await restore(false);
|
61
|
+
if (exitCode > 0) {
|
62
|
+
process.exit(exitCode);
|
115
63
|
}
|
116
|
-
});
|
117
|
-
process.on('SIGINT', restore.bind(run, true)); // run the task
|
118
|
-
|
119
|
-
const {
|
120
|
-
exitCode
|
121
|
-
} = await (0, _execa.default)('npm', ['run', task, '--', ...argv], {
|
122
|
-
cwd: (0, _path.dirname)(packageDetail.path),
|
123
|
-
stdio: 'inherit',
|
124
|
-
reject: false,
|
125
|
-
shell: true
|
126
|
-
}); // restore package.json
|
127
|
-
|
128
|
-
await restore(false); // set the exit code as the same as the returned
|
129
|
-
|
130
|
-
if (exitCode > 0) {
|
131
|
-
process.exit(exitCode);
|
132
|
-
}
|
133
64
|
}
|
134
|
-
|
65
|
+
exports.run = run;
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFlQSxrREFBMEI7QUFDMUIsdUNBQW1FO0FBQ25FLG1DQUE4QjtBQUM5QiwrQkFBa0Q7QUFFbEQsbUNBQStCO0FBQy9CLHVDQUF1QztBQUN2QyxxQ0FBa0Q7QUFDbEQsdUNBQTJDO0FBSzNDLE1BQU0sMkJBQTJCO0lBVS9CLFlBQVksYUFBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLGNBQU8sRUFDakIsSUFBQSxjQUFPLEVBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUMzQixHQUFHLEdBQUcsSUFBQSxlQUFRLEVBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUNuQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUEseUJBQWMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQU1NLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBWTtRQUUvQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUd2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsbUJBQVUsRUFBQyxNQUFNLElBQUEsbUJBQVUsR0FBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEsd0JBQWMsRUFBQztZQUN6QyxRQUFRO1lBQ1IsTUFBTSxvQkFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBR0gsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE1BQU0sSUFBQSxZQUFJLEVBQ1IsSUFBQSxlQUFJLEVBQUMsSUFBSSxDQUFDLE9BQU8s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
|
package/lib/scripts.js
CHANGED
@@ -1,138 +1,62 @@
|
|
1
1
|
"use strict";
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
var _mvdanSh = require("mvdan-sh");
|
11
|
-
|
12
|
-
var _path = require("path");
|
13
|
-
|
14
|
-
/*
|
15
|
-
* *** MIT LICENSE ***
|
16
|
-
* -------------------------------------------------------------------------
|
17
|
-
* This code may be modified and distributed under the MIT license.
|
18
|
-
* See the LICENSE file for details.
|
19
|
-
* -------------------------------------------------------------------------
|
20
|
-
*
|
21
|
-
* @summary Handle script merging
|
22
|
-
*
|
23
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
24
|
-
* @license MIT
|
25
|
-
* @copyright Copyright (c) 2019 - All Rights Reserved.
|
26
|
-
* -------------------------------------------------------------------------
|
27
|
-
*/
|
28
|
-
// shell command parser
|
29
|
-
const parser = _mvdanSh.syntax.NewParser(); // shell command generator
|
30
|
-
|
31
|
-
|
32
|
-
const printer = _mvdanSh.syntax.NewPrinter();
|
33
|
-
/** resource context to be passed for processing */
|
34
|
-
|
35
|
-
|
36
|
-
/**
|
37
|
-
* merge the script definitions from the template and the target package.json
|
38
|
-
* @param args template and customised scripts to be merged
|
39
|
-
* @param args.template scripts defined from the template
|
40
|
-
* @param args.target scripts defined from target's package.json
|
41
|
-
* @returns a dictionary of merged definitions
|
42
|
-
*/
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.composeScripts = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
const mvdan_sh_1 = require("mvdan-sh");
|
6
|
+
const path_1 = require("path");
|
7
|
+
const parser = mvdan_sh_1.syntax.NewParser();
|
8
|
+
const printer = mvdan_sh_1.syntax.NewPrinter();
|
43
9
|
function composeScripts(args) {
|
44
|
-
|
45
|
-
template,
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
statement.Cmd = statement.Cmd.Stmts[0].Cmd;
|
65
|
-
} // generate the code from ast
|
66
|
-
|
67
|
-
|
68
|
-
return printer.Print(ast).trim();
|
69
|
-
} catch (error) {
|
70
|
-
if (error instanceof Error) {
|
71
|
-
throw error;
|
72
|
-
} else {
|
73
|
-
// parser.Parse may throw an empty object as an error, catch here
|
74
|
-
throw new Error(`failed to parse command: ${command}`);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
});
|
10
|
+
const { template, target } = args;
|
11
|
+
return (0, lodash_1.mapValues)(Object.assign(Object.assign({}, template), target), (command) => {
|
12
|
+
try {
|
13
|
+
const ast = parser.Parse(command);
|
14
|
+
mvdan_sh_1.syntax.Walk(ast, (node) => replaceRunnerNode(node, { template, target }));
|
15
|
+
const [statement] = ast.Stmts;
|
16
|
+
if (isNodeType(statement.Cmd, 'Subshell')) {
|
17
|
+
statement.Cmd = statement.Cmd.Stmts[0].Cmd;
|
18
|
+
}
|
19
|
+
return printer.Print(ast).trim();
|
20
|
+
}
|
21
|
+
catch (error) {
|
22
|
+
if (error instanceof Error) {
|
23
|
+
throw error;
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
throw new Error(`failed to parse command: ${command}`);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
});
|
78
30
|
}
|
79
|
-
|
80
|
-
* typeguard helper for different node type
|
81
|
-
* @param node a node to be tested
|
82
|
-
* @param type node type
|
83
|
-
* @returns true if the node is the specified type
|
84
|
-
*/
|
85
|
-
|
86
|
-
|
31
|
+
exports.composeScripts = composeScripts;
|
87
32
|
function isNodeType(node, type) {
|
88
|
-
|
33
|
+
return mvdan_sh_1.syntax.NodeType(node) === type;
|
89
34
|
}
|
90
|
-
/**
|
91
|
-
* resolve a runner command
|
92
|
-
* @param command the command to be replaced
|
93
|
-
* @param context resource context
|
94
|
-
* @returns the resolved command
|
95
|
-
*/
|
96
|
-
|
97
|
-
|
98
35
|
function resolveRunner(command, context) {
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
36
|
+
const parts = command.split(' ');
|
37
|
+
const destinations = parts.slice(1).filter((task) => !task.startsWith('-'));
|
38
|
+
const destinationArgs = parts.filter((part) => part !== '--' && part.startsWith('-'));
|
39
|
+
return destinations
|
40
|
+
.map((destination) => {
|
41
|
+
const expandedCommand = context.template[destination] ||
|
42
|
+
(context.target[destination] === command
|
43
|
+
? undefined
|
44
|
+
: context.target[destination]);
|
45
|
+
if (expandedCommand === undefined) {
|
46
|
+
throw new Error(`"${destination}" cannot be resolved in "${command}"`);
|
47
|
+
}
|
48
|
+
return [expandedCommand, ...destinationArgs].join(' ');
|
49
|
+
})
|
50
|
+
.join(' && ');
|
113
51
|
}
|
114
|
-
/**
|
115
|
-
* replace a runner node with the actual command
|
116
|
-
* @param node an expression node
|
117
|
-
* @param context resource context
|
118
|
-
* @returns boolean true for no error
|
119
|
-
*/
|
120
|
-
|
121
|
-
|
122
52
|
function replaceRunnerNode(node, context) {
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
// resolve tasks into its full form e.g. task1 task2
|
130
|
-
const resolvedCommand = resolveRunner(parts.join(' '), context); // replace the task definition with its expanded statement
|
131
|
-
|
132
|
-
node.Cmd = parser.Parse(`(${resolvedCommand})`).Stmts[0].Cmd;
|
53
|
+
if (isNodeType(node, 'Stmt') && isNodeType(node.Cmd, 'CallExpr')) {
|
54
|
+
const parts = node.Cmd.Args.map((part) => part.Parts[0].Value);
|
55
|
+
if ((0, path_1.basename)(parts[0]) === 'run') {
|
56
|
+
const resolvedCommand = resolveRunner(parts.join(' '), context);
|
57
|
+
node.Cmd = parser.Parse(`(${resolvedCommand})`).Stmts[0].Cmd;
|
58
|
+
}
|
133
59
|
}
|
134
|
-
|
135
|
-
|
136
|
-
return true;
|
60
|
+
return true;
|
137
61
|
}
|
138
|
-
//# sourceMappingURL=
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9zY3JpcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLG1DQUFtQztBQUNuQyx1Q0FBa0M7QUFDbEMsK0JBQWdDO0FBY2hDLE1BQU0sTUFBTSxHQUFHLGlCQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7QUFHbEMsTUFBTSxPQUFPLEdBQUcsaUJBQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQWlCcEMsU0FBZ0IsY0FBYyxDQUFDLElBSzlCO0lBQ0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFbEMsT0FBTyxJQUFBLGtCQUFTLGtDQUFNLFFBQVEsR0FBSyxNQUFNLEdBQUksQ0FBQyxPQUFPLEVBQVUsRUFBRTtRQUMvRCxJQUFJO1lBRUYsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUdsQyxpQkFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFHMUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDOUIsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDekMsU0FBUyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7YUFDNUM7WUFHRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbEM7UUFBQyxPQUFPLEtBQWMsRUFBRTtZQUN2QixJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7Z0JBQzFCLE1B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
|
package/lib/template.js
CHANGED
@@ -1,154 +1,85 @@
|
|
1
1
|
"use strict";
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
});
|
6
|
-
exports.filter =
|
7
|
-
|
8
|
-
exports.merge = merge;
|
9
|
-
exports.template = template;
|
10
|
-
|
11
|
-
var _pupa = _interopRequireDefault(require("pupa"));
|
12
|
-
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
|
-
|
15
|
-
/*
|
16
|
-
* *** MIT LICENSE ***
|
17
|
-
* -------------------------------------------------------------------------
|
18
|
-
* This code may be modified and distributed under the MIT license.
|
19
|
-
* See the LICENSE file for details.
|
20
|
-
* -------------------------------------------------------------------------
|
21
|
-
*
|
22
|
-
* @summary Collection of template related helpers
|
23
|
-
*
|
24
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
25
|
-
* @license MIT
|
26
|
-
* @copyright Copyright (c) 2020 - All Rights Reserved.
|
27
|
-
* -------------------------------------------------------------------------
|
28
|
-
*/
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.template = exports.merge = exports.isJSON = exports.filter = void 0;
|
7
|
+
const pupa_1 = __importDefault(require("pupa"));
|
29
8
|
function filter(subject, ...ignores) {
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
const moreRules = ignores.filter(ignore => typeof ignore !== 'string'); // continue filtering the left over
|
41
|
-
|
42
|
-
return moreRules.reduce((furtherDistilled, ignoreTree) => Object.fromEntries(Object.entries(furtherDistilled).map(([key, value]) => [key, filterByPath(value, ignoreTree[key])])), distilled);
|
9
|
+
const fieldsToIgnore = ignores.filter((ignore) => typeof ignore !== 'object');
|
10
|
+
if (Array.isArray(subject)) {
|
11
|
+
return subject.filter((_, key) => !fieldsToIgnore.includes(key));
|
12
|
+
}
|
13
|
+
const distilled = Object.fromEntries(Object.entries(subject).filter(([key, _]) => !fieldsToIgnore.includes(key)));
|
14
|
+
const moreRules = ignores.filter((ignore) => typeof ignore !== 'string');
|
15
|
+
return moreRules.reduce((furtherDistilled, ignoreTree) => Object.fromEntries(Object.entries(furtherDistilled).map(([key, value]) => [
|
16
|
+
key,
|
17
|
+
filterByPath(value, ignoreTree[key]),
|
18
|
+
])), distilled);
|
43
19
|
}
|
44
|
-
|
45
|
-
* filter a value according to the supplied ignore rules
|
46
|
-
* @param value value to be filtered
|
47
|
-
* @param path ignore rule to be applied
|
48
|
-
* @returns filtered value
|
49
|
-
*/
|
50
|
-
|
51
|
-
|
20
|
+
exports.filter = filter;
|
52
21
|
function filterByPath(value, path) {
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
...(Array.isArray(path) ? path : [path])) : value;
|
22
|
+
return path && typeof value === 'object'
|
23
|
+
? filter(value, ...(Array.isArray(path) ? path : [path]))
|
24
|
+
: value;
|
57
25
|
}
|
58
|
-
/**
|
59
|
-
* indicate whether the supplied value is a JSON object
|
60
|
-
* @param subject the subject to be tested
|
61
|
-
* @returns true if the subject is a JSON object
|
62
|
-
*/
|
63
|
-
|
64
|
-
|
65
26
|
function isJSON(subject) {
|
66
|
-
|
27
|
+
return [
|
28
|
+
typeof subject === 'object',
|
29
|
+
!Array.isArray(subject),
|
30
|
+
subject !== null,
|
31
|
+
].every((value) => value);
|
67
32
|
}
|
68
|
-
|
69
|
-
|
70
|
-
/**
|
71
|
-
* deep merge an object
|
72
|
-
* @param source default object if no additional property is supplied
|
73
|
-
* @param replacement properties to be merged with the default
|
74
|
-
* @returns merged object
|
75
|
-
*/
|
76
|
-
|
77
|
-
|
33
|
+
exports.isJSON = isJSON;
|
78
34
|
function merge(source, replacement) {
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
35
|
+
if (Array.isArray(source)) {
|
36
|
+
return replace(source, replacement);
|
37
|
+
}
|
38
|
+
const keys = [...Object.keys(source), ...Object.keys(replacement !== null && replacement !== void 0 ? replacement : {})];
|
39
|
+
const entries = keys.map((key) => [
|
40
|
+
key,
|
41
|
+
replace(source[key], replacement === null || replacement === void 0 ? void 0 : replacement[key]),
|
42
|
+
]);
|
43
|
+
return Object.assign({}, ...entries.map(([key, value]) => ({
|
44
|
+
[key]: value,
|
45
|
+
})));
|
88
46
|
}
|
89
|
-
|
90
|
-
* replace source according to the replacement instruction
|
91
|
-
* @param source source value if there's no replacement
|
92
|
-
* @param replacement value to be merged with the default
|
93
|
-
* @returns merged value
|
94
|
-
*/
|
95
|
-
|
96
|
-
|
47
|
+
exports.merge = merge;
|
97
48
|
function replace(source, replacement) {
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
return
|
105
|
-
} else if (isJSON(source) && isJSON(replacement)) {
|
106
|
-
// deep merge any objects
|
107
|
-
return merge(source, replacement);
|
108
|
-
} // primitive values
|
109
|
-
|
110
|
-
|
111
|
-
return replacement === undefined ? source : replacement;
|
49
|
+
if (Array.isArray(source)) {
|
50
|
+
return replaceArray(source, replacement);
|
51
|
+
}
|
52
|
+
else if (isJSON(source) && isJSON(replacement)) {
|
53
|
+
return merge(source, replacement);
|
54
|
+
}
|
55
|
+
return replacement === undefined ? source : replacement;
|
112
56
|
}
|
113
|
-
/**
|
114
|
-
* replace an array source according to the replacement instruction
|
115
|
-
* @param source source value if there's no replacement
|
116
|
-
* @param replacement value to be merged with the default
|
117
|
-
* @returns merged value
|
118
|
-
*/
|
119
|
-
|
120
|
-
|
121
57
|
function replaceArray(source, replacement) {
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
}
|
58
|
+
if (isJSON(replacement)) {
|
59
|
+
return source.map((value, index) => replace(value, replacement[index]));
|
60
|
+
}
|
61
|
+
else if (Array.isArray(replacement)) {
|
62
|
+
return [...new Set([...source, ...replacement]).values()];
|
63
|
+
}
|
64
|
+
else {
|
65
|
+
return replacement !== null && replacement !== void 0 ? replacement : source;
|
66
|
+
}
|
132
67
|
}
|
133
|
-
/**
|
134
|
-
* replace parameters in the template
|
135
|
-
* @param content template content
|
136
|
-
* @param parameter variables to be substituted in the template
|
137
|
-
*/
|
138
|
-
|
139
|
-
|
140
68
|
function template(content, parameter) {
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
69
|
+
if (typeof content === 'string') {
|
70
|
+
return (0, pupa_1.default)(content, parameter);
|
71
|
+
}
|
72
|
+
else if (Array.isArray(content)) {
|
73
|
+
return content.map((value) => template(value, parameter));
|
74
|
+
}
|
75
|
+
else if (isJSON(content)) {
|
76
|
+
return Object.fromEntries(Object.entries(content).map(([key, value]) => {
|
77
|
+
return [template(key, parameter), template(value, parameter)];
|
78
|
+
}));
|
79
|
+
}
|
80
|
+
else {
|
81
|
+
return content;
|
82
|
+
}
|
152
83
|
}
|
153
|
-
|
154
|
-
//# sourceMappingURL=
|
84
|
+
exports.template = template;
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBZUEsZ0RBQXdCO0FBZXhCLFNBQWdCLE1BQU0sQ0FDcEIsT0FBNEMsRUFDNUMsR0FBRyxPQUFxQjtJQUd4QixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUNuQyxDQUFDLE1BQU0sRUFBNkIsRUFBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FDbEUsQ0FBQztJQUdGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMxQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNsRTtJQUdELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM1RSxDQUFDO0lBR0YsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDOUIsQ0FBQyxNQUFNLEVBQXdDLEVBQUUsQ0FDL0MsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUM3QixDQUFDO0lBR0YsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUNyQixDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxFQUFFLENBQy9CLE1BQU0sQ0FBQyxXQUFXLENBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQ2xDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQXFCLEVBQUUsQ0FBQztR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
|
package/lib/types.d.ts
CHANGED
@@ -15,6 +15,7 @@ export interface PresetAsset {
|
|
15
15
|
variable?: Record<string, string>;
|
16
16
|
supplementaryConfig?: ConfigMap | ConfigMapGenerator;
|
17
17
|
supplementaryIgnores?: IgnoreRule[] | IgnoreRulesGenerator;
|
18
|
+
supplementaryScripts?: string;
|
18
19
|
}
|
19
20
|
export interface PresetContext {
|
20
21
|
target: {
|
package/lib/types.js
CHANGED
@@ -1,2 +1,3 @@
|
|
1
1
|
"use strict";
|
2
|
-
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|