presetter 8.0.2 → 8.0.4

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/task.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/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"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/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;AAyFD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CA6CtE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBtE"}
package/lib/task.js CHANGED
@@ -14,6 +14,69 @@ export function parseGlobalArgs(argv) {
14
14
  arg.toString().replace(/^(['"])([^]*?)\1$/, '$2')) ?? [] // if no global arguments are present, return an empty array
15
15
  );
16
16
  }
17
+ const ARG_PLACEHOLDER_REGEX = /^{@:?(.*)$/;
18
+ /**
19
+ * expand a placeholder pattern like {@:default args} into actual arguments
20
+ *
21
+ * this function handles the {@:...} syntax where:
22
+ * - {@} gets replaced with globalArgs
23
+ * - {@:default} uses "default" if no globalArgs, otherwise uses globalArgs
24
+ * - {@:arg1 arg2} splits into ["arg1", "arg2"] if no globalArgs
25
+ * @example
26
+ * // with globalArgs available
27
+ * expandPlaceholderArgs(['{@:--verbose}'], 0, ['--quiet', '--force'])
28
+ * // returns: { args: ['--quiet', '--force'], nextIndex: 1 }
29
+ * @example
30
+ * // No globalArgs, use defaults
31
+ * expandPlaceholderArgs(['{@:--verbose', '--output}'], 0, [])
32
+ * // returns: { args: ['--verbose', '--output'], nextIndex: 2 }
33
+ * @example
34
+ * // empty placeholder
35
+ * expandPlaceholderArgs(['{@:}'], 0, [])
36
+ * // returns: { args: [], nextIndex: 1 }
37
+ * @param rawArgs array of raw arguments
38
+ * @param startIndex starting index of the placeholder
39
+ * @param globalArgs global arguments to use if available
40
+ * @returns object with expanded args and next index to continue from
41
+ */
42
+ function expandPlaceholderArgs(rawArgs, startIndex, globalArgs) {
43
+ // find the closing bracket index - placeholders can span multiple array elements
44
+ // example: ['{@:arg1', 'arg2', 'arg3}'] spans 3 elements
45
+ const closingIndex = rawArgs.findIndex((arg, index) => index >= startIndex && arg.endsWith('}'));
46
+ if (closingIndex === -1) {
47
+ // malformed placeholder without closing }, consume remaining args as empty
48
+ return { args: [], nextIndex: rawArgs.length };
49
+ }
50
+ // extract and reconstruct the default args string from multiple parts
51
+ // example: ['{@:--verbose', '--output', 'file}'] becomes "--verbose --output file"
52
+ const relevantParts = rawArgs.slice(startIndex, closingIndex + 1);
53
+ const defaultArgsString = relevantParts
54
+ .map((part, index) => {
55
+ if (index === 0) {
56
+ // first part: extract content after {@: prefix
57
+ return part.replace(/^{@:/, '');
58
+ }
59
+ else {
60
+ // subsequent parts: use as-is (they're continuation of the placeholder)
61
+ return part;
62
+ }
63
+ })
64
+ .join(' ') // rejoin with spaces
65
+ .replace('}', '') // remove trailing }
66
+ .trim();
67
+ // priority: globalArgs override defaults
68
+ if (globalArgs.length > 0) {
69
+ // use provided globalArgs instead of placeholder defaults
70
+ return { args: globalArgs, nextIndex: closingIndex + 1 };
71
+ }
72
+ else if (defaultArgsString) {
73
+ // use placeholder defaults, split by whitespace into individual args
74
+ const defaultArgs = defaultArgsString.split(/\s+/);
75
+ return { args: defaultArgs, nextIndex: closingIndex + 1 };
76
+ }
77
+ // empty placeholder {@:} with no globalArgs produces no args
78
+ return { args: [], nextIndex: closingIndex + 1 };
79
+ }
17
80
  /**
18
81
  * parse task string and return a parsed task object with selector and args
19
82
  * @param spec - the task string to parse
@@ -25,16 +88,35 @@ export function parseTaskSpec(spec, globalArgs) {
25
88
  configuration: { 'populate--': true },
26
89
  });
27
90
  const selector = argv._[0];
28
- const args = parseGlobalArgs(argv).reduce((processedArgs, arg) => {
29
- if (arg === '{@}') {
30
- // replace {@} with globalArgs
31
- return [...processedArgs, ...globalArgs];
91
+ const rawArgs = parseGlobalArgs(argv);
92
+ // process arguments using functional reduce approach
93
+ // this iterates through rawArgs and handles three cases:
94
+ // 1. {@} - simple placeholder that gets replaced with globalArgs
95
+ // 2. {@:defaults} - complex placeholder that may span multiple array elements
96
+ // 3. regular args - passed through unchanged
97
+ const finalState = rawArgs.reduce((state, arg, index) => {
98
+ // skip indices that were already processed by multi-part placeholders
99
+ if (index < state.skipUntil) {
100
+ return state;
101
+ }
102
+ if (ARG_PLACEHOLDER_REGEX.test(arg)) {
103
+ // complex case: {@:default args} that may span multiple elements
104
+ // the expandPlaceholderArgs function finds the closing } and processes defaults
105
+ const { args: processedArgs, nextIndex } = expandPlaceholderArgs(rawArgs, index, globalArgs);
106
+ return {
107
+ processedArgs: [...state.processedArgs, ...processedArgs],
108
+ skipUntil: nextIndex, // skip to after the closing }
109
+ };
32
110
  }
33
111
  else {
34
- return [...processedArgs, arg];
112
+ // regular argument: add as-is
113
+ return {
114
+ processedArgs: [...state.processedArgs, arg],
115
+ skipUntil: index + 1,
116
+ };
35
117
  }
36
- }, []);
37
- return { selector, args };
118
+ }, { processedArgs: [], skipUntil: 0 });
119
+ return { selector, args: finalState.processedArgs };
38
120
  }
39
121
  /**
40
122
  * select tasks based on a pattern
@@ -60,4 +142,4 @@ export function selectTasks(tasks, pattern) {
60
142
  debug('SELECTED TASKS\n%O', { pattern, selected });
61
143
  return selected;
62
144
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQyxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFVL0I7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBZTtJQUM3QywwRkFBMEY7SUFDMUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLCtFQUErRTtJQUMvRSxPQUFPLENBQ0wsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ3RCLDZEQUE2RDtJQUM3RCxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUNsRCxJQUFJLEVBQUUsQ0FBQyw0REFBNEQ7S0FDckUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWSxFQUFFLFVBQW9CO0lBQzlELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDdkIsYUFBYSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBVyxDQUFDO0lBQ3JDLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDL0QsSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDbEIsOEJBQThCO1lBQzlCLE9BQU8sQ0FBQyxHQUFHLGFBQWEsRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBYyxDQUFDLENBQUM7SUFFbkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQWUsRUFBRSxPQUFlO0lBQzFELE1BQU0sWUFBWSxHQUFHLE9BQU87U0FDekIsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDakIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUUxRCxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUVuRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIn0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQyxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFVL0I7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBZTtJQUM3QywwRkFBMEY7SUFDMUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLCtFQUErRTtJQUMvRSxPQUFPLENBQ0wsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ3RCLDZEQUE2RDtJQUM3RCxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUNsRCxJQUFJLEVBQUUsQ0FBQyw0REFBNEQ7S0FDckUsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQztBQUUzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxTQUFTLHFCQUFxQixDQUM1QixPQUFpQixFQUNqQixVQUFrQixFQUNsQixVQUFvQjtJQUVwQixpRkFBaUY7SUFDakYseURBQXlEO0lBQ3pELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQ3BDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLFVBQVUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUN6RCxDQUFDO0lBRUYsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4QiwyRUFBMkU7UUFDM0UsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLG1GQUFtRjtJ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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "presetter",
3
- "version": "8.0.2",
3
+ "version": "8.0.4",
4
4
  "description": "Make project configurations clean with presets",
5
5
  "keywords": [
6
6
  "config",
@@ -72,23 +72,23 @@
72
72
  "globby": "^14.0.0",
73
73
  "jiti": "^2.4.0",
74
74
  "js-yaml": "^4.1.0",
75
- "listr2": "^8.2.0",
75
+ "listr2": "^9.0.0",
76
76
  "mvdan-sh": "^0.10.0",
77
77
  "pupa": "^3.1.0",
78
78
  "source-map-support": "^0.5.0",
79
79
  "yargs": "^18.0.0",
80
80
  "yargs-parser": "^22.0.0",
81
- "presetter-types": "8.0.2"
81
+ "presetter-types": "8.0.4"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@types/debug": "^4.0.0",
85
85
  "@types/js-yaml": "^4.0.0",
86
- "@types/node": "^22.0.0",
86
+ "@types/node": "^24.0.0",
87
87
  "@types/yargs": "^17.0.0",
88
88
  "type-fest": "^4.23.0",
89
- "presetter-preset-strict": "8.0.2",
90
- "presetter-preset-esm": "8.0.2",
91
- "presetter-preset-essentials": "8.0.2"
89
+ "presetter-preset-esm": "8.0.4",
90
+ "presetter-preset-strict": "8.0.4",
91
+ "presetter-preset-essentials": "8.0.4"
92
92
  },
93
93
  "engines": {
94
94
  "node": ">=20.0.0"