just-scripts 2.5.0 → 2.6.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 (45) hide show
  1. package/CHANGELOG.json +48 -1
  2. package/CHANGELOG.md +18 -2
  3. package/lib/tasks/eslintTask.d.ts.map +1 -1
  4. package/lib/tasks/eslintTask.js +4 -5
  5. package/lib/tasks/eslintTask.js.map +1 -1
  6. package/lib/tasks/jestTask.d.ts +8 -0
  7. package/lib/tasks/jestTask.d.ts.map +1 -1
  8. package/lib/tasks/jestTask.js +8 -9
  9. package/lib/tasks/jestTask.js.map +1 -1
  10. package/lib/tasks/nodeExecTask.d.ts +22 -8
  11. package/lib/tasks/nodeExecTask.d.ts.map +1 -1
  12. package/lib/tasks/nodeExecTask.js +16 -10
  13. package/lib/tasks/nodeExecTask.js.map +1 -1
  14. package/lib/tasks/prettierTask.d.ts +1 -0
  15. package/lib/tasks/prettierTask.d.ts.map +1 -1
  16. package/lib/tasks/prettierTask.js +7 -21
  17. package/lib/tasks/prettierTask.js.map +1 -1
  18. package/lib/tasks/tscTask.d.ts.map +1 -1
  19. package/lib/tasks/tscTask.js +20 -38
  20. package/lib/tasks/tscTask.js.map +1 -1
  21. package/lib/tasks/tslintTask.d.ts.map +1 -1
  22. package/lib/tasks/tslintTask.js +7 -8
  23. package/lib/tasks/tslintTask.js.map +1 -1
  24. package/lib/tasks/webpackCliInitTask.js +2 -1
  25. package/lib/tasks/webpackCliInitTask.js.map +1 -1
  26. package/lib/tasks/webpackCliTask.js +1 -1
  27. package/lib/tasks/webpackCliTask.js.map +1 -1
  28. package/lib/tasks/webpackDevServerTask.d.ts.map +1 -1
  29. package/lib/tasks/webpackDevServerTask.js +1 -1
  30. package/lib/tasks/webpackDevServerTask.js.map +1 -1
  31. package/lib/utils/exec.d.ts +20 -31
  32. package/lib/utils/exec.d.ts.map +1 -1
  33. package/lib/utils/exec.js +53 -61
  34. package/lib/utils/exec.js.map +1 -1
  35. package/package.json +4 -2
  36. package/src/tasks/eslintTask.ts +7 -6
  37. package/src/tasks/jestTask.ts +18 -9
  38. package/src/tasks/nodeExecTask.ts +33 -17
  39. package/src/tasks/prettierTask.ts +9 -26
  40. package/src/tasks/tscTask.ts +21 -44
  41. package/src/tasks/tslintTask.ts +8 -7
  42. package/src/tasks/webpackCliInitTask.ts +1 -1
  43. package/src/tasks/webpackCliTask.ts +2 -2
  44. package/src/tasks/webpackDevServerTask.ts +3 -3
  45. package/src/utils/exec.ts +52 -66
package/CHANGELOG.json CHANGED
@@ -2,7 +2,54 @@
2
2
  "name": "just-scripts",
3
3
  "entries": [
4
4
  {
5
- "date": "Thu, 11 Dec 2025 17:20:50 GMT",
5
+ "date": "Thu, 26 Mar 2026 23:18:45 GMT",
6
+ "version": "2.6.0",
7
+ "tag": "just-scripts_v2.6.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "email not defined",
12
+ "package": "just-scripts",
13
+ "commit": "ee6ca22de1a7d426ca69af4ed3b8dd285e11f1bb",
14
+ "comment": "Adding support for jest 30 testNamePatterns (plural) option"
15
+ },
16
+ {
17
+ "author": "elcraig@microsoft.com",
18
+ "package": "just-scripts",
19
+ "commit": "ee6ca22de1a7d426ca69af4ed3b8dd285e11f1bb",
20
+ "comment": "Deprecate `spawn` helper (consider using `execa` instead). As a short-term improvement, it's updated to internally use `cross-spawn` for handling spaces in arguments and other basic normalization. (Also remove internal `exec` function and its usage, including in `tscTask`.)"
21
+ },
22
+ {
23
+ "author": "elcraig@microsoft.com",
24
+ "package": "just-scripts",
25
+ "commit": "ee6ca22de1a7d426ca69af4ed3b8dd285e11f1bb",
26
+ "comment": "Fix prettier task for prettier v3. Fix tsc task with build option. Make `nodeExecTask` `args` required since no other usage makes sense."
27
+ }
28
+ ],
29
+ "patch": [
30
+ {
31
+ "author": "elcraig@microsoft.com",
32
+ "package": "just-scripts",
33
+ "commit": "ee6ca22de1a7d426ca69af4ed3b8dd285e11f1bb",
34
+ "comment": "Deprecate misleadingly named `encodeArgs` function. For more complete escaping, consider a library such as `shell-quote`, or use safer APIs which don't require escaping. (Note that `spawn` from this package now uses `cross-spawn` which escapes spaces internally.)"
35
+ },
36
+ {
37
+ "author": "elcraig@microsoft.com",
38
+ "package": "just-scripts",
39
+ "commit": "ee6ca22de1a7d426ca69af4ed3b8dd285e11f1bb",
40
+ "comment": "Fix nodeExecTask to preserve process.env unless explicitly overridden"
41
+ },
42
+ {
43
+ "author": "elcraig@microsoft.com",
44
+ "package": "just-scripts",
45
+ "commit": "ee6ca22de1a7d426ca69af4ed3b8dd285e11f1bb",
46
+ "comment": "Fix eslintTask noEslintRc option"
47
+ }
48
+ ]
49
+ }
50
+ },
51
+ {
52
+ "date": "Thu, 11 Dec 2025 17:20:54 GMT",
6
53
  "version": "2.5.0",
7
54
  "tag": "just-scripts_v2.5.0",
8
55
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,28 @@
1
1
  # Change Log - just-scripts
2
2
 
3
- <!-- This log was last generated on Thu, 11 Dec 2025 17:20:50 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Thu, 26 Mar 2026 23:18:45 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 2.6.0
8
+
9
+ Thu, 26 Mar 2026 23:18:45 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Adding support for jest 30 testNamePatterns (plural) option (email not defined)
14
+ - Deprecate `spawn` helper (consider using `execa` instead). As a short-term improvement, it's updated to internally use `cross-spawn` for handling spaces in arguments and other basic normalization. (Also remove internal `exec` function and its usage, including in `tscTask`.) (elcraig@microsoft.com)
15
+ - Fix prettier task for prettier v3. Fix tsc task with build option. Make `nodeExecTask` `args` required since no other usage makes sense. (elcraig@microsoft.com)
16
+
17
+ ### Patches
18
+
19
+ - Deprecate misleadingly named `encodeArgs` function. For more complete escaping, consider a library such as `shell-quote`, or use safer APIs which don't require escaping. (Note that `spawn` from this package now uses `cross-spawn` which escapes spaces internally.) (elcraig@microsoft.com)
20
+ - Fix nodeExecTask to preserve process.env unless explicitly overridden (elcraig@microsoft.com)
21
+ - Fix eslintTask noEslintRc option (elcraig@microsoft.com)
22
+
7
23
  ## 2.5.0
8
24
 
9
- Thu, 11 Dec 2025 17:20:50 GMT
25
+ Thu, 11 Dec 2025 17:20:54 GMT
10
26
 
11
27
  ### Minor changes
12
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"eslintTask.d.ts","sourceRoot":"","sources":["../../src/tasks/eslintTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAAE,MAAM,WAAW,CAAC;AAItE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2KAA2K;IAC3K,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,YAAY,CA8DxE"}
1
+ {"version":3,"file":"eslintTask.d.ts","sourceRoot":"","sources":["../../src/tasks/eslintTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2KAA2K;IAC3K,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,YAAY,CA+DxE"}
@@ -16,7 +16,7 @@ function eslintTask(options = {}) {
16
16
  eslintCmd,
17
17
  ...(files ? files : ['.']),
18
18
  ...['--ext', extensions ? extensions : '.js,.jsx,.ts,.tsx'],
19
- ...(noEslintRc ? '--no-eslintrc' : []),
19
+ ...(noEslintRc ? ['--no-eslintrc'] : []),
20
20
  ...(eslintConfigPath ? ['--config', eslintConfigPath] : []),
21
21
  ...(eslintIgnorePath ? ['--ignore-path', eslintIgnorePath] : []),
22
22
  ...(resolvePluginsPath ? ['--resolve-plugins-relative-to', resolvePluginsPath] : []),
@@ -37,12 +37,11 @@ function eslintTask(options = {}) {
37
37
  if (useFlatConfig !== undefined) {
38
38
  env.ESLINT_USE_FLAT_CONFIG = JSON.stringify(useFlatConfig);
39
39
  }
40
- just_task_1.logger.info((0, utils_1.encodeArgs)(eslintArgs).join(' '));
40
+ (0, utils_1.logNodeCommand)(eslintArgs);
41
41
  return (0, utils_1.spawn)(process.execPath, eslintArgs, { stdio: 'inherit', env });
42
42
  }
43
- else {
44
- return Promise.resolve();
45
- }
43
+ // undertaker apparently requires returning a promise, async function, or function that calls done()
44
+ return Promise.resolve();
46
45
  };
47
46
  }
48
47
  exports.eslintTask = eslintTask;
@@ -1 +1 @@
1
- {"version":3,"file":"eslintTask.js","sourceRoot":"","sources":["../../src/tasks/eslintTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eslintTask.js","sourceRoot":"","sources":["../../src/tasks/eslintTask.ts"],"names":[],"mappings":";;;AAAA,yCAA8D;AAC9D,oCAAiD;AACjD,yBAAyB;AAuCzB,SAAgB,UAAU,CAAC,UAA6B,EAAE;IACxD,OAAO,SAAS,MAAM;QACpB,MAAM,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,GAAG,EACH,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,aAAa,EACb,MAAM,EACN,UAAU,EACV,MAAM,EACN,KAAK,EACL,aAAa,GACd,GAAG,OAAO,CAAC;QACZ,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,sBAAsB,CAAC,CAAC;QAClD,kIAAkI;QAClI,MAAM,gBAAgB,GACpB,UAAU,IAAI,IAAA,sBAAU,EAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnG,IAAI,SAAS,IAAI,gBAAgB,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YACpE,MAAM,gBAAgB,GAAG,UAAU,IAAI,IAAA,sBAAU,EAAC,eAAe,CAAC,CAAC;YAEnE,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1B,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAC3D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,+BAA+B,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxF,SAAS;aACV,CAAC;YAEF,MAAM,GAAG,GAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAElD,IAAI,MAAM,EAAE;gBACV,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;aAClB;YAED,IAAI,aAAa,KAAK,SAAS,EAAE;gBAC/B,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;aAC5D;YAED,IAAA,sBAAc,EAAC,UAAU,CAAC,CAAC;YAC3B,OAAO,IAAA,aAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;SACvE;QAED,oGAAoG;QACpG,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AA/DD,gCA+DC"}
@@ -11,7 +11,15 @@ export interface JestTaskOptions {
11
11
  passWithNoTests?: boolean;
12
12
  clearCache?: boolean;
13
13
  silent?: boolean;
14
+ /**
15
+ * This is not available in jest 30+
16
+ * Consider updating to jest 30 and using testPathPatterns (plural) instead.
17
+ */
14
18
  testPathPattern?: string;
19
+ /**
20
+ * Compatible with jest 30+ only
21
+ */
22
+ testPathPatterns?: string;
15
23
  testNamePattern?: string;
16
24
  maxWorkers?: number;
17
25
  u?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"jestTask.d.ts","sourceRoot":"","sources":["../../src/tasks/jestTask.ts"],"names":[],"mappings":";AAAA,OAAO,EAA+B,YAAY,EAAQ,MAAM,WAAW,CAAC;AAK5E,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,YAAY,CAuDpE"}
1
+ {"version":3,"file":"jestTask.d.ts","sourceRoot":"","sources":["../../src/tasks/jestTask.ts"],"names":[],"mappings":";AAAA,OAAO,EAA+B,YAAY,EAAQ,MAAM,WAAW,CAAC;AAK5E,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,YAAY,CAwDpE"}
@@ -25,7 +25,6 @@ function jestTask(options = {}) {
25
25
  }
26
26
  if ((configFileExists || packageConfigExists) && jestCmd) {
27
27
  just_task_1.logger.info(`Running Jest`);
28
- const cmd = process.execPath;
29
28
  const positional = (0, just_task_1.argv)()._.slice(1);
30
29
  const args = [
31
30
  ...(options.nodeArgs || []),
@@ -40,20 +39,20 @@ function jestTask(options = {}) {
40
39
  ...(options.watch ? ['--watch'] : []),
41
40
  ...(options.silent ? ['--silent'] : []),
42
41
  ...(options.testPathPattern ? ['--testPathPattern', options.testPathPattern] : []),
42
+ ...(options.testPathPatterns ? ['--testPathPatterns', options.testPathPatterns] : []),
43
43
  ...(options.testNamePattern ? ['--testNamePattern', options.testNamePattern] : []),
44
- ...(options.maxWorkers ? ['--maxWorkers', options.maxWorkers] : []),
45
- ...(options.u || options.updateSnapshot ? ['--updateSnapshot'] : ['']),
44
+ ...(options.maxWorkers ? ['--maxWorkers', `${options.maxWorkers}`] : []),
45
+ ...(options.u || options.updateSnapshot ? ['--updateSnapshot'] : []),
46
46
  // Only include the positional args if `options._` wasn't specified
47
47
  // (to avoid possibly including them twice)
48
48
  ...(options._ || positional),
49
49
  ].filter(arg => !!arg);
50
- just_task_1.logger.info(cmd, (0, utils_1.encodeArgs)(args).join(' '));
51
- return (0, utils_1.spawn)(cmd, args, { stdio: 'inherit', env: options.env });
52
- }
53
- else {
54
- just_task_1.logger.warn('no jest configuration found, skipping jest');
55
- return Promise.resolve();
50
+ (0, utils_1.logNodeCommand)(args);
51
+ return (0, utils_1.spawn)(process.execPath, args, { stdio: 'inherit', env: options.env });
56
52
  }
53
+ just_task_1.logger.warn('no jest configuration found, skipping jest');
54
+ // undertaker apparently requires returning a promise, async function, or function that calls done()
55
+ return Promise.resolve();
57
56
  };
58
57
  }
59
58
  exports.jestTask = jestTask;
@@ -1 +1 @@
1
- {"version":3,"file":"jestTask.js","sourceRoot":"","sources":["../../src/tasks/jestTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jestTask.js","sourceRoot":"","sources":["../../src/tasks/jestTask.ts"],"names":[],"mappings":"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"}
@@ -3,30 +3,44 @@ import { SpawnOptions } from 'child_process';
3
3
  import { TaskFunction } from 'just-task';
4
4
  export interface NodeExecTaskOptions {
5
5
  /**
6
- * Arguments to be passed into a spawn call for webpack dev server. This can be used to do things
7
- * like increase the heap space for the JS engine to address out of memory issues.
6
+ * Arguments to be passed into a spawn call, including the script path to execute.
7
+ * The script path should be **absolute** to prevent unpredictable resolution.
8
+ *
9
+ * **WARNING: If `options.shell` is enabled, do not pass unsanitized user input as `args`.
10
+ * Any input containing shell metacharacters may be used to trigger arbitrary command execution.**
8
11
  */
9
- args?: string[];
12
+ args: string[];
10
13
  /**
11
- * Environment variables to be passed to the webpack-cli
14
+ * Environment variables to be passed to the spawned process.
15
+ * Defaults to `process.env`.
12
16
  */
13
17
  env?: NodeJS.ProcessEnv;
14
18
  /**
15
- * Should this nodeExec task be using something like ts-node to execute the binary
19
+ * Whether to use `ts-node` to execute the script
16
20
  */
17
21
  enableTypeScript?: boolean;
18
22
  /**
19
- * The tsconfig file to pass to ts-node for Typescript config
23
+ * tsconfig file path to pass to `ts-node`
20
24
  */
21
25
  tsconfig?: string;
22
26
  /**
23
- * Transpile the config only
27
+ * Whether to use `transpileOnly` mode for `ts-node`
24
28
  */
25
29
  transpileOnly?: boolean;
26
30
  /**
27
- * Custom spawn options
31
+ * Custom spawn options.
32
+ *
33
+ * **WARNING: If the `shell` option is enabled, do not pass unsanitized user input as `args`.
34
+ * Any input containing shell metacharacters may be used to trigger arbitrary command execution.**
28
35
  */
29
36
  spawnOptions?: SpawnOptions;
30
37
  }
38
+ /**
39
+ * Create a task to execute a command in a new process.
40
+ * Uses `cross-spawn` to avoid issues with spaces in arguments, but does not do any additional escaping.
41
+ *
42
+ * **WARNING: If the `shell` option is enabled, do not pass unsanitized user input to this task.
43
+ * Any input containing shell metacharacters may be used to trigger arbitrary command execution.**
44
+ */
31
45
  export declare function nodeExecTask(options: NodeExecTaskOptions): TaskFunction;
32
46
  //# sourceMappingURL=nodeExecTask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeExecTask.d.ts","sourceRoot":"","sources":["../../src/tasks/nodeExecTask.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAU,YAAY,EAAE,MAAM,WAAW,CAAC;AAIjD,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAExB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAoBvE"}
1
+ {"version":3,"file":"nodeExecTask.d.ts","sourceRoot":"","sources":["../../src/tasks/nodeExecTask.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAU,YAAY,EAAE,MAAM,WAAW,CAAC;AAIjD,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAExB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAsBvE"}
@@ -5,22 +5,28 @@ const utils_1 = require("../utils");
5
5
  const just_task_1 = require("just-task");
6
6
  const resolve_1 = require("just-task/lib/resolve");
7
7
  const getTsNodeEnv_1 = require("../typescript/getTsNodeEnv");
8
+ /**
9
+ * Create a task to execute a command in a new process.
10
+ * Uses `cross-spawn` to avoid issues with spaces in arguments, but does not do any additional escaping.
11
+ *
12
+ * **WARNING: If the `shell` option is enabled, do not pass unsanitized user input to this task.
13
+ * Any input containing shell metacharacters may be used to trigger arbitrary command execution.**
14
+ */
8
15
  function nodeExecTask(options) {
9
16
  return function () {
10
17
  const { spawnOptions, enableTypeScript, tsconfig, transpileOnly } = options;
11
18
  const tsNodeRegister = (0, resolve_1.resolveCwd)('ts-node/register');
12
19
  const nodeExecPath = process.execPath;
13
- if (enableTypeScript && tsNodeRegister) {
14
- options.args = options.args || [];
15
- options.args.unshift(tsNodeRegister);
16
- options.args.unshift('-r');
17
- options.env = { ...options.env, ...(0, getTsNodeEnv_1.getTsNodeEnv)(tsconfig, transpileOnly) };
18
- just_task_1.logger.info('Executing [TS]: ' + [nodeExecPath, ...(options.args || [])].join(' '));
20
+ const args = [...(options.args || [])];
21
+ // Preserve the default behavior of inheriting process.env if no options are specified
22
+ let env = options.env ? { ...options.env } : { ...process.env };
23
+ const isTS = enableTypeScript && tsNodeRegister;
24
+ if (isTS) {
25
+ args.unshift('-r', tsNodeRegister);
26
+ env = { ...env, ...(0, getTsNodeEnv_1.getTsNodeEnv)(tsconfig, transpileOnly) };
19
27
  }
20
- else {
21
- just_task_1.logger.info('Executing: ' + [nodeExecPath, ...(options.args || [])].join(' '));
22
- }
23
- return (0, utils_1.spawn)(nodeExecPath, options.args, { stdio: 'inherit', env: options.env, ...spawnOptions });
28
+ just_task_1.logger.info([`Executing${isTS ? ' [TS]' : ''}:`, nodeExecPath, ...args].join(' '));
29
+ return (0, utils_1.spawn)(nodeExecPath, args, { stdio: 'inherit', env, ...spawnOptions });
24
30
  };
25
31
  }
26
32
  exports.nodeExecTask = nodeExecTask;
@@ -1 +1 @@
1
- {"version":3,"file":"nodeExecTask.js","sourceRoot":"","sources":["../../src/tasks/nodeExecTask.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AACjC,yCAAiD;AACjD,mDAAgE;AAChE,6DAA0D;AAmC1D,SAAgB,YAAY,CAAC,OAA4B;IACvD,OAAO;QACL,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAE5E,MAAM,cAAc,GAAG,IAAA,oBAAU,EAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEtC,IAAI,gBAAgB,IAAI,cAAc,EAAE;YACtC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE3B,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAA,2BAAY,EAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;YAC3E,kBAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACrF;aAAM;YACL,kBAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAChF;QAED,OAAO,IAAA,aAAK,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC;AACJ,CAAC;AApBD,oCAoBC"}
1
+ {"version":3,"file":"nodeExecTask.js","sourceRoot":"","sources":["../../src/tasks/nodeExecTask.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AACjC,yCAAiD;AACjD,mDAAgE;AAChE,6DAA0D;AA0C1D;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,OAA4B;IACvD,OAAO;QACL,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAE5E,MAAM,cAAc,GAAG,IAAA,oBAAU,EAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEtC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,uFAAuF;QACvF,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,gBAAgB,IAAI,cAAc,CAAC;QAEhD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAEnC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAA,2BAAY,EAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;SAC5D;QAED,kBAAM,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnF,OAAO,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC;AACJ,CAAC;AAtBD,oCAsBC"}
@@ -3,6 +3,7 @@ export interface PrettierTaskOptions {
3
3
  files?: string[] | string;
4
4
  ignorePath?: string;
5
5
  configPath?: string;
6
+ check?: boolean;
6
7
  }
7
8
  export declare function prettierTask(options?: PrettierTaskOptions): TaskFunction;
8
9
  export declare function prettierCheckTask(options?: PrettierTaskOptions): TaskFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"prettierTask.d.ts","sourceRoot":"","sources":["../../src/tasks/prettierTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,YAAY,EAAE,MAAM,WAAW,CAAC;AAc1D,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAsB5E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAsBjF"}
1
+ {"version":3,"file":"prettierTask.d.ts","sourceRoot":"","sources":["../../src/tasks/prettierTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,YAAY,EAAE,MAAM,WAAW,CAAC;AAc1D,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAwB5E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAEjF"}
@@ -7,7 +7,8 @@ const splitArrayIntoChunks_1 = require("../arrayUtils/splitArrayIntoChunks");
7
7
  const path = require("path");
8
8
  const arrayify_1 = require("../arrayUtils/arrayify");
9
9
  function prettierTask(options = {}) {
10
- const prettierBin = (0, just_task_1.resolve)('prettier/bin-prettier.js');
10
+ // check v2 or v3 path
11
+ const prettierBin = (0, just_task_1.resolve)('prettier/bin-prettier.js') || (0, just_task_1.resolve)('prettier/bin/prettier.cjs');
11
12
  if (prettierBin) {
12
13
  return function prettier() {
13
14
  return runPrettierAsync({
@@ -17,33 +18,18 @@ function prettierTask(options = {}) {
17
18
  ...{
18
19
  files: (0, arrayify_1.arrayify)(options.files || path.resolve(process.cwd(), '**', '*.{ts,tsx,js,jsx,json,scss,html,yml,md}')),
19
20
  },
20
- check: false,
21
+ check: !!options.check,
21
22
  });
22
23
  };
23
24
  }
24
- return function () {
25
+ // undertaker apparently requires returning a promise, async function, or function that calls done()
26
+ return async () => {
25
27
  just_task_1.logger.warn('Prettier is not available, ignoring this task');
26
28
  };
27
29
  }
28
30
  exports.prettierTask = prettierTask;
29
31
  function prettierCheckTask(options = {}) {
30
- const prettierBin = (0, just_task_1.resolve)('prettier/bin-prettier.js');
31
- if (prettierBin) {
32
- return function prettierCheck() {
33
- return runPrettierAsync({
34
- prettierBin,
35
- ...{ configPath: options.configPath || undefined },
36
- ...{ ignorePath: options.ignorePath || undefined },
37
- ...{
38
- files: (0, arrayify_1.arrayify)(options.files || path.resolve(process.cwd(), '**', '*.{ts,tsx,js,jsx,json,scss,html,yml,md}')),
39
- },
40
- check: true,
41
- });
42
- };
43
- }
44
- return function () {
45
- just_task_1.logger.warn('Prettier is not available, ignoring this task');
46
- };
32
+ return prettierTask({ ...options, check: true });
47
33
  }
48
34
  exports.prettierCheckTask = prettierCheckTask;
49
35
  function runPrettierAsync(context) {
@@ -58,7 +44,7 @@ function runPrettierAsync(context) {
58
44
  ...(check ? ['--check'] : ['--write']),
59
45
  ...chunk,
60
46
  ];
61
- just_task_1.logger.info(process.execPath + ' ' + prettierArgs.join(' '));
47
+ (0, utils_1.logNodeCommand)(prettierArgs);
62
48
  return finishPromise.then(() => (0, utils_1.spawn)(process.execPath, prettierArgs, { stdio: 'inherit' }));
63
49
  }, Promise.resolve());
64
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prettierTask.js","sourceRoot":"","sources":["../../src/tasks/prettierTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prettierTask.js","sourceRoot":"","sources":["../../src/tasks/prettierTask.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAC1D,oCAAiD;AACjD,6EAA0E;AAC1E,6BAA6B;AAC7B,qDAAkD;AAiBlD,SAAgB,YAAY,CAAC,UAA+B,EAAE;IAC5D,sBAAsB;IACtB,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,0BAA0B,CAAC,IAAI,IAAA,mBAAO,EAAC,2BAA2B,CAAC,CAAC;IAEhG,IAAI,WAAW,EAAE;QACf,OAAO,SAAS,QAAQ;YACtB,OAAO,gBAAgB,CAAC;gBACtB,WAAW;gBACX,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS,EAAE;gBAClD,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS,EAAE;gBAClD,GAAG;oBACD,KAAK,EAAE,IAAA,mBAAQ,EACb,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,yCAAyC,CAAC,CAC9F;iBACF;gBACD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK;aACvB,CAAC,CAAC;QACL,CAAC,CAAC;KACH;IAED,oGAAoG;IACpG,OAAO,KAAK,IAAI,EAAE;QAChB,kBAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC;AAxBD,oCAwBC;AAED,SAAgB,iBAAiB,CAAC,UAA+B,EAAE;IACjE,OAAO,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAFD,8CAEC;AAED,SAAS,gBAAgB,CAAC,OAAwB;IAChD,MAAM,sBAAsB,GAAG,EAAE,CAAC;IAClC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEtE,MAAM,MAAM,GAAG,IAAA,2CAAoB,EAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAEnE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,YAAY,GAAG;YACnB,WAAW;YACX,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtC,GAAG,KAAK;SACT,CAAC;QAEF,IAAA,sBAAc,EAAC,YAAY,CAAC,CAAC;QAE7B,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,aAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/F,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tscTask.d.ts","sourceRoot":"","sources":["../../src/tasks/tscTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAA+B,YAAY,EAAE,MAAM,WAAW,CAAC;AAItE,oBAAY,cAAc,GAAG;KAAG,GAAG,IAAI,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE;CAAE,GAAG;IACjG,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,YAAY,CAqBlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,cAAmB,GAAG,YAAY,CAoBvE"}
1
+ {"version":3,"file":"tscTask.d.ts","sourceRoot":"","sources":["../../src/tasks/tscTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAA+B,YAAY,EAAE,MAAM,WAAW,CAAC;AAItE,oBAAY,cAAc,GAAG;KAAG,GAAG,IAAI,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE;CAAE,GAAG;IACjG,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,YAAY,CAoBlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,cAAmB,GAAG,YAAY,CAEvE"}
@@ -18,9 +18,8 @@ function tscTask(options = {}) {
18
18
  if (isValidProject(options)) {
19
19
  just_task_1.logger.info(`Running ${tscCmd} with ${options.project || options.build}`);
20
20
  const args = argsFromOptions(tscCmd, options);
21
- const cmd = (0, utils_1.encodeArgs)([process.execPath, ...args]).join(' ');
22
- just_task_1.logger.info(`Executing: ${cmd}`);
23
- return (0, utils_1.exec)(cmd);
21
+ (0, utils_1.logNodeCommand)(args);
22
+ return (0, utils_1.spawn)(process.execPath, args, { stdio: 'inherit' });
24
23
  }
25
24
  return Promise.resolve();
26
25
  };
@@ -30,21 +29,7 @@ exports.tscTask = tscTask;
30
29
  * Returns a task that runs the TSC CLI in watch mode.
31
30
  */
32
31
  function tscWatchTask(options = {}) {
33
- const tscCmd = (0, just_task_1.resolve)('typescript/lib/tsc.js');
34
- if (!tscCmd) {
35
- throw new Error('cannot find tsc');
36
- }
37
- return function tscWatch() {
38
- options = { ...options, ...getProjectOrBuildOptions(options) };
39
- if (isValidProject(options)) {
40
- just_task_1.logger.info(`Running ${tscCmd} with ${options.project || options.build} in watch mode`);
41
- const args = argsFromOptions(tscCmd, options);
42
- const cmd = [...args, '--watch'];
43
- just_task_1.logger.info((0, utils_1.encodeArgs)(cmd).join(' '));
44
- return (0, utils_1.spawn)(process.execPath, cmd, { stdio: 'inherit' });
45
- }
46
- return Promise.resolve();
47
- };
32
+ return tscTask({ ...options, watch: true });
48
33
  }
49
34
  exports.tscWatchTask = tscWatchTask;
50
35
  /**
@@ -68,30 +53,27 @@ function isValidProject(options) {
68
53
  return ((typeof options.project === 'string' && fs.existsSync(options.project)) ||
69
54
  (typeof options.build === 'string' && fs.existsSync(options.build)) ||
70
55
  (Array.isArray(options.build) &&
71
- options.build.reduce((currentIsValid, buildPath) => {
72
- return currentIsValid && typeof buildPath === 'string' && fs.existsSync(buildPath);
73
- }, true)));
56
+ options.build.every(buildPath => typeof buildPath === 'string' && fs.existsSync(buildPath))));
74
57
  }
75
58
  /**
76
59
  * Returns an array of CLI arguments for TSC given the `options`.
77
60
  */
78
61
  function argsFromOptions(tscCmd, options) {
79
- const { nodeArgs, ...rest } = options;
80
- return [
81
- ...(nodeArgs ? nodeArgs : []),
82
- ...Object.keys(rest).reduce((currentArgs, option) => {
83
- const optionValue = options[option];
84
- if (typeof optionValue === 'string') {
85
- return currentArgs.concat(['--' + option, optionValue]);
86
- }
87
- else if (typeof optionValue === 'boolean' && optionValue) {
88
- return currentArgs.concat(['--' + option]);
89
- }
90
- else if (Array.isArray(optionValue)) {
91
- return currentArgs.concat(['--' + option, ...optionValue]);
92
- }
93
- return currentArgs;
94
- }, [tscCmd]),
95
- ];
62
+ const { nodeArgs, build, ...rest } = options;
63
+ const args = [...(nodeArgs || []), tscCmd];
64
+ // --build must be the first arg if specified
65
+ const argEntries = [...(build !== undefined ? [['build', build]] : []), ...Object.entries(rest)];
66
+ for (const [option, optionValue] of argEntries) {
67
+ if (typeof optionValue === 'string') {
68
+ args.push('--' + option, optionValue);
69
+ }
70
+ else if (typeof optionValue === 'boolean' && optionValue) {
71
+ args.push('--' + option);
72
+ }
73
+ else if (Array.isArray(optionValue)) {
74
+ args.push('--' + option, ...optionValue);
75
+ }
76
+ }
77
+ return args;
96
78
  }
97
79
  //# sourceMappingURL=tscTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tscTask.js","sourceRoot":"","sources":["../../src/tasks/tscTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tscTask.js","sourceRoot":"","sources":["../../src/tasks/tscTask.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tslintTask.d.ts","sourceRoot":"","sources":["../../src/tasks/tslintTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAAE,MAAM,WAAW,CAAC;AAKtE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,YAAY,CA6BxE"}
1
+ {"version":3,"file":"tslintTask.d.ts","sourceRoot":"","sources":["../../src/tasks/tslintTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAAE,MAAM,WAAW,CAAC;AAKtE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,YAAY,CA8BxE"}
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tslintTask = void 0;
4
4
  const just_task_1 = require("just-task");
5
- const utils_1 = require("../utils");
6
5
  const path = require("path");
7
6
  const fs = require("fs");
7
+ const utils_1 = require("../utils");
8
8
  function tslintTask(options = {}) {
9
9
  const projectFile = options.project || (0, just_task_1.resolveCwd)('./tsconfig.json');
10
- return function tslint() {
10
+ return async function tslint() {
11
11
  const tslintCmd = (0, just_task_1.resolve)('tslint/lib/tslintCli.js');
12
12
  if (projectFile && tslintCmd && fs.existsSync(projectFile)) {
13
13
  just_task_1.logger.info(`Running tslint`);
@@ -22,13 +22,12 @@ function tslintTask(options = {}) {
22
22
  if (options.fix) {
23
23
  args.push('--fix');
24
24
  }
25
- const cmd = (0, utils_1.encodeArgs)([process.execPath, tslintCmd, ...args]).join(' ');
26
- just_task_1.logger.info(cmd);
27
- return (0, utils_1.exec)(cmd, { stdout: process.stdout, stderr: process.stderr });
28
- }
29
- else {
30
- return Promise.resolve();
25
+ const allArgs = [tslintCmd, ...args];
26
+ (0, utils_1.logNodeCommand)(allArgs);
27
+ return (0, utils_1.spawn)(process.execPath, allArgs, { stdio: 'inherit' });
31
28
  }
29
+ // undertaker apparently requires returning a promise, async function, or function that calls done()
30
+ return Promise.resolve();
32
31
  };
33
32
  }
34
33
  exports.tslintTask = tslintTask;
@@ -1 +1 @@
1
- {"version":3,"file":"tslintTask.js","sourceRoot":"","sources":["../../src/tasks/tslintTask.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AACtE,oCAA4C;AAC5C,6BAA6B;AAC7B,yBAAyB;AAQzB,SAAgB,UAAU,CAAC,UAA6B,EAAE;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,IAAA,sBAAU,EAAC,iBAAiB,CAAC,CAAC;IAErE,OAAO,SAAS,MAAM;QACpB,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,yBAAyB,CAAC,CAAC;QAErD,IAAI,WAAW,IAAI,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAC1D,kBAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE9B,MAAM,IAAI,GAAG;gBACX,WAAW;gBACX,WAAW;gBACX,IAAI;gBACJ,SAAS;gBACT,IAAI;gBACJ,IAAI,CAAC,OAAO,CAAC,IAAA,mBAAO,EAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;aACxD,CAAC;YAEF,IAAI,OAAO,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpB;YAED,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzE,kBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,IAAA,YAAI,EAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;SACtE;aAAM;YACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;IACH,CAAC,CAAC;AACJ,CAAC;AA7BD,gCA6BC"}
1
+ {"version":3,"file":"tslintTask.js","sourceRoot":"","sources":["../../src/tasks/tslintTask.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AACtE,6BAA6B;AAC7B,yBAAyB;AACzB,oCAAiD;AAQjD,SAAgB,UAAU,CAAC,UAA6B,EAAE;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,IAAA,sBAAU,EAAC,iBAAiB,CAAC,CAAC;IAErE,OAAO,KAAK,UAAU,MAAM;QAC1B,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,yBAAyB,CAAC,CAAC;QAErD,IAAI,WAAW,IAAI,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAC1D,kBAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE9B,MAAM,IAAI,GAAG;gBACX,WAAW;gBACX,WAAW;gBACX,IAAI;gBACJ,SAAS;gBACT,IAAI;gBACJ,IAAI,CAAC,OAAO,CAAC,IAAA,mBAAO,EAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;aACxD,CAAC;YAEF,IAAI,OAAO,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpB;YAED,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YACrC,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAC;YACxB,OAAO,IAAA,aAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;SAC/D;QAED,oGAAoG;QACpG,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AA9BD,gCA8BC"}
@@ -11,7 +11,8 @@ const tryRequire_1 = require("../tryRequire");
11
11
  */
12
12
  function webpackCliInitTask(customScaffold, auto = false) {
13
13
  return function webpackCli() {
14
- const init = (0, tryRequire_1.tryRequire)('@webpack-cli/init').default;
14
+ var _a;
15
+ const init = (_a = (0, tryRequire_1.tryRequire)('@webpack-cli/init')) === null || _a === void 0 ? void 0 : _a.default;
15
16
  if (!init) {
16
17
  just_task_1.logger.warn('webpack-cli init requires three dependencies: @webpack-cli/init (preferred - as a devDependency)');
17
18
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"webpackCliInitTask.js","sourceRoot":"","sources":["../../src/tasks/webpackCliInitTask.ts"],"names":[],"mappings":";;;AAAA,yCAAiD;AACjD,8CAA2C;AAE3C;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,cAAuB,EAAE,IAAI,GAAG,KAAK;IACtE,OAAO,SAAS,UAAU;QACxB,MAAM,IAAI,GAAG,IAAA,uBAAU,EAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE;YACT,kBAAM,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;YAChH,OAAO;SACR;QACD,kBAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACzC,IAAI,IAAI,EAAE;gBACR,IAAI;oBACF,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;iBAClC;gBAAC,OAAO,KAAK,EAAE;oBACd,MAAM,gCAAiC,KAAa,CAAC,MAAM,YAAY,CAAC;iBACzE;aACF;iBAAM;gBACL,IAAI;oBACF,IAAI,EAAE,CAAC;iBACR;gBAAC,OAAO,KAAK,EAAE;oBACd,MAAM,gCAAiC,KAAa,CAAC,MAAM,YAAY,CAAC;iBACzE;aACF;SACF;aAAM;YACL,kBAAM,CAAC,IAAI,CAAC,wBAAwB,cAAc,EAAE,CAAC,CAAC;YACtD,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;aAClC;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,gCAAiC,KAAa,CAAC,MAAM,YAAY,CAAC;aACzE;SACF;IACH,CAAC,CAAC;AACJ,CAAC;AA/BD,gDA+BC"}
1
+ {"version":3,"file":"webpackCliInitTask.js","sourceRoot":"","sources":["../../src/tasks/webpackCliInitTask.ts"],"names":[],"mappings":";;;AAAA,yCAAiD;AACjD,8CAA2C;AAE3C;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,cAAuB,EAAE,IAAI,GAAG,KAAK;IACtE,OAAO,SAAS,UAAU;;QACxB,MAAM,IAAI,GAAG,MAAA,IAAA,uBAAU,EAAC,mBAAmB,CAAC,0CAAE,OAAO,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE;YACT,kBAAM,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;YAChH,OAAO;SACR;QACD,kBAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACzC,IAAI,IAAI,EAAE;gBACR,IAAI;oBACF,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;iBAClC;gBAAC,OAAO,KAAK,EAAE;oBACd,MAAM,gCAAiC,KAAa,CAAC,MAAM,YAAY,CAAC;iBACzE;aACF;iBAAM;gBACL,IAAI;oBACF,IAAI,EAAE,CAAC;iBACR;gBAAC,OAAO,KAAK,EAAE;oBACd,MAAM,gCAAiC,KAAa,CAAC,MAAM,YAAY,CAAC;iBACzE;aACF;SACF;aAAM;YACL,kBAAM,CAAC,IAAI,CAAC,wBAAwB,cAAc,EAAE,CAAC,CAAC;YACtD,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;aAClC;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,gCAAiC,KAAa,CAAC,MAAM,YAAY,CAAC;aACzE;SACF;IACH,CAAC,CAAC;AACJ,CAAC;AA/BD,gDA+BC"}
@@ -34,7 +34,7 @@ function webpackCliTask(options = {}) {
34
34
  configPath = options.webpackCliArgs[configIndex + 1];
35
35
  }
36
36
  }
37
- just_task_1.logger.info(`webpack-cli arguments: ${process.execPath} ${args.join(' ')}`);
37
+ (0, utils_1.logNodeCommand)(args);
38
38
  return (0, utils_1.spawn)(process.execPath, args, { stdio: 'inherit', env: options.env });
39
39
  };
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webpackCliTask.js","sourceRoot":"","sources":["../../src/tasks/webpackCliTask.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAC1D,oCAAiC;AACjC,6DAA0D;AAC1D,oEAAiE;AA8BjE;;GAEG;AACH,SAAgB,cAAc,CAAC,UAAiC,EAAE;IAChE,MAAM,aAAa,GAAG,IAAA,mBAAO,EAAC,wBAAwB,CAAC,CAAC;IAExD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,OAAO,SAAS,UAAU;QACxB,kBAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG;YACX,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,aAAa;YACb,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC;QAEF,IAAI,UAAU,GAAG,IAAA,qCAAiB,EAAC,mBAAmB,CAAC,CAAC;QAExD,IAAI,UAAU,EAAE;YACd,OAAO,CAAC,GAAG,GAAG;gBACZ,GAAG,OAAO,CAAC,GAAG;gBACd,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAA,2BAAY,EAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;aACzF,CAAC;SACH;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/D,MAAM,mBAAmB,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;YAChG,IAAI,mBAAmB,EAAE;gBACvB,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;aACtD;SACF;QAED,kBAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE5E,OAAO,IAAA,aAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC;AACJ,CAAC;AArCD,wCAqCC"}
1
+ {"version":3,"file":"webpackCliTask.js","sourceRoot":"","sources":["../../src/tasks/webpackCliTask.ts"],"names":[],"mappings":";;;AAAA,yCAA0D;AAC1D,oCAAiD;AACjD,6DAA0D;AAC1D,oEAAiE;AA8BjE;;GAEG;AACH,SAAgB,cAAc,CAAC,UAAiC,EAAE;IAChE,MAAM,aAAa,GAAG,IAAA,mBAAO,EAAC,wBAAwB,CAAC,CAAC;IAExD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,OAAO,SAAS,UAAU;QACxB,kBAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG;YACX,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,aAAa;YACb,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC;QAEF,IAAI,UAAU,GAAG,IAAA,qCAAiB,EAAC,mBAAmB,CAAC,CAAC;QAExD,IAAI,UAAU,EAAE;YACd,OAAO,CAAC,GAAG,GAAG;gBACZ,GAAG,OAAO,CAAC,GAAG;gBACd,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAA,2BAAY,EAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;aACzF,CAAC;SACH;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/D,MAAM,mBAAmB,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;YAChG,IAAI,mBAAmB,EAAE;gBACvB,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;aACtD;SACF;QAED,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;QAErB,OAAO,IAAA,aAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC;AACJ,CAAC;AArCD,wCAqCC"}