presetter 3.3.0 → 3.4.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/content.d.ts CHANGED
@@ -1,7 +1,49 @@
1
- import type { DynamicAsset, DynamicAssetField, PresetAsset, PresetContext, RequiredResolution, ResolvedPresetContext, Template } from './types';
2
- export declare function customize(template: Template, custom?: string[] | Record<string, unknown>): Template;
3
- export declare function generateContent(assets: PresetAsset[], context: PresetContext): Promise<Record<string, Template>>;
4
- export declare function getConfigKey(filename: string): string;
5
- export declare function getVariable(assets: PresetAsset[], context: PresetContext): Record<string, string>;
6
- export declare function resolveContext(assets: PresetAsset[], context: PresetContext): Promise<ResolvedPresetContext>;
7
- export declare function resolveDynamicMap<F extends DynamicAssetField>(assets: PresetAsset[], context: ResolvedPresetContext<RequiredResolution<F>>, field: F): Promise<Record<string, DynamicAsset<F>>>;
1
+ import type { MergeMode } from './template';
2
+ import type { Config, PresetContext, PresetGraph, PresetNode, PresetterConfig, ResolvedPresetContext, Template } from './types';
3
+ export declare function resolveContext(_: {
4
+ graph: PresetGraph;
5
+ context: PresetContext;
6
+ }): Promise<ResolvedPresetContext>;
7
+ export declare function resolveNoSymlinks(_: {
8
+ graph: PresetGraph;
9
+ context: ResolvedPresetContext<'variable'>;
10
+ }): Promise<string[]>;
11
+ export declare function resolveSupplementaryConfig(_: {
12
+ graph: PresetGraph;
13
+ context: ResolvedPresetContext<'variable'>;
14
+ }): Promise<Record<string, Config>>;
15
+ export declare function resolveSupplementaryConfigFromNode(_: {
16
+ node: PresetNode;
17
+ context: ResolvedPresetContext<'variable'>;
18
+ }): Promise<Record<string, Config>>;
19
+ export declare function resolveSupplementaryScripts(_: {
20
+ graph: PresetGraph;
21
+ context: ResolvedPresetContext<'variable'>;
22
+ }): Promise<Record<string, string>>;
23
+ export declare function resolveSupplementaryScriptsFromNode(_: {
24
+ node: PresetNode;
25
+ context: ResolvedPresetContext<'variable'>;
26
+ }): Promise<Record<string, string>>;
27
+ export declare function resolveVariable(_: {
28
+ graph: PresetGraph;
29
+ config: PresetterConfig;
30
+ }): Record<string, string>;
31
+ export declare function mergeTemplate(current: Record<string, Template>, candidate: Record<string, Template>, options: {
32
+ mode: MergeMode;
33
+ }): Record<string, Template>;
34
+ export declare function resolveTemplate(_: {
35
+ graph: PresetGraph;
36
+ context: ResolvedPresetContext;
37
+ }): Promise<Record<string, Template>>;
38
+ export declare function resolveTemplateFromNode(_: {
39
+ node: PresetNode;
40
+ context: ResolvedPresetContext;
41
+ }): Promise<Record<string, Template>>;
42
+ export declare function resolveScripts(_: {
43
+ graph: PresetGraph;
44
+ context: ResolvedPresetContext<'variable'>;
45
+ }): Promise<Record<string, string>>;
46
+ export declare function resolveScriptsFromNode(_: {
47
+ node: PresetNode;
48
+ context: ResolvedPresetContext<'variable'>;
49
+ }): Promise<Record<string, string>>;
package/lib/content.js CHANGED
@@ -1,70 +1,135 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveDynamicMap = exports.resolveContext = exports.getVariable = exports.getConfigKey = exports.generateContent = exports.customize = void 0;
3
+ exports.resolveScriptsFromNode = exports.resolveScripts = exports.resolveTemplateFromNode = exports.resolveTemplate = exports.mergeTemplate = exports.resolveVariable = exports.resolveSupplementaryScriptsFromNode = exports.resolveSupplementaryScripts = exports.resolveSupplementaryConfigFromNode = exports.resolveSupplementaryConfig = exports.resolveNoSymlinks = exports.resolveContext = void 0;
4
4
  const path_1 = require("path");
5
- const io_1 = require("./io");
5
+ const resolution_1 = require("./resolution");
6
6
  const template_1 = require("./template");
7
- function customize(template, custom) {
8
- if (typeof template === 'string' && Array.isArray(custom)) {
9
- return (0, template_1.merge)(template.split('\n'), custom).join('\n');
10
- }
11
- else if (typeof template === 'object' && !Array.isArray(custom)) {
12
- return (0, template_1.merge)(template, custom);
13
- }
14
- else {
15
- return template;
16
- }
7
+ async function resolveContext(_) {
8
+ const { graph } = _;
9
+ const context = Object.assign(Object.assign({}, _.context), { custom: Object.assign(Object.assign({}, _.context.custom), { variable: resolveVariable({ graph, config: _.context.custom }) }) });
10
+ const config = await resolveSupplementaryConfig({ graph, context });
11
+ const noSymlinks = await resolveNoSymlinks({ graph, context });
12
+ const scripts = await resolveSupplementaryScripts({ graph, context });
13
+ return {
14
+ target: context.target,
15
+ custom: Object.assign(Object.assign({}, context.custom), { preset: context.custom.preset, config,
16
+ noSymlinks,
17
+ scripts }),
18
+ };
17
19
  }
18
- exports.customize = customize;
19
- async function generateContent(assets, context) {
20
- const resolvedContext = await resolveContext(assets, context);
21
- const resolvedTemplate = await resolveDynamicMap(assets, resolvedContext, 'template');
22
- const custom = Object.fromEntries(await Promise.all(Object.entries(resolvedTemplate).map(async ([relativePath, templateConfig]) => {
23
- const customConfig = resolvedContext.custom.config[getConfigKey(relativePath)];
24
- return [relativePath, customize(templateConfig, customConfig)];
25
- })));
26
- return (0, template_1.template)(custom, resolvedContext.custom.variable);
20
+ exports.resolveContext = resolveContext;
21
+ async function resolveNoSymlinks(_) {
22
+ var _a;
23
+ const { graph, context } = _;
24
+ const fromPreset = (await Promise.all(graph.map(async (node) => resolveNoSymlinksFromNode({ node, context })))).flat();
25
+ const fromUser = (_a = context.custom.noSymlinks) !== null && _a !== void 0 ? _a : [];
26
+ return [...new Set([...fromPreset, ...fromUser])];
27
27
  }
28
- exports.generateContent = generateContent;
29
- function getConfigKey(filename) {
30
- return (0, path_1.basename)(filename, (0, path_1.extname)(filename))
31
- .replace(/^\./, '')
32
- .replace(/rc$/, '')
33
- .replace(/\.config$/, '');
28
+ exports.resolveNoSymlinks = resolveNoSymlinks;
29
+ async function resolveNoSymlinksFromNode(_) {
30
+ var _a;
31
+ const { node, context } = _;
32
+ const { asset, nodes } = node;
33
+ const fromChildren = (await Promise.all(nodes.map(async (extension) => resolveNoSymlinksFromNode({ node: extension, context })))).flat();
34
+ const fromPreset = await (0, resolution_1.loadDynamic)((_a = asset.noSymlinks) !== null && _a !== void 0 ? _a : [], context);
35
+ return [...new Set([...fromChildren, ...fromPreset])];
34
36
  }
35
- exports.getConfigKey = getConfigKey;
36
- function getVariable(assets, context) {
37
- const variables = assets
38
- .map((asset) => asset.variable)
39
- .filter((variable) => !!variable);
40
- const variableFromPresets = variables.reduce((merged, variable) => (0, template_1.merge)(merged, variable), {});
41
- const variableWithCustomConfig = (0, template_1.merge)(variableFromPresets, context.custom.variable);
42
- return Object.assign({}, variableWithCustomConfig);
37
+ async function resolveSupplementaryConfig(_) {
38
+ const { graph, context } = _;
39
+ const fromPresets = (await Promise.all(graph.map(async (node) => resolveSupplementaryConfigFromNode({ node, context })))).reduce((merged, next) => (0, template_1.merge)(merged, next, { mode: 'overwrite' }), {});
40
+ return (0, template_1.merge)(fromPresets, context.custom.config, { mode: 'overwrite' });
43
41
  }
44
- exports.getVariable = getVariable;
45
- async function resolveContext(assets, context) {
46
- var _a;
47
- const variableContext = Object.assign(Object.assign({}, context), { custom: Object.assign(Object.assign({}, context.custom), { variable: getVariable(assets, context) }) });
48
- const config = (0, template_1.merge)(await resolveDynamicMap(assets, variableContext, 'supplementaryConfig'), context.custom.config);
49
- const customList = (_a = context.custom.noSymlinks) !== null && _a !== void 0 ? _a : [];
50
- const assetList = assets.map(async ({ noSymlinks }) => (0, io_1.loadDynamic)(noSymlinks !== null && noSymlinks !== void 0 ? noSymlinks : [], variableContext));
51
- const noSymlinks = [...(await Promise.all(assetList)), ...customList].flat();
52
- return Object.assign(Object.assign({}, variableContext), { custom: Object.assign(Object.assign({}, variableContext.custom), { config, noSymlinks: [...new Set(noSymlinks)] }) });
42
+ exports.resolveSupplementaryConfig = resolveSupplementaryConfig;
43
+ async function resolveSupplementaryConfigFromNode(_) {
44
+ const { node, context } = _;
45
+ const { asset, nodes } = node;
46
+ const fromChildren = (await Promise.all(nodes.map(async (node) => resolveSupplementaryConfigFromNode({ node, context })))).reduce((merged, next) => (0, template_1.merge)(merged, next, { mode: 'overwrite' }), {});
47
+ const fromPreset = await (0, resolution_1.loadDynamicMap)(asset.supplementaryConfig, context);
48
+ return (0, template_1.merge)(fromChildren, fromPreset, { mode: 'addition' });
53
49
  }
54
- exports.resolveContext = resolveContext;
55
- async function resolveDynamicMap(assets, context, field) {
56
- const templates = await Promise.all(assets.map(async (asset) => {
57
- const content = asset[field];
58
- return Object.fromEntries(await Promise.all(Object.entries(content instanceof Function
59
- ? await content(context)
60
- : Object.assign({}, content)).map(async ([relativePath, value]) => [
61
- relativePath,
62
- typeof value === 'string' && (0, path_1.isAbsolute)(value)
63
- ? await (0, io_1.loadFile)(value)
64
- : await (0, io_1.loadDynamic)(value, context),
65
- ])));
50
+ exports.resolveSupplementaryConfigFromNode = resolveSupplementaryConfigFromNode;
51
+ async function resolveSupplementaryScripts(_) {
52
+ const { graph, context } = _;
53
+ const fromPresets = (await Promise.all(graph.map(async (node) => resolveSupplementaryScriptsFromNode({ node, context })))).reduce((merged, next) => (0, template_1.merge)(merged, next, { mode: 'overwrite' }), {});
54
+ return (0, template_1.merge)(fromPresets, context.custom.scripts, { mode: 'overwrite' });
55
+ }
56
+ exports.resolveSupplementaryScripts = resolveSupplementaryScripts;
57
+ async function resolveSupplementaryScriptsFromNode(_) {
58
+ const { node, context } = _;
59
+ const { asset, nodes } = node;
60
+ const { supplementaryScripts } = asset;
61
+ const fromChildren = (await Promise.all(nodes.map(async (node) => resolveSupplementaryScriptsFromNode({ node, context })))).reduce((merged, next) => (0, template_1.merge)(merged, next, { mode: 'overwrite' }), {});
62
+ const fromPreset = await (0, resolution_1.loadDynamic)(supplementaryScripts !== null && supplementaryScripts !== void 0 ? supplementaryScripts : {}, context);
63
+ return (0, template_1.merge)(fromChildren, fromPreset, { mode: 'addition' });
64
+ }
65
+ exports.resolveSupplementaryScriptsFromNode = resolveSupplementaryScriptsFromNode;
66
+ function resolveVariable(_) {
67
+ const { graph, config } = _;
68
+ const fromPresets = graph
69
+ .map((node) => resolveVariableFromNode({ node }))
70
+ .reduce((merged, next) => (0, template_1.merge)(merged, next), {});
71
+ return (0, template_1.merge)(fromPresets, config.variable);
72
+ }
73
+ exports.resolveVariable = resolveVariable;
74
+ function resolveVariableFromNode(_) {
75
+ const { node } = _;
76
+ const { asset, nodes } = node;
77
+ const fromChildren = nodes
78
+ .map((node) => resolveVariableFromNode({ node }))
79
+ .reduce((merged, next) => (0, template_1.merge)(merged, next), {});
80
+ return (0, template_1.merge)(fromChildren, asset.variable);
81
+ }
82
+ function mergeTemplate(current, candidate, options) {
83
+ const resolvedMerge = Object.fromEntries(Object.entries(current).map(([path, template]) => {
84
+ const isIgnoreFile = !(0, path_1.extname)(path) && typeof template === 'string';
85
+ const modeForText = isIgnoreFile ? 'addition' : 'overwrite';
86
+ const mode = typeof template === 'string' ? modeForText : options.mode;
87
+ return [path, (0, template_1.merge)(template, candidate[path], { mode })];
88
+ }));
89
+ return Object.assign(Object.assign({}, candidate), resolvedMerge);
90
+ }
91
+ exports.mergeTemplate = mergeTemplate;
92
+ async function resolveTemplate(_) {
93
+ var _a;
94
+ const { graph, context } = _;
95
+ const fromPreset = (await Promise.all(graph.map(async (node) => resolveTemplateFromNode({ node, context })))).reduce((merged, next) => mergeTemplate(merged, next, { mode: 'overwrite' }), {});
96
+ const merged = Object.fromEntries(Object.entries(fromPreset).map(([path, current]) => {
97
+ const config = context.custom.config[(0, resolution_1.getConfigKey)(path)];
98
+ const candidate = Array.isArray(config) ? config.join('\n') : config;
99
+ const options = { mode: 'addition' };
100
+ return [path, (0, template_1.merge)(current, candidate, options)];
66
101
  }));
67
- return templates.reduce((merged, map) => (0, template_1.merge)(merged, map), {});
102
+ const resolvedTemplate = (0, template_1.filter)(merged, ...((_a = context.custom.ignores) !== null && _a !== void 0 ? _a : []));
103
+ return (0, template_1.template)(resolvedTemplate, context.custom.variable);
104
+ }
105
+ exports.resolveTemplate = resolveTemplate;
106
+ async function resolveTemplateFromNode(_) {
107
+ const { node, context } = _;
108
+ const { asset, nodes } = node;
109
+ const { supplementaryIgnores } = asset;
110
+ const fromChildren = (await Promise.all(nodes.map(async (node) => resolveTemplateFromNode({ node, context })))).reduce((current, next) => mergeTemplate(current, next, { mode: 'overwrite' }), {});
111
+ const fromPreset = await (0, resolution_1.loadDynamicMap)(asset.template, context);
112
+ const merged = mergeTemplate(fromChildren, fromPreset, { mode: 'addition' });
113
+ const ignoreRules = typeof supplementaryIgnores === 'function'
114
+ ? await supplementaryIgnores(context)
115
+ : supplementaryIgnores;
116
+ return (0, template_1.filter)(merged, ...(ignoreRules !== null && ignoreRules !== void 0 ? ignoreRules : []));
117
+ }
118
+ exports.resolveTemplateFromNode = resolveTemplateFromNode;
119
+ async function resolveScripts(_) {
120
+ const { graph, context } = _;
121
+ const fromPresets = (await Promise.all(graph.map(async (node) => resolveScriptsFromNode({ node, context })))).reduce((merged, next) => (0, template_1.merge)(merged, next, { mode: 'overwrite' }), {});
122
+ const fromConfig = context.custom.scripts;
123
+ return (0, template_1.template)((0, template_1.merge)(fromPresets, fromConfig, { mode: 'addition' }), context.custom.variable);
124
+ }
125
+ exports.resolveScripts = resolveScripts;
126
+ async function resolveScriptsFromNode(_) {
127
+ var _a;
128
+ const { node, context } = _;
129
+ const { asset, nodes } = node;
130
+ const fromChildren = (await Promise.all(nodes.map(async (node) => resolveScriptsFromNode({ node, context })))).reduce((merged, next) => (0, template_1.merge)(merged, next, { mode: 'overwrite' }), {});
131
+ const fromPreset = await (0, resolution_1.loadDynamic)((_a = asset.scripts) !== null && _a !== void 0 ? _a : {}, context);
132
+ return (0, template_1.merge)(fromChildren, fromPreset, { mode: 'addition' });
68
133
  }
69
- exports.resolveDynamicMap = resolveDynamicMap;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLCtCQUFxRDtBQUVyRCw2QkFBNkM7QUFDN0MseUNBQTZDO0FBa0I3QyxTQUFnQixTQUFTLENBQ3ZCLFFBQWtCLEVBQ2xCLE1BQTJDO0lBRTNDLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDekQsT0FBTyxJQUFBLGdCQUFLLEVBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkQ7U0FBTSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDakUsT0FBTyxJQUFBLGdCQUFLLEVBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2hDO1NBQU07UUFDTCxPQUFPLFFBQVEsQ0FBQztLQUNqQjtBQUNILENBQUM7QUFYRCw4QkFXQztBQU9NLEtBQUssVUFBVSxlQUFlLENBQ25DLE1BQXFCLEVBQ3JCLE9BQXNCO0lBRXRCLE1BQU0sZUFBZSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU5RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0saUJBQWlCLENBQzlDLE1BQU0sRUFDTixlQUFlLEVBQ2YsVUFBVSxDQUNYLENBQUM7SUFHRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUMvQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FDbEMsS0FBSyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxFQUErQixFQUFFO1FBQ3BF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
134
+ exports.resolveScriptsFromNode = resolveScriptsFromNode;
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLCtCQUErQjtBQUUvQiw2Q0FBeUU7QUFDekUseUNBQXFEO0FBb0I5QyxLQUFLLFVBQVUsY0FBYyxDQUFDLENBR3BDO0lBQ0MsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUdwQixNQUFNLE9BQU8sbUNBQ1IsQ0FBQyxDQUFDLE9BQU8sS0FDWixNQUFNLGtDQUNELENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUNuQixRQUFRLEVBQUUsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BRWpFLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUEwQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sMkJBQTJCLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUd0RSxPQUFPO1FBQ0wsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3RCLE1BQU0sa0NBQ0QsT0FBTyxDQUFDLE1BQU0sS0FDakIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUM3QixNQUFNO1lBQ04sVUFBVTtZQUNWLE9BQU8sR0FDUjtLQUNGLENBQUM7QUFDSixDQUFDO0FBOUJELHdDQThCQztBQVNNLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxDQUd2Qzs7SUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUU3QixNQUFNLFVBQVUsR0FB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
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './content';
2
2
  export * from './directive';
3
3
  export * from './io';
4
+ export * from './resolution';
4
5
  export * from './template';
5
6
  export * from './types';
package/lib/index.js CHANGED
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./content"), exports);
18
18
  __exportStar(require("./directive"), exports);
19
19
  __exportStar(require("./io"), exports);
20
+ __exportStar(require("./resolution"), exports);
20
21
  __exportStar(require("./template"), exports);
21
22
  __exportStar(require("./types"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSwyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLHNDQUFvQjtBQUNwQiw0Q0FBMEI7QUFFMUIseUNBQXVCIn0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSwyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLHNDQUFvQjtBQUNwQiw4Q0FBNEI7QUFDNUIsNENBQTBCO0FBRTFCLHlDQUF1QiJ9
package/lib/io.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import type { Generator, PresetterConfig, ResolvedPresetContext, Template } from './types';
2
- export declare function loadDynamic<R extends Template | string[], K extends keyof PresetterConfig>(value: string | R | Generator<R, K>, context: ResolvedPresetContext<K>): Promise<R>;
1
+ import type { Template } from './types';
3
2
  export declare function loadFile(path: string, defaultFormat?: 'json' | 'yaml'): Promise<Record<string, unknown>>;
4
3
  export declare function loadFile(path: string, defaultFormat?: 'text'): Promise<string>;
5
4
  export declare function serializeContent(destination: string, content: Template): string;
package/lib/io.js CHANGED
@@ -1,23 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unlinkFiles = exports.linkFiles = exports.writeFiles = exports.serializeContent = exports.loadFile = exports.loadDynamic = void 0;
3
+ exports.unlinkFiles = exports.linkFiles = exports.writeFiles = exports.serializeContent = exports.loadFile = void 0;
4
4
  const console_1 = require("console");
5
5
  const fs_extra_1 = require("fs-extra");
6
6
  const js_yaml_1 = require("js-yaml");
7
7
  const path_1 = require("path");
8
8
  const INDENT = 2;
9
- async function loadDynamic(value, context) {
10
- if (typeof value === 'function') {
11
- return value(context);
12
- }
13
- else if (typeof value === 'string' && (await (0, fs_extra_1.pathExists)(value))) {
14
- return (await loadFile(value));
15
- }
16
- else {
17
- return value;
18
- }
19
- }
20
- exports.loadDynamic = loadDynamic;
21
9
  async function loadFile(path, defaultFormat = 'text') {
22
10
  const content = (await (0, fs_extra_1.readFile)(path)).toString();
23
11
  switch ((0, path_1.extname)(path) || `.${defaultFormat}`) {
@@ -103,4 +91,4 @@ async function linkExists(path) {
103
91
  return false;
104
92
  }
105
93
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZUEscUNBQStCO0FBQy9CLHVDQVVrQjtBQUNsQixxQ0FBcUM7QUFDckMsK0JBQXFFO0FBVXJFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztBQVFWLEtBQUssVUFBVSxXQUFXLENBSS9CLEtBR21CLEVBQ25CLE9BQWlDO0lBRWpDLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO1FBQy9CLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3ZCO1NBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxNQUFNLElBQUEscUJBQVUsRUFBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ2pFLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBTSxDQUFDO0tBQ3JDO1NBQU07UUFDTCxPQUFPLEtBQVUsQ0FBQztLQUNuQjtBQUNILENBQUM7QUFqQkQsa0NBaUJDO0FBZ0JNLEtBQUssVUFBVSxRQUFRLENBQzVCLElBQVksRUFDWixnQkFBMEMsTUFBTTtJQUVoRCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sSUFBQSxtQkFBUSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFHbEQsUUFBUSxJQUFBLGNBQU8sRUFBQyxJQUFJLENBQUMsSUFBSSxJQUFJLGFBQWEsRUFBRSxFQUFFO1FBQzVDLEtBQUssT0FBTztZQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQTRCLENBQUM7UUFDeEQsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLE1BQU07WUFDVCxPQUFPLElBQUEsY0FBSSxFQUFDLE9BQU8sQ0FBNEIsQ0FBQztRQUNsRDtZQUNFLE9BQU8sT0FBTyxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQztBQWhCRCw0QkFnQkM7QUFRRCxTQUFnQixnQkFBZ0Is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
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZUEscUNBQStCO0FBQy9CLHVDQVVrQjtBQUNsQixxQ0FBcUM7QUFDckMsK0JBQXFFO0FBS3JFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztBQWdCVixLQUFLLFVBQVUsUUFBUSxDQUM1QixJQUFZLEVBQ1osZ0JBQTBDLE1BQU07SUFFaEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUEsbUJBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBR2xELFFBQVEsSUFBQSxjQUFPLEVBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxhQUFhLEVBQUUsRUFBRTtRQUM1QyxLQUFLLE9BQU87WUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUE0QixDQUFDO1FBQ3hELEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxNQUFNO1lBQ1QsT0FBTyxJQUFBLGNBQUksRUFBQyxPQUFPLENBQTRCLENBQUM7UUFDbEQ7WUFDRSxPQUFPLE9BQU8sQ0FBQztLQUNsQjtBQUNILENBQUM7QUFoQkQsNEJBZ0JDO0FBUUQsU0FBZ0IsZ0JBQWdCLENBQzlCLFdBQW1CLEVBQ25CLE9BQWlCO0lBRWpCLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1FBQy9CLE9BQU8sT0FBTyxDQUFDO0tBQ2hCO0lBRUQsUUFBUSxJQUFBLGNBQU8sRUFBQyxXQUFXLENBQUMsRUFBRTtRQUM1QixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssTUFBTTtZQUNULE9BQU8sSUFBQSxjQUFJLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsS0FBSyxPQUFPLENBQUM7UUFDYjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2hEO0FBQ0gsQ0FBQztBQWhC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
package/lib/preset.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import type { PresetAsset, PresetContext, PresetterConfig, ResolvedPresetContext, Template } from './types';
1
+ import type { PresetAsset, PresetContext, PresetGraph, PresetNode, PresetterConfig, ResolvedPresetContext, Template } from './types';
2
2
  export declare function getPresetterRC(root: string): Promise<PresetterConfig>;
3
3
  export declare function updatePresetterRC(root: string, config: PresetterConfig): Promise<void>;
4
4
  export declare function assertPresetterRC(value: unknown): asserts value is PresetterConfig;
5
- export declare function getPresetAssets(context: PresetContext): Promise<PresetAsset[]>;
6
- export declare function getScripts(context: PresetContext): Promise<Record<string, string>>;
5
+ export declare function getPresetAsset(name: string, context: PresetContext): Promise<PresetAsset>;
6
+ export declare function getPresetNode(name: string, context: PresetContext): Promise<PresetNode>;
7
+ export declare function getPresetGraph(context: PresetContext): Promise<PresetGraph>;
8
+ export declare function getScripts(): Promise<Record<string, string>>;
7
9
  export declare function setupPreset(...uris: string[]): Promise<void>;
8
- export declare function bootstrapPreset(options?: {
9
- force?: boolean;
10
- }): Promise<void>;
10
+ export declare function bootstrapPreset(): Promise<void>;
11
11
  export declare function bootstrapContent(context: PresetContext): Promise<void>;
12
12
  export declare function unsetPreset(): Promise<void>;
13
13
  export declare function getContext(): Promise<PresetContext>;
package/lib/preset.js CHANGED
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getDestinationMap = exports.getContext = exports.unsetPreset = exports.bootstrapContent = exports.bootstrapPreset = exports.setupPreset = exports.getScripts = exports.getPresetAssets = exports.assertPresetterRC = exports.updatePresetterRC = exports.getPresetterRC = void 0;
29
+ exports.getDestinationMap = exports.getContext = exports.unsetPreset = exports.bootstrapContent = exports.bootstrapPreset = exports.setupPreset = exports.getScripts = exports.getPresetGraph = exports.getPresetNode = exports.getPresetAsset = exports.assertPresetterRC = exports.updatePresetterRC = exports.getPresetterRC = void 0;
30
30
  const console_1 = require("console");
31
31
  const fs_extra_1 = require("fs-extra");
32
32
  const lodash_1 = require("lodash");
@@ -64,42 +64,37 @@ function assertPresetterRC(value) {
64
64
  }
65
65
  }
66
66
  exports.assertPresetterRC = assertPresetterRC;
67
- async function getPresetAssets(context) {
68
- var _a, _b;
67
+ async function getPresetAsset(name, context) {
68
+ try {
69
+ const module = (0, resolve_pkg_1.default)(name, {
70
+ cwd: context.target.root,
71
+ });
72
+ const { default: presetPresetAsset } = (await Promise.resolve().then(() => __importStar(require(module))));
73
+ return await presetPresetAsset(context);
74
+ }
75
+ catch (_a) {
76
+ throw new Error(`cannot resolve preset ${name}`);
77
+ }
78
+ }
79
+ exports.getPresetAsset = getPresetAsset;
80
+ async function getPresetNode(name, context) {
81
+ var _a;
82
+ const asset = await getPresetAsset(name, context);
83
+ const nodes = await Promise.all(((_a = asset.extends) !== null && _a !== void 0 ? _a : []).map(async (extension) => getPresetNode(extension, context)));
84
+ return { name, asset, nodes };
85
+ }
86
+ exports.getPresetNode = getPresetNode;
87
+ async function getPresetGraph(context) {
69
88
  const { preset } = context.custom;
70
89
  const presets = Array.isArray(preset) ? preset : [preset];
71
- const assets = [];
72
- for (const preset of presets) {
73
- try {
74
- const module = (0, resolve_pkg_1.default)(preset, {
75
- cwd: context.target.root,
76
- });
77
- const { default: presetPresetAsset } = (await Promise.resolve().then(() => __importStar(require(module))));
78
- const asset = await presetPresetAsset(context);
79
- const extensions = (_b = (_a = asset.extends) === null || _a === void 0 ? void 0 : _a.map(async (extension) => getPresetAssets(Object.assign(Object.assign({}, context), { custom: Object.assign(Object.assign({}, context.custom), { preset: extension }) })))) !== null && _b !== void 0 ? _b : [];
80
- assets.push(...(await Promise.all(extensions)).flat());
81
- assets.push(asset);
82
- }
83
- catch (_c) {
84
- throw new Error(`cannot resolve preset ${preset}`);
85
- }
86
- }
87
- return assets;
90
+ return Promise.all(presets.map(async (name) => getPresetNode(name, context)));
88
91
  }
89
- exports.getPresetAssets = getPresetAssets;
90
- async function getScripts(context) {
91
- const { custom } = context;
92
- const assets = await getPresetAssets(context);
93
- const variable = (0, content_1.getVariable)(assets, context);
94
- const scripts = await Promise.all([
95
- ...assets.map(({ scripts }) => scripts),
96
- ...assets.map(({ supplementaryScripts }) => supplementaryScripts),
97
- ]
98
- .filter((path) => typeof path === 'string')
99
- .map(async (path) => (await (0, io_1.loadFile)(path, 'yaml'))));
100
- const scriptsFromPreset = scripts.reduce((merged, scripts) => (0, template_1.merge)(merged, scripts), {});
101
- const scriptsWithCustomConfig = (0, template_1.merge)(scriptsFromPreset, custom.scripts);
102
- return (0, template_1.template)(scriptsWithCustomConfig, variable);
92
+ exports.getPresetGraph = getPresetGraph;
93
+ async function getScripts() {
94
+ const context = await getContext();
95
+ const graph = await getPresetGraph(context);
96
+ const resolvedContext = await (0, content_1.resolveContext)({ graph, context });
97
+ return (0, content_1.resolveScripts)({ graph, context: resolvedContext });
103
98
  }
104
99
  exports.getScripts = getScripts;
105
100
  async function setupPreset(...uris) {
@@ -126,37 +121,28 @@ async function setupPreset(...uris) {
126
121
  (0, console_1.info)('Done. Enjoy coding!');
127
122
  }
128
123
  exports.setupPreset = setupPreset;
129
- async function bootstrapPreset(options) {
130
- const { force = false } = Object.assign({}, options);
124
+ async function bootstrapPreset() {
131
125
  const context = await getContext();
132
- if (force || !(0, package_1.arePeerPackagesAutoInstalled)()) {
126
+ if (!(0, package_1.arePeerPackagesAutoInstalled)()) {
133
127
  await (0, package_1.reifyDependencies)({ root: context.target.root });
134
128
  }
135
129
  await bootstrapContent(context);
136
130
  }
137
131
  exports.bootstrapPreset = bootstrapPreset;
138
132
  async function bootstrapContent(context) {
139
- var _a;
140
- const assets = await getPresetAssets(context);
141
- const content = await (0, content_1.generateContent)(assets, context);
142
- const resolvedContext = await (0, content_1.resolveContext)(assets, context);
143
- const userIgnores = (_a = context.custom.ignores) !== null && _a !== void 0 ? _a : [];
144
- const presetIgnores = (await Promise.all(assets.map(({ supplementaryIgnores }) => supplementaryIgnores instanceof Function
145
- ? supplementaryIgnores(resolvedContext)
146
- : supplementaryIgnores)))
147
- .filter((rules) => !!rules)
148
- .flat();
149
- const filteredContent = (0, template_1.filter)(content, ...presetIgnores, ...userIgnores);
150
- const destinationMap = await getDestinationMap(filteredContent, resolvedContext);
151
- await (0, io_1.writeFiles)(context.target.root, filteredContent, destinationMap);
133
+ const graph = await getPresetGraph(context);
134
+ const resolvedContext = await (0, content_1.resolveContext)({ graph, context });
135
+ const content = await (0, content_1.resolveTemplate)({ graph, context: resolvedContext });
136
+ const destinationMap = await getDestinationMap(content, resolvedContext);
137
+ await (0, io_1.writeFiles)(context.target.root, content, destinationMap);
152
138
  await (0, io_1.linkFiles)(context.target.root, destinationMap);
153
139
  }
154
140
  exports.bootstrapContent = bootstrapContent;
155
141
  async function unsetPreset() {
156
142
  const context = await getContext();
157
- const assets = await getPresetAssets(context);
158
- const content = await (0, content_1.generateContent)(assets, context);
159
- const resolvedContext = await (0, content_1.resolveContext)(assets, context);
143
+ const graph = await getPresetGraph(context);
144
+ const resolvedContext = await (0, content_1.resolveContext)({ graph, context });
145
+ const content = await (0, content_1.resolveTemplate)({ graph, context: resolvedContext });
160
146
  const configurationLink = await getDestinationMap(content, resolvedContext);
161
147
  await (0, io_1.unlinkFiles)(context.target.root, configurationLink);
162
148
  }
@@ -188,4 +174,4 @@ exports.getDestinationMap = getDestinationMap;
188
174
  function getNewPackages(before, after) {
189
175
  return Object.keys(after).filter((name) => !before[name]);
190
176
  }
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3ByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLHFDQUErQjtBQUMvQix1Q0FBaUQ7QUFDakQsbUNBQXNDO0FBQ3RDLCtCQUF3QztBQUN4Qyx3REFBbUM7QUFDbkMsOERBQXlDO0FBQ3pDLDBEQUFxQztBQUVyQyx1Q0FBeUU7QUFDekUsNkJBQW9FO0FBQ3BFLHVDQUltQjtBQUNuQix5Q0FBNkQ7QUFhN0QsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDO0FBRW5DLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztBQU9mLEtBQUssVUFBVSxjQUFjLENBQUMsSUFBWTtJQUMvQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3JELElBQUEsY0FBTyxFQUFDLElBQUksRUFBRSxHQUFHLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUN0QyxDQUFDO0lBRUYsS0FBSyxNQUFNLElBQUksSUFBSSxvQkFBb0IsRUFBRTtRQUN2QyxJQUFJLE1BQU0sSUFBQSxxQkFBVSxFQUFDLElBQUksQ0FBQyxFQUFFO1lBRTFCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxhQUFRLEVBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTFCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7S0FDRjtJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBaEJELHdDQWdCQztBQU9NLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsSUFBWSxFQUNaLE1BQXVCO0lBRXZCLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMs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
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3ByZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLHFDQUErQjtBQUMvQix1Q0FBaUQ7QUFDakQsbUNBQXNDO0FBQ3RDLCtCQUF3QztBQUN4Qyx3REFBbUM7QUFDbkMsOERBQXlDO0FBQ3pDLDBEQUFxQztBQUVyQyx1Q0FBNEU7QUFDNUUsNkJBQW9FO0FBQ3BFLHVDQUltQjtBQUNuQix5Q0FBMkM7QUFjM0MsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDO0FBRW5DLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztBQWtCZixLQUFLLFVBQVUsY0FBYyxDQUFDLElBQVk7SUFDL0MsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNyRCxJQUFBLGNBQU8sRUFBQyxJQUFJLEVBQUUsR0FBRyxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FDdEMsQ0FBQztJQUVGLEtBQUssTUFBTSxJQUFJLElBQUksb0JBQW9CLEVBQUU7UUFDdkMsSUFBSSxNQUFNLElBQUEscUJBQVUsRUFBQyxJQUFJLENBQUMsRUFBRTtZQUUxQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsYUFBUSxFQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM1QyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUxQixPQUFPLE1BQU0sQ0FBQztTQUNmO0tBQ0Y7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQWhCRCx3Q0FnQkM7QUFPTSxLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLElBQVksRUFDWixNQUF1QjtJQUV2QixNQUFNLG1CQUFtQixHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFD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
@@ -0,0 +1,4 @@
1
+ import type { DynamicAsset, DynamicAssetField, Generator, PresetAsset, PresetterConfig, RequiredResolution, ResolvedPresetContext, Template } from './types';
2
+ export declare function getConfigKey(filename: string): string;
3
+ export declare function loadDynamicMap<F extends DynamicAssetField>(map: PresetAsset[F], context: ResolvedPresetContext<RequiredResolution<F>>): Promise<Record<string, DynamicAsset<F>>>;
4
+ export declare function loadDynamic<R extends Template | string[], K extends keyof PresetterConfig>(value: string | R | Generator<R, K>, context: ResolvedPresetContext<K>): Promise<R>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadDynamic = exports.loadDynamicMap = exports.getConfigKey = void 0;
4
+ const fs_extra_1 = require("fs-extra");
5
+ const path_1 = require("path");
6
+ const io_1 = require("./io");
7
+ function getConfigKey(filename) {
8
+ return (0, path_1.basename)(filename, (0, path_1.extname)(filename))
9
+ .replace(/^\./, '')
10
+ .replace(/rc$/, '')
11
+ .replace(/\.config$/, '');
12
+ }
13
+ exports.getConfigKey = getConfigKey;
14
+ async function loadDynamicMap(map, context) {
15
+ return Object.fromEntries(await Promise.all(Object.entries(map instanceof Function
16
+ ? await map(context)
17
+ : Object.assign({}, map)).map(async ([relativePath, value]) => [
18
+ relativePath,
19
+ await loadDynamic(value, context),
20
+ ])));
21
+ }
22
+ exports.loadDynamicMap = loadDynamicMap;
23
+ async function loadDynamic(value, context) {
24
+ if (typeof value === 'function') {
25
+ return value(context);
26
+ }
27
+ else if (typeof value === 'string' && (await (0, fs_extra_1.pathExists)(value))) {
28
+ return (await (0, io_1.loadFile)(value));
29
+ }
30
+ else {
31
+ return value;
32
+ }
33
+ }
34
+ exports.loadDynamic = loadDynamic;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9yZXNvbHV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLHVDQUFzQztBQUN0QywrQkFBeUM7QUFFekMsNkJBQWdDO0FBa0JoQyxTQUFnQixZQUFZLENBQUMsUUFBZ0I7SUFDM0MsT0FBTyxJQUFBLGVBQVEsRUFBQyxRQUFRLEVBQUUsSUFBQSxjQUFPLEVBQUMsUUFBUSxDQUFDLENBQUM7U0FDekMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7U0FDbEIsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7U0FDbEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBTEQsb0NBS0M7QUFRTSxLQUFLLFVBQVUsY0FBYyxDQUNsQyxHQUFtQixFQUNuQixPQUFxRDtJQUdyRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixNQUFNLENBQUMsT0FBTyxDQUNaLEdBQUcsWUFBWSxRQUFRO1FBQ3JCLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxPQUFnQyxDQUFDO1FBQzdDLENBQUMsbUJBQU0sR0FBRyxDQUFFLENBQ2YsQ0FBQyxHQUFHLENBQ0gsS0FBSyxFQUFFLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUEwQixFQUFFLENBQUM7UUFDdkQsWUFBWTtRQUNaLE1BQU0sV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFnQyxDQUFDO0tBQzNELENBQ0YsQ0FDRixDQUNGLENBQUM7QUFDSixDQUFDO0FBbkJELHdDQW1CQztBQVFNLEtBQUssVUFBVSxXQUFXLENBSS9CLEtBR21CLEVBQ25CLE9BQWlDO0lBRWpDLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO1FBQy9CLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3ZCO1NBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxNQUFNLElBQUEscUJBQVUsRUFBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ2pFLE9BQU8sQ0FBQyxNQUFNLElBQUEsYUFBUSxFQUFDLEtBQUssQ0FBQyxDQUFNLENBQUM7S0FDckM7U0FBTTtRQUNMLE9BQU8sS0FBVSxDQUFDO0tBQ25CO0FBQ0gsQ0FBQztBQWpCRCxrQ0FpQkMifQ==
package/lib/run.js CHANGED
@@ -20,7 +20,7 @@ class TemporaryPackageJSONManager {
20
20
  }
21
21
  async replace(task) {
22
22
  delete this.package.json.scripts[task];
23
- const template = await (0, preset_1.getScripts)(await (0, preset_1.getContext)());
23
+ const template = await (0, preset_1.getScripts)();
24
24
  this.package.json.scripts = (0, scripts_1.composeScripts)({
25
25
  template,
26
26
  target: Object.assign({}, this.package.json.scripts),
@@ -63,4 +63,4 @@ async function run(task, argv = []) {
63
63
  }
64
64
  }
65
65
  exports.run = run;
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFlQSxrREFBMEI7QUFDMUIsdUNBQW1FO0FBQ25FLG1DQUE4QjtBQUM5QiwrQkFBa0Q7QUFFbEQsbUNBQStCO0FBQy9CLHVDQUF1QztBQUN2QyxxQ0FBa0Q7QUFDbEQsdUNBQTJDO0FBSzNDLE1BQU0sMkJBQTJCO0lBVS9CLFlBQVksYUFBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLGNBQU8sRUFDakIsSUFBQSxjQUFPLEVBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUMzQixHQUFHLEdBQUcsSUFBQSxlQUFRLEVBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUNuQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUEseUJBQWMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQU1NLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBWTtRQUUvQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUd2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsbUJBQVUsRUFBQyxNQUFNLElBQUEsbUJBQVUsR0FBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEsd0JBQWMsRUFBQztZQUN6QyxRQUFRO1lBQ1IsTUFBTSxvQkFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBR0gsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE1BQU0sSUFBQSxZQUFJLEVBQ1IsSUFBQSxlQUFJLEVBQUMsSUFBSSxDQUFDLE9BQU8s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
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFlQSxrREFBMEI7QUFDMUIsdUNBQW1FO0FBQ25FLG1DQUE4QjtBQUM5QiwrQkFBa0Q7QUFFbEQsbUNBQStCO0FBQy9CLHVDQUF1QztBQUN2QyxxQ0FBc0M7QUFDdEMsdUNBQTJDO0FBSzNDLE1BQU0sMkJBQTJCO0lBVS9CLFlBQVksYUFBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLGNBQU8sRUFDakIsSUFBQSxjQUFPLEVBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUMzQixHQUFHLEdBQUcsSUFBQSxlQUFRLEVBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUNuQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUEseUJBQWMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQU1NLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBWTtRQUUvQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUd2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsbUJBQVUsR0FBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLHdCQUFjLEVBQUM7WUFDekMsUUFBUTtZQUNSLE1BQU0sb0JBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUM3QjtTQUNGLENBQUMsQ0FBQztRQUdILElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixNQUFNLElBQUEsWUFBSSxFQUNSLElBQUEsZUFBSSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDbEMsK0JBQStCLENBQ2hDLENBQUM7U0FDSDtRQUdELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRSxNQUFNLElBQUEsWUFBSSxFQUNSLElBQUEsb0JBQVMsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFDckMsaUNBQWlDLENBQ2xDLENBQUM7SUFDSixDQUFDO0lBS00sS0FBSyxDQUFDLE9BQU87UUFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE1BQU0sSUFBQSxZQUFJLEVBQ1IsSUFBQSxpQkFBTSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQ3hDLElBQUEsZUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FDbkMsRUFDRCxnQ0FBZ0MsQ0FDakMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztDQUNGO0FBT00sS0FBSyxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQUUsT0FBaUIsRUFBRTtJQUV6RCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUEsb0JBQVUsR0FBRSxDQUFDO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksMkJBQTJCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFHL0QsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUEsYUFBSSxFQUFDLEtBQUssRUFBRSxhQUFzQixFQUFpQixFQUFFO1FBRW5FLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRzFDLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXhCLElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRzlDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUEsZUFBSyxFQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUU7UUFDcEUsR0FBRyxFQUFFLElBQUEsY0FBTyxFQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFDaEMsS0FBSyxFQUFFLFNBQVM7UUFDaEIsTUFBTSxFQUFFLEtBQUs7UUFDYixLQUFLLEVBQUUsSUFBSTtLQUNaLENBQUMsQ0FBQztJQUdILE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBR3JCLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQztBQXBDRCxrQkFvQ0MifQ==
package/lib/template.d.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  import type { IgnoreRule } from './types';
2
+ export declare type MergeMode = 'addition' | 'overwrite';
2
3
  export declare function filter<C extends Record<string, unknown>>(subject: C, ...ignores: IgnoreRule[]): C;
3
4
  export declare function filter(subject: unknown[], ...ignores: IgnoreRule[]): unknown[];
4
5
  export declare function isJSON(subject: unknown): subject is Record<string, any>;
5
- export declare function merge<Source extends Record<string, any> | unknown[]>(source: Source, replacement?: Record<string, any> | unknown[]): Source;
6
+ export declare function merge<S extends string | Record<string, any> | unknown[]>(source: S, replacement?: string | Record<string, any> | unknown[], options?: {
7
+ mode?: MergeMode;
8
+ }): S;
6
9
  export declare function template(content: string, parameter: Record<string, string>): string;
7
10
  export declare function template<Content extends Record<string, unknown> | unknown[]>(content: Content, parameter: Record<string, string>): Content;
8
11
  export declare function template(content: unknown, parameter: Record<string, string>): unknown;
package/lib/template.js CHANGED
@@ -31,32 +31,45 @@ function isJSON(subject) {
31
31
  ].every((value) => value);
32
32
  }
33
33
  exports.isJSON = isJSON;
34
- function merge(source, replacement) {
34
+ function merge(source, replacement, options) {
35
+ const { mode = 'addition' } = options !== null && options !== void 0 ? options : {};
35
36
  if (Array.isArray(source)) {
36
- return replace(source, replacement);
37
+ return replace(source, replacement, { mode });
38
+ }
39
+ else if (typeof source === 'string' || typeof replacement === 'string') {
40
+ return mergeText(source, replacement, { mode });
37
41
  }
38
42
  const keys = [...Object.keys(source), ...Object.keys(replacement !== null && replacement !== void 0 ? replacement : {})];
39
43
  const entries = keys.map((key) => [
40
44
  key,
41
- replace(source[key], replacement === null || replacement === void 0 ? void 0 : replacement[key]),
45
+ replace(source[key], replacement === null || replacement === void 0 ? void 0 : replacement[key], { mode }),
42
46
  ]);
43
47
  return Object.assign({}, ...entries.map(([key, value]) => ({
44
48
  [key]: value,
45
49
  })));
46
50
  }
47
51
  exports.merge = merge;
48
- function replace(source, replacement) {
49
- if (Array.isArray(source)) {
52
+ function mergeText(current, candidate, options) {
53
+ if (typeof current === 'string' &&
54
+ typeof candidate === 'string' &&
55
+ options.mode === 'addition') {
56
+ return [...new Set(`${current}\n${candidate}`.split('\n'))].join('\n');
57
+ }
58
+ return typeof current === typeof candidate ? candidate : current;
59
+ }
60
+ function replace(source, replacement, options) {
61
+ const { mode } = options;
62
+ if (mode === 'addition' && Array.isArray(source)) {
50
63
  return replaceArray(source, replacement);
51
64
  }
52
65
  else if (isJSON(source) && isJSON(replacement)) {
53
- return merge(source, replacement);
66
+ return merge(source, replacement, options);
54
67
  }
55
68
  return replacement === undefined ? source : replacement;
56
69
  }
57
70
  function replaceArray(source, replacement) {
58
71
  if (isJSON(replacement)) {
59
- return source.map((value, index) => replace(value, replacement[index]));
72
+ return source.map((value, index) => replace(value, replacement[index], { mode: 'addition' }));
60
73
  }
61
74
  else if (Array.isArray(replacement)) {
62
75
  return [...new Set([...source, ...replacement]).values()];
@@ -82,4 +95,4 @@ function template(content, parameter) {
82
95
  }
83
96
  }
84
97
  exports.template = template;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBZUEsZ0RBQXdCO0FBZXhCLFNBQWdCLE1BQU0sQ0FDcEIsT0FBNEMsRUFDNUMsR0FBRyxPQUFxQjtJQUd4QixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUNuQyxDQUFDLE1BQU0sRUFBNkIsRUFBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FDbEUsQ0FBQztJQUdGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMxQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNsRTtJQUdELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM1RSxDQUFDO0lBR0YsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDOUIsQ0FBQyxNQUFNLEVBQXdDLEVBQUUsQ0FDL0MsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUM3QixDQUFDO0lBR0YsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUNyQixDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxFQUFFLENBQy9CLE1BQU0sQ0FBQyxXQUFXLENBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQ2xDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQXFCLEVBQUUsQ0FBQztR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
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBZUEsZ0RBQXdCO0FBaUJ4QixTQUFnQixNQUFNLENBQ3BCLE9BQTRDLEVBQzVDLEdBQUcsT0FBcUI7SUFHeEIsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxNQUFNLEVBQTZCLEVBQUUsQ0FBQyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQ2xFLENBQUM7SUFHRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDbEU7SUFHRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDNUUsQ0FBQztJQUdGLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQzlCLENBQUMsTUFBTSxFQUF3QyxFQUFFLENBQy9DLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FDN0IsQ0FBQztJQUdGLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FDckIsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUMvQixNQUFNLENBQUMsV0FBVyxDQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUNsQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFxQixFQUFFLENBQUM7UUFDbkMsR0FBRztRQUNILFlBQVksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3JDLENBQ0YsQ0FDRixFQUNILFNBQVMsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQXRDRCx3QkFzQ0M7QUFRRCxTQUFTLFlBQVksQ0FBQyxLQUFjLEVBQUUsSUFBaUI7SUFDckQsT0FBTyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN0QyxDQUFDLENBQUMsTUFBTSxDQUNKLEtBQWdDLEVBSWhDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekM7UUFDSCxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ1osQ0FBQztBQU9ELFNBQWdCLE1BQU0sQ0FBQyxPQUFnQjtJQUNyQyxPQUFPO1FBQ0wsT0FBTyxPQUFPLEtBQUssUUFBUTtRQUMzQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxJQUFJO0tBQ2pCLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBTkQsd0JBTUM7QUFZRCxTQUFnQixLQUFLLENBQ25CLE1BQVMsRUFDVCxXQUFzRCxFQUN0RCxPQUVDO0lBRUQsTUFBTSxFQUFFLElBQUksR0FBRyxVQUFVLEVBQUUsR0FBRyxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxFQUFFLENBQUM7SUFFNUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQy9DO1NBQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFO1FBQ3hFLE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQ2pEO0lBRUQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsYUFBWCxXQUFXLGNBQVgsV0FBVyxHQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekUsTUFBTSxPQUFPLEdBQXlCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ3RELEdBQUc7UUFDSCxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ25ELENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsRUFBRSxFQUNGLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQyxDQUNKLENBQUM7QUFDSixDQUFDO0FBNUJELHNCQTRCQztBQVVELFNBQVMsU0FBUyxDQUNoQixPQUFVLEVBQ1YsU0FBOEQsRUFDOUQsT0FBNEI7SUFFNUIsSUFDRSxPQUFPLE9BQU8sS0FBSyxRQUFRO1FBQzNCLE9BQU8sU0FBUyxLQUFLLFFBQVE7UUFDN0IsT0FBTyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQzNCO1FBQ0EsT0FBTyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLENBQUM7S0FDN0U7SUFHRCxPQUFPLE9BQU8sT0FBTyxLQUFLLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBRSxTQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUMxRSxDQUFDO0FBVUQsU0FBUyxPQUFPLENBQ2QsTUFBZSxFQUNmLFdBQW9CLEVBQ3BCLE9BRUM7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBUXpCLElBQUksSUFBSSxLQUFLLFVBQVUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ2hELE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztLQUMxQztTQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUVoRCxPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQzVDO0lBR0QsT0FBTyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztBQUMxRCxDQUFDO0FBUUQsU0FBUyxZQUFZLENBQUMsTUFBaUIsRUFBRSxXQUFvQjtJQUMzRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUV2QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDakMsT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FDekQsQ0FBQztLQUNIO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBRXJDLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDM0Q7U0FBTTtRQUVMLE9BQU8sV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLEdBQUksTUFBTSxDQUFDO0tBQzlCO0FBQ0gsQ0FBQztBQW1CRCxTQUFnQixRQUFRLENBQ3RCLE9BQStELEVBQy9ELFNBQWlDO0lBRWpDLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1FBQy9CLE9BQU8sSUFBQSxjQUFJLEVBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ2pDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2pDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0tBQzNEO1NBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDM0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUNILENBQUM7S0FDSDtTQUFNO1FBQ0wsT0FBTyxPQUFPLENBQUM7S0FDaEI7QUFDSCxDQUFDO0FBakJELDRCQWlCQyJ9
package/lib/types.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  import type { PackageJson } from 'read-pkg-up';
2
+ export declare type PresetGraph = PresetNode[];
3
+ export declare type PresetNode = {
4
+ name: string;
5
+ asset: PresetAsset;
6
+ nodes: PresetGraph;
7
+ };
2
8
  export interface PresetterConfig {
3
9
  preset: string | string[];
4
10
  config?: Record<string, Record<string, unknown> | string[]>;
@@ -11,18 +17,28 @@ export interface PresetAsset {
11
17
  extends?: string[];
12
18
  template?: TemplateMap | TemplateMapGenerator;
13
19
  noSymlinks?: string[] | Generator<string[], 'variable'>;
14
- scripts?: string;
20
+ scripts?: Record<string, string> | string;
15
21
  variable?: Record<string, string>;
16
22
  supplementaryConfig?: ConfigMap | ConfigMapGenerator;
17
23
  supplementaryIgnores?: IgnoreRule[] | IgnoreRulesGenerator;
18
- supplementaryScripts?: string;
24
+ supplementaryScripts?: Record<string, string> | string;
25
+ }
26
+ export interface ResolvedPresetAsset extends Omit<PresetAsset, 'extends'> {
27
+ template?: Record<string, Record<string, unknown>>;
28
+ noSymlinks?: string[];
29
+ scripts?: Record<string, string>;
30
+ variable?: Record<string, string>;
31
+ supplementaryConfig?: Record<string, Config>;
32
+ supplementaryIgnores?: Array<string | Record<string, IgnorePath>>;
33
+ supplementaryScripts?: Record<string, string>;
34
+ }
35
+ export interface TargetContext {
36
+ name: string;
37
+ root: string;
38
+ package: PackageJson;
19
39
  }
20
40
  export interface PresetContext {
21
- target: {
22
- name: string;
23
- root: string;
24
- package: PackageJson;
25
- };
41
+ target: TargetContext;
26
42
  custom: PresetterConfig;
27
43
  }
28
44
  export interface ResolvedPresetContext<F extends keyof PresetterConfig = 'config' | 'noSymlinks' | 'variable'> extends PresetContext {
@@ -42,7 +58,7 @@ export declare type ConfigGenerator = Generator<Config>;
42
58
  export declare type ConfigMap = Record<string, Path | Config | ConfigGenerator>;
43
59
  export declare type ConfigMapGenerator = Generator<ConfigMap, 'variable'>;
44
60
  export declare type IgnoreRule = string | number | Record<string, IgnorePath>;
45
- export declare type IgnorePath = Array<string | number> | {
61
+ export declare type IgnorePath = string[] | number[] | {
46
62
  [key: string]: IgnorePath;
47
63
  };
48
64
  export declare type IgnoreRulesGenerator = Generator<IgnoreRule[], 'variable'>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "presetter",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "engines": {
5
5
  "node": ">=12.10.0"
6
6
  },
@@ -39,7 +39,7 @@
39
39
  "url": "git+https://github.com/alvis/presetter.git"
40
40
  },
41
41
  "scripts": {
42
- "bootstrap": "npm run ts-node -- --eval \"require('./source/preset.ts').bootstrapPreset({ force: true })\" && npm run script -- prepare",
42
+ "bootstrap": "npm run ts-node -- --eval \"require('./source/preset.ts').bootstrapPreset()\" && npm run script -- prepare",
43
43
  "build": "npm run script -- build",
44
44
  "clean": "npm run script -- clean",
45
45
  "coverage": "npm run script -- coverage",