presetter 5.0.0 → 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.
Files changed (130) hide show
  1. package/lib/executable/entry.d.ts.map +1 -1
  2. package/lib/executable/entry.js +4 -43
  3. package/lib/executable/error.d.ts.map +1 -1
  4. package/lib/executable/error.js +1 -15
  5. package/lib/executable/index.js +1 -15
  6. package/lib/index.d.ts +4 -5
  7. package/lib/index.d.ts.map +1 -1
  8. package/lib/index.js +5 -20
  9. package/lib/io.d.ts +8 -42
  10. package/lib/io.d.ts.map +1 -1
  11. package/lib/io.js +24 -156
  12. package/lib/package.d.ts +2 -2
  13. package/lib/package.d.ts.map +1 -1
  14. package/lib/package.js +3 -17
  15. package/lib/preset/bootstrap.d.ts +5 -0
  16. package/lib/preset/bootstrap.d.ts.map +1 -0
  17. package/lib/preset/bootstrap.js +32 -0
  18. package/lib/preset/config/index.d.ts +3 -0
  19. package/lib/preset/config/index.d.ts.map +1 -0
  20. package/lib/preset/config/index.js +4 -0
  21. package/lib/preset/config/resolve.d.ts +8 -0
  22. package/lib/preset/config/resolve.d.ts.map +1 -0
  23. package/lib/preset/config/resolve.js +25 -0
  24. package/lib/preset/config/search.d.ts +7 -0
  25. package/lib/preset/config/search.d.ts.map +1 -0
  26. package/lib/preset/config/search.js +25 -0
  27. package/lib/preset/context.d.ts +2 -1
  28. package/lib/preset/context.d.ts.map +1 -1
  29. package/lib/preset/context.js +5 -24
  30. package/lib/preset/index.d.ts +5 -2
  31. package/lib/preset/index.d.ts.map +1 -1
  32. package/lib/preset/index.js +6 -18
  33. package/lib/preset/project.d.ts +8 -0
  34. package/lib/preset/project.d.ts.map +1 -0
  35. package/lib/preset/project.js +28 -0
  36. package/lib/preset/resolution/asset.d.ts +31 -0
  37. package/lib/preset/resolution/asset.d.ts.map +1 -0
  38. package/lib/preset/resolution/asset.js +78 -0
  39. package/lib/preset/resolution/content.d.ts +37 -0
  40. package/lib/preset/resolution/content.d.ts.map +1 -0
  41. package/lib/preset/resolution/content.js +55 -0
  42. package/lib/preset/resolution/debugger.d.ts +3 -0
  43. package/lib/preset/resolution/debugger.d.ts.map +1 -0
  44. package/lib/preset/resolution/debugger.js +3 -0
  45. package/lib/preset/resolution/index.d.ts +6 -0
  46. package/lib/preset/resolution/index.d.ts.map +1 -0
  47. package/lib/preset/resolution/index.js +7 -0
  48. package/lib/preset/resolution/object.d.ts +9 -0
  49. package/lib/preset/resolution/object.d.ts.map +1 -0
  50. package/lib/preset/resolution/object.js +10 -0
  51. package/lib/preset/resolution/preset.d.ts +9 -0
  52. package/lib/preset/resolution/preset.d.ts.map +1 -0
  53. package/lib/preset/resolution/preset.js +17 -0
  54. package/lib/preset/resolution/script.d.ts +9 -0
  55. package/lib/preset/resolution/script.d.ts.map +1 -0
  56. package/lib/preset/resolution/script.js +39 -0
  57. package/lib/preset/resolution/variable.d.ts +9 -0
  58. package/lib/preset/resolution/variable.d.ts.map +1 -0
  59. package/lib/preset/resolution/variable.js +33 -0
  60. package/lib/preset/scripts.d.ts.map +1 -1
  61. package/lib/preset/scripts.js +5 -22
  62. package/lib/resolve.d.ts +7 -0
  63. package/lib/resolve.d.ts.map +1 -0
  64. package/lib/resolve.js +27 -0
  65. package/lib/run.d.ts.map +1 -1
  66. package/lib/run.js +4 -19
  67. package/lib/scripts.d.ts.map +1 -1
  68. package/lib/scripts.js +3 -18
  69. package/lib/serialization.d.ts +15 -0
  70. package/lib/serialization.d.ts.map +1 -0
  71. package/lib/serialization.js +48 -0
  72. package/lib/task.d.ts.map +1 -1
  73. package/lib/task.js +1 -16
  74. package/lib/template/index.d.ts +3 -0
  75. package/lib/template/index.d.ts.map +1 -0
  76. package/lib/template/index.js +4 -0
  77. package/lib/template/merge.d.ts +33 -0
  78. package/lib/template/merge.d.ts.map +1 -0
  79. package/lib/template/merge.js +84 -0
  80. package/lib/template/substitute.d.ts +11 -0
  81. package/lib/template/substitute.d.ts.map +1 -0
  82. package/lib/template/substitute.js +19 -0
  83. package/lib/utilities/display.d.ts +15 -0
  84. package/lib/utilities/display.d.ts.map +1 -0
  85. package/lib/utilities/display.js +51 -0
  86. package/lib/utilities/index.d.ts +3 -1
  87. package/lib/utilities/index.d.ts.map +1 -1
  88. package/lib/utilities/index.js +4 -16
  89. package/lib/utilities/{mapValues.d.ts → mapping.d.ts} +1 -1
  90. package/lib/utilities/mapping.d.ts.map +1 -0
  91. package/lib/utilities/mapping.js +10 -0
  92. package/lib/utilities/object.d.ts +20 -0
  93. package/lib/utilities/object.d.ts.map +1 -0
  94. package/lib/utilities/object.js +37 -0
  95. package/package.json +10 -7
  96. package/lib/content.d.ts +0 -123
  97. package/lib/content.d.ts.map +0 -1
  98. package/lib/content.js +0 -244
  99. package/lib/directive.d.ts +0 -34
  100. package/lib/directive.d.ts.map +0 -1
  101. package/lib/directive.js +0 -172
  102. package/lib/error.d.ts +0 -8
  103. package/lib/error.d.ts.map +0 -1
  104. package/lib/error.js +0 -32
  105. package/lib/preset/content.d.ts +0 -14
  106. package/lib/preset/content.d.ts.map +0 -1
  107. package/lib/preset/content.js +0 -32
  108. package/lib/preset/graph.d.ts +0 -22
  109. package/lib/preset/graph.d.ts.map +0 -1
  110. package/lib/preset/graph.js +0 -53
  111. package/lib/preset/mapping.d.ts +0 -9
  112. package/lib/preset/mapping.d.ts.map +0 -1
  113. package/lib/preset/mapping.js +0 -41
  114. package/lib/preset/presetterRC.d.ts +0 -25
  115. package/lib/preset/presetterRC.d.ts.map +0 -1
  116. package/lib/preset/presetterRC.js +0 -76
  117. package/lib/preset/setup.d.ts +0 -17
  118. package/lib/preset/setup.d.ts.map +0 -1
  119. package/lib/preset/setup.js +0 -80
  120. package/lib/preset/unset.d.ts +0 -5
  121. package/lib/preset/unset.d.ts.map +0 -1
  122. package/lib/preset/unset.js +0 -31
  123. package/lib/resolution.d.ts +0 -22
  124. package/lib/resolution.d.ts.map +0 -1
  125. package/lib/resolution.js +0 -61
  126. package/lib/template.d.ts +0 -64
  127. package/lib/template.d.ts.map +0 -1
  128. package/lib/template.js +0 -199
  129. package/lib/utilities/mapValues.d.ts.map +0 -1
  130. package/lib/utilities/mapValues.js +0 -24
@@ -0,0 +1,33 @@
1
+ import { resolveNodeContent } from './content.js';
2
+ import Debug from './debugger.js';
3
+ /**
4
+ * resolves all variables for a given preset node
5
+ * @param node the preset node
6
+ * @param context the context in which the node is being resolved
7
+ * @returns a promise that resolves to the RESOLVED variables
8
+ */
9
+ export async function resolveVariables(node, context) {
10
+ const name = 'VARIABLES';
11
+ const debug = Debug.extend(name);
12
+ debug('RESOLVING VARIABLES (INITIAL PASS)');
13
+ // resolve the initial value of the variables
14
+ const initial = await resolveNodeContent({
15
+ name,
16
+ node,
17
+ context,
18
+ select: ({ variables }) => variables,
19
+ });
20
+ debug('RESOLVED VARIABLES (INITIAL PASS)\n%O', initial);
21
+ debug('RESOLVING VARIABLES (FINAL PASS)');
22
+ // resolve the final value of the variables, considering overrides
23
+ const final = (await resolveNodeContent({
24
+ name,
25
+ node,
26
+ context,
27
+ initial,
28
+ select: ({ override }) => override?.variables,
29
+ })) ?? {};
30
+ debug('RESOLVED VARIABLES (FINAL PASS)\n%O', final);
31
+ return final;
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvcHJlc2V0L3Jlc29sdXRpb24vdmFyaWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUkvQjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLElBQWdCLEVBQ2hCLE9BQXNCO0lBRXRCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQztJQUN6QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWpDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBRTVDLDZDQUE2QztJQUM3QyxNQUFNLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO1FBQ3ZDLElBQUk7UUFDSixJQUFJO1FBQ0osT0FBTztRQUNQLE1BQU0sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVM7S0FDckMsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXhELEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBRTFDLGtFQUFrRTtJQUNsRSxNQUFNLEtBQUssR0FDVCxDQUFDLE1BQU0sa0JBQWtCLENBQUM7UUFDeEIsSUFBSTtRQUNKLElBQUk7UUFDSixPQUFPO1FBQ1AsT0FBTztRQUNQLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTO0tBQzlDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVaLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVwRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../source/preset/scripts.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAUlE"}
1
+ {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../source/preset/scripts.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAOlE"}
@@ -1,31 +1,14 @@
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 computing the final scripts
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2020 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
- import { resolveContext, resolveScripts } from '../content.js';
16
- import debug from '../debugger.js';
17
1
  import { getContext } from './context.js';
18
- import { getPresetGraph } from './graph.js';
2
+ import { resolveProjectPreset } from './project.js';
3
+ import { resolveScripts } from './resolution/index.js';
19
4
  /**
20
5
  * get the merged scripts templates
21
6
  * @returns scripts template
22
7
  */
23
8
  export async function getScripts() {
24
9
  const context = await getContext();
25
- const graph = await getPresetGraph(context);
26
- const resolvedContext = await resolveContext({ graph, context });
27
- const script = await resolveScripts({ graph, context: resolvedContext });
28
- debug('SCRIPT PROVIDED BY PRESET\n%O', script);
10
+ const node = await resolveProjectPreset(context);
11
+ const script = await resolveScripts(node, context);
29
12
  return script;
30
13
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9wcmVzZXQvc2NyaXB0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUQsT0FBTyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVU7SUFDOUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLEVBQUUsQ0FBQztJQUNuQyxNQUFNLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxNQUFNLGVBQWUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRWpFLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBRXpFLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUUvQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9wcmVzZXQvc2NyaXB0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsVUFBVTtJQUM5QixNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFDO0lBQ25DLE1BQU0sSUFBSSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakQsTUFBTSxNQUFNLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRW5ELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ /**
2
+ * resolves a dynamic asset from a file URL
3
+ * @param url the URL of the asset
4
+ * @returns a promise that resolves to the RESOLVED asset
5
+ */
6
+ export declare function resolve(url: string): Promise<Record<string, unknown>>;
7
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../source/resolve.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAwB3E"}
package/lib/resolve.js ADDED
@@ -0,0 +1,27 @@
1
+ import { dirname, relative, sep } from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { getContext, resolveAsset, resolvePreset, resolvePresetterConfig, resolveVariables, } from './preset/index.js';
4
+ /**
5
+ * resolves a dynamic asset from a file URL
6
+ * @param url the URL of the asset
7
+ * @returns a promise that resolves to the RESOLVED asset
8
+ */
9
+ export async function resolve(url) {
10
+ const path = fileURLToPath(url);
11
+ const context = await getContext(dirname(path));
12
+ // get the relative name of the asset
13
+ const name = relative(context.root, path).split(sep).join('/'); // make the path OS agnostic
14
+ // get the preset configuration
15
+ const preset = await resolvePresetterConfig(context.root);
16
+ // resolve the preset node
17
+ const node = await resolvePreset(preset, context);
18
+ // resolve variables for the node
19
+ const variables = await resolveVariables(node, context);
20
+ // resolve the asset
21
+ const asset = await resolveAsset({ name, node, context, variables });
22
+ if (!asset) {
23
+ throw new Error(`asset ${name} not found in preset defined at ${path}`);
24
+ }
25
+ return asset;
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9yZXNvbHZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsZ0JBQWdCLEdBQ2pCLE1BQU0sVUFBVSxDQUFDO0FBRWxCOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FBQyxHQUFXO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVoRCxxQ0FBcUM7SUFDckMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtJQUU1RiwrQkFBK0I7SUFDL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUQsMEJBQTBCO0lBQzFCLE1BQU0sSUFBSSxHQUFHLE1BQU0sYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVsRCxpQ0FBaUM7SUFDakMsTUFBTSxTQUFTLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFeEQsb0JBQW9CO0lBQ3BCLE1BQU0sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUVyRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxtQ0FBbUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsT0FBTyxLQUFnQyxDQUFDO0FBQzFDLENBQUMifQ==
package/lib/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../source/run.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkJnC;;;;;;GAMG;AACH,wBAAsB,GAAG,CACvB,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD,OAAO,CAAC,IAAI,CAAC,CAiCf"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../source/run.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkJnC;;;;;;GAMG;AACH,wBAAsB,GAAG,CACvB,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD,OAAO,CAAC,IAAI,CAAC,CAiCf"}
package/lib/run.js CHANGED
@@ -1,21 +1,7 @@
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 Run a task
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2019 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
1
  import { dirname } from 'node:path';
16
- import npmRunScript from '@npmcli/run-script';
17
2
  import { Listr } from 'listr2';
18
3
  import parse from 'yargs-parser';
4
+ import npmRunScript from '@npmcli/run-script';
19
5
  import debug from './debugger.js';
20
6
  import { getPackage } from './package.js';
21
7
  import { getScripts } from './preset/index.js';
@@ -39,7 +25,6 @@ function createListrTask(_) {
39
25
  const command = composed[task];
40
26
  // parse the command and extract the executable and task specifications
41
27
  const argv = parse(command, {
42
- // eslint-disable-next-line @typescript-eslint/naming-convention
43
28
  configuration: { 'populate--': true, 'unknown-options-as-args': true },
44
29
  });
45
30
  const [executable, ...taskSpecs] = argv._.map((arg) => arg.toString());
@@ -52,6 +37,7 @@ function createListrTask(_) {
52
37
  return taskControl.newListr(subTasks, { concurrent });
53
38
  }
54
39
  else {
40
+ taskControl.output = `${composed[task]} ${args.join(' ')}`;
55
41
  // run the npm script with the provided arguments and package information
56
42
  return runWithNPM({ task, args, pkg, composedScript: composed });
57
43
  }
@@ -111,8 +97,7 @@ function getListrTasks(_) {
111
97
  async function runWithNPM(_) {
112
98
  const { task, args, pkg, composedScript } = _;
113
99
  debug('RUNNING\n%O', { task, command: composedScript[task] });
114
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
115
- return npmRunScript({
100
+ await npmRunScript({
116
101
  event: task,
117
102
  args,
118
103
  pkg: { scripts: composedScript },
@@ -154,4 +139,4 @@ export async function run(tasks, options) {
154
139
  process.exit(1);
155
140
  }
156
141
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQyxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBT3JFOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsZUFBZSxDQUFDLENBTXhCO0lBQ0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFbEQsT0FBTztRQUNMLEtBQUssRUFBRSxXQUFXLElBQUksS0FBSztRQUMzQixJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUM3QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFL0IsdUVBQXVFO1lBQ3ZFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQzFCLGdFQUFnRTtnQkFDaEUsYUFBYSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxJQUFJLEVBQUU7YUFDdkUsQ0FBQyxDQUFDO1lBQ0gsTUFB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
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0IsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFPckU7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxlQUFlLENBQUMsQ0FNeEI7SUFDQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVsRCxPQUFPO1FBQ0wsS0FBSyxFQUFFLFdBQVcsSUFBSSxLQUFLO1FBQzNCLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQzdCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUvQix1RUFBdUU7WUFDdkUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsYUFBYSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxJQUFJLEVBQUU7YUFDdkUsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUV2RSxnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUV2RCxxRUFBcUU7Z0JBQ3JFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUM5QyxtQkFBbUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQzdELENBQUM7Z0JBRUYsTUFBTSxVQUFVLEdBQUcsVUFBVSxLQUFLLE9BQU8sQ0FBQztnQkFFMUMsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDeEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFdBQVcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUUzRCx5RUFBeUU7Z0JBQ3pFLE9BQU8sVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxDQUs1QjtJQUNDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFbEQscURBQXFEO0lBQ3JELE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FDeEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsRUFDdEQsVUFBVSxDQUNYLENBQUM7SUFFRiwrQ0FBK0M7SUFDL0MsT0FBTyxhQUFhLENBQUM7UUFDbkIsUUFBUTtRQUNSLEdBQUc7UUFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsYUFBYSxDQUFDLENBS3RCO0lBQ0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUU1QyxxQ0FBcUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUE0QixDQUFDO0lBRWpFLDREQUE0RDtJQUM1RCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUV0RCx5REFBeUQ7SUFDekQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFM0QsaURBQWlEO0lBQ2pELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3hCLGVBQWUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUN6RCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsS0FBSyxVQUFVLFVBQVUsQ0FBQyxDQUt6QjtJQUNDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFOUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5RCxNQUFNLFlBQVksQ0FBQztRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUk7UUFDSixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQ2hDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUN2QixLQUFLLEVBQUUsU0FBUztLQUNqQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEtBQWEsRUFDYixPQUF3RDtJQUV4RCxNQUFNLEVBQUUsUUFBUSxHQUFHLEtBQUssRUFBRSxZQUFZLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBRWxFLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUVqRSxxREFBcUQ7SUFDckQsTUFBTSxHQUFHLEdBQUcsTUFBTSxVQUFVLEVBQUUsQ0FBQztJQUMvQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLDJDQUEyQztRQUMzQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxNQUFNLFFBQVEsR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFDO0lBRXBDLHNFQUFzRTtJQUN0RSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDdkMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQzFDLENBQUM7SUFFRiwyRUFBMkU7SUFDM0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQWtCLFNBQVMsRUFBRTtRQUNsRCxVQUFVLEVBQUUsUUFBUTtRQUNwQixXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsUUFBUTtLQUNuQixDQUFDLENBQUM7SUFFSCxzQkFBc0I7SUFDdEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztBQUNILENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../source/scripts.ts"],"names":[],"mappings":"AAyBA,wDAAwD;AACxD,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,+CAA+C;AAC/C,KAAK,OAAO,GAAG,MAAM,CAAC;AAEtB,4BAA4B;AAC5B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAkBjD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAkCT"}
1
+ {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../source/scripts.ts"],"names":[],"mappings":"AAWA,wDAAwD;AACxD,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,+CAA+C;AAC/C,KAAK,OAAO,GAAG,MAAM,CAAC;AAEtB,4BAA4B;AAC5B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAkBjD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAkCT"}
package/lib/scripts.js CHANGED
@@ -1,20 +1,6 @@
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 Handle script merging
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2019 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
1
  import { basename } from 'node:path';
16
- import mvdan from 'mvdan-sh';
17
2
  import parse from 'yargs-parser';
3
+ import mvdan from 'mvdan-sh';
18
4
  import debug from './debugger.js';
19
5
  import { mapValues } from './utilities/index.js';
20
6
  const { syntax } = mvdan;
@@ -70,11 +56,10 @@ function isNodeType(node, type) {
70
56
  */
71
57
  function resolveRunner(command, context) {
72
58
  const arg = parse(command, {
73
- // eslint-disable-next-line @typescript-eslint/naming-convention
74
59
  configuration: { 'populate--': true, 'unknown-options-as-args': true },
75
60
  });
76
61
  // extract tasks and their arguments
77
- const destinations = arg['_'].slice(1);
62
+ const destinations = arg._.slice(1);
78
63
  const destinationArgs = arg['--'] ?? [];
79
64
  // resolve tasks into its full form e.g. task1 task2
80
65
  return destinations
@@ -113,4 +98,4 @@ function replaceRunnerNode(node, context) {
113
98
  }
114
99
  return true;
115
100
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9zY3JpcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sS0FBSyxNQUFNLFVBQVUsQ0FBQztBQUM3QixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFFakMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFheEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztBQUV6Qix1QkFBdUI7QUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBRWxDLDBCQUEwQjtBQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7QUFVcEM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUs5QjtJQUNDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRWxDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVoRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsRUFBRSxHQUFHLFFBQVEsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFVLEVBQUU7UUFDdkUsSUFBSSxDQUFDO1lBQ0gsdUNBQXVDO1lBQ3ZDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbEMsNkZBQTZGO1lBQzdGLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENB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
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9zY3JpcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDLE9BQU8sS0FBSyxNQUFNLFVBQVUsQ0FBQztBQUU3QixPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWF4QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO0FBRXpCLHVCQUF1QjtBQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7QUFFbEMsMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQVVwQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBSzlCO0lBQ0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFbEMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRWhELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQVUsRUFBRTtRQUN2RSxJQUFJLENBQUM7WUFDSCx1Q0FBdUM7WUFDdkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsQyw2RkFBNkY7WUFDN0YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFMUUsa0NB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
@@ -0,0 +1,15 @@
1
+ import type { ResolvedPresetAsset } from 'presetter-types';
2
+ /**
3
+ * generates dynamic ES module content for the specified preset
4
+ * @param exports an array of export names to include in the generated content
5
+ * @returns a string representing the dynamically generated ES module content
6
+ */
7
+ export declare function buildEsmFile(exports: string[]): string;
8
+ /**
9
+ * serialize a configuration content to the right format according to its destination
10
+ * @param destination the path to which the content will be written
11
+ * @param content configuration content
12
+ * @returns serialized content
13
+ */
14
+ export declare function serialize(destination: string, content: ResolvedPresetAsset): string | Buffer;
15
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../source/serialization.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAK3D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAYtD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,GAC3B,MAAM,GAAG,MAAM,CAqBjB"}
@@ -0,0 +1,48 @@
1
+ import { extname } from 'node:path';
2
+ import { dump } from 'js-yaml';
3
+ // JSON format
4
+ const INDENT = 2;
5
+ /**
6
+ * generates dynamic ES module content for the specified preset
7
+ * @param exports an array of export names to include in the generated content
8
+ * @returns a string representing the dynamically generated ES module content
9
+ */
10
+ export function buildEsmFile(exports) {
11
+ return [
12
+ `import { resolve } from 'presetter';`,
13
+ '',
14
+ `const assets = await resolve(import.meta.url);`,
15
+ '',
16
+ ...exports.map((exportName) => exportName === 'default'
17
+ ? `export default assets['${exportName}'];`
18
+ : `export const ${exportName} = assets['${exportName}'];`),
19
+ ].join('\n');
20
+ }
21
+ /**
22
+ * serialize a configuration content to the right format according to its destination
23
+ * @param destination the path to which the content will be written
24
+ * @param content configuration content
25
+ * @returns serialized content
26
+ */
27
+ export function serialize(destination, content) {
28
+ if (Buffer.isBuffer(content)) {
29
+ return content;
30
+ }
31
+ switch (extname(destination)) {
32
+ case '.yaml':
33
+ case '.yml':
34
+ return dump(content);
35
+ case '.json':
36
+ return JSON.stringify(content, null, INDENT);
37
+ case '.js':
38
+ case '.mjs':
39
+ case '.ts':
40
+ case '.mts':
41
+ return buildEsmFile(Object.keys(content));
42
+ default:
43
+ return Array.isArray(content)
44
+ ? content.join('\n') // for ignore list, e.g., .gitignore
45
+ : JSON.stringify(content, null, INDENT); // for JSON config not with a .json extension, e.g., .prettierrc
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUkvQixjQUFjO0FBQ2QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWlCO0lBQzVDLE9BQU87UUFDTCxzQ0FBc0M7UUFDdEMsRUFBRTtRQUNGLGdEQUFnRDtRQUNoRCxFQUFFO1FBQ0YsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDNUIsVUFBVSxLQUFLLFNBQVM7WUFDdEIsQ0FBQyxDQUFDLDBCQUEwQixVQUFVLEtBQUs7WUFDM0MsQ0FBQyxDQUFDLGdCQUFnQixVQUFVLGNBQWMsVUFBVSxLQUFLLENBQzVEO0tBQ0YsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixXQUFtQixFQUNuQixPQUE0QjtJQUU1QixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUM3QixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssTUFBTTtZQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssT0FBTztZQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTTtZQUNULE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBa0MsQ0FBQyxDQUFDLENBQUM7UUFDdkU7WUFDRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2dCQUMzQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxvQ0FBb0M7Z0JBQ3pELENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxnRUFBZ0U7SUFDL0csQ0FBQztBQUNILENBQUMifQ==
package/lib/task.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../source/task.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,gDAAgD;AAChD,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAWzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAiBtE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBtE"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../source/task.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,gDAAgD;AAChD,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAWzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAgBtE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBtE"}
package/lib/task.js CHANGED
@@ -1,17 +1,3 @@
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 Helper functions for parsing task strings
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2019 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
1
  import parse from 'yargs-parser';
16
2
  import debug from './debugger.js';
17
3
  /**
@@ -36,7 +22,6 @@ export function parseGlobalArgs(argv) {
36
22
  */
37
23
  export function parseTaskSpec(spec, globalArgs) {
38
24
  const argv = parse(spec, {
39
- // eslint-disable-next-line @typescript-eslint/naming-convention
40
25
  configuration: { 'populate--': true },
41
26
  });
42
27
  const selector = argv._[0];
@@ -75,4 +60,4 @@ export function selectTasks(tasks, pattern) {
75
60
  debug('SELECTED TASKS\n%O', { pattern, selected });
76
61
  return selected;
77
62
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS90YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFFakMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBVS9COzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQWU7SUFDN0MsMEZBQTBGO0lBQzFGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU5QiwrRUFBK0U7SUFDL0UsT0FBTyxDQUNMLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUN0Qiw2REFBNkQ7SUFDN0QsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FDbEQsSUFBSSxFQUFFLENBQUMsNERBQTREO0tBQ3JFLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVksRUFBRSxVQUFvQjtJQUM5RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ3ZCLGdFQUFnRTtRQUNoRSxhQUFhLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFXLENBQUM7SUFDckMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUMvRCxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNsQiw4QkFBOEI7WUFDOUIsT0FBTyxDQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUMsRUFBRSxFQUFjLENBQUMsQ0FBQztJQUVuQixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzVCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBZSxFQUFFLE9BQWU7SUFDMUQsTUFBTSxZQUFZLEdBQUcsT0FBTztTQUN6QixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDWixJQUFJLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNqQixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFYixNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7SUFFOUMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRTFELEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMifQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS90YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQyxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFVL0I7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBZTtJQUM3QywwRkFBMEY7SUFDMUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLCtFQUErRTtJQUMvRSxPQUFPLENBQ0wsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ3RCLDZEQUE2RDtJQUM3RCxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUNsRCxJQUFJLEVBQUUsQ0FBQyw0REFBNEQ7S0FDckUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWSxFQUFFLFVBQW9CO0lBQzlELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDdkIsYUFBYSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBVyxDQUFDO0lBQ3JDLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDL0QsSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEIsOEJBQThCO1lBQzlCLE9BQU8sQ0FBQyxHQUFHLGFBQWEsRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBYyxDQUFDLENBQUM7SUFFbkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQWUsRUFBRSxPQUFlO0lBQzFELE1BQU0sWUFBWSxHQUFHLE9BQU87U0FDekIsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDakIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUUxRCxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUVuRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ export * from './merge.js';
2
+ export * from './substitute.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/template/index.ts"],"names":[],"mappings":"AAEA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ /* v8 ignore start */
2
+ export * from './merge.js';
3
+ export * from './substitute.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvdGVtcGxhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCO0FBRXJCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDIn0=
@@ -0,0 +1,33 @@
1
+ import type { UnknownRecord } from 'type-fest';
2
+ type MergedType<A, B> = A extends UnknownRecord ? B extends UnknownRecord ? A & B : MergedArray<A, B> : MergedArray<A, B>;
3
+ type MergedArray<A, B> = A extends any[] ? B extends any[] ? Array<A[number] | B[number]> : keyof B extends `${number}` ? Array<A[number] | B[keyof B]> : B : B;
4
+ /**
5
+ * deep merge an object
6
+ * @param source default object if no additional property is supplied
7
+ * @param target properties to be merged with the default
8
+ * @returns merged object
9
+ */
10
+ export declare function merge<S, T>(source: S, target?: T): MergedType<S, T>;
11
+ /**
12
+ * merge an array with any value
13
+ * @param source the source array to be merged
14
+ * @param target new replacement
15
+ * @returns merged value
16
+ */
17
+ export declare function mergeArray<S, T>(source: S[], target?: T): MergedArray<S[], T>;
18
+ /**
19
+ * merge two arrays
20
+ * @param source the source array to be merged
21
+ * @param target new replacement
22
+ * @returns merged array
23
+ */
24
+ export declare function mergeArrays<S, T>(source: S[], target: T[]): MergedArray<S[], T[]>;
25
+ /**
26
+ * merge an object with any value
27
+ * @param source the source object to be merged
28
+ * @param target new replacement
29
+ * @returns merged value
30
+ */
31
+ export declare function mergeObject<S extends {}, T>(source: S, target?: T): MergedType<S, T>;
32
+ export {};
33
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../source/template/merge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,aAAa,GAC3C,CAAC,SAAS,aAAa,GACrB,CAAC,GAAG,CAAC,GACL,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACnB,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtB,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,GACpC,CAAC,SAAS,GAAG,EAAE,GACb,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAC5B,MAAM,CAAC,SAAS,GAAG,MAAM,EAAE,GACzB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAC7B,CAAC,GACL,CAAC,CAAC;AAEN;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAqBnE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAoB7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,CAAC,EAAE,EACX,MAAM,EAAE,CAAC,EAAE,GACV,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAEvB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EACzC,MAAM,EAAE,CAAC,EACT,MAAM,CAAC,EAAE,CAAC,GACT,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAoBlB"}
@@ -0,0 +1,84 @@
1
+ import { isPlainObject } from '../utilities/index.js';
2
+ /**
3
+ * deep merge an object
4
+ * @param source default object if no additional property is supplied
5
+ * @param target properties to be merged with the default
6
+ * @returns merged object
7
+ */
8
+ export function merge(source, target) {
9
+ // LOGIC
10
+ // S\R | Array | Object | Primitive
11
+ // Array | EXTEND | AMEND | replace
12
+ // Object | replace | MERGE | replace
13
+ // Primitive | replace | replace | replace
14
+ if (source === target) {
15
+ // increase performance, especially for large objects, since no change is needed anyway
16
+ return source;
17
+ }
18
+ else if (Array.isArray(source)) {
19
+ return mergeArray(source, target);
20
+ }
21
+ else if (isPlainObject(source)) {
22
+ return mergeObject(source, target);
23
+ }
24
+ // NOTE:
25
+ // if target is undefined, return the source
26
+ // otherwise, return the target, even it is null
27
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
28
+ return (target === undefined ? source : target);
29
+ }
30
+ /**
31
+ * merge an array with any value
32
+ * @param source the source array to be merged
33
+ * @param target new replacement
34
+ * @returns merged value
35
+ */
36
+ export function mergeArray(source, target) {
37
+ // NOTE
38
+ // merging can only be done in two ways:
39
+ // 1. the target is also an array, then merge the two arrays
40
+ // 2. the target is an object with numeric keys representing the index of the value to be merged
41
+ if (Array.isArray(target)) {
42
+ return mergeArrays(source, target);
43
+ }
44
+ else if (isPlainObject(target) &&
45
+ [...Object.keys(target)].every((key) => parseInt(key) >= 0)) {
46
+ return [...source].map((value, key) => merge(value, target[key]));
47
+ }
48
+ // if a merge isn't possible return the replacement or the original if no replacement is found
49
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
50
+ return (target === undefined ? source : target);
51
+ }
52
+ /**
53
+ * merge two arrays
54
+ * @param source the source array to be merged
55
+ * @param target new replacement
56
+ * @returns merged array
57
+ */
58
+ export function mergeArrays(source, target) {
59
+ return [...new Set([...source, ...target])];
60
+ }
61
+ /**
62
+ * merge an object with any value
63
+ * @param source the source object to be merged
64
+ * @param target new replacement
65
+ * @returns merged value
66
+ */
67
+ export function mergeObject(source, target) {
68
+ if (isPlainObject(target)) {
69
+ // merge two objects together
70
+ const mergedSource = Object.fromEntries(Object.entries(source).map(([key, value]) => [
71
+ key,
72
+ merge(value, target[key]),
73
+ ]));
74
+ return {
75
+ ...mergedSource,
76
+ ...target,
77
+ ...mergedSource,
78
+ };
79
+ }
80
+ // otherwise replace the source with target
81
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
82
+ return (target === undefined ? source : target);
83
+ }
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvdGVtcGxhdGUvbWVyZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQWtCN0M7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFPLE1BQVMsRUFBRSxNQUFVO0lBQy9DLFFBQVE7SUFDUiw0Q0FBNEM7SUFDNUMsMENBQTBDO0lBQzFDLDBDQUEwQztJQUMxQywwQ0FBMEM7SUFFMUMsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDdEIsdUZBQXVGO1FBQ3ZGLE9BQU8sTUFBMEIsQ0FBQztJQUNwQyxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBcUIsQ0FBQztJQUN4RCxDQUFDO1NBQU0sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFxQixDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO0lBQ1IsNENBQTRDO0lBQzVDLGdEQUFnRDtJQUNoRCx3RUFBd0U7SUFDeEUsT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFxQixDQUFDO0FBQ3RFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQU8sTUFBVyxFQUFFLE1BQVU7SUFDdEQsT0FBTztJQUNQLHdDQUF3QztJQUN4Qyw0REFBNEQ7SUFDNUQsZ0dBQWdHO0lBRWhHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQXdCLENBQUM7SUFDNUQsQ0FBQztTQUFNLElBQ0wsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMzRCxDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQ3BDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUMzQixDQUFDO0lBRUQsOEZBQThGO0lBQzlGLHdFQUF3RTtJQUN4RSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQXdCLENBQUM7QUFDekUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDekIsTUFBVyxFQUNYLE1BQVc7SUFFWCxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBMEIsQ0FBQztBQUN2RSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN6QixNQUFTLEVBQ1QsTUFBVTtJQUVWLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUIsNkJBQTZCO1FBQzdCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNDLEdBQUc7WUFDSCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMxQixDQUFDLENBQ0gsQ0FBQztRQUVGLE9BQU87WUFDTCxHQUFHLFlBQVk7WUFDZixHQUFJLE1BQWlCO1lBQ3JCLEdBQUcsWUFBWTtTQUNJLENBQUM7SUFDeEIsQ0FBQztJQUVELDJDQUEyQztJQUMzQyx3RUFBd0U7SUFDeEUsT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFxQixDQUFDO0FBQ3RFLENBQUMifQ==
@@ -0,0 +1,11 @@
1
+ import type { Variables } from 'presetter-types';
2
+ /**
3
+ * replace parameters in the template
4
+ * @param content template content
5
+ * @param variables variables to be substituted in the template
6
+ * @returns customized configuration
7
+ */
8
+ export declare function substitute(content: string, variables: Variables): string;
9
+ export declare function substitute<Content extends Record<string, unknown> | unknown[]>(content: Content, variables: Variables): Content;
10
+ export declare function substitute(content: unknown, variables: Variables): unknown;
11
+ //# sourceMappingURL=substitute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"substitute.d.ts","sourceRoot":"","sources":["../../source/template/substitute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC;AAC1E,wBAAgB,UAAU,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,EAC5E,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC;AACX,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC"}
@@ -0,0 +1,19 @@
1
+ import pupa from 'pupa';
2
+ import { isJsonObject } from '../utilities/index.js';
3
+ export function substitute(content, variables) {
4
+ if (typeof content === 'string') {
5
+ return pupa(content, variables, { ignoreMissing: true });
6
+ }
7
+ else if (Array.isArray(content)) {
8
+ return content.map((value) => substitute(value, variables));
9
+ }
10
+ else if (isJsonObject(content)) {
11
+ return Object.fromEntries(Object.entries(content).map(([key, value]) => {
12
+ return [substitute(key, variables), substitute(value, variables)];
13
+ }));
14
+ }
15
+ else {
16
+ return content;
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic3RpdHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS90ZW1wbGF0ZS9zdWJzdGl0dXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBZ0I1QyxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQWdCLEVBQUUsU0FBb0I7SUFDL0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztTQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7U0FBTSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzNDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,15 @@
1
+ /**
2
+ * displays the content of a variable
3
+ * @param content the content to display
4
+ * @param level the level of nesting
5
+ * @returns a string representation of the content
6
+ */
7
+ export declare function display(content: unknown, level?: number): string;
8
+ /**
9
+ * displays the content of a variable with a prefix
10
+ * @param prefix the prefix to add to the display
11
+ * @param content the content to display
12
+ * @returns a string representation of the content with the prefix
13
+ */
14
+ export declare function prefixDisplay(prefix: string, content: unknown): string;
15
+ //# sourceMappingURL=display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../source/utilities/display.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,MAAM,CA6B3D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAWtE"}