just-scripts 2.4.2 → 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 (75) hide show
  1. package/CHANGELOG.json +85 -2
  2. package/CHANGELOG.md +27 -2
  3. package/lib/index.d.ts +1 -1
  4. package/lib/index.d.ts.map +1 -1
  5. package/lib/index.js +4 -3
  6. package/lib/index.js.map +1 -1
  7. package/lib/interfaces/PackageJson.d.ts +16 -0
  8. package/lib/interfaces/PackageJson.d.ts.map +1 -0
  9. package/lib/interfaces/PackageJson.js +3 -0
  10. package/lib/interfaces/PackageJson.js.map +1 -0
  11. package/lib/tasks/eslintTask.d.ts.map +1 -1
  12. package/lib/tasks/eslintTask.js +6 -7
  13. package/lib/tasks/eslintTask.js.map +1 -1
  14. package/lib/tasks/jestTask.d.ts +8 -0
  15. package/lib/tasks/jestTask.d.ts.map +1 -1
  16. package/lib/tasks/jestTask.js +10 -11
  17. package/lib/tasks/jestTask.js.map +1 -1
  18. package/lib/tasks/nodeExecTask.d.ts +22 -8
  19. package/lib/tasks/nodeExecTask.d.ts.map +1 -1
  20. package/lib/tasks/nodeExecTask.js +17 -11
  21. package/lib/tasks/nodeExecTask.js.map +1 -1
  22. package/lib/tasks/prettierTask.d.ts +1 -0
  23. package/lib/tasks/prettierTask.d.ts.map +1 -1
  24. package/lib/tasks/prettierTask.js +9 -23
  25. package/lib/tasks/prettierTask.js.map +1 -1
  26. package/lib/tasks/tscTask.d.ts.map +1 -1
  27. package/lib/tasks/tscTask.js +21 -39
  28. package/lib/tasks/tscTask.js.map +1 -1
  29. package/lib/tasks/tslintTask.d.ts.map +1 -1
  30. package/lib/tasks/tslintTask.js +7 -8
  31. package/lib/tasks/tslintTask.js.map +1 -1
  32. package/lib/tasks/webpackCliInitTask.js +2 -1
  33. package/lib/tasks/webpackCliInitTask.js.map +1 -1
  34. package/lib/tasks/webpackCliTask.js +3 -3
  35. package/lib/tasks/webpackCliTask.js.map +1 -1
  36. package/lib/tasks/webpackDevServerTask.d.ts.map +1 -1
  37. package/lib/tasks/webpackDevServerTask.js +3 -3
  38. package/lib/tasks/webpackDevServerTask.js.map +1 -1
  39. package/lib/utils/exec.d.ts +37 -0
  40. package/lib/utils/exec.d.ts.map +1 -0
  41. package/lib/utils/exec.js +107 -0
  42. package/lib/utils/exec.js.map +1 -0
  43. package/lib/utils/index.d.ts +5 -0
  44. package/lib/utils/index.d.ts.map +1 -0
  45. package/lib/utils/index.js +19 -0
  46. package/lib/utils/index.js.map +1 -0
  47. package/lib/utils/mergePackageJson.d.ts +20 -0
  48. package/lib/utils/mergePackageJson.d.ts.map +1 -0
  49. package/lib/utils/mergePackageJson.js +61 -0
  50. package/lib/utils/mergePackageJson.js.map +1 -0
  51. package/lib/utils/paths.d.ts +13 -0
  52. package/lib/utils/paths.d.ts.map +1 -0
  53. package/lib/utils/paths.js +26 -0
  54. package/lib/utils/paths.js.map +1 -0
  55. package/lib/utils/readPackageJson.d.ts +8 -0
  56. package/lib/utils/readPackageJson.d.ts.map +1 -0
  57. package/lib/utils/readPackageJson.js +19 -0
  58. package/lib/utils/readPackageJson.js.map +1 -0
  59. package/package.json +4 -3
  60. package/src/index.ts +1 -1
  61. package/src/interfaces/PackageJson.ts +16 -0
  62. package/src/tasks/eslintTask.ts +7 -6
  63. package/src/tasks/jestTask.ts +18 -9
  64. package/src/tasks/nodeExecTask.ts +34 -18
  65. package/src/tasks/prettierTask.ts +9 -26
  66. package/src/tasks/tscTask.ts +21 -44
  67. package/src/tasks/tslintTask.ts +8 -7
  68. package/src/tasks/webpackCliInitTask.ts +1 -1
  69. package/src/tasks/webpackCliTask.ts +2 -2
  70. package/src/tasks/webpackDevServerTask.ts +3 -3
  71. package/src/utils/exec.ts +112 -0
  72. package/src/utils/index.ts +4 -0
  73. package/src/utils/mergePackageJson.ts +64 -0
  74. package/src/utils/paths.ts +26 -0
  75. package/src/utils/readPackageJson.ts +16 -0
package/CHANGELOG.json CHANGED
@@ -2,7 +2,90 @@
2
2
  "name": "just-scripts",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 27 Oct 2025 17:54:42 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",
53
+ "version": "2.5.0",
54
+ "tag": "just-scripts_v2.5.0",
55
+ "comments": {
56
+ "minor": [
57
+ {
58
+ "author": "elcraig@microsoft.com",
59
+ "package": "just-scripts",
60
+ "commit": "9f2ae785ea8288e0dd60c4e684a17858c2d67902",
61
+ "comment": "Merge just-scripts-utils into this package"
62
+ },
63
+ {
64
+ "author": "beachball",
65
+ "package": "just-scripts",
66
+ "comment": "Bump just-task to v1.13.0",
67
+ "commit": "not available"
68
+ }
69
+ ]
70
+ }
71
+ },
72
+ {
73
+ "date": "Wed, 10 Dec 2025 20:30:20 GMT",
74
+ "version": "2.4.2",
75
+ "tag": "just-scripts_v2.4.2",
76
+ "comments": {
77
+ "none": [
78
+ {
79
+ "author": "elcraig@microsoft.com",
80
+ "package": "just-scripts",
81
+ "commit": "9b9fc4d4160579255203a78ec3f759952f661699",
82
+ "comment": "Update formatting"
83
+ }
84
+ ]
85
+ }
86
+ },
87
+ {
88
+ "date": "Mon, 27 Oct 2025 18:08:47 GMT",
6
89
  "version": "2.4.2",
7
90
  "tag": "just-scripts_v2.4.2",
8
91
  "comments": {
@@ -10,7 +93,7 @@
10
93
  {
11
94
  "author": "1581488+christiango@users.noreply.github.com",
12
95
  "package": "just-scripts",
13
- "commit": "a327543a7aeca4dba48ce3c32267c219a73e51d0",
96
+ "commit": "4ed33b039a77e01876ea1dc690df24ab8a92c104",
14
97
  "comment": "Add support for report-unused-disable-directives in the eslint task"
15
98
  }
16
99
  ]
package/CHANGELOG.md CHANGED
@@ -1,12 +1,37 @@
1
1
  # Change Log - just-scripts
2
2
 
3
- <!-- This log was last generated on Mon, 27 Oct 2025 17:54:42 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
+
23
+ ## 2.5.0
24
+
25
+ Thu, 11 Dec 2025 17:20:54 GMT
26
+
27
+ ### Minor changes
28
+
29
+ - Merge just-scripts-utils into this package (elcraig@microsoft.com)
30
+ - Bump just-task to v1.13.0
31
+
7
32
  ## 2.4.2
8
33
 
9
- Mon, 27 Oct 2025 17:54:42 GMT
34
+ Mon, 27 Oct 2025 18:08:47 GMT
10
35
 
11
36
  ### Patches
12
37
 
package/lib/index.d.ts CHANGED
@@ -22,5 +22,5 @@ import * as copyInstructions from './copy/CopyInstruction';
22
22
  export { CopyInstruction, CopyConfig } from './copy/CopyInstruction';
23
23
  export { copyInstructions };
24
24
  export * from 'just-task';
25
- export { spawn } from 'just-scripts-utils';
25
+ export { encodeArgs, spawn } from './utils';
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,eAAO,MAAM,eAAe;;;;;;CAM3B,CAAC;AAEF,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,CAAC;AAEF,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,eAAO,MAAM,eAAe;;;;;;CAM3B,CAAC;AAEF,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,CAAC;AAEF,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
package/lib/index.js CHANGED
@@ -10,7 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.spawn = exports.copyInstructions = exports.webpackMerge = exports.createStylesOverlay = exports.displayBailoutOverlay = exports.fileOverlay = exports.stylesOverlay = exports.htmlOverlay = exports.tsOverlay = exports.webpackOverlays = exports.taskPresets = void 0;
13
+ exports.spawn = exports.encodeArgs = exports.copyInstructions = exports.webpackMerge = exports.createStylesOverlay = exports.displayBailoutOverlay = exports.fileOverlay = exports.stylesOverlay = exports.htmlOverlay = exports.tsOverlay = exports.webpackOverlays = exports.taskPresets = void 0;
14
14
  __exportStar(require("./tasks"), exports);
15
15
  const taskPresets = require("./task-presets");
16
16
  exports.taskPresets = taskPresets;
@@ -40,6 +40,7 @@ exports.webpackMerge = webpackMerge;
40
40
  const copyInstructions = require("./copy/CopyInstruction");
41
41
  exports.copyInstructions = copyInstructions;
42
42
  __exportStar(require("just-task"), exports);
43
- var just_scripts_utils_1 = require("just-scripts-utils");
44
- Object.defineProperty(exports, "spawn", { enumerable: true, get: function () { return just_scripts_utils_1.spawn; } });
43
+ var utils_1 = require("./utils");
44
+ Object.defineProperty(exports, "encodeArgs", { enumerable: true, get: function () { return utils_1.encodeArgs; } });
45
+ Object.defineProperty(exports, "spawn", { enumerable: true, get: function () { return utils_1.spawn; } });
45
46
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,0CAAwB;AAExB,8CAA8C;AACrC,kCAAW;AAEpB,2DAAyC;AACzC,iEAA+C;AAE/C,+BAA+B;AAC/B,4DAA8G;AAe5G,0FAfO,qBAAS,OAeP;AAdX,gEAA6D;AAe3D,4FAfO,yBAAW,OAeP;AAdb,oEAAwG;AAetG,8FAfO,6BAAa,OAeP;AAGb,oGAlBsB,mCAAmB,OAkBtB;AAjBrB,gEAA6D;AAe3D,4FAfO,yBAAW,OAeP;AAdb,oFAAiF;AAe/E,sGAfO,6CAAqB,OAeP;AAbV,QAAA,eAAe,GAAG;IAC7B,UAAU,EAAE,qBAAS;IACrB,IAAI,EAAE,yBAAW;IACjB,MAAM,EAAE,6BAAa;IACrB,IAAI,EAAE,yBAAW;IACjB,cAAc,EAAE,6CAAqB;CACtC,CAAC;AAeF,8CAA8C;AACrC,oCAAY;AAErB,2DAA2D;AAElD,4CAAgB;AAEzB,4CAA0B;AAE1B,yDAA2C;AAAlC,2GAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,0CAAwB;AAExB,8CAA8C;AACrC,kCAAW;AAEpB,2DAAyC;AACzC,iEAA+C;AAE/C,+BAA+B;AAC/B,4DAA8G;AAe5G,0FAfO,qBAAS,OAeP;AAdX,gEAA6D;AAe3D,4FAfO,yBAAW,OAeP;AAdb,oEAAwG;AAetG,8FAfO,6BAAa,OAeP;AAGb,oGAlBsB,mCAAmB,OAkBtB;AAjBrB,gEAA6D;AAe3D,4FAfO,yBAAW,OAeP;AAdb,oFAAiF;AAe/E,sGAfO,6CAAqB,OAeP;AAbV,QAAA,eAAe,GAAG;IAC7B,UAAU,EAAE,qBAAS;IACrB,IAAI,EAAE,yBAAW;IACjB,MAAM,EAAE,6BAAa;IACrB,IAAI,EAAE,yBAAW;IACjB,cAAc,EAAE,6CAAqB;CACtC,CAAC;AAeF,8CAA8C;AACrC,oCAAY;AAErB,2DAA2D;AAElD,4CAAgB;AAEzB,4CAA0B;AAE1B,iCAA4C;AAAnC,mGAAA,UAAU,OAAA;AAAE,8FAAA,KAAK,OAAA"}
@@ -0,0 +1,16 @@
1
+ export interface Dependencies {
2
+ [key: string]: string;
3
+ }
4
+ export interface PackageJson {
5
+ name: string;
6
+ description?: string;
7
+ dependencies?: Dependencies;
8
+ devDependencies?: Dependencies;
9
+ keywords?: string;
10
+ just?: {
11
+ /** Stack that the package is tracking */
12
+ stack?: string;
13
+ };
14
+ [key: string]: any;
15
+ }
16
+ //# sourceMappingURL=PackageJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageJson.d.ts","sourceRoot":"","sources":["../../src/interfaces/PackageJson.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,yCAAyC;QACzC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PackageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageJson.js","sourceRoot":"","sources":["../../src/interfaces/PackageJson.ts"],"names":[],"mappings":""}
@@ -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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.eslintTask = void 0;
4
4
  const just_task_1 = require("just-task");
5
- const just_scripts_utils_1 = require("just-scripts-utils");
5
+ const utils_1 = require("../utils");
6
6
  const fs = require("fs");
7
7
  function eslintTask(options = {}) {
8
8
  return function eslint() {
@@ -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, just_scripts_utils_1.encodeArgs)(eslintArgs).join(' '));
41
- return (0, just_scripts_utils_1.spawn)(process.execPath, eslintArgs, { stdio: 'inherit', env });
42
- }
43
- else {
44
- return Promise.resolve();
40
+ (0, utils_1.logNodeCommand)(eslintArgs);
41
+ return (0, utils_1.spawn)(process.execPath, eslintArgs, { stdio: 'inherit', env });
45
42
  }
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":"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"}
@@ -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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.jestTask = void 0;
4
4
  const just_task_1 = require("just-task");
5
- const just_scripts_utils_1 = require("just-scripts-utils");
5
+ const utils_1 = require("../utils");
6
6
  const fs_1 = require("fs");
7
7
  const supportsColor = require("supports-color");
8
8
  function jestTask(options = {}) {
@@ -17,7 +17,7 @@ function jestTask(options = {}) {
17
17
  just_task_1.logger.verbose(`Using jest config file ${configFile}`);
18
18
  }
19
19
  else {
20
- const packageConfig = (0, just_scripts_utils_1.readPackageJson)(packageConfigPath);
20
+ const packageConfig = (0, utils_1.readPackageJson)(packageConfigPath);
21
21
  if (packageConfig && packageConfig.jest) {
22
22
  packageConfigExists = true;
23
23
  just_task_1.logger.verbose(`Using jest config from package.json`);
@@ -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, just_scripts_utils_1.encodeArgs)(args).join(' '));
51
- return (0, just_scripts_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"}
@@ -1,26 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.nodeExecTask = void 0;
4
- const just_scripts_utils_1 = require("just-scripts-utils");
4
+ 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, just_scripts_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,2DAA2C;AAC3C,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,0BAAK,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"}
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prettierCheckTask = exports.prettierTask = void 0;
4
4
  const just_task_1 = require("just-task");
5
- const just_scripts_utils_1 = require("just-scripts-utils");
5
+ const utils_1 = require("../utils");
6
6
  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,8 +44,8 @@ function runPrettierAsync(context) {
58
44
  ...(check ? ['--check'] : ['--write']),
59
45
  ...chunk,
60
46
  ];
61
- just_task_1.logger.info(process.execPath + ' ' + prettierArgs.join(' '));
62
- return finishPromise.then(() => (0, just_scripts_utils_1.spawn)(process.execPath, prettierArgs, { stdio: 'inherit' }));
47
+ (0, utils_1.logNodeCommand)(prettierArgs);
48
+ return finishPromise.then(() => (0, utils_1.spawn)(process.execPath, prettierArgs, { stdio: 'inherit' }));
63
49
  }, Promise.resolve());
64
50
  }
65
51
  //# sourceMappingURL=prettierTask.js.map
@@ -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"}