@servicetitan/startup 31.5.0 → 31.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 (143) hide show
  1. package/dist/cli/commands/build.d.ts +1 -1
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/bundle-package.d.ts +1 -1
  5. package/dist/cli/commands/bundle-package.d.ts.map +1 -1
  6. package/dist/cli/commands/bundle-package.js.map +1 -1
  7. package/dist/cli/commands/eslint.d.ts +1 -1
  8. package/dist/cli/commands/eslint.d.ts.map +1 -1
  9. package/dist/cli/commands/eslint.js.map +1 -1
  10. package/dist/cli/commands/get-command.js +2 -2
  11. package/dist/cli/commands/get-command.js.map +1 -1
  12. package/dist/cli/commands/index.d.ts +1 -1
  13. package/dist/cli/commands/index.d.ts.map +1 -1
  14. package/dist/cli/commands/index.js +1 -1
  15. package/dist/cli/commands/index.js.map +1 -1
  16. package/dist/cli/commands/init.d.ts +1 -1
  17. package/dist/cli/commands/init.d.ts.map +1 -1
  18. package/dist/cli/commands/init.js.map +1 -1
  19. package/dist/cli/commands/lint.d.ts +1 -1
  20. package/dist/cli/commands/lint.d.ts.map +1 -1
  21. package/dist/cli/commands/lint.js.map +1 -1
  22. package/dist/cli/commands/mfe-publish.d.ts +1 -1
  23. package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
  24. package/dist/cli/commands/mfe-publish.js.map +1 -1
  25. package/dist/cli/commands/prepare-package.d.ts +1 -1
  26. package/dist/cli/commands/prepare-package.d.ts.map +1 -1
  27. package/dist/cli/commands/prepare-package.js.map +1 -1
  28. package/dist/cli/commands/review/rules/index.d.ts.map +1 -1
  29. package/dist/cli/commands/review/rules/index.js +4 -0
  30. package/dist/cli/commands/review/rules/index.js.map +1 -1
  31. package/dist/cli/commands/review/rules/require-all-react-dependencies.d.ts +14 -0
  32. package/dist/cli/commands/review/rules/require-all-react-dependencies.d.ts.map +1 -0
  33. package/dist/cli/commands/review/rules/require-all-react-dependencies.js +64 -0
  34. package/dist/cli/commands/review/rules/require-all-react-dependencies.js.map +1 -0
  35. package/dist/cli/commands/review/rules/require-one-react-version.d.ts +5 -0
  36. package/dist/cli/commands/review/rules/require-one-react-version.d.ts.map +1 -0
  37. package/dist/cli/commands/review/rules/require-one-react-version.js +25 -0
  38. package/dist/cli/commands/review/rules/require-one-react-version.js.map +1 -0
  39. package/dist/cli/commands/review/rules/require-one-uikit-version.d.ts.map +1 -1
  40. package/dist/cli/commands/review/rules/require-one-uikit-version.js +1 -0
  41. package/dist/cli/commands/review/rules/require-one-uikit-version.js.map +1 -1
  42. package/dist/cli/commands/review/utils/format-depends-on.d.ts +1 -0
  43. package/dist/cli/commands/review/utils/format-depends-on.d.ts.map +1 -1
  44. package/dist/cli/commands/review/utils/format-depends-on.js +15 -8
  45. package/dist/cli/commands/review/utils/format-depends-on.js.map +1 -1
  46. package/dist/cli/commands/review/utils/set-version.d.ts +2 -1
  47. package/dist/cli/commands/review/utils/set-version.d.ts.map +1 -1
  48. package/dist/cli/commands/review/utils/set-version.js +4 -2
  49. package/dist/cli/commands/review/utils/set-version.js.map +1 -1
  50. package/dist/cli/commands/start.d.ts +1 -1
  51. package/dist/cli/commands/start.d.ts.map +1 -1
  52. package/dist/cli/commands/start.js.map +1 -1
  53. package/dist/cli/commands/test/index.d.ts +2 -0
  54. package/dist/cli/commands/test/index.d.ts.map +1 -0
  55. package/dist/cli/commands/test/index.js +20 -0
  56. package/dist/cli/commands/test/index.js.map +1 -0
  57. package/dist/cli/commands/test/runners/index.d.ts +3 -0
  58. package/dist/cli/commands/test/runners/index.d.ts.map +1 -0
  59. package/dist/cli/commands/test/runners/index.js +21 -0
  60. package/dist/cli/commands/test/runners/index.js.map +1 -0
  61. package/dist/cli/commands/test/runners/jest.d.ts +7 -0
  62. package/dist/cli/commands/test/runners/jest.d.ts.map +1 -0
  63. package/dist/cli/commands/test/runners/jest.js +43 -0
  64. package/dist/cli/commands/test/runners/jest.js.map +1 -0
  65. package/dist/cli/commands/test/runners/vitest.d.ts +4 -0
  66. package/dist/cli/commands/test/runners/vitest.d.ts.map +1 -0
  67. package/dist/cli/commands/test/runners/vitest.js +86 -0
  68. package/dist/cli/commands/test/runners/vitest.js.map +1 -0
  69. package/dist/cli/commands/test/tests.d.ts +18 -0
  70. package/dist/cli/commands/test/tests.d.ts.map +1 -0
  71. package/dist/cli/commands/{tests.js → test/tests.js} +10 -9
  72. package/dist/cli/commands/test/tests.js.map +1 -0
  73. package/dist/cli/utils/bundle.d.ts.map +1 -1
  74. package/dist/cli/utils/bundle.js +7 -4
  75. package/dist/cli/utils/bundle.js.map +1 -1
  76. package/dist/cli/utils/set-node-options.d.ts.map +1 -1
  77. package/dist/cli/utils/set-node-options.js.map +1 -1
  78. package/dist/index.d.ts +0 -1
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +0 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/utils/get-configuration.d.ts +8 -2
  83. package/dist/utils/get-configuration.d.ts.map +1 -1
  84. package/dist/utils/get-configuration.js +10 -2
  85. package/dist/utils/get-configuration.js.map +1 -1
  86. package/dist/utils/get-jest-config.d.ts +1 -7
  87. package/dist/utils/get-jest-config.d.ts.map +1 -1
  88. package/dist/utils/get-jest-config.js +49 -58
  89. package/dist/utils/get-jest-config.js.map +1 -1
  90. package/dist/webpack/create-webpack-config.js +1 -2
  91. package/dist/webpack/create-webpack-config.js.map +1 -1
  92. package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
  93. package/package.json +16 -14
  94. package/src/cli/commands/build.ts +1 -1
  95. package/src/cli/commands/bundle-package.ts +1 -1
  96. package/src/cli/commands/eslint.ts +1 -1
  97. package/src/cli/commands/get-command.ts +1 -1
  98. package/src/cli/commands/index.ts +1 -1
  99. package/src/cli/commands/init.ts +1 -1
  100. package/src/cli/commands/lint.ts +1 -1
  101. package/src/cli/commands/mfe-publish.ts +1 -1
  102. package/src/cli/commands/prepare-package.ts +1 -1
  103. package/src/cli/commands/review/rules/__tests__/require-all-react-dependencies.test.ts +132 -0
  104. package/src/cli/commands/review/rules/__tests__/require-one-package-version.test.ts +0 -1
  105. package/src/cli/commands/review/rules/__tests__/require-one-react-version.test.ts +22 -0
  106. package/src/cli/commands/review/rules/__tests__/{require-one-uikit-version.ts → require-one-uikit-version.test.ts} +1 -0
  107. package/src/cli/commands/review/rules/index.ts +4 -0
  108. package/src/cli/commands/review/rules/require-all-react-dependencies.ts +53 -0
  109. package/src/cli/commands/review/rules/require-one-react-version.ts +9 -0
  110. package/src/cli/commands/review/rules/require-one-uikit-version.ts +1 -0
  111. package/src/cli/commands/review/utils/__tests__/set-version.test.ts +18 -8
  112. package/src/cli/commands/review/utils/format-depends-on.ts +8 -5
  113. package/src/cli/commands/review/utils/set-version.ts +10 -2
  114. package/src/cli/commands/start.ts +1 -1
  115. package/src/cli/commands/test/__tests__/tests.test.ts +78 -0
  116. package/src/cli/commands/test/index.ts +1 -0
  117. package/src/cli/commands/{__tests__/tests.test.ts → test/runners/__tests__/jest.test.ts} +10 -13
  118. package/src/cli/commands/test/runners/__tests__/vitest.test.ts +150 -0
  119. package/src/cli/commands/test/runners/index.ts +2 -0
  120. package/src/cli/commands/{tests.ts → test/runners/jest.ts} +5 -16
  121. package/src/cli/commands/test/runners/vitest.ts +70 -0
  122. package/src/cli/commands/test/tests.ts +34 -0
  123. package/src/cli/utils/__tests__/bundle.test.ts +1 -1
  124. package/src/cli/utils/bundle.ts +8 -3
  125. package/src/cli/utils/set-node-options.ts +2 -2
  126. package/src/index.ts +0 -1
  127. package/src/utils/__tests__/get-configuration.test.ts +48 -11
  128. package/src/utils/__tests__/get-jest-config.test.ts +35 -61
  129. package/src/utils/get-configuration.ts +14 -3
  130. package/src/utils/get-jest-config.ts +39 -47
  131. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +1 -1
  132. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +1 -1
  133. package/src/webpack/__tests__/create-webpack-config.test.ts +1 -1
  134. package/src/webpack/create-webpack-config.ts +1 -2
  135. package/src/webpack/utils/testing/get-compiler.ts +1 -1
  136. package/dist/cli/commands/tests.d.ts +0 -13
  137. package/dist/cli/commands/tests.d.ts.map +0 -1
  138. package/dist/cli/commands/tests.js.map +0 -1
  139. package/dist/jest/index.d.ts +0 -2
  140. package/dist/jest/index.d.ts.map +0 -1
  141. package/dist/jest/index.js +0 -16
  142. package/dist/jest/index.js.map +0 -1
  143. package/src/jest/index.ts +0 -5
@@ -2,20 +2,27 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "formatDependsOn", {
6
- enumerable: true,
7
- get: function() {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get formatDependsOn () {
8
13
  return formatDependsOn;
14
+ },
15
+ get formatList () {
16
+ return formatList;
9
17
  }
10
18
  });
11
19
  const collator = new Intl.Collator();
12
20
  function formatDependsOn(dependents, dependency) {
13
21
  const { length } = dependents;
14
- if (length === 1) {
15
- return `${dependents[0]} depends on ${dependency}`;
16
- }
17
- const sorted = dependents.toSorted((a, b)=>collator.compare(a, b));
18
- return `${sorted.slice(0, -1).join(', ')} and ${sorted[length - 1]} depend on ${dependency}`;
22
+ return length === 1 ? `${dependents[0]} depends on ${dependency}` : `${formatList(dependents.toSorted((a, b)=>collator.compare(a, b)))} depend on ${dependency}`;
23
+ }
24
+ function formatList(items) {
25
+ return items.length > 1 ? `${items.slice(0, -1).join(', ')} and ${items[items.length - 1]}` : items[0];
19
26
  }
20
27
 
21
28
  //# sourceMappingURL=format-depends-on.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cli/commands/review/utils/format-depends-on.ts"],"sourcesContent":["const collator = new Intl.Collator();\n\nexport function formatDependsOn(dependents: string[], dependency: string) {\n const { length } = dependents;\n if (length === 1) {\n return `${dependents[0]} depends on ${dependency}`;\n }\n\n const sorted = dependents.toSorted((a, b) => collator.compare(a, b));\n return `${sorted.slice(0, -1).join(', ')} and ${sorted[length - 1]} depend on ${dependency}`;\n}\n"],"names":["formatDependsOn","collator","Intl","Collator","dependents","dependency","length","sorted","toSorted","a","b","compare","slice","join"],"mappings":";;;;+BAEgBA;;;eAAAA;;;AAFhB,MAAMC,WAAW,IAAIC,KAAKC,QAAQ;AAE3B,SAASH,gBAAgBI,UAAoB,EAAEC,UAAkB;IACpE,MAAM,EAAEC,MAAM,EAAE,GAAGF;IACnB,IAAIE,WAAW,GAAG;QACd,OAAO,GAAGF,UAAU,CAAC,EAAE,CAAC,YAAY,EAAEC,YAAY;IACtD;IAEA,MAAME,SAASH,WAAWI,QAAQ,CAAC,CAACC,GAAGC,IAAMT,SAASU,OAAO,CAACF,GAAGC;IACjE,OAAO,GAAGH,OAAOK,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC,MAAM,KAAK,EAAEN,MAAM,CAACD,SAAS,EAAE,CAAC,WAAW,EAAED,YAAY;AAChG"}
1
+ {"version":3,"sources":["../../../../../src/cli/commands/review/utils/format-depends-on.ts"],"sourcesContent":["const collator = new Intl.Collator();\n\nexport function formatDependsOn(dependents: string[], dependency: string) {\n const { length } = dependents;\n return length === 1\n ? `${dependents[0]} depends on ${dependency}`\n : `${formatList(dependents.toSorted((a, b) => collator.compare(a, b)))} depend on ${dependency}`;\n}\n\nexport function formatList(items: string[]) {\n return items.length > 1\n ? `${items.slice(0, -1).join(', ')} and ${items[items.length - 1]}`\n : items[0];\n}\n"],"names":["formatDependsOn","formatList","collator","Intl","Collator","dependents","dependency","length","toSorted","a","b","compare","items","slice","join"],"mappings":";;;;;;;;;;;QAEgBA;eAAAA;;QAOAC;eAAAA;;;AAThB,MAAMC,WAAW,IAAIC,KAAKC,QAAQ;AAE3B,SAASJ,gBAAgBK,UAAoB,EAAEC,UAAkB;IACpE,MAAM,EAAEC,MAAM,EAAE,GAAGF;IACnB,OAAOE,WAAW,IACZ,GAAGF,UAAU,CAAC,EAAE,CAAC,YAAY,EAAEC,YAAY,GAC3C,GAAGL,WAAWI,WAAWG,QAAQ,CAAC,CAACC,GAAGC,IAAMR,SAASS,OAAO,CAACF,GAAGC,KAAK,WAAW,EAAEJ,YAAY;AACxG;AAEO,SAASL,WAAWW,KAAe;IACtC,OAAOA,MAAML,MAAM,GAAG,IAChB,GAAGK,MAAMC,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC,MAAM,KAAK,EAAEF,KAAK,CAACA,MAAML,MAAM,GAAG,EAAE,EAAE,GACjEK,KAAK,CAAC,EAAE;AAClB"}
@@ -4,7 +4,8 @@ interface Params {
4
4
  packageName: string;
5
5
  dependency: string;
6
6
  version: string;
7
+ key?: string;
7
8
  }
8
- export declare function setVersion({ project: { packages }, packageName, dependency, version }: Params): void;
9
+ export declare function setVersion(params: Params): void;
9
10
  export {};
10
11
  //# sourceMappingURL=set-version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-version.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/utils/set-version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,UAAU,MAAM;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACnB;AACD,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,MAAM,QAc7F"}
1
+ {"version":3,"file":"set-version.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/utils/set-version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,UAAU,MAAM;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,QAoBxC"}
@@ -16,12 +16,14 @@ function _interop_require_default(obj) {
16
16
  default: obj
17
17
  };
18
18
  }
19
- function setVersion({ project: { packages }, packageName, dependency, version }) {
19
+ function setVersion(params) {
20
+ const { project: { packages }, packageName, dependency, version } = params;
20
21
  const pkg = packages.find(({ name })=>name === packageName);
21
22
  if (!pkg) {
22
23
  return;
23
24
  }
24
- const key = (0, _getkey.getKey)(pkg, dependency);
25
+ var _params_key;
26
+ const key = (_params_key = params.key) !== null && _params_key !== void 0 ? _params_key : (0, _getkey.getKey)(pkg, dependency);
25
27
  if (!key) {
26
28
  return;
27
29
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cli/commands/review/utils/set-version.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport path from 'path';\nimport { Project } from '../types';\nimport { getKey } from './get-key';\n\ninterface Params {\n project: Project;\n packageName: string;\n dependency: string;\n version: string;\n}\nexport function setVersion({ project: { packages }, packageName, dependency, version }: Params) {\n const pkg = packages.find(({ name }) => name === packageName);\n if (!pkg) {\n return;\n }\n\n const key = getKey(pkg, dependency);\n if (!key) {\n return;\n }\n\n const workspace = path.relative('.', pkg.location);\n const command = `npm pkg set ${key}[\"${dependency}\"]=\"${version}\"${workspace ? ` -w ${workspace}` : ''}`;\n execSync(command);\n}\n"],"names":["setVersion","project","packages","packageName","dependency","version","pkg","find","name","key","getKey","workspace","path","relative","location","command","execSync"],"mappings":";;;;+BAWgBA;;;eAAAA;;;+BAXS;6DACR;wBAEM;;;;;;AAQhB,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAE,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAU;IAC1F,MAAMC,MAAMJ,SAASK,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASL;IACjD,IAAI,CAACG,KAAK;QACN;IACJ;IAEA,MAAMG,MAAMC,IAAAA,cAAM,EAACJ,KAAKF;IACxB,IAAI,CAACK,KAAK;QACN;IACJ;IAEA,MAAME,YAAYC,aAAI,CAACC,QAAQ,CAAC,KAAKP,IAAIQ,QAAQ;IACjD,MAAMC,UAAU,CAAC,YAAY,EAAEN,IAAI,EAAE,EAAEL,WAAW,IAAI,EAAEC,QAAQ,CAAC,EAAEM,YAAY,CAAC,IAAI,EAAEA,WAAW,GAAG,IAAI;IACxGK,IAAAA,uBAAQ,EAACD;AACb"}
1
+ {"version":3,"sources":["../../../../../src/cli/commands/review/utils/set-version.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport path from 'path';\nimport { Project } from '../types';\nimport { getKey } from './get-key';\n\ninterface Params {\n project: Project;\n packageName: string;\n dependency: string;\n version: string;\n key?: string;\n}\n\nexport function setVersion(params: Params) {\n const {\n project: { packages },\n packageName,\n dependency,\n version,\n } = params;\n const pkg = packages.find(({ name }) => name === packageName);\n if (!pkg) {\n return;\n }\n\n const key = params.key ?? getKey(pkg, dependency);\n if (!key) {\n return;\n }\n\n const workspace = path.relative('.', pkg.location);\n const command = `npm pkg set ${key}[\"${dependency}\"]=\"${version}\"${workspace ? ` -w ${workspace}` : ''}`;\n execSync(command);\n}\n"],"names":["setVersion","params","project","packages","packageName","dependency","version","pkg","find","name","key","getKey","workspace","path","relative","location","command","execSync"],"mappings":";;;;+BAagBA;;;eAAAA;;;+BAbS;6DACR;wBAEM;;;;;;AAUhB,SAASA,WAAWC,MAAc;IACrC,MAAM,EACFC,SAAS,EAAEC,QAAQ,EAAE,EACrBC,WAAW,EACXC,UAAU,EACVC,OAAO,EACV,GAAGL;IACJ,MAAMM,MAAMJ,SAASK,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASL;IACjD,IAAI,CAACG,KAAK;QACN;IACJ;QAEYN;IAAZ,MAAMS,MAAMT,CAAAA,cAAAA,OAAOS,GAAG,cAAVT,yBAAAA,cAAcU,IAAAA,cAAM,EAACJ,KAAKF;IACtC,IAAI,CAACK,KAAK;QACN;IACJ;IAEA,MAAME,YAAYC,aAAI,CAACC,QAAQ,CAAC,KAAKP,IAAIQ,QAAQ;IACjD,MAAMC,UAAU,CAAC,YAAY,EAAEN,IAAI,EAAE,EAAEL,WAAW,IAAI,EAAEC,QAAQ,CAAC,EAAEM,YAAY,CAAC,IAAI,EAAEA,WAAW,GAAG,IAAI;IACxGK,IAAAA,uBAAQ,EAACD;AACb"}
@@ -7,7 +7,7 @@ interface Args {
7
7
  'use-tsc'?: boolean;
8
8
  }
9
9
  export declare class Start implements Command {
10
- private args;
10
+ private readonly args;
11
11
  readonly greedy = true;
12
12
  constructor(args: Args);
13
13
  description(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAYD,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;IAFxB,QAAQ,CAAC,MAAM,QAAQ;gBAEH,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CA+HhB"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAYD,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,MAAM,QAAQ;gBAEM,IAAI,EAAE,IAAI;IAEvC,WAAW;IAKL,OAAO;CA+HhB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n lernaExec,\n compile,\n typeCheck,\n pipeStdout,\n watchStdout,\n ProcessTree,\n} from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'use-tsc'?: boolean;\n}\n\nenum StartProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Start implements Command {\n readonly greedy = true;\n\n constructor(private args: Args) {}\n\n description() {\n return 'run project in development mode';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Compile, () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning('Compilation timeout exceeded. Proceeding without waiting.');\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n });\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', '--use-watch-config'],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args['code-coverage'] ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","StartProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","map","name","webpackScope","filter","processTree","ProcessTree","add","process","compile","watch","pipeStdout","onComplete","Promise","resolve","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","lernaExec","cmd","stream","dependsOn","typeCheck","config","undefined","item","run","greedy"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n lernaExec,\n compile,\n typeCheck,\n pipeStdout,\n watchStdout,\n ProcessTree,\n} from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'use-tsc'?: boolean;\n}\n\nenum StartProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Start implements Command {\n readonly greedy = true;\n\n constructor(private readonly args: Args) {}\n\n description() {\n return 'run project in development mode';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Compile, () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning('Compilation timeout exceeded. Proceeding without waiting.');\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n });\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', '--use-watch-config'],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args['code-coverage'] ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","StartProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","map","name","webpackScope","filter","processTree","ProcessTree","add","process","compile","watch","pipeStdout","onComplete","Promise","resolve","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","lernaExec","cmd","stream","dependsOn","typeCheck","config","undefined","item","run","greedy"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './tests';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./tests"), exports);
6
+ function _export_star(from, to) {
7
+ Object.keys(from).forEach(function(k) {
8
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
+ Object.defineProperty(to, k, {
10
+ enumerable: true,
11
+ get: function() {
12
+ return from[k];
13
+ }
14
+ });
15
+ }
16
+ });
17
+ return from;
18
+ }
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/commands/test/index.ts"],"sourcesContent":["export * from './tests';\n"],"names":[],"mappings":";;;;qBAAc"}
@@ -0,0 +1,3 @@
1
+ export * from './jest';
2
+ export * from './vitest';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/runners/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./jest"), exports);
6
+ _export_star(require("./vitest"), exports);
7
+ function _export_star(from, to) {
8
+ Object.keys(from).forEach(function(k) {
9
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
10
+ Object.defineProperty(to, k, {
11
+ enumerable: true,
12
+ get: function() {
13
+ return from[k];
14
+ }
15
+ });
16
+ }
17
+ });
18
+ return from;
19
+ }
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cli/commands/test/runners/index.ts"],"sourcesContent":["export * from './jest';\nexport * from './vitest';\n"],"names":[],"mappings":";;;;qBAAc;qBACA"}
@@ -0,0 +1,7 @@
1
+ import { Config } from '@jest/types';
2
+ export declare class Jest {
3
+ private readonly args;
4
+ constructor(args: Config.Argv);
5
+ run(): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=jest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/runners/jest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,qBAAa,IAAI;IACD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM,CAAC,IAAI;IAExC,GAAG;CAWZ"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Jest", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Jest;
9
+ }
10
+ });
11
+ const _core = require("@jest/core");
12
+ const _utils = require("../../../../utils");
13
+ function _define_property(obj, key, value) {
14
+ if (key in obj) {
15
+ Object.defineProperty(obj, key, {
16
+ value: value,
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true
20
+ });
21
+ } else {
22
+ obj[key] = value;
23
+ }
24
+ return obj;
25
+ }
26
+ class Jest {
27
+ async run() {
28
+ const jestConfig = (0, _utils.getJestConfigCLI)(this.args);
29
+ const { results: { success } } = await (0, _core.runCLI)(jestConfig, [
30
+ process.cwd()
31
+ ]);
32
+ if (!success) {
33
+ // eslint-disable-next-line require-atomic-updates
34
+ process.exitCode = 1;
35
+ }
36
+ }
37
+ constructor(args){
38
+ _define_property(this, "args", void 0);
39
+ this.args = args;
40
+ }
41
+ }
42
+
43
+ //# sourceMappingURL=jest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cli/commands/test/runners/jest.ts"],"sourcesContent":["import { runCLI } from '@jest/core';\nimport { Config } from '@jest/types';\nimport { getJestConfigCLI } from '../../../../utils';\n\nexport class Jest {\n constructor(private readonly args: Config.Argv) {}\n\n async run() {\n const jestConfig = getJestConfigCLI(this.args);\n const {\n results: { success },\n } = await runCLI(jestConfig, [process.cwd()]);\n\n if (!success) {\n // eslint-disable-next-line require-atomic-updates\n process.exitCode = 1;\n }\n }\n}\n"],"names":["Jest","run","jestConfig","getJestConfigCLI","args","results","success","runCLI","process","cwd","exitCode"],"mappings":";;;;+BAIaA;;;eAAAA;;;sBAJU;uBAEU;;;;;;;;;;;;;;AAE1B,MAAMA;IAGT,MAAMC,MAAM;QACR,MAAMC,aAAaC,IAAAA,uBAAgB,EAAC,IAAI,CAACC,IAAI;QAC7C,MAAM,EACFC,SAAS,EAAEC,OAAO,EAAE,EACvB,GAAG,MAAMC,IAAAA,YAAM,EAACL,YAAY;YAACM,QAAQC,GAAG;SAAG;QAE5C,IAAI,CAACH,SAAS;YACV,kDAAkD;YAClDE,QAAQE,QAAQ,GAAG;QACvB;IACJ;IAZA,YAAY,AAAiBN,IAAiB,CAAE;;aAAnBA,OAAAA;IAAoB;AAarD"}
@@ -0,0 +1,4 @@
1
+ export declare class Vitest {
2
+ run(): Promise<void>;
3
+ }
4
+ //# sourceMappingURL=vitest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/runners/vitest.ts"],"names":[],"mappings":"AAMA,qBAAa,MAAM;IACT,GAAG;CAQZ"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Vitest", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Vitest;
9
+ }
10
+ });
11
+ const _config = require("vitest/config");
12
+ const _node = require("vitest/node");
13
+ const _utils = require("../../../../utils");
14
+ class Vitest {
15
+ async run() {
16
+ const cliOptions = getCliOptions();
17
+ const userConfig = await getUserConfig();
18
+ // startVitest sets process.exitCode to 1 when tests fail
19
+ const vitest = await (0, _node.startVitest)('test', cliOptions.filter, cliOptions.options, userConfig);
20
+ await vitest.close();
21
+ }
22
+ }
23
+ const RUNNER_OPTION = '--runner';
24
+ function excludeRunnerOption(args) {
25
+ return args.reduce((result, item, index)=>{
26
+ if (!item.startsWith(RUNNER_OPTION) && (index === 0 || args[index - 1] !== RUNNER_OPTION)) {
27
+ result.push(item);
28
+ }
29
+ return result;
30
+ }, []);
31
+ }
32
+ function getCliOptions() {
33
+ // parseCLI requires the first element to be "vitest"
34
+ const result = (0, _node.parseCLI)([
35
+ 'vitest',
36
+ ...excludeRunnerOption(process.argv.slice(3))
37
+ ]);
38
+ /* istanbul ignore next: debug only */ _utils.log.debug('vitest:cliOptions', ()=>JSON.stringify(result, null, 2));
39
+ return result;
40
+ }
41
+ function getDefaultConfig() {
42
+ return {
43
+ coverage: {
44
+ exclude: [
45
+ ..._config.coverageConfigDefaults.exclude,
46
+ '**/__mocks__/**',
47
+ '**/*.stories.*',
48
+ '\\.yalc'
49
+ ],
50
+ include: [
51
+ '**/*.{ts,tsx}'
52
+ ],
53
+ reporter: [
54
+ 'html-spa',
55
+ 'text',
56
+ 'json',
57
+ 'cobertura',
58
+ 'lcov'
59
+ ]
60
+ },
61
+ environment: 'jsdom',
62
+ exclude: [
63
+ ..._config.configDefaults.exclude,
64
+ '\\.yalc'
65
+ ],
66
+ restoreMocks: true,
67
+ server: {
68
+ deps: {
69
+ inline: [
70
+ '@servicetitan/anvil2'
71
+ ]
72
+ }
73
+ }
74
+ };
75
+ }
76
+ async function getUserConfig() {
77
+ const { viteConfig } = await (0, _node.resolveConfig)();
78
+ var _viteConfig_test;
79
+ const result = (0, _config.mergeConfig)((0, _config.mergeConfig)(getDefaultConfig(), (0, _utils.getVitestConfiguration)()), (_viteConfig_test = viteConfig.test) !== null && _viteConfig_test !== void 0 ? _viteConfig_test : {});
80
+ /* istanbul ignore next: debug only */ _utils.log.debug('vitest:userConfig', ()=>JSON.stringify(result, null, 2));
81
+ return {
82
+ test: result
83
+ };
84
+ }
85
+
86
+ //# sourceMappingURL=vitest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cli/commands/test/runners/vitest.ts"],"sourcesContent":["import { configDefaults, coverageConfigDefaults, mergeConfig, ViteUserConfig } from 'vitest/config';\nimport { startVitest, parseCLI, resolveConfig } from 'vitest/node';\nimport { getVitestConfiguration, log } from '../../../../utils';\n\ntype VitestConfig = NonNullable<ViteUserConfig['test']>;\n\nexport class Vitest {\n async run() {\n const cliOptions = getCliOptions();\n const userConfig = await getUserConfig();\n\n // startVitest sets process.exitCode to 1 when tests fail\n const vitest = await startVitest('test', cliOptions.filter, cliOptions.options, userConfig);\n await vitest.close();\n }\n}\n\nconst RUNNER_OPTION = '--runner';\n\nfunction excludeRunnerOption(args: string[]) {\n return args.reduce<string[]>((result, item, index) => {\n if (!item.startsWith(RUNNER_OPTION) && (index === 0 || args[index - 1] !== RUNNER_OPTION)) {\n result.push(item);\n }\n return result;\n }, []);\n}\n\nfunction getCliOptions() {\n // parseCLI requires the first element to be \"vitest\"\n const result = parseCLI(['vitest', ...excludeRunnerOption(process.argv.slice(3))]);\n\n /* istanbul ignore next: debug only */\n log.debug('vitest:cliOptions', () => JSON.stringify(result, null, 2));\n\n return result;\n}\n\nfunction getDefaultConfig(): VitestConfig {\n return {\n coverage: {\n exclude: [\n ...coverageConfigDefaults.exclude,\n '**/__mocks__/**',\n '**/*.stories.*',\n '\\\\.yalc',\n ],\n include: ['**/*.{ts,tsx}'],\n reporter: ['html-spa', 'text', 'json', 'cobertura', 'lcov'],\n },\n environment: 'jsdom',\n exclude: [...configDefaults.exclude, '\\\\.yalc'],\n restoreMocks: true,\n server: { deps: { inline: ['@servicetitan/anvil2'] } }, // fixes css parser errors\n };\n}\n\nasync function getUserConfig(): Promise<ViteUserConfig> {\n const { viteConfig } = await resolveConfig();\n\n const result = mergeConfig(\n mergeConfig(getDefaultConfig(), getVitestConfiguration()),\n viteConfig.test ?? {}\n );\n\n /* istanbul ignore next: debug only */\n log.debug('vitest:userConfig', () => JSON.stringify(result, null, 2));\n\n return { test: result };\n}\n"],"names":["Vitest","run","cliOptions","getCliOptions","userConfig","getUserConfig","vitest","startVitest","filter","options","close","RUNNER_OPTION","excludeRunnerOption","args","reduce","result","item","index","startsWith","push","parseCLI","process","argv","slice","log","debug","JSON","stringify","getDefaultConfig","coverage","exclude","coverageConfigDefaults","include","reporter","environment","configDefaults","restoreMocks","server","deps","inline","viteConfig","resolveConfig","mergeConfig","getVitestConfiguration","test"],"mappings":";;;;+BAMaA;;;eAAAA;;;wBANuE;sBAC/B;uBACT;AAIrC,MAAMA;IACT,MAAMC,MAAM;QACR,MAAMC,aAAaC;QACnB,MAAMC,aAAa,MAAMC;QAEzB,yDAAyD;QACzD,MAAMC,SAAS,MAAMC,IAAAA,iBAAW,EAAC,QAAQL,WAAWM,MAAM,EAAEN,WAAWO,OAAO,EAAEL;QAChF,MAAME,OAAOI,KAAK;IACtB;AACJ;AAEA,MAAMC,gBAAgB;AAEtB,SAASC,oBAAoBC,IAAc;IACvC,OAAOA,KAAKC,MAAM,CAAW,CAACC,QAAQC,MAAMC;QACxC,IAAI,CAACD,KAAKE,UAAU,CAACP,kBAAmBM,CAAAA,UAAU,KAAKJ,IAAI,CAACI,QAAQ,EAAE,KAAKN,aAAY,GAAI;YACvFI,OAAOI,IAAI,CAACH;QAChB;QACA,OAAOD;IACX,GAAG,EAAE;AACT;AAEA,SAASZ;IACL,qDAAqD;IACrD,MAAMY,SAASK,IAAAA,cAAQ,EAAC;QAAC;WAAaR,oBAAoBS,QAAQC,IAAI,CAACC,KAAK,CAAC;KAAI;IAEjF,oCAAoC,GACpCC,UAAG,CAACC,KAAK,CAAC,qBAAqB,IAAMC,KAAKC,SAAS,CAACZ,QAAQ,MAAM;IAElE,OAAOA;AACX;AAEA,SAASa;IACL,OAAO;QACHC,UAAU;YACNC,SAAS;mBACFC,8BAAsB,CAACD,OAAO;gBACjC;gBACA;gBACA;aACH;YACDE,SAAS;gBAAC;aAAgB;YAC1BC,UAAU;gBAAC;gBAAY;gBAAQ;gBAAQ;gBAAa;aAAO;QAC/D;QACAC,aAAa;QACbJ,SAAS;eAAIK,sBAAc,CAACL,OAAO;YAAE;SAAU;QAC/CM,cAAc;QACdC,QAAQ;YAAEC,MAAM;gBAAEC,QAAQ;oBAAC;iBAAuB;YAAC;QAAE;IACzD;AACJ;AAEA,eAAelC;IACX,MAAM,EAAEmC,UAAU,EAAE,GAAG,MAAMC,IAAAA,mBAAa;QAItCD;IAFJ,MAAMzB,SAAS2B,IAAAA,mBAAW,EACtBA,IAAAA,mBAAW,EAACd,oBAAoBe,IAAAA,6BAAsB,MACtDH,CAAAA,mBAAAA,WAAWI,IAAI,cAAfJ,8BAAAA,mBAAmB,CAAC;IAGxB,oCAAoC,GACpChB,UAAG,CAACC,KAAK,CAAC,qBAAqB,IAAMC,KAAKC,SAAS,CAACZ,QAAQ,MAAM;IAElE,OAAO;QAAE6B,MAAM7B;IAAO;AAC1B"}
@@ -0,0 +1,18 @@
1
+ import { Config } from '@jest/types';
2
+ import { Command } from '../types';
3
+ type Args = Config.Argv & {
4
+ runner?: 'jest' | 'vitest';
5
+ };
6
+ /**
7
+ * This class is named "Tests" instead of "Test" because the corresponding
8
+ * "test.ts" would be interpreted as a test file.
9
+ */
10
+ export declare class Tests implements Command {
11
+ private readonly args;
12
+ readonly greedy = true;
13
+ constructor(args: Args);
14
+ description(): string;
15
+ execute(): Promise<void>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/test/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,KAAK,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,MAAM,QAAQ;gBAEM,IAAI,EAAE,IAAI;IAEvC,WAAW;IAKL,OAAO;CAUhB"}
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "Tests", {
8
8
  return Tests;
9
9
  }
10
10
  });
11
- const _core = require("@jest/core");
12
- const _utils = require("../../utils");
11
+ const _utils = require("../../../utils");
12
+ const _runners = require("./runners");
13
13
  function _define_property(obj, key, value) {
14
14
  if (key in obj) {
15
15
  Object.defineProperty(obj, key, {
@@ -37,13 +37,14 @@ class Tests {
37
37
  return 'run tests';
38
38
  }
39
39
  async execute() {
40
- const jestConfig = (0, _utils.getJestConfigCLI)(this.args);
41
- const { results: { success } } = await (0, _core.runCLI)(jestConfig, [
42
- process.cwd()
43
- ]);
44
- if (!success) {
45
- // eslint-disable-next-line require-atomic-updates
46
- process.exitCode = 1;
40
+ var _getConfiguration_testRunner;
41
+ const { runner = (_getConfiguration_testRunner = (0, _utils.getConfiguration)().testRunner) !== null && _getConfiguration_testRunner !== void 0 ? _getConfiguration_testRunner : 'jest', ...restArgs } = this.args;
42
+ if (runner === 'jest') {
43
+ await new _runners.Jest(restArgs).run();
44
+ } else if (runner === 'vitest') {
45
+ await new _runners.Vitest().run();
46
+ } else {
47
+ throw new Error(`unrecognized runner "${runner}"`);
47
48
  }
48
49
  }
49
50
  constructor(args){
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/commands/test/tests.ts"],"sourcesContent":["import { Config } from '@jest/types';\nimport { getConfiguration, logErrors } from '../../../utils';\nimport { Command } from '../types';\nimport { Jest, Vitest } from './runners';\n\ntype Args = Config.Argv & {\n runner?: 'jest' | 'vitest';\n};\n\n/**\n * This class is named \"Tests\" instead of \"Test\" because the corresponding\n * \"test.ts\" would be interpreted as a test file.\n */\nexport class Tests implements Command {\n readonly greedy = true;\n\n constructor(private readonly args: Args) {}\n\n description() {\n return 'run tests';\n }\n\n @logErrors\n async execute() {\n const { runner = getConfiguration().testRunner ?? 'jest', ...restArgs } = this.args;\n if (runner === 'jest') {\n await new Jest(restArgs).run();\n } else if (runner === 'vitest') {\n await new Vitest().run();\n } else {\n throw new Error(`unrecognized runner \"${runner}\"`);\n }\n }\n}\n"],"names":["Tests","description","execute","getConfiguration","runner","testRunner","restArgs","args","Jest","run","Vitest","Error","greedy"],"mappings":";;;;+BAaaA;;;eAAAA;;;uBAZ+B;yBAEf;;;;;;;;;;;;;;;;;;;;;;;AAUtB,MAAMA;IAKTC,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;YACKC;QAAjB,MAAM,EAAEC,SAASD,CAAAA,+BAAAA,IAAAA,uBAAgB,IAAGE,UAAU,cAA7BF,0CAAAA,+BAAiC,MAAM,EAAE,GAAGG,UAAU,GAAG,IAAI,CAACC,IAAI;QACnF,IAAIH,WAAW,QAAQ;YACnB,MAAM,IAAII,aAAI,CAACF,UAAUG,GAAG;QAChC,OAAO,IAAIL,WAAW,UAAU;YAC5B,MAAM,IAAIM,eAAM,GAAGD,GAAG;QAC1B,OAAO;YACH,MAAM,IAAIE,MAAM,CAAC,qBAAqB,EAAEP,OAAO,CAAC,CAAC;QACrD;IACJ;IAhBA,YAAY,AAAiBG,IAAU,CAAE;;QAFzC,uBAASK,UAAT,KAAA;aAE6BL,OAAAA;aAFpBK,SAAS;IAEwB;AAiB9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAKA,OAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAejD,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,0BAkCjD"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAKA,OAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAejD,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,0BAmCjD"}
@@ -58,7 +58,7 @@ async function bundle(options = {}) {
58
58
  fallback
59
59
  });
60
60
  const webpackOptions = getWebpackOptions(options, customConfig);
61
- _utils.log.debug('custom-webpack-config', ()=>(0, _utils1.stringifyConfig)(customConfig));
61
+ /* istanbul ignore next: debug only */ _utils.log.debug('custom-webpack-config', ()=>(0, _utils1.stringifyConfig)(customConfig));
62
62
  if ((0, _utils.isWebComponent)()) {
63
63
  return bundleWebComponent({
64
64
  customConfig,
@@ -131,7 +131,7 @@ function readConfig(relativePath) {
131
131
  }
132
132
  }
133
133
  async function run(config) {
134
- const compiler = (0, _webpack.default)(config);
134
+ const compiler = createWebpackCompiler(config);
135
135
  const stats = await new Promise((resolve, reject)=>{
136
136
  compiler.run((error, stats)=>{
137
137
  if (!stats || error) {
@@ -146,7 +146,7 @@ async function run(config) {
146
146
  process.stdout.write(stats.toString(config.stats) + '\n');
147
147
  }
148
148
  async function runServe({ devServer = {}, ...config }) {
149
- const compiler = (0, _webpack.default)(config);
149
+ const compiler = createWebpackCompiler(config);
150
150
  var _devServer_host;
151
151
  const host = (_devServer_host = devServer.host) !== null && _devServer_host !== void 0 ? _devServer_host : 'localhost';
152
152
  const port = await (0, _portfinder.getPortPromise)({
@@ -169,7 +169,7 @@ async function runServe({ devServer = {}, ...config }) {
169
169
  });
170
170
  }
171
171
  async function runWatch(config) {
172
- const compiler = (0, _webpack.default)(config);
172
+ const compiler = createWebpackCompiler(config);
173
173
  return new Promise((_0, reject)=>{
174
174
  const watching = compiler.watch({}, (e)=>{
175
175
  if (e) {
@@ -180,5 +180,8 @@ async function runWatch(config) {
180
180
  });
181
181
  });
182
182
  }
183
+ function createWebpackCompiler(config) {
184
+ return (0, _webpack.default)(config); // webpack only potentially returns null when given a callback argument
185
+ }
183
186
 
184
187
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/utils/bundle.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { getPortPromise } from 'portfinder';\n\nimport webpack, { Configuration } from 'webpack';\nimport WebpackDevServer from 'webpack-dev-server';\n\nimport {\n getPackageName,\n hasHeadlessBundle,\n isDevServerDisabled,\n isExposeSharedDependencies,\n isWebComponent,\n log,\n pick,\n} from '../../utils';\nimport { Overrides, createWebpackConfig } from '../../webpack';\nimport { stringifyConfig } from '../../webpack/utils';\n\ninterface Options {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\n emitExposedDependencies?: boolean | Pick<Configuration, 'output'>;\n useWatchConfig?: boolean;\n watch?: boolean;\n}\n\nfunction getName() {\n const packageName = getPackageName()\n .replace(/\\//g, '-')\n .replace(/[^\\w-]/g, '');\n const hash = crypto.randomBytes(4).toString('hex');\n\n return `${packageName}-${hash}`;\n}\n\nexport const webpackDevConfigFileName = 'webpack.dev.config.js';\nexport const webpackProdConfigFileName = 'webpack.prod.config.js';\n\nexport async function bundle(options: Options = {}) {\n const { emitExposedDependencies, useWatchConfig, watch } = options;\n if (emitExposedDependencies) {\n if (watch) {\n throw new Error('cannot bundle exposed dependencies in watch mode');\n }\n if (!isExposeSharedDependencies()) {\n return;\n }\n }\n\n log.info(`Bundling ${emitExposedDependencies ? 'exposed dependencies' : 'package'}...`);\n\n const mode = watch ? 'development' : 'production';\n const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;\n const customConfig = readWebpackConfig({ ...options, fallback });\n const webpackOptions = getWebpackOptions(options, customConfig);\n\n log.debug('custom-webpack-config', () => stringifyConfig(customConfig));\n\n if (isWebComponent()) {\n return bundleWebComponent({ customConfig, mode, watch, webpackOptions });\n }\n\n const config =\n customConfig && !emitExposedDependencies\n ? customConfig\n : createWebpackConfig({ configuration: { mode } }, webpackOptions);\n\n if (watch) {\n return isDevServerDisabled() ? runWatch(config) : runServe(config);\n }\n\n return run(config);\n}\n\nfunction bundleWebComponent({\n customConfig,\n mode,\n watch,\n webpackOptions,\n}: {\n customConfig: ReturnType<typeof readWebpackConfig>;\n mode: 'development' | 'production';\n watch?: boolean;\n webpackOptions: ReturnType<typeof getWebpackOptions>;\n}) {\n const overrides: Overrides = {\n configuration: { ...customConfig?.configuration, mode },\n plugins: customConfig?.plugins,\n };\n\n const fullConfig = createWebpackConfig(overrides, webpackOptions);\n const lightConfig = createWebpackConfig(overrides, { ...webpackOptions, embed: true });\n const headlessConfig = hasHeadlessBundle()\n ? createWebpackConfig(overrides, {\n ...webpackOptions,\n headless: true,\n })\n : undefined;\n\n const promises = watch\n ? [\n runWatch(lightConfig),\n isDevServerDisabled() ? runWatch(fullConfig) : runServe(fullConfig),\n headlessConfig && runWatch(headlessConfig),\n ]\n : [run(lightConfig), run(fullConfig), headlessConfig && run(headlessConfig)];\n\n return Promise.all(promises.filter(promise => !!promise));\n}\n\nfunction getWebpackOptions(options: Options, customConfig?: Record<string, any>) {\n const result = {\n name: getName(),\n ...pick(options, ['buildStat', 'codeCoverage', 'emitExposedDependencies']),\n };\n\n if (result.emitExposedDependencies && customConfig) {\n result.emitExposedDependencies = { output: customConfig.output };\n }\n\n return result;\n}\n\nfunction readWebpackConfig({ config, fallback }: Options & { fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n\nasync function run(config: Configuration) {\n const compiler = webpack(config);\n\n const stats = await new Promise<webpack.Stats>((resolve, reject) => {\n compiler.run((error, stats) => {\n if (!stats || error) {\n return reject(error ?? new Error('Something went wrong.'));\n }\n\n if (stats.hasErrors()) {\n return reject(new Error(stats.toString('errors-only')));\n }\n\n compiler.close(() => resolve(stats));\n });\n });\n\n process.stdout.write(stats.toString(config.stats) + '\\n');\n}\n\nasync function runServe({ devServer = {}, ...config }: Configuration) {\n const compiler = webpack(config);\n const host = devServer.host ?? 'localhost';\n const port = await getPortPromise({\n port: Number(devServer.port) || 8080,\n host,\n });\n\n return new Promise<void>((_0, reject) => {\n const server = new WebpackDevServer({ ...devServer, host, port }, compiler);\n server.startCallback(e => {\n if (e) {\n server.stopCallback(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nasync function runWatch(config: Configuration) {\n const compiler = webpack(config);\n return new Promise<void>((_0, reject) => {\n const watching = compiler.watch({}, e => {\n if (e) {\n watching.close(() => {\n reject(e);\n });\n }\n });\n });\n}\n"],"names":["bundle","webpackDevConfigFileName","webpackProdConfigFileName","getName","packageName","getPackageName","replace","hash","crypto","randomBytes","toString","options","emitExposedDependencies","useWatchConfig","watch","Error","isExposeSharedDependencies","log","info","mode","fallback","customConfig","readWebpackConfig","webpackOptions","getWebpackOptions","debug","stringifyConfig","isWebComponent","bundleWebComponent","config","createWebpackConfig","configuration","isDevServerDisabled","runWatch","runServe","run","overrides","plugins","fullConfig","lightConfig","embed","headlessConfig","hasHeadlessBundle","headless","undefined","promises","Promise","all","filter","promise","result","name","pick","output","readConfig","relativePath","fs","existsSync","require","path","resolve","compiler","webpack","stats","reject","error","hasErrors","close","process","stdout","write","devServer","host","port","getPortPromise","Number","_0","server","WebpackDevServer","startCallback","e","stopCallback","watching"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/utils/bundle.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { getPortPromise } from 'portfinder';\n\nimport webpack, { Configuration } from 'webpack';\nimport WebpackDevServer from 'webpack-dev-server';\n\nimport {\n getPackageName,\n hasHeadlessBundle,\n isDevServerDisabled,\n isExposeSharedDependencies,\n isWebComponent,\n log,\n pick,\n} from '../../utils';\nimport { Overrides, createWebpackConfig } from '../../webpack';\nimport { stringifyConfig } from '../../webpack/utils';\n\ninterface Options {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\n emitExposedDependencies?: boolean | Pick<Configuration, 'output'>;\n useWatchConfig?: boolean;\n watch?: boolean;\n}\n\nfunction getName() {\n const packageName = getPackageName()\n .replace(/\\//g, '-')\n .replace(/[^\\w-]/g, '');\n const hash = crypto.randomBytes(4).toString('hex');\n\n return `${packageName}-${hash}`;\n}\n\nexport const webpackDevConfigFileName = 'webpack.dev.config.js';\nexport const webpackProdConfigFileName = 'webpack.prod.config.js';\n\nexport async function bundle(options: Options = {}) {\n const { emitExposedDependencies, useWatchConfig, watch } = options;\n if (emitExposedDependencies) {\n if (watch) {\n throw new Error('cannot bundle exposed dependencies in watch mode');\n }\n if (!isExposeSharedDependencies()) {\n return;\n }\n }\n\n log.info(`Bundling ${emitExposedDependencies ? 'exposed dependencies' : 'package'}...`);\n\n const mode = watch ? 'development' : 'production';\n const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;\n const customConfig = readWebpackConfig({ ...options, fallback });\n const webpackOptions = getWebpackOptions(options, customConfig);\n\n /* istanbul ignore next: debug only */\n log.debug('custom-webpack-config', () => stringifyConfig(customConfig));\n\n if (isWebComponent()) {\n return bundleWebComponent({ customConfig, mode, watch, webpackOptions });\n }\n\n const config =\n customConfig && !emitExposedDependencies\n ? customConfig\n : createWebpackConfig({ configuration: { mode } }, webpackOptions);\n\n if (watch) {\n return isDevServerDisabled() ? runWatch(config) : runServe(config);\n }\n\n return run(config);\n}\n\nfunction bundleWebComponent({\n customConfig,\n mode,\n watch,\n webpackOptions,\n}: {\n customConfig: ReturnType<typeof readWebpackConfig>;\n mode: 'development' | 'production';\n watch?: boolean;\n webpackOptions: ReturnType<typeof getWebpackOptions>;\n}) {\n const overrides: Overrides = {\n configuration: { ...customConfig?.configuration, mode },\n plugins: customConfig?.plugins,\n };\n\n const fullConfig = createWebpackConfig(overrides, webpackOptions);\n const lightConfig = createWebpackConfig(overrides, { ...webpackOptions, embed: true });\n const headlessConfig = hasHeadlessBundle()\n ? createWebpackConfig(overrides, {\n ...webpackOptions,\n headless: true,\n })\n : undefined;\n\n const promises = watch\n ? [\n runWatch(lightConfig),\n isDevServerDisabled() ? runWatch(fullConfig) : runServe(fullConfig),\n headlessConfig && runWatch(headlessConfig),\n ]\n : [run(lightConfig), run(fullConfig), headlessConfig && run(headlessConfig)];\n\n return Promise.all(promises.filter(promise => !!promise));\n}\n\nfunction getWebpackOptions(options: Options, customConfig?: Record<string, any>) {\n const result = {\n name: getName(),\n ...pick(options, ['buildStat', 'codeCoverage', 'emitExposedDependencies']),\n };\n\n if (result.emitExposedDependencies && customConfig) {\n result.emitExposedDependencies = { output: customConfig.output };\n }\n\n return result;\n}\n\nfunction readWebpackConfig({ config, fallback }: Options & { fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n\nasync function run(config: Configuration) {\n const compiler = createWebpackCompiler(config);\n\n const stats = await new Promise<webpack.Stats>((resolve, reject) => {\n compiler.run((error, stats) => {\n if (!stats || error) {\n return reject(error ?? new Error('Something went wrong.'));\n }\n\n if (stats.hasErrors()) {\n return reject(new Error(stats.toString('errors-only')));\n }\n\n compiler.close(() => resolve(stats));\n });\n });\n\n process.stdout.write(stats.toString(config.stats) + '\\n');\n}\n\nasync function runServe({ devServer = {}, ...config }: Configuration) {\n const compiler = createWebpackCompiler(config);\n const host = devServer.host ?? 'localhost';\n const port = await getPortPromise({\n port: Number(devServer.port) || 8080,\n host,\n });\n\n return new Promise<void>((_0, reject) => {\n const server = new WebpackDevServer({ ...devServer, host, port }, compiler);\n server.startCallback(e => {\n if (e) {\n server.stopCallback(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nasync function runWatch(config: Configuration) {\n const compiler = createWebpackCompiler(config);\n return new Promise<void>((_0, reject) => {\n const watching = compiler.watch({}, e => {\n if (e) {\n watching.close(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nfunction createWebpackCompiler(config: Configuration) {\n return webpack(config)!; // webpack only potentially returns null when given a callback argument\n}\n"],"names":["bundle","webpackDevConfigFileName","webpackProdConfigFileName","getName","packageName","getPackageName","replace","hash","crypto","randomBytes","toString","options","emitExposedDependencies","useWatchConfig","watch","Error","isExposeSharedDependencies","log","info","mode","fallback","customConfig","readWebpackConfig","webpackOptions","getWebpackOptions","debug","stringifyConfig","isWebComponent","bundleWebComponent","config","createWebpackConfig","configuration","isDevServerDisabled","runWatch","runServe","run","overrides","plugins","fullConfig","lightConfig","embed","headlessConfig","hasHeadlessBundle","headless","undefined","promises","Promise","all","filter","promise","result","name","pick","output","readConfig","relativePath","fs","existsSync","require","path","resolve","compiler","createWebpackCompiler","stats","reject","error","hasErrors","close","process","stdout","write","devServer","host","port","getPortPromise","Number","_0","server","WebpackDevServer","startCallback","e","stopCallback","watching","webpack"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"set-node-options.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/set-node-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA2C,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,WAqBxE"}
1
+ {"version":3,"file":"set-node-options.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/set-node-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,WAqBxE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/utils/set-node-options.ts"],"sourcesContent":["import os from 'os';\nimport { CommandName, NodeConfiguration, getConfigurationSafe } from '../../utils';\nimport { Command } from '../commands';\n\nconst MAX_OLD_SPACE_SIZE_OPTION = 'max_old_space_size';\nconst DEFAULT_MAX_OLD_SPACE_SIZE_MB = 8192;\nconst MIN_REMAINING_MEMORY_MB = 512;\n\n/**\n * Apply global defaults and custom CLI configuration to process.env.NODE_OPTIONS\n * @param command - the command being executed\n * @returns whether process's NODE_OPTIONS were changed\n */\nexport function setNodeOptions(commandName: CommandName, command: Command) {\n const cliConfig = getConfigurationSafe();\n const cmdConfig: NodeConfiguration = cliConfig[commandName];\n\n const cliNodeOptions = cliConfig.NODE_OPTIONS ?? [];\n const cmdNodeOptions = cmdConfig?.NODE_OPTIONS ?? [];\n const oldNodeOptions = process.env.NODE_OPTIONS ?? '';\n\n const mergedOptions = [...cmdNodeOptions, ...cliNodeOptions]\n .reduce((result, option) => {\n return result.includes(option) ? result : `${result} ${option}`;\n }, oldNodeOptions)\n .trim();\n\n const newNodeOptions = ensureMaxOldSpaceSize(mergedOptions, command.greedy);\n if (newNodeOptions !== oldNodeOptions) {\n process.env.NODE_OPTIONS = newNodeOptions;\n return true;\n }\n\n return false;\n}\n\nfunction ensureMaxOldSpaceSize(nodeOptions: string, greedy?: boolean) {\n if (!greedy || nodeOptions.includes(MAX_OLD_SPACE_SIZE_OPTION)) {\n return nodeOptions;\n }\n\n return `--${MAX_OLD_SPACE_SIZE_OPTION}=${getMaxOldSpaceSize()} ${nodeOptions}`.trim();\n}\n\nfunction getMaxOldSpaceSize() {\n const totalMB = os.totalmem() / (1024 * 1024);\n return Math.min(DEFAULT_MAX_OLD_SPACE_SIZE_MB, Math.floor(totalMB - MIN_REMAINING_MEMORY_MB));\n}\n"],"names":["setNodeOptions","MAX_OLD_SPACE_SIZE_OPTION","DEFAULT_MAX_OLD_SPACE_SIZE_MB","MIN_REMAINING_MEMORY_MB","commandName","command","cliConfig","getConfigurationSafe","cmdConfig","cliNodeOptions","NODE_OPTIONS","cmdNodeOptions","process","oldNodeOptions","env","mergedOptions","reduce","result","option","includes","trim","newNodeOptions","ensureMaxOldSpaceSize","greedy","nodeOptions","getMaxOldSpaceSize","totalMB","os","totalmem","Math","min","floor"],"mappings":";;;;+BAagBA;;;eAAAA;;;2DAbD;uBACsD;;;;;;AAGrE,MAAMC,4BAA4B;AAClC,MAAMC,gCAAgC;AACtC,MAAMC,0BAA0B;AAOzB,SAASH,eAAeI,WAAwB,EAAEC,OAAgB;IACrE,MAAMC,YAAYC,IAAAA,2BAAoB;IACtC,MAAMC,YAA+BF,SAAS,CAACF,YAAY;QAEpCE;IAAvB,MAAMG,iBAAiBH,CAAAA,0BAAAA,UAAUI,YAAY,cAAtBJ,qCAAAA,0BAA0B,EAAE;QAC5BE;IAAvB,MAAMG,iBAAiBH,CAAAA,0BAAAA,sBAAAA,gCAAAA,UAAWE,YAAY,cAAvBF,qCAAAA,0BAA2B,EAAE;QAC7BI;IAAvB,MAAMC,iBAAiBD,CAAAA,4BAAAA,QAAQE,GAAG,CAACJ,YAAY,cAAxBE,uCAAAA,4BAA4B;IAEnD,MAAMG,gBAAgB;WAAIJ;WAAmBF;KAAe,CACvDO,MAAM,CAAC,CAACC,QAAQC;QACb,OAAOD,OAAOE,QAAQ,CAACD,UAAUD,SAAS,GAAGA,OAAO,CAAC,EAAEC,QAAQ;IACnE,GAAGL,gBACFO,IAAI;IAET,MAAMC,iBAAiBC,sBAAsBP,eAAeV,QAAQkB,MAAM;IAC1E,IAAIF,mBAAmBR,gBAAgB;QACnCD,QAAQE,GAAG,CAACJ,YAAY,GAAGW;QAC3B,OAAO;IACX;IAEA,OAAO;AACX;AAEA,SAASC,sBAAsBE,WAAmB,EAAED,MAAgB;IAChE,IAAI,CAACA,UAAUC,YAAYL,QAAQ,CAAClB,4BAA4B;QAC5D,OAAOuB;IACX;IAEA,OAAO,CAAC,EAAE,EAAEvB,0BAA0B,CAAC,EAAEwB,qBAAqB,CAAC,EAAED,aAAa,CAACJ,IAAI;AACvF;AAEA,SAASK;IACL,MAAMC,UAAUC,WAAE,CAACC,QAAQ,KAAM,CAAA,OAAO,IAAG;IAC3C,OAAOC,KAAKC,GAAG,CAAC5B,+BAA+B2B,KAAKE,KAAK,CAACL,UAAUvB;AACxE"}
1
+ {"version":3,"sources":["../../../src/cli/utils/set-node-options.ts"],"sourcesContent":["import os from 'os';\nimport { CommandName, getConfigurationSafe } from '../../utils';\nimport { Command } from '../commands';\n\nconst MAX_OLD_SPACE_SIZE_OPTION = 'max_old_space_size';\nconst DEFAULT_MAX_OLD_SPACE_SIZE_MB = 8192;\nconst MIN_REMAINING_MEMORY_MB = 512;\n\n/**\n * Apply global defaults and custom CLI configuration to process.env.NODE_OPTIONS\n * @param command - the command being executed\n * @returns whether process's NODE_OPTIONS were changed\n */\nexport function setNodeOptions(commandName: CommandName, command: Command) {\n const cliConfig = getConfigurationSafe();\n const cmdConfig = cliConfig[commandName];\n\n const cliNodeOptions = cliConfig.NODE_OPTIONS ?? [];\n const cmdNodeOptions = cmdConfig?.NODE_OPTIONS ?? [];\n const oldNodeOptions = process.env.NODE_OPTIONS ?? '';\n\n const mergedOptions = [...cmdNodeOptions, ...cliNodeOptions]\n .reduce((result, option) => {\n return result.includes(option) ? result : `${result} ${option}`;\n }, oldNodeOptions)\n .trim();\n\n const newNodeOptions = ensureMaxOldSpaceSize(mergedOptions, command.greedy);\n if (newNodeOptions !== oldNodeOptions) {\n process.env.NODE_OPTIONS = newNodeOptions;\n return true;\n }\n\n return false;\n}\n\nfunction ensureMaxOldSpaceSize(nodeOptions: string, greedy?: boolean) {\n if (!greedy || nodeOptions.includes(MAX_OLD_SPACE_SIZE_OPTION)) {\n return nodeOptions;\n }\n\n return `--${MAX_OLD_SPACE_SIZE_OPTION}=${getMaxOldSpaceSize()} ${nodeOptions}`.trim();\n}\n\nfunction getMaxOldSpaceSize() {\n const totalMB = os.totalmem() / (1024 * 1024);\n return Math.min(DEFAULT_MAX_OLD_SPACE_SIZE_MB, Math.floor(totalMB - MIN_REMAINING_MEMORY_MB));\n}\n"],"names":["setNodeOptions","MAX_OLD_SPACE_SIZE_OPTION","DEFAULT_MAX_OLD_SPACE_SIZE_MB","MIN_REMAINING_MEMORY_MB","commandName","command","cliConfig","getConfigurationSafe","cmdConfig","cliNodeOptions","NODE_OPTIONS","cmdNodeOptions","process","oldNodeOptions","env","mergedOptions","reduce","result","option","includes","trim","newNodeOptions","ensureMaxOldSpaceSize","greedy","nodeOptions","getMaxOldSpaceSize","totalMB","os","totalmem","Math","min","floor"],"mappings":";;;;+BAagBA;;;eAAAA;;;2DAbD;uBACmC;;;;;;AAGlD,MAAMC,4BAA4B;AAClC,MAAMC,gCAAgC;AACtC,MAAMC,0BAA0B;AAOzB,SAASH,eAAeI,WAAwB,EAAEC,OAAgB;IACrE,MAAMC,YAAYC,IAAAA,2BAAoB;IACtC,MAAMC,YAAYF,SAAS,CAACF,YAAY;QAEjBE;IAAvB,MAAMG,iBAAiBH,CAAAA,0BAAAA,UAAUI,YAAY,cAAtBJ,qCAAAA,0BAA0B,EAAE;QAC5BE;IAAvB,MAAMG,iBAAiBH,CAAAA,0BAAAA,sBAAAA,gCAAAA,UAAWE,YAAY,cAAvBF,qCAAAA,0BAA2B,EAAE;QAC7BI;IAAvB,MAAMC,iBAAiBD,CAAAA,4BAAAA,QAAQE,GAAG,CAACJ,YAAY,cAAxBE,uCAAAA,4BAA4B;IAEnD,MAAMG,gBAAgB;WAAIJ;WAAmBF;KAAe,CACvDO,MAAM,CAAC,CAACC,QAAQC;QACb,OAAOD,OAAOE,QAAQ,CAACD,UAAUD,SAAS,GAAGA,OAAO,CAAC,EAAEC,QAAQ;IACnE,GAAGL,gBACFO,IAAI;IAET,MAAMC,iBAAiBC,sBAAsBP,eAAeV,QAAQkB,MAAM;IAC1E,IAAIF,mBAAmBR,gBAAgB;QACnCD,QAAQE,GAAG,CAACJ,YAAY,GAAGW;QAC3B,OAAO;IACX;IAEA,OAAO;AACX;AAEA,SAASC,sBAAsBE,WAAmB,EAAED,MAAgB;IAChE,IAAI,CAACA,UAAUC,YAAYL,QAAQ,CAAClB,4BAA4B;QAC5D,OAAOuB;IACX;IAEA,OAAO,CAAC,EAAE,EAAEvB,0BAA0B,CAAC,EAAEwB,qBAAqB,CAAC,EAAED,aAAa,CAACJ,IAAI;AACvF;AAEA,SAASK;IACL,MAAMC,UAAUC,WAAE,CAACC,QAAQ,KAAM,CAAA,OAAO,IAAG;IAC3C,OAAOC,KAAKC,GAAG,CAAC5B,+BAA+B2B,KAAKE,KAAK,CAACL,UAAUvB;AACxE"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from './webpack';
2
- export * from './jest';
3
2
  export * from './utils/get-packages';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  _export_star(require("./webpack"), exports);
6
- _export_star(require("./jest"), exports);
7
6
  _export_star(require("./utils/get-packages"), exports);
8
7
  function _export_star(from, to) {
9
8
  Object.keys(from).forEach(function(k) {