presetter 4.7.2 → 6.0.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 +5 -5
- package/lib/debugger.d.ts +4 -0
- package/lib/debugger.d.ts.map +1 -0
- package/lib/debugger.js +4 -0
- package/lib/executable/entry.d.ts.map +1 -1
- package/lib/executable/entry.js +4 -43
- package/lib/executable/error.d.ts.map +1 -1
- package/lib/executable/error.js +1 -16
- package/lib/executable/index.js +2 -16
- package/lib/index.d.ts +4 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -21
- package/lib/io.d.ts +8 -42
- package/lib/io.d.ts.map +1 -1
- package/lib/io.js +24 -156
- package/lib/package.d.ts +2 -2
- package/lib/package.d.ts.map +1 -1
- package/lib/package.js +5 -20
- package/lib/preset/bootstrap.d.ts +5 -0
- package/lib/preset/bootstrap.d.ts.map +1 -0
- package/lib/preset/bootstrap.js +32 -0
- package/lib/preset/config/index.d.ts +3 -0
- package/lib/preset/config/index.d.ts.map +1 -0
- package/lib/preset/config/index.js +4 -0
- package/lib/preset/config/resolve.d.ts +8 -0
- package/lib/preset/config/resolve.d.ts.map +1 -0
- package/lib/preset/config/resolve.js +25 -0
- package/lib/preset/config/search.d.ts +7 -0
- package/lib/preset/config/search.d.ts.map +1 -0
- package/lib/preset/config/search.js +25 -0
- package/lib/preset/context.d.ts +2 -1
- package/lib/preset/context.d.ts.map +1 -1
- package/lib/preset/context.js +5 -24
- package/lib/preset/index.d.ts +5 -2
- package/lib/preset/index.d.ts.map +1 -1
- package/lib/preset/index.js +7 -18
- package/lib/preset/project.d.ts +8 -0
- package/lib/preset/project.d.ts.map +1 -0
- package/lib/preset/project.js +28 -0
- package/lib/preset/resolution/asset.d.ts +31 -0
- package/lib/preset/resolution/asset.d.ts.map +1 -0
- package/lib/preset/resolution/asset.js +78 -0
- package/lib/preset/resolution/content.d.ts +37 -0
- package/lib/preset/resolution/content.d.ts.map +1 -0
- package/lib/preset/resolution/content.js +55 -0
- package/lib/preset/resolution/debugger.d.ts +3 -0
- package/lib/preset/resolution/debugger.d.ts.map +1 -0
- package/lib/preset/resolution/debugger.js +3 -0
- package/lib/preset/resolution/index.d.ts +6 -0
- package/lib/preset/resolution/index.d.ts.map +1 -0
- package/lib/preset/resolution/index.js +7 -0
- package/lib/preset/resolution/object.d.ts +9 -0
- package/lib/preset/resolution/object.d.ts.map +1 -0
- package/lib/preset/resolution/object.js +10 -0
- package/lib/preset/resolution/preset.d.ts +9 -0
- package/lib/preset/resolution/preset.d.ts.map +1 -0
- package/lib/preset/resolution/preset.js +17 -0
- package/lib/preset/resolution/script.d.ts +9 -0
- package/lib/preset/resolution/script.d.ts.map +1 -0
- package/lib/preset/resolution/script.js +39 -0
- package/lib/preset/resolution/variable.d.ts +9 -0
- package/lib/preset/resolution/variable.d.ts.map +1 -0
- package/lib/preset/resolution/variable.js +33 -0
- package/lib/preset/scripts.d.ts.map +1 -1
- package/lib/preset/scripts.js +6 -20
- package/lib/resolve.d.ts +7 -0
- package/lib/resolve.d.ts.map +1 -0
- package/lib/resolve.js +27 -0
- package/lib/run.d.ts.map +1 -1
- package/lib/run.js +7 -19
- package/lib/scripts.d.ts.map +1 -1
- package/lib/scripts.js +8 -19
- package/lib/serialization.d.ts +15 -0
- package/lib/serialization.d.ts.map +1 -0
- package/lib/serialization.js +48 -0
- package/lib/task.d.ts.map +1 -1
- package/lib/task.js +5 -17
- package/lib/template/index.d.ts +3 -0
- package/lib/template/index.d.ts.map +1 -0
- package/lib/template/index.js +4 -0
- package/lib/template/merge.d.ts +33 -0
- package/lib/template/merge.d.ts.map +1 -0
- package/lib/template/merge.js +84 -0
- package/lib/template/substitute.d.ts +11 -0
- package/lib/template/substitute.d.ts.map +1 -0
- package/lib/template/substitute.js +19 -0
- package/lib/utilities/display.d.ts +15 -0
- package/lib/utilities/display.d.ts.map +1 -0
- package/lib/utilities/display.js +51 -0
- package/lib/utilities/index.d.ts +3 -1
- package/lib/utilities/index.d.ts.map +1 -1
- package/lib/utilities/index.js +5 -17
- package/lib/utilities/{mapValues.d.ts → mapping.d.ts} +1 -1
- package/lib/utilities/mapping.d.ts.map +1 -0
- package/lib/utilities/mapping.js +10 -0
- package/lib/utilities/object.d.ts +20 -0
- package/lib/utilities/object.d.ts.map +1 -0
- package/lib/utilities/object.js +37 -0
- package/package.json +21 -16
- package/lib/content.d.ts +0 -123
- package/lib/content.d.ts.map +0 -1
- package/lib/content.js +0 -241
- package/lib/directive.d.ts +0 -34
- package/lib/directive.d.ts.map +0 -1
- package/lib/directive.js +0 -172
- package/lib/error.d.ts +0 -8
- package/lib/error.d.ts.map +0 -1
- package/lib/error.js +0 -32
- package/lib/preset/content.d.ts +0 -14
- package/lib/preset/content.d.ts.map +0 -1
- package/lib/preset/content.js +0 -32
- package/lib/preset/graph.d.ts +0 -22
- package/lib/preset/graph.d.ts.map +0 -1
- package/lib/preset/graph.js +0 -53
- package/lib/preset/mapping.d.ts +0 -9
- package/lib/preset/mapping.d.ts.map +0 -1
- package/lib/preset/mapping.js +0 -38
- package/lib/preset/presetterRC.d.ts +0 -25
- package/lib/preset/presetterRC.d.ts.map +0 -1
- package/lib/preset/presetterRC.js +0 -74
- package/lib/preset/setup.d.ts +0 -17
- package/lib/preset/setup.d.ts.map +0 -1
- package/lib/preset/setup.js +0 -80
- package/lib/preset/unset.d.ts +0 -5
- package/lib/preset/unset.d.ts.map +0 -1
- package/lib/preset/unset.js +0 -31
- package/lib/resolution.d.ts +0 -22
- package/lib/resolution.d.ts.map +0 -1
- package/lib/resolution.js +0 -61
- package/lib/template.d.ts +0 -64
- package/lib/template.d.ts.map +0 -1
- package/lib/template.js +0 -199
- package/lib/utilities/mapValues.d.ts.map +0 -1
- package/lib/utilities/mapValues.js +0 -24
package/lib/template.js
DELETED
@@ -1,199 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* *** MIT LICENSE ***
|
3
|
-
* -------------------------------------------------------------------------
|
4
|
-
* This code may be modified and distributed under the MIT license.
|
5
|
-
* See the LICENSE file for details.
|
6
|
-
* -------------------------------------------------------------------------
|
7
|
-
*
|
8
|
-
* @summary Collection of template related helpers
|
9
|
-
*
|
10
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
11
|
-
* @license MIT
|
12
|
-
* @copyright Copyright (c) 2020 - All Rights Reserved.
|
13
|
-
* -------------------------------------------------------------------------
|
14
|
-
*/
|
15
|
-
import { basename, extname } from 'node:path';
|
16
|
-
import pupa from 'pupa';
|
17
|
-
export function filter(subject, ...ignores) {
|
18
|
-
// compute the list of fields in config to be ignored
|
19
|
-
const fieldsToIgnore = ignores.filter((ignore) => typeof ignore !== 'object');
|
20
|
-
// filter the unwanted item in an array
|
21
|
-
if (Array.isArray(subject)) {
|
22
|
-
return subject.filter((_, key) => !fieldsToIgnore.includes(key));
|
23
|
-
}
|
24
|
-
// filter the unwanted fields below
|
25
|
-
const distilled = Object.fromEntries(Object.entries(subject).filter(([key, _]) => !fieldsToIgnore.includes(key)));
|
26
|
-
// compute the left over and process them further below
|
27
|
-
const moreRules = ignores.filter((ignore) => typeof ignore !== 'string');
|
28
|
-
// continue filtering the left over
|
29
|
-
return moreRules.reduce((furtherDistilled, ignoreTree) => Object.fromEntries(Object.entries(furtherDistilled).map(([key, value]) => [
|
30
|
-
key,
|
31
|
-
filterByPath(value, ignoreTree[key]),
|
32
|
-
])), distilled);
|
33
|
-
}
|
34
|
-
/**
|
35
|
-
* filter a value according to the supplied ignore rules
|
36
|
-
* @param value value to be filtered
|
37
|
-
* @param path ignore rule to be applied
|
38
|
-
* @returns filtered value
|
39
|
-
*/
|
40
|
-
function filterByPath(value, path) {
|
41
|
-
return path && typeof value === 'object'
|
42
|
-
? filter(value,
|
43
|
-
// NOTE
|
44
|
-
// if rule is an array, it means that it contains a list of fields to be ignored
|
45
|
-
// otherwise, it contains rules in a tree form
|
46
|
-
...(Array.isArray(path) ? path : [path]))
|
47
|
-
: value;
|
48
|
-
}
|
49
|
-
/**
|
50
|
-
* indicate whether the supplied value is a JSON object
|
51
|
-
* @param subject the subject to be tested
|
52
|
-
* @returns true if the subject is a JSON object
|
53
|
-
*/
|
54
|
-
export function isJSON(subject) {
|
55
|
-
return [
|
56
|
-
typeof subject === 'object',
|
57
|
-
!Array.isArray(subject),
|
58
|
-
subject !== null,
|
59
|
-
].every((value) => value);
|
60
|
-
}
|
61
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return */
|
62
|
-
/**
|
63
|
-
* deep merge an object
|
64
|
-
* @param source default object if no additional property is supplied
|
65
|
-
* @param target properties to be merged with the default
|
66
|
-
* @returns merged object
|
67
|
-
*/
|
68
|
-
export function merge(source, target) {
|
69
|
-
// LOGIC
|
70
|
-
// S\R | Array | Object | Primitive
|
71
|
-
// Array | EXTEND | AMEND | replace
|
72
|
-
// Object | replace | MERGE | replace
|
73
|
-
// Primitive | replace | replace | replace
|
74
|
-
if (Array.isArray(source)) {
|
75
|
-
return mergeArray(source, target);
|
76
|
-
}
|
77
|
-
else if (isJSON(source)) {
|
78
|
-
return mergeObject(source, target);
|
79
|
-
}
|
80
|
-
return (target ?? source);
|
81
|
-
}
|
82
|
-
/**
|
83
|
-
* merge an array with any value
|
84
|
-
* @param source the source array to be merged
|
85
|
-
* @param target new replacement
|
86
|
-
* @returns merged value
|
87
|
-
*/
|
88
|
-
export function mergeArray(source, target) {
|
89
|
-
// NOTE
|
90
|
-
// merging can only be done in two ways:
|
91
|
-
// 1. the target is also an array, then merge the two arrays
|
92
|
-
// 2. the target is an object with numeric keys representing the index of the value to be merged
|
93
|
-
if (Array.isArray(target)) {
|
94
|
-
return mergeArrays(source, target);
|
95
|
-
}
|
96
|
-
else if (isJSON(target) &&
|
97
|
-
[...Object.keys(target)].every((key) => parseInt(key) >= 0)) {
|
98
|
-
return [...source].map((value, key) => merge(value, target[key]));
|
99
|
-
}
|
100
|
-
// if a merge isn't possible return the replacement or the original if no replacement is found
|
101
|
-
return (target ?? source);
|
102
|
-
}
|
103
|
-
/**
|
104
|
-
* merge two arrays
|
105
|
-
* @param source the source array to be merged
|
106
|
-
* @param target new replacement
|
107
|
-
* @returns merged array
|
108
|
-
*/
|
109
|
-
export function mergeArrays(source, target) {
|
110
|
-
const isPrimitive = source.every((value) => !isJSON(value)) &&
|
111
|
-
target.every((value) => !isJSON(value));
|
112
|
-
// if there is no object in both list, perform an union
|
113
|
-
// (['a'], ['a']) => ['a']
|
114
|
-
// (['a'], ['b']) => ['a', 'b']
|
115
|
-
// (['a'], ['a', 'b']) => ['a', 'b']
|
116
|
-
if (isPrimitive) {
|
117
|
-
return [...new Set([...source, ...target])];
|
118
|
-
}
|
119
|
-
// if there is an object in any of the list, perform a replacement
|
120
|
-
// (['a', 'b'], [{ c: 1 }]) => [{ c: 1 }]
|
121
|
-
// ([{ a: 1 }], [{ b: 2 }]) => [{ b: 2 }]
|
122
|
-
// ([{ a: 1 }, 'c'], [{ b: 2 }]) => [{ b: 2 }]
|
123
|
-
// (['a'], ['b', { c: 1 }]) => ['b', { c: 1 }]
|
124
|
-
// (['a', { c: 1 }], ['b', { d: 2 }]) => ['b', { d: 2 }]
|
125
|
-
// if a merge isn't possible return the replacement
|
126
|
-
return target;
|
127
|
-
}
|
128
|
-
/**
|
129
|
-
* merge an object with any value
|
130
|
-
* @param source the source object to be merged
|
131
|
-
* @param target new replacement
|
132
|
-
* @returns merged value
|
133
|
-
*/
|
134
|
-
export function mergeObject(source, target) {
|
135
|
-
if (isJSON(target)) {
|
136
|
-
// merge two objects together
|
137
|
-
const mergedSource = Object.fromEntries(Object.entries(source).map(([key, value]) => [
|
138
|
-
key,
|
139
|
-
merge(value, target[key]),
|
140
|
-
]));
|
141
|
-
return {
|
142
|
-
...mergedSource,
|
143
|
-
...target,
|
144
|
-
...mergedSource,
|
145
|
-
};
|
146
|
-
}
|
147
|
-
// otherwise replace the source with target
|
148
|
-
return (target ?? source);
|
149
|
-
}
|
150
|
-
/**
|
151
|
-
* merge templates
|
152
|
-
* @param source current template
|
153
|
-
* @param target new template content
|
154
|
-
* @returns customized configuration
|
155
|
-
*/
|
156
|
-
export function mergeTemplate(source, target) {
|
157
|
-
const mergedSource = Object.fromEntries(Object.entries(source).map(([path, template]) => {
|
158
|
-
const replacement = target[path];
|
159
|
-
const isIgnoreFile = !extname(path) &&
|
160
|
-
basename(path).startsWith('.') &&
|
161
|
-
typeof template === 'string' &&
|
162
|
-
typeof replacement === 'string';
|
163
|
-
// NOTE
|
164
|
-
// for JSON content, merge with the specified mode
|
165
|
-
// for string content, there are two scenarios:
|
166
|
-
// 1. if the content is a list such as an ignore file, merge as appendion
|
167
|
-
// 2. for others such as a typescript file, merge as override
|
168
|
-
if (isIgnoreFile) {
|
169
|
-
const mergedSet = new Set([
|
170
|
-
...template.split('\n'),
|
171
|
-
...replacement.split('\n'),
|
172
|
-
]);
|
173
|
-
return [path, [...mergedSet].join('\n')];
|
174
|
-
}
|
175
|
-
else if (typeof template === typeof replacement) {
|
176
|
-
return [path, merge(template, replacement)];
|
177
|
-
}
|
178
|
-
return [path, template];
|
179
|
-
}));
|
180
|
-
return { ...target, ...mergedSource };
|
181
|
-
}
|
182
|
-
export function template(content, parameter) {
|
183
|
-
if (typeof content === 'string') {
|
184
|
-
return pupa(content, parameter, { ignoreMissing: true });
|
185
|
-
}
|
186
|
-
else if (Array.isArray(content)) {
|
187
|
-
return content.map((value) => template(value, parameter));
|
188
|
-
}
|
189
|
-
else if (isJSON(content)) {
|
190
|
-
return Object.fromEntries(Object.entries(content).map(([key, value]) => {
|
191
|
-
return [template(key, parameter), template(value, parameter)];
|
192
|
-
}));
|
193
|
-
}
|
194
|
-
else {
|
195
|
-
return content;
|
196
|
-
}
|
197
|
-
}
|
198
|
-
/* eslint-enable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return */
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQThCeEIsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsT0FBNEMsRUFDNUMsR0FBRyxPQUFxQjtJQUV4QixxREFBcUQ7SUFDckQsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxNQUFNLEVBQTZCLEVBQUUsQ0FBQyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQ2xFLENBQUM7SUFFRix1Q0FBdUM7SUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzFCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ2xFO0lBRUQsbUNBQW1DO0lBQ25DLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM1RSxDQUFDO0lBRUYsdURBQXVEO0lBQ3ZELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQzlCLENBQUMsTUFBTSxFQUF3QyxFQUFFLENBQy9DLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FDN0IsQ0FBQztJQUVGLG1DQUFtQztJQUNuQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JC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
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mapValues.d.ts","sourceRoot":"","sources":["../../source/utilities/mapValues.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EACtB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAClB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAInB"}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* *** MIT LICENSE ***
|
3
|
-
* -------------------------------------------------------------------------
|
4
|
-
* This code may be modified and distributed under the MIT license.
|
5
|
-
* See the LICENSE file for details.
|
6
|
-
* -------------------------------------------------------------------------
|
7
|
-
*
|
8
|
-
* @summary A helper to map the values of an object to a new object
|
9
|
-
*
|
10
|
-
* @author Alvis HT Tang <alvis@hilbert.space>
|
11
|
-
* @license MIT
|
12
|
-
* @copyright Copyright (c) 2023 - All Rights Reserved.
|
13
|
-
* -------------------------------------------------------------------------
|
14
|
-
*/
|
15
|
-
/**
|
16
|
-
* map the values of an object to a new object with the same keys
|
17
|
-
* @param obj the object to be mapped
|
18
|
-
* @param fn the mapping function
|
19
|
-
* @returns the mapped object
|
20
|
-
*/
|
21
|
-
export function mapValues(obj, fn) {
|
22
|
-
return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, fn(value)]));
|
23
|
-
}
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwVmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL3V0aWxpdGllcy9tYXBWYWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVIOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsR0FBc0IsRUFDdEIsRUFBbUI7SUFFbkIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUM1RCxDQUFDO0FBQ0osQ0FBQyJ9
|