@servicetitan/startup 23.0.0 → 23.1.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 (58) hide show
  1. package/dist/cli/commands/build.d.ts +1 -0
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +1 -0
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/bundle-package.d.ts +1 -0
  6. package/dist/cli/commands/bundle-package.d.ts.map +1 -1
  7. package/dist/cli/commands/bundle-package.js +1 -0
  8. package/dist/cli/commands/bundle-package.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts +8 -1
  10. package/dist/cli/commands/init.d.ts.map +1 -1
  11. package/dist/cli/commands/init.js +25 -3
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/start.d.ts +1 -0
  14. package/dist/cli/commands/start.d.ts.map +1 -1
  15. package/dist/cli/commands/start.js +1 -0
  16. package/dist/cli/commands/start.js.map +1 -1
  17. package/dist/cli/utils/bundle.d.ts +1 -0
  18. package/dist/cli/utils/bundle.d.ts.map +1 -1
  19. package/dist/cli/utils/bundle.js +11 -5
  20. package/dist/cli/utils/bundle.js.map +1 -1
  21. package/dist/utils/get-jest-config.js +1 -1
  22. package/dist/utils/get-jest-config.js.map +1 -1
  23. package/dist/webpack/configs/rules/tsx-rules.d.ts +1 -1
  24. package/dist/webpack/configs/rules/tsx-rules.d.ts.map +1 -1
  25. package/dist/webpack/configs/rules/tsx-rules.js +10 -8
  26. package/dist/webpack/configs/rules/tsx-rules.js.map +1 -1
  27. package/dist/webpack/configs/types.d.ts +1 -0
  28. package/dist/webpack/configs/types.d.ts.map +1 -1
  29. package/dist/webpack/create-webpack-config.d.ts.map +1 -1
  30. package/dist/webpack/create-webpack-config.js +2 -2
  31. package/dist/webpack/create-webpack-config.js.map +1 -1
  32. package/dist/webpack/types.d.ts +3 -2
  33. package/dist/webpack/types.d.ts.map +1 -1
  34. package/package.json +8 -7
  35. package/src/cli/commands/__tests__/build.test.ts +14 -0
  36. package/src/cli/commands/__tests__/init.test.ts +48 -17
  37. package/src/cli/commands/__tests__/start.test.ts +14 -0
  38. package/src/cli/commands/build.ts +2 -0
  39. package/src/cli/commands/bundle-package.ts +2 -0
  40. package/src/cli/commands/init.ts +26 -12
  41. package/src/cli/commands/start.ts +2 -0
  42. package/src/cli/utils/bundle.ts +14 -5
  43. package/src/utils/__tests__/get-jest-config.test.ts +1 -1
  44. package/src/utils/get-jest-config.ts +1 -1
  45. package/src/webpack/__tests__/create-webpack-config.test.ts +25 -3
  46. package/src/webpack/configs/rules/tsx-rules.ts +13 -9
  47. package/src/webpack/configs/types.ts +1 -0
  48. package/src/webpack/create-webpack-config.ts +3 -2
  49. package/src/webpack/types.ts +3 -2
  50. package/template/package.json +3 -3
  51. package/template/packages/application/package.json +6 -0
  52. package/template/packages/application/src/__tests__/app.test.tsx +1 -1
  53. package/template/packages/application/src/app.tsx +4 -3
  54. package/template-react18/packages/application/package.json +35 -0
  55. package/template-react18/packages/application/src/index.tsx +9 -0
  56. package/template-react18/packages/feature-a/package.json +19 -0
  57. package/template-react18/packages/feature-b/package.json +19 -0
  58. package/template-react18/packages/feature-c/package.json +19 -0
@@ -1,6 +1,7 @@
1
1
  import { Command } from '.';
2
2
  interface Args {
3
3
  'cdn-path'?: string;
4
+ 'code-coverage'?: boolean;
4
5
  'config'?: string;
5
6
  'esbuild'?: boolean;
6
7
  'experimental-bundlers'?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAkB,MAAM,GAAG,CAAC;AAE5C,UAAU,IAAI;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,KAAM,YAAW,OAAO;IACrB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAwChB"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAkB,MAAM,GAAG,CAAC;AAE5C,UAAU,IAAI;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,KAAM,YAAW,OAAO;IACrB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAyChB"}
@@ -60,6 +60,7 @@ class Build {
60
60
  'stream': true,
61
61
  '--': [
62
62
  ...[this.args.config ? `--config "${this.args.config}"` : undefined],
63
+ ...[this.args['code-coverage'] ? '--code-coverage' : undefined],
63
64
  ...[this.args.esbuild ? '--esbuild' : undefined],
64
65
  ...[this.args['experimental-bundlers'] ? '--experimental-bundlers' : undefined],
65
66
  ...[this.args.stat ? '--stat' : undefined],
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEpC,uCAAuF;AACvF,oCAA+B;AAC/B,wBAA4C;AAY5C,MAAa,KAAK;IACd,YAAoB,IAAU;;;;;mBAAV;;IAAa,CAAC;IAG5B,OAAO;;YACT,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAChC,IAAA,mBAAW,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACpE,CAAC;YACF,MAAM,uBAAuB,GAAG;gBAC5B,GAAG,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC;gBAC5B,GAAG,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC;aACnC,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACvD;YAED,IAAI,uBAAuB,CAAC,MAAM,EAAE;gBAChC,MAAM,IAAI,CAAC;oBACP,GAAG,EAAE,yBAAyB;oBAC9B,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;oBACtD,MAAM,EAAE,IAAI;iBACf,CAAC,CAAC;aACN;YAED,IAAI,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;gBAClC,MAAM,IAAA,WAAG,EAAC,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YAED,IAAI,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;gBACtC,MAAM,IAAA,iBAAc,GAAE,CAAC;gBACvB,MAAM,IAAI,CAAC;oBACP,KAAK,EAAE,wBAAwB;oBAC/B,OAAO,EAAE,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;oBAC9D,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE;wBACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;wBAChD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC/E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC7C,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC;aACN;QACL,CAAC;KAAA;CACJ;AAxCG;IADC,iBAAS;;;;oCAwCT;AA3CL,sBA4CC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEpC,uCAAuF;AACvF,oCAA+B;AAC/B,wBAA4C;AAa5C,MAAa,KAAK;IACd,YAAoB,IAAU;;;;;mBAAV;;IAAa,CAAC;IAG5B,OAAO;;YACT,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAChC,IAAA,mBAAW,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACpE,CAAC;YACF,MAAM,uBAAuB,GAAG;gBAC5B,GAAG,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC;gBAC5B,GAAG,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC;aACnC,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACvD;YAED,IAAI,uBAAuB,CAAC,MAAM,EAAE;gBAChC,MAAM,IAAI,CAAC;oBACP,GAAG,EAAE,yBAAyB;oBAC9B,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;oBACtD,MAAM,EAAE,IAAI;iBACf,CAAC,CAAC;aACN;YAED,IAAI,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;gBAClC,MAAM,IAAA,WAAG,EAAC,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YAED,IAAI,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;gBACtC,MAAM,IAAA,iBAAc,GAAE,CAAC;gBACvB,MAAM,IAAI,CAAC;oBACP,KAAK,EAAE,wBAAwB;oBAC/B,OAAO,EAAE,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;oBAC9D,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE;wBACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC/D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;wBAChD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC/E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC7C,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC;aACN;QACL,CAAC;KAAA;CACJ;AAzCG;IADC,iBAAS;;;;oCAyCT;AA5CL,sBA6CC"}
@@ -1,6 +1,7 @@
1
1
  import { Command } from '.';
2
2
  interface Args {
3
3
  'config'?: string;
4
+ 'code-coverage'?: boolean;
4
5
  'stat'?: boolean;
5
6
  'watch'?: boolean;
6
7
  'esbuild'?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAuBhB"}
1
+ {"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAwBhB"}
@@ -42,6 +42,7 @@ class BundlePackage {
42
42
  }
43
43
  const options = {
44
44
  config,
45
+ codeCoverage: this.args['code-coverage'],
45
46
  esbuild: this.args.esbuild,
46
47
  experimentalBundlers: this.args['experimental-bundlers'],
47
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-package.js","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,uCAA6C;AAC7C,oCAA8D;AAW9D,MAAa,aAAa;IACtB,YAAoB,IAAU;;;;;mBAAV;;IAAa,CAAC;IAG5B,OAAO;;YACT,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YAElD,IAAI,IAAA,qBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACzE,WAAG,CAAC,OAAO,CACP,UAAU,EACV,gIAAgI,EAChI,SAAS,CACZ,CAAC;aACL;YAED,MAAM,OAAO,GAAG;gBACZ,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAC1B,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;aAC3D,CAAC;YAEF,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAA,cAAM,kBAAG,SAAS,EAAE,IAAI,IAAK,OAAO,EAAG,CAAC;aACjD;iBAAM;gBACH,MAAM,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;aAC9B;QACL,CAAC;KAAA;CACJ;AAvBG;IADC,iBAAS;;;;4CAuBT;AA1BL,sCA2BC"}
1
+ {"version":3,"file":"bundle-package.js","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,uCAA6C;AAC7C,oCAA8D;AAY9D,MAAa,aAAa;IACtB,YAAoB,IAAU;;;;;mBAAV;;IAAa,CAAC;IAG5B,OAAO;;YACT,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YAElD,IAAI,IAAA,qBAAa,EAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACzE,WAAG,CAAC,OAAO,CACP,UAAU,EACV,gIAAgI,EAChI,SAAS,CACZ,CAAC;aACL;YAED,MAAM,OAAO,GAAG;gBACZ,MAAM;gBACN,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAC1B,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;aAC3D,CAAC;YAEF,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAA,cAAM,kBAAG,SAAS,EAAE,IAAI,IAAK,OAAO,EAAG,CAAC;aACjD;iBAAM;gBACH,MAAM,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;aAC9B;QACL,CAAC;KAAA;CACJ;AAxBG;IADC,iBAAS;;;;4CAwBT;AA3BL,sCA4BC"}
@@ -1,5 +1,12 @@
1
- import { Command } from '.';
1
+ import { Command } from './';
2
+ interface Args {
3
+ react18?: boolean;
4
+ output?: string;
5
+ }
2
6
  export declare class Init implements Command {
7
+ private args;
8
+ constructor(args: Args);
3
9
  execute(): Promise<void>;
4
10
  }
11
+ export {};
5
12
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,qBAAa,IAAK,YAAW,OAAO;IAE1B,OAAO;CAahB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,UAAU,IAAI;IACV,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,IAAK,YAAW,OAAO;IACpB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAgBhB"}
@@ -28,12 +28,29 @@ const util_1 = __importDefault(require("util"));
28
28
  const path_1 = __importDefault(require("path"));
29
29
  const utils_1 = require("../../utils");
30
30
  class Init {
31
+ constructor(args) {
32
+ Object.defineProperty(this, "args", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: args
37
+ });
38
+ }
31
39
  execute() {
40
+ var _a;
32
41
  return __awaiter(this, void 0, void 0, function* () {
33
- yield util_1.default.promisify(cpx_1.default.copy)(path_1.default.resolve(__dirname, '../../../template/**/{.*,*,.*/*}'), process.cwd());
34
- if (fs_1.default.existsSync(path_1.default.join(process.cwd(), '.npmignore'))) {
35
- fs_1.default.renameSync(path_1.default.join(process.cwd(), '.npmignore'), path_1.default.join(process.cwd(), '.gitignore'));
42
+ const destination = path_1.default.resolve((_a = this.args.output) !== null && _a !== void 0 ? _a : '.');
43
+ if (!fs_1.default.existsSync(destination)) {
44
+ fs_1.default.mkdirSync(destination, { recursive: true });
45
+ }
46
+ else if (!fs_1.default.lstatSync(destination).isDirectory()) {
47
+ throw new Error(`${destination} is not a directory`);
36
48
  }
49
+ yield copyFiles('template', destination);
50
+ if (this.args.react18) {
51
+ yield copyFiles('template-react18', destination);
52
+ }
53
+ utils_1.log.info(`copied${this.args.react18 ? ' React 18' : ''} template to ${destination}`);
37
54
  });
38
55
  }
39
56
  }
@@ -44,4 +61,9 @@ __decorate([
44
61
  __metadata("design:returntype", Promise)
45
62
  ], Init.prototype, "execute", null);
46
63
  exports.Init = Init;
64
+ function copyFiles(from, to) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ yield util_1.default.promisify(cpx_1.default.copy)(path_1.default.resolve(__dirname, `../../../${from}/**/{.*,*,.*/*}`), to);
67
+ });
68
+ }
47
69
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AACxB,gDAAwB;AAExB,uCAAwC;AAGxC,MAAa,IAAI;IAEP,OAAO;;YACT,MAAM,cAAI,CAAC,SAAS,CAAC,aAAG,CAAC,IAAI,CAAC,CAC1B,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC,EAC3D,OAAO,CAAC,GAAG,EAAE,CAChB,CAAC;YAEF,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC,EAAE;gBACvD,YAAE,CAAC,UAAU,CACT,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,EACtC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CACzC,CAAC;aACL;QACL,CAAC;KAAA;CACJ;AAbG;IADC,iBAAS;;;;mCAaT;AAdL,oBAeC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AACxB,gDAAwB;AAExB,uCAA6C;AAQ7C,MAAa,IAAI;IACb,YAAoB,IAAU;;;;;mBAAV;;IAAa,CAAC;IAG5B,OAAO;;;YACT,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,mCAAI,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;gBAC7B,YAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;aAClD;iBAAM,IAAI,CAAC,YAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,qBAAqB,CAAC,CAAC;aACxD;YAED,MAAM,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEzC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnB,MAAM,SAAS,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;aACpD;YAED,WAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,WAAW,EAAE,CAAC,CAAC;;KACxF;CACJ;AAhBG;IADC,iBAAS;;;;mCAgBT;AAnBL,oBAoBC;AAED,SAAe,SAAS,CAAC,IAAY,EAAE,EAAU;;QAC7C,MAAM,cAAI,CAAC,SAAS,CAAC,aAAG,CAAC,IAAI,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,IAAI,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC;CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Command } from '.';
2
2
  interface Args {
3
3
  'config'?: string;
4
+ 'code-coverage'?: boolean;
4
5
  'esbuild'?: boolean;
5
6
  'experimental-bundlers'?: boolean;
6
7
  'ignore'?: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,qBAAa,KAAM,YAAW,OAAO;IACrB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAsDhB"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,qBAAa,KAAM,YAAW,OAAO;IACrB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAuDhB"}
@@ -71,6 +71,7 @@ class Start {
71
71
  '--': [
72
72
  '--watch',
73
73
  this.args.config ? `--config "${this.args.config}"` : undefined,
74
+ this.args['code-coverage'] ? '--code-coverage' : undefined,
74
75
  this.args.esbuild ? '--esbuild' : undefined,
75
76
  this.args['experimental-bundlers']
76
77
  ? '--experimental-bundlers'
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEpC,uCAAuF;AACvF,oCAAyC;AAWzC,MAAa,KAAK;IACd,YAAoB,IAAU;;;;;mBAAV;;IAAa,CAAC;IAG5B,OAAO;;YACT,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAChC,IAAA,mBAAW,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACpE,CAAC;YACF,MAAM,uBAAuB,GAAG;gBAC5B,GAAG,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC;gBAC5B,GAAG,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC;aACnC,CAAC;YAEF,IAAI,uBAAuB,CAAC,MAAM,EAAE;gBAChC,MAAM,IAAI,CAAC;oBACP,GAAG,EAAE,yBAAyB;oBAC9B,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;oBACtD,MAAM,EAAE,IAAI;iBACf,CAAC,CAAC;aACN;YAED,IAAI,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;gBAClC,MAAM,IAAA,WAAG,EAAC,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YAED,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,GAAG,CAAC,uBAAuB,CAAC,MAAM;oBAC9B,CAAC,CAAC;wBACI,IAAI,CAAC;4BACD,KAAK,EAAE,yBAAyB;4BAChC,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;4BACxD,UAAU,EAAE,IAAI;4BAChB,QAAQ,EAAE,IAAI;4BACd,IAAI,EAAE,CAAC,SAAS,CAAC;yBACpB,CAAC;qBACL;oBACH,CAAC,CAAC,EAAE,CAAC;gBACT,GAAG,CAAC,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,QAAQ,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,MAAM;oBACpC,CAAC,CAAC;wBACI,IAAI,CAAC;4BACD,KAAK,EAAE,wBAAwB;4BAC/B,OAAO,EAAE,QAAQ,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;4BAC9D,UAAU,EAAE,IAAI;4BAChB,QAAQ,EAAE,IAAI;4BACd,IAAI,EAAE;gCACF,SAAS;gCACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS;gCAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gCAC3C,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;oCAC9B,CAAC,CAAC,yBAAyB;oCAC3B,CAAC,CAAC,SAAS;6BAClB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;yBACzB,CAAC;qBACL;oBACH,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;QACP,CAAC;KAAA;CACJ;AAtDG;IADC,iBAAS;;;;oCAsDT;AAzDL,sBA0DC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  interface Options {
2
2
  buildStat?: boolean;
3
+ codeCoverage?: boolean;
3
4
  config?: string;
4
5
  esbuild?: boolean;
5
6
  experimentalBundlers?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAWA,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,gCA4CjD;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,OAAY,gCAoEtD"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAWA,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,gCA4CjD;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,OAAY,gCA4EtD"}
@@ -48,7 +48,7 @@ function bundle(options = {}) {
48
48
  const mode = 'production';
49
49
  const fallback = `./${exports.webpackProdConfigFileName}`;
50
50
  const config = readWebpackConfig(Object.assign(Object.assign({}, options), { fallback }));
51
- const { buildStat, esbuild, experimentalBundlers } = options;
51
+ const { buildStat, codeCoverage, esbuild, experimentalBundlers } = options;
52
52
  const run = (config) => __awaiter(this, void 0, void 0, function* () {
53
53
  const compiler = (0, webpack_1.default)(config);
54
54
  const stats = yield new Promise((resolve, reject) => {
@@ -64,7 +64,7 @@ function bundle(options = {}) {
64
64
  });
65
65
  process.stdout.write(stats.toString(config.stats) + '\n');
66
66
  });
67
- const webpackOptions = { name, buildStat, esbuild, experimentalBundlers };
67
+ const webpackOptions = { name, buildStat, codeCoverage, esbuild, experimentalBundlers };
68
68
  if ((0, utils_1.isWebComponent)()) {
69
69
  const webpackConfig = {
70
70
  configuration: Object.assign(Object.assign({}, config === null || config === void 0 ? void 0 : config.configuration), { mode }),
@@ -85,7 +85,7 @@ function bundleWatch(options = {}) {
85
85
  const name = getName();
86
86
  const mode = 'development';
87
87
  const config = readWebpackConfig(Object.assign(Object.assign({}, options), { fallback: `./${exports.webpackDevConfigFileName}` }));
88
- const { esbuild, experimentalBundlers } = options;
88
+ const { codeCoverage, esbuild, experimentalBundlers } = options;
89
89
  const runServe = (_a) => { var _b, _c; return __awaiter(this, void 0, void 0, function* () {
90
90
  var { devServer = {} } = _a, config = __rest(_a, ["devServer"]);
91
91
  const compiler = (0, webpack_1.default)(config);
@@ -124,15 +124,21 @@ function bundleWatch(options = {}) {
124
124
  };
125
125
  return Promise.all([
126
126
  run((0, webpack_2.createWebpackConfig)(webpackConfig, {
127
+ codeCoverage,
127
128
  embed: true,
128
129
  name,
129
130
  esbuild,
130
131
  experimentalBundlers,
131
132
  })),
132
- runServe((0, webpack_2.createWebpackConfig)(webpackConfig, { name, esbuild, experimentalBundlers })),
133
+ runServe((0, webpack_2.createWebpackConfig)(webpackConfig, {
134
+ name,
135
+ codeCoverage,
136
+ esbuild,
137
+ experimentalBundlers,
138
+ })),
133
139
  ]);
134
140
  }
135
- return runServe(config !== null && config !== void 0 ? config : (0, webpack_2.createWebpackConfig)({ configuration: { mode } }, { name, esbuild, experimentalBundlers }));
141
+ return runServe(config !== null && config !== void 0 ? config : (0, webpack_2.createWebpackConfig)({ configuration: { mode } }, { name, codeCoverage, esbuild, experimentalBundlers }));
136
142
  });
137
143
  }
138
144
  exports.bundleWatch = bundleWatch;
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ const getJestConfigBase = ({ coveragePathIgnorePatterns = [], setupFiles = [], t
34
34
  verbose: true,
35
35
  testEnvironment: 'jsdom',
36
36
  testRunner: 'jest-circus/runner',
37
- transformIgnorePatterns: ['node_modules/(?!(@servicetitan|@react-hook|nanoid)/)'],
37
+ transformIgnorePatterns: ['node_modules/(?!(@servicetitan|@react-hook|nanoid|axios)/)'],
38
38
  modulePathIgnorePatterns: ['<rootDir>/.*/__mocks__'],
39
39
  transform,
40
40
  moduleNameMapper,
@@ -1 +1 @@
1
- {"version":3,"file":"get-jest-config.js","sourceRoot":"","sources":["../../src/utils/get-jest-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,2DAA8E;AAC9E,uEAAkE;AAClE,yCAAqC;AAErC,MAAM,iBAAiB,GAAG,CAAC,EACvB,0BAA0B,GAAG,EAAE,EAC/B,UAAU,GAAG,EAAE,EACf,sBAAsB,GAAG,EAAE,GAK9B,EAAE,EAAE;IACD,MAAM,SAAS,GAAG;QACd,aAAa,EAAE;YACX,YAAY;YACZ,EAAE,OAAO,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE;SACzE;QACD,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;KACnE,CAAC;IACF,MAAM,gBAAgB,GAAG;QACrB,iEAAiE,EAAE,oBAAoB;KAC1F,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,OAAO;QACxB,UAAU,EAAE,oBAAoB;QAChC,uBAAuB,EAAE,CAAC,sDAAsD,CAAC;QACjF,wBAAwB,EAAE,CAAC,wBAAwB,CAAC;QACpD,SAAS;QACT,gBAAgB;QAChB,sBAAsB,EAAE;YACpB,SAAS;YACT,GAAG,IAAA,+CAAqB,GAAE;YAC1B,GAAG,IAAA,kBAAO,EAAC,sBAAsB,CAAC;SACrC;QACD,UAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,GAAG,IAAA,kBAAO,EAAC,UAAU,CAAC,CAAC;QACjF,0BAA0B,EAAE,CAAC,eAAe,EAAE,GAAG,0BAA0B,CAAC;QAC5E,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC;QACpE,mBAAmB,EAAE,CAAC,eAAe,CAAC;KACzC,CAAC;AACN,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,aAAa,GAAG,GAAsB,EAAE;IACjD,MAAM,KACF,IAAA,wCAAoB,GAAyB,EAD3C,EAAE,0BAA0B,EAAE,UAAU,EAAE,sBAAsB,OACrB,EAD0B,MAAM,cAA3E,sEAA6E,CAClC,CAAC;IAClD,uCACO,iBAAiB,CAAC;QACjB,0BAA0B;QAC1B,UAAU;QACV,sBAAsB;KACzB,CAAC,GACC,MAAM,EACX;AACN,CAAC,CAAC;AAXW,QAAA,aAAa,iBAWxB;AAEF;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,IAAiB,EAAe,EAAE;IAC/D,MAAM,qCACC,IAAA,wCAAoB,GAAE,GACtB,IAAI,CACV,EAHK,EAAE,0BAA0B,EAAE,UAAU,EAAE,sBAAsB,EAAE,OAAO,OAG9E,EAHmF,MAAM,cAApF,iFAAsF,CAG3F,CAAC;IAEF,MAAM,KAAgE,iBAAiB,CAAC;QACpF,0BAA0B;QAC1B,UAAU;QACV,sBAAsB;KACzB,CAAC,EAJI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,SAAS,OAItD,EAJ2D,IAAI,cAA3D,wDAA6D,CAIjE,CAAC;IAEH,qCACI,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EACxD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAChC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAClD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IACjC,IAAI,GACJ,MAAM,EACX;AACN,CAAC,CAAC;AApBW,QAAA,gBAAgB,oBAoB3B"}
1
+ {"version":3,"file":"get-jest-config.js","sourceRoot":"","sources":["../../src/utils/get-jest-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,2DAA8E;AAC9E,uEAAkE;AAClE,yCAAqC;AAErC,MAAM,iBAAiB,GAAG,CAAC,EACvB,0BAA0B,GAAG,EAAE,EAC/B,UAAU,GAAG,EAAE,EACf,sBAAsB,GAAG,EAAE,GAK9B,EAAE,EAAE;IACD,MAAM,SAAS,GAAG;QACd,aAAa,EAAE;YACX,YAAY;YACZ,EAAE,OAAO,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE;SACzE;QACD,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;KACnE,CAAC;IACF,MAAM,gBAAgB,GAAG;QACrB,iEAAiE,EAAE,oBAAoB;KAC1F,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,OAAO;QACxB,UAAU,EAAE,oBAAoB;QAChC,uBAAuB,EAAE,CAAC,4DAA4D,CAAC;QACvF,wBAAwB,EAAE,CAAC,wBAAwB,CAAC;QACpD,SAAS;QACT,gBAAgB;QAChB,sBAAsB,EAAE;YACpB,SAAS;YACT,GAAG,IAAA,+CAAqB,GAAE;YAC1B,GAAG,IAAA,kBAAO,EAAC,sBAAsB,CAAC;SACrC;QACD,UAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,GAAG,IAAA,kBAAO,EAAC,UAAU,CAAC,CAAC;QACjF,0BAA0B,EAAE,CAAC,eAAe,EAAE,GAAG,0BAA0B,CAAC;QAC5E,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC;QACpE,mBAAmB,EAAE,CAAC,eAAe,CAAC;KACzC,CAAC;AACN,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,aAAa,GAAG,GAAsB,EAAE;IACjD,MAAM,KACF,IAAA,wCAAoB,GAAyB,EAD3C,EAAE,0BAA0B,EAAE,UAAU,EAAE,sBAAsB,OACrB,EAD0B,MAAM,cAA3E,sEAA6E,CAClC,CAAC;IAClD,uCACO,iBAAiB,CAAC;QACjB,0BAA0B;QAC1B,UAAU;QACV,sBAAsB;KACzB,CAAC,GACC,MAAM,EACX;AACN,CAAC,CAAC;AAXW,QAAA,aAAa,iBAWxB;AAEF;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,IAAiB,EAAe,EAAE;IAC/D,MAAM,qCACC,IAAA,wCAAoB,GAAE,GACtB,IAAI,CACV,EAHK,EAAE,0BAA0B,EAAE,UAAU,EAAE,sBAAsB,EAAE,OAAO,OAG9E,EAHmF,MAAM,cAApF,iFAAsF,CAG3F,CAAC;IAEF,MAAM,KAAgE,iBAAiB,CAAC;QACpF,0BAA0B;QAC1B,UAAU;QACV,sBAAsB;KACzB,CAAC,EAJI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,SAAS,OAItD,EAJ2D,IAAI,cAA3D,wDAA6D,CAIjE,CAAC;IAEH,qCACI,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EACxD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAChC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAClD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IACjC,IAAI,GACJ,MAAM,EACX;AACN,CAAC,CAAC;AApBW,QAAA,gBAAgB,oBAoB3B"}
@@ -1,4 +1,4 @@
1
1
  import { RuleSetRule } from 'webpack';
2
2
  import { Context } from '../types';
3
- export declare function tsxRules({ esbuild, experimentalBundlers }: Context): RuleSetRule[];
3
+ export declare function tsxRules({ codeCoverage, esbuild, experimentalBundlers }: Context): RuleSetRule[];
4
4
  //# sourceMappingURL=tsx-rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tsx-rules.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/rules/tsx-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAO,GAAG,WAAW,EAAE,CAwClF"}
1
+ {"version":3,"file":"tsx-rules.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/rules/tsx-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,wBAAgB,QAAQ,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAO,GAAG,WAAW,EAAE,CA4ChG"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tsxRules = void 0;
4
- function tsxRules({ esbuild, experimentalBundlers }) {
4
+ function tsxRules({ codeCoverage, esbuild, experimentalBundlers }) {
5
5
  let loader = {
6
6
  loader: 'ts-loader',
7
7
  options: { transpileOnly: true },
@@ -31,13 +31,15 @@ function tsxRules({ esbuild, experimentalBundlers }) {
31
31
  },
32
32
  };
33
33
  }
34
- return [
35
- {
36
- test: /\.tsx?$/,
37
- exclude: /node_modules/,
38
- use: [loader],
39
- },
40
- ];
34
+ const rule = {
35
+ test: /\.tsx?$/,
36
+ exclude: /node_modules/,
37
+ use: [loader],
38
+ };
39
+ if (codeCoverage) {
40
+ rule.use.unshift('@jsdevtools/coverage-istanbul-loader');
41
+ }
42
+ return [rule];
41
43
  }
42
44
  exports.tsxRules = tsxRules;
43
45
  //# sourceMappingURL=tsx-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tsx-rules.js","sourceRoot":"","sources":["../../../../src/webpack/configs/rules/tsx-rules.ts"],"names":[],"mappings":";;;AAGA,SAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAW;IAC/D,IAAI,MAAM,GAAwB;QAC9B,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;KACnC,CAAC;IAEF,IAAI,OAAO,EAAE;QACT,MAAM,GAAG;YACL,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC/C,CAAC;KACL;IAED,IAAI,oBAAoB,EAAE;QACtB,MAAM,GAAG;YACL,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE;gBACL,GAAG,EAAE;oBACD,MAAM,EAAE;wBACJ,MAAM,EAAE,YAAY;wBACpB,GAAG,EAAE,IAAI;wBACT,UAAU,EAAE,IAAI;qBACnB;oBACD,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE;wBACP,eAAe,EAAE,IAAI;wBACrB,iBAAiB,EAAE,IAAI;qBAC1B;iBACJ;aACJ;SACJ,CAAC;KACL;IAED,OAAO;QACH;YACI,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,cAAc;YACvB,GAAG,EAAE,CAAC,MAAM,CAAC;SAChB;KACJ,CAAC;AACN,CAAC;AAxCD,4BAwCC"}
1
+ {"version":3,"file":"tsx-rules.js","sourceRoot":"","sources":["../../../../src/webpack/configs/rules/tsx-rules.ts"],"names":[],"mappings":";;;AAGA,SAAgB,QAAQ,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAW;IAC7E,IAAI,MAAM,GAAwB;QAC9B,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;KACnC,CAAC;IAEF,IAAI,OAAO,EAAE;QACT,MAAM,GAAG;YACL,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC/C,CAAC;KACL;IAED,IAAI,oBAAoB,EAAE;QACtB,MAAM,GAAG;YACL,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE;gBACL,GAAG,EAAE;oBACD,MAAM,EAAE;wBACJ,MAAM,EAAE,YAAY;wBACpB,GAAG,EAAE,IAAI;wBACT,UAAU,EAAE,IAAI;qBACnB;oBACD,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE;wBACP,eAAe,EAAE,IAAI;wBACrB,iBAAiB,EAAE,IAAI;qBAC1B;iBACJ;aACJ;SACJ,CAAC;KACL;IAED,MAAM,IAAI,GAAG;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc;QACvB,GAAG,EAAE,CAAC,MAAM,CAAqB;KACpC,CAAC;IAEF,IAAI,YAAY,EAAE;QACd,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;KAC5D;IAED,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AA5CD,4BA4CC"}
@@ -2,6 +2,7 @@ import { getPackageData, loadSharedDependencies } from '../../utils';
2
2
  import { Options } from '../types';
3
3
  export { Overrides } from '../types';
4
4
  export interface Context extends Options {
5
+ codeCoverage: boolean;
5
6
  destination: string;
6
7
  esbuild: boolean;
7
8
  experimentalBundlers: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/webpack/configs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAC/C,kBAAkB,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/webpack/configs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAC/C,kBAAkB,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAC;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-webpack-config.d.ts","sourceRoot":"","sources":["../../src/webpack/create-webpack-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA6BxC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,OAAY,GAAG,aAAa,CAsD9F"}
1
+ {"version":3,"file":"create-webpack-config.d.ts","sourceRoot":"","sources":["../../src/webpack/create-webpack-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA6BxC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,OAAY,GAAG,aAAa,CAuD9F"}
@@ -11,12 +11,12 @@ const utils_2 = require("../utils");
11
11
  const configs_1 = require("./configs");
12
12
  const utils_3 = require("./utils");
13
13
  function createWebpackConfig(overrides, options = {}) {
14
- var _a, _b, _c, _d;
14
+ var _a, _b, _c;
15
15
  const { configuration = {} } = overrides;
16
16
  const { source, destination } = (0, utils_2.getFolders)();
17
17
  const packageData = (0, utils_2.getPackageData)();
18
18
  const sharedDependencies = (0, utils_2.loadSharedDependencies)(packageData.dependencies, packageData.sharedDependencies);
19
- const context = Object.assign(Object.assign({ destination, esbuild: (_b = (_a = options.esbuild) !== null && _a !== void 0 ? _a : !!yargs_1.argv.esbuild) !== null && _b !== void 0 ? _b : false, experimentalBundlers: (_d = (_c = options.experimentalBundlers) !== null && _c !== void 0 ? _c : !!yargs_1.argv['experimental-bundlers']) !== null && _d !== void 0 ? _d : false, isCustomStyleRules: (0, utils_2.isCustomStyleRules)(), isExposeSharedDependencies: (0, utils_2.isExposeSharedDependencies)(), isProduction: configuration.mode === 'production', isWebComponent: (0, utils_2.isWebComponent)(), name: '' }, options), { packageData,
19
+ const context = Object.assign(Object.assign({ codeCoverage: (_a = options.codeCoverage) !== null && _a !== void 0 ? _a : !!yargs_1.argv['code-coverage'], destination, esbuild: (_b = options.esbuild) !== null && _b !== void 0 ? _b : !!yargs_1.argv.esbuild, experimentalBundlers: (_c = options.experimentalBundlers) !== null && _c !== void 0 ? _c : !!yargs_1.argv['experimental-bundlers'], isCustomStyleRules: (0, utils_2.isCustomStyleRules)(), isExposeSharedDependencies: (0, utils_2.isExposeSharedDependencies)(), isProduction: configuration.mode === 'production', isWebComponent: (0, utils_2.isWebComponent)(), name: '' }, options), { packageData,
20
20
  sharedDependencies,
21
21
  source });
22
22
  if (context.isWebComponent && isCalledFromCustomWebpackConfigFile()) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-webpack-config.js","sourceRoot":"","sources":["../../src/webpack/create-webpack-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-webpack-config.js","sourceRoot":"","sources":["../../src/webpack/create-webpack-config.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,12 @@ import { Options as HtmlWebpackPluginOptions } from 'html-webpack-plugin';
3
3
  import { PluginOptions as MiniCssExtractPlugInOptions } from 'mini-css-extract-plugin';
4
4
  import { Configuration } from 'webpack';
5
5
  export interface Options {
6
- embed?: boolean;
7
6
  buildStat?: boolean;
8
- name?: string;
7
+ codeCoverage?: boolean;
8
+ embed?: boolean;
9
9
  esbuild?: boolean;
10
10
  experimentalBundlers?: boolean;
11
+ name?: string;
11
12
  }
12
13
  export interface Overrides {
13
14
  configuration?: Configuration;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/webpack/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AACtG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,aAAa,IAAI,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,OAAO;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE;QACN,0BAA0B,CAAC,EAAE,iCAAiC,CAAC;QAC/D,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;QAC7C,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;KACtD,CAAC;CACL"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/webpack/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AACtG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,aAAa,IAAI,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,OAAO;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE;QACN,0BAA0B,CAAC,EAAE,iCAAiC,CAAC;QAC/D,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;QAC7C,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;KACtD,CAAC;CACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/startup",
3
- "version": "23.0.0",
3
+ "version": "23.1.0",
4
4
  "description": "",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/startup",
6
6
  "repository": {
@@ -16,6 +16,7 @@
16
16
  "jest",
17
17
  "src",
18
18
  "template",
19
+ "template-react18",
19
20
  "template/.gitignore",
20
21
  "template/.npmrc",
21
22
  "tsconfig",
@@ -24,7 +25,7 @@
24
25
  "bin": "./bin/index.js",
25
26
  "devDependencies": {
26
27
  "@types/cpx": "~1.5.2",
27
- "@types/eslint": "~8.56.2",
28
+ "@types/eslint": "~8.56.3",
28
29
  "@types/less": "~3.0.3",
29
30
  "@types/mini-css-extract-plugin": "~2.4.0",
30
31
  "@types/moment-locales-webpack-plugin": "~1.2.2",
@@ -38,8 +39,8 @@
38
39
  "@jest/core": "~29.7.0",
39
40
  "@jest/types": "~29.6.3",
40
41
  "@lerna/exec": "~5.6.2",
41
- "@servicetitan/eslint-config": "23.0.0",
42
- "@servicetitan/stylelint-config": "23.0.0",
42
+ "@servicetitan/eslint-config": "23.1.0",
43
+ "@servicetitan/stylelint-config": "23.1.0",
43
44
  "@swc/core": "1.3.100",
44
45
  "@types/jest": "~27.4.0",
45
46
  "chalk": "~4.1.2",
@@ -49,7 +50,7 @@
49
50
  "debug": "^4.3.4",
50
51
  "deepmerge": "~4.3.1",
51
52
  "esbuild-loader": "~4.0.2",
52
- "eslint": "~8.56.0",
53
+ "eslint": "~8.57.0",
53
54
  "execa": "~5.1.1",
54
55
  "fork-ts-checker-webpack-plugin": "~7.3.0",
55
56
  "glob": "~7.2.0",
@@ -63,7 +64,7 @@
63
64
  "less": "~4.2.0",
64
65
  "less-loader": "~10.2.0",
65
66
  "less-plugin-npm-import": "~2.1.0",
66
- "memfs": "~4.7.0",
67
+ "memfs": "~4.7.7",
67
68
  "mini-css-extract-plugin": "~2.7.6",
68
69
  "moment": "^2.29.4",
69
70
  "moment-locales-webpack-plugin": "~1.2.0",
@@ -98,5 +99,5 @@
98
99
  "cli": {
99
100
  "webpack": false
100
101
  },
101
- "gitHead": "45876ed36415ad78d3ec4ef3783d6df1430504d3"
102
+ "gitHead": "7267270e54cdb3a2926f61feb4939d057e82adb3"
102
103
  }
@@ -73,6 +73,20 @@ describe(`[startup] ${Build.name}`, () => {
73
73
  });
74
74
  });
75
75
 
76
+ describe('with "code-coverage"', () => {
77
+ beforeEach(() => (args['code-coverage'] = true));
78
+
79
+ test('enables code-coverage', async () => {
80
+ await subject();
81
+
82
+ expect(exec).toHaveBeenCalledWith(
83
+ expect.objectContaining({
84
+ '--': ['--code-coverage'],
85
+ })
86
+ );
87
+ });
88
+ });
89
+
76
90
  describe('with "esbuild"', () => {
77
91
  beforeEach(() => (args.esbuild = true));
78
92
 
@@ -13,32 +13,63 @@ jest.mock('cpx', () => ({
13
13
  }),
14
14
  }));
15
15
 
16
- describe(`[startup] ${Init.name}`, () => {
17
- const subject = async () => new Init().execute();
18
- const gitIgnoreAlias = '.npmignore';
16
+ jest.mock('../../../utils', () => ({
17
+ log: { info: jest.fn() }, // suppress log output
18
+ }));
19
19
 
20
- test('copies template to current directory', async () => {
21
- await subject();
20
+ describe(`[startup] ${Init.name}`, () => {
21
+ let args: ConstructorParameters<typeof Init>[0];
22
22
 
23
- expect(cpx.copy).toHaveBeenCalledWith(
24
- expect.stringContaining(path.join('template', '**', '{.*,*,.*/*}')),
25
- process.cwd(),
26
- expect.anything()
27
- );
23
+ beforeEach(() => {
24
+ args = {};
25
+ vol.reset();
28
26
  });
29
27
 
30
- describe(`when ${gitIgnoreAlias} is present`, () => {
31
- const gitIgnoreContent = ['foo', 'bar', 'baz'].join('\r\n');
28
+ const subject = async () => new Init(args).execute();
29
+
30
+ function itCopies(...names: string[]) {
31
+ test.each(names)(`copies %s to current directory`, async (name: string) => {
32
+ await subject();
33
+
34
+ expect(cpx.copy).toHaveBeenCalledWith(
35
+ expect.stringContaining(path.join(name, '**', '{.*,*,.*/*}')),
36
+ process.cwd(),
37
+ expect.anything()
38
+ );
39
+ });
40
+ }
41
+
42
+ itCopies('template');
43
+
44
+ describe('when instructed to create React 18 template', () => {
45
+ beforeEach(() => (args.react18 = true));
46
+
47
+ itCopies('template', 'template-react18');
48
+ });
32
49
 
33
- beforeEach(() => vol.fromJSON({ [gitIgnoreAlias]: gitIgnoreContent }));
50
+ describe('with an output location', () => {
51
+ beforeEach(() => (args.output = 'foo/bar'));
34
52
 
35
- afterEach(() => vol.reset());
53
+ test('copies template to output location', async () => {
54
+ const mkdirSpy = jest.spyOn(fs, 'mkdirSync');
55
+ const destination = path.resolve(args.output!);
36
56
 
37
- test(`moves ${gitIgnoreAlias} -> .gitignore`, async () => {
38
57
  await subject();
39
58
 
40
- expect(fs.readFileSync('.gitignore').toString()).toBe(gitIgnoreContent);
41
- expect(fs.existsSync(gitIgnoreAlias)).toBe(false);
59
+ expect(mkdirSpy).toHaveBeenCalledWith(destination, { recursive: true });
60
+ expect(cpx.copy).toHaveBeenCalledWith(
61
+ expect.any(String),
62
+ destination,
63
+ expect.anything()
64
+ );
65
+ });
66
+
67
+ describe('when output location is a file', () => {
68
+ beforeEach(() => vol.fromJSON({ [args.output!]: '' }));
69
+
70
+ test('raises error', async () => {
71
+ await expect(subject()).rejects.toThrowError(/is not a directory/);
72
+ });
42
73
  });
43
74
  });
44
75
  });
@@ -75,6 +75,20 @@ describe(`[startup] ${Start.name}`, () => {
75
75
  });
76
76
  });
77
77
 
78
+ describe('with "code-coverage"', () => {
79
+ beforeEach(() => (args['code-coverage'] = true));
80
+
81
+ test('enables code-coverage', async () => {
82
+ await subject();
83
+
84
+ expect(exec).toHaveBeenCalledWith(
85
+ expect.objectContaining({
86
+ '--': ['--watch', '--code-coverage'],
87
+ })
88
+ );
89
+ });
90
+ });
91
+
78
92
  describe('with "esbuild"', () => {
79
93
  beforeEach(() => (args.esbuild = true));
80
94
 
@@ -6,6 +6,7 @@ import { Command, kendoUILicense } from '.';
6
6
 
7
7
  interface Args {
8
8
  'cdn-path'?: string;
9
+ 'code-coverage'?: boolean;
9
10
  'config'?: string;
10
11
  'esbuild'?: boolean;
11
12
  'experimental-bundlers'?: boolean;
@@ -51,6 +52,7 @@ export class Build implements Command {
51
52
  'stream': true,
52
53
  '--': [
53
54
  ...[this.args.config ? `--config "${this.args.config}"` : undefined],
55
+ ...[this.args['code-coverage'] ? '--code-coverage' : undefined],
54
56
  ...[this.args.esbuild ? '--esbuild' : undefined],
55
57
  ...[this.args['experimental-bundlers'] ? '--experimental-bundlers' : undefined],
56
58
  ...[this.args.stat ? '--stat' : undefined],
@@ -6,6 +6,7 @@ import { Command } from '.';
6
6
 
7
7
  interface Args {
8
8
  'config'?: string;
9
+ 'code-coverage'?: boolean;
9
10
  'stat'?: boolean;
10
11
  'watch'?: boolean;
11
12
  'esbuild'?: boolean;
@@ -29,6 +30,7 @@ export class BundlePackage implements Command {
29
30
 
30
31
  const options = {
31
32
  config,
33
+ codeCoverage: this.args['code-coverage'],
32
34
  esbuild: this.args.esbuild,
33
35
  experimentalBundlers: this.args['experimental-bundlers'],
34
36
  };
@@ -3,22 +3,36 @@ import cpx from 'cpx';
3
3
  import util from 'util';
4
4
  import path from 'path';
5
5
 
6
- import { logErrors } from '../../utils';
7
- import { Command } from '.';
6
+ import { log, logErrors } from '../../utils';
7
+ import { Command } from './';
8
+
9
+ interface Args {
10
+ react18?: boolean;
11
+ output?: string;
12
+ }
8
13
 
9
14
  export class Init implements Command {
15
+ constructor(private args: Args) {}
16
+
10
17
  @logErrors
11
18
  async execute() {
12
- await util.promisify(cpx.copy)(
13
- path.resolve(__dirname, '../../../template/**/{.*,*,.*/*}'),
14
- process.cwd()
15
- );
16
-
17
- if (fs.existsSync(path.join(process.cwd(), '.npmignore'))) {
18
- fs.renameSync(
19
- path.join(process.cwd(), '.npmignore'),
20
- path.join(process.cwd(), '.gitignore')
21
- );
19
+ const destination = path.resolve(this.args.output ?? '.');
20
+ if (!fs.existsSync(destination)) {
21
+ fs.mkdirSync(destination, { recursive: true });
22
+ } else if (!fs.lstatSync(destination).isDirectory()) {
23
+ throw new Error(`${destination} is not a directory`);
22
24
  }
25
+
26
+ await copyFiles('template', destination);
27
+
28
+ if (this.args.react18) {
29
+ await copyFiles('template-react18', destination);
30
+ }
31
+
32
+ log.info(`copied${this.args.react18 ? ' React 18' : ''} template to ${destination}`);
23
33
  }
24
34
  }
35
+
36
+ async function copyFiles(from: string, to: string) {
37
+ await util.promisify(cpx.copy)(path.resolve(__dirname, `../../../${from}/**/{.*,*,.*/*}`), to);
38
+ }
@@ -6,6 +6,7 @@ import { Command } from '.';
6
6
 
7
7
  interface Args {
8
8
  'config'?: string;
9
+ 'code-coverage'?: boolean;
9
10
  'esbuild'?: boolean;
10
11
  'experimental-bundlers'?: boolean;
11
12
  'ignore'?: string | string[];
@@ -60,6 +61,7 @@ export class Start implements Command {
60
61
  '--': [
61
62
  '--watch',
62
63
  this.args.config ? `--config "${this.args.config}"` : undefined,
64
+ this.args['code-coverage'] ? '--code-coverage' : undefined,
63
65
  this.args.esbuild ? '--esbuild' : undefined,
64
66
  this.args['experimental-bundlers']
65
67
  ? '--experimental-bundlers'
@@ -11,6 +11,7 @@ import { Overrides, createWebpackConfig } from '../../webpack';
11
11
 
12
12
  interface Options {
13
13
  buildStat?: boolean;
14
+ codeCoverage?: boolean;
14
15
  config?: string;
15
16
  esbuild?: boolean;
16
17
  experimentalBundlers?: boolean;
@@ -35,7 +36,7 @@ export async function bundle(options: Options = {}) {
35
36
  const mode = 'production';
36
37
  const fallback = `./${webpackProdConfigFileName}`;
37
38
  const config = readWebpackConfig({ ...options, fallback });
38
- const { buildStat, esbuild, experimentalBundlers } = options;
39
+ const { buildStat, codeCoverage, esbuild, experimentalBundlers } = options;
39
40
 
40
41
  const run = async (config: Configuration) => {
41
42
  const compiler = webpack(config);
@@ -57,7 +58,7 @@ export async function bundle(options: Options = {}) {
57
58
  process.stdout.write(stats.toString(config.stats) + '\n');
58
59
  };
59
60
 
60
- const webpackOptions = { name, buildStat, esbuild, experimentalBundlers };
61
+ const webpackOptions = { name, buildStat, codeCoverage, esbuild, experimentalBundlers };
61
62
 
62
63
  if (isWebComponent()) {
63
64
  const webpackConfig: Overrides = {
@@ -80,7 +81,7 @@ export async function bundleWatch(options: Options = {}) {
80
81
  const name = getName();
81
82
  const mode = 'development';
82
83
  const config = readWebpackConfig({ ...options, fallback: `./${webpackDevConfigFileName}` });
83
- const { esbuild, experimentalBundlers } = options;
84
+ const { codeCoverage, esbuild, experimentalBundlers } = options;
84
85
 
85
86
  const runServe = async ({ devServer = {}, ...config }: Configuration) => {
86
87
  const compiler = webpack(config);
@@ -125,13 +126,21 @@ export async function bundleWatch(options: Options = {}) {
125
126
  return Promise.all([
126
127
  run(
127
128
  createWebpackConfig(webpackConfig, {
129
+ codeCoverage,
128
130
  embed: true,
129
131
  name,
130
132
  esbuild,
131
133
  experimentalBundlers,
132
134
  })
133
135
  ),
134
- runServe(createWebpackConfig(webpackConfig, { name, esbuild, experimentalBundlers })),
136
+ runServe(
137
+ createWebpackConfig(webpackConfig, {
138
+ name,
139
+ codeCoverage,
140
+ esbuild,
141
+ experimentalBundlers,
142
+ })
143
+ ),
135
144
  ]);
136
145
  }
137
146
 
@@ -139,7 +148,7 @@ export async function bundleWatch(options: Options = {}) {
139
148
  config ??
140
149
  createWebpackConfig(
141
150
  { configuration: { mode } },
142
- { name, esbuild, experimentalBundlers }
151
+ { name, codeCoverage, esbuild, experimentalBundlers }
143
152
  )
144
153
  );
145
154
  }
@@ -17,7 +17,7 @@ describe('[startup] Utils', () => {
17
17
  verbose: true,
18
18
  testEnvironment: 'jsdom',
19
19
  testRunner: 'jest-circus/runner',
20
- transformIgnorePatterns: ['node_modules/(?!(@servicetitan|@react-hook|nanoid)/)'],
20
+ transformIgnorePatterns: ['node_modules/(?!(@servicetitan|@react-hook|nanoid|axios)/)'],
21
21
  modulePathIgnorePatterns: ['<rootDir>/.*/__mocks__'],
22
22
  transform: {
23
23
  '^.+\\.jsx?$': [
@@ -28,7 +28,7 @@ const getJestConfigBase = ({
28
28
  verbose: true,
29
29
  testEnvironment: 'jsdom',
30
30
  testRunner: 'jest-circus/runner',
31
- transformIgnorePatterns: ['node_modules/(?!(@servicetitan|@react-hook|nanoid)/)'],
31
+ transformIgnorePatterns: ['node_modules/(?!(@servicetitan|@react-hook|nanoid|axios)/)'],
32
32
  modulePathIgnorePatterns: ['<rootDir>/.*/__mocks__'],
33
33
  transform,
34
34
  moduleNameMapper,
@@ -231,7 +231,19 @@ describe(`[startup] ${createWebpackConfig.name}`, () => {
231
231
  });
232
232
  });
233
233
 
234
- function itConfiguresTsLoader() {
234
+ function itConfiguresCodeCoverage() {
235
+ test('configures ".tsx" rules to use coverage-istanbul-loader', () => {
236
+ expect(subject().module?.rules).toEqual(
237
+ expect.arrayContaining([
238
+ expect.objectContaining({
239
+ test: /\.tsx?$/,
240
+ use: expect.arrayContaining(['@jsdevtools/coverage-istanbul-loader']),
241
+ }),
242
+ ])
243
+ );
244
+ });
245
+ }
246
+ function itConfiguresESBuildLoader() {
235
247
  test('configures ".tsx" rules to use esbuild-loader', () => {
236
248
  expect(subject().module?.rules).toContainEqual({
237
249
  test: /\.tsx?$/,
@@ -265,16 +277,26 @@ describe(`[startup] ${createWebpackConfig.name}`, () => {
265
277
  expect(subject().plugins).toContainEqual(new ProvidePlugin({ React: 'react' }));
266
278
  });
267
279
  }
280
+ describe('with --code-coverage command line argument', () => {
281
+ beforeEach(() => Object.assign(argv, { 'code-coverage': true }));
282
+ itConfiguresCodeCoverage();
283
+ });
284
+ describe('with codeCoverage option', () => {
285
+ beforeEach(() => {
286
+ options = { codeCoverage: true };
287
+ });
288
+ itConfiguresCodeCoverage();
289
+ });
268
290
  describe('with --esbuild command line argument', () => {
269
291
  beforeEach(() => Object.assign(argv, { esbuild: true }));
270
- itConfiguresTsLoader();
292
+ itConfiguresESBuildLoader();
271
293
  itConfiguresReactToLoadAutomatically();
272
294
  });
273
295
  describe('with esbuild option', () => {
274
296
  beforeEach(() => {
275
297
  options = { esbuild: true };
276
298
  });
277
- itConfiguresTsLoader();
299
+ itConfiguresESBuildLoader();
278
300
  itConfiguresReactToLoadAutomatically();
279
301
  });
280
302
  describe('with experimental-bundlers option', () => {
@@ -1,7 +1,7 @@
1
- import { RuleSetRule } from 'webpack';
1
+ import { RuleSetRule, RuleSetUseItem } from 'webpack';
2
2
  import { Context } from '../types';
3
3
 
4
- export function tsxRules({ esbuild, experimentalBundlers }: Context): RuleSetRule[] {
4
+ export function tsxRules({ codeCoverage, esbuild, experimentalBundlers }: Context): RuleSetRule[] {
5
5
  let loader: Record<string, any> = {
6
6
  loader: 'ts-loader',
7
7
  options: { transpileOnly: true },
@@ -34,11 +34,15 @@ export function tsxRules({ esbuild, experimentalBundlers }: Context): RuleSetRul
34
34
  };
35
35
  }
36
36
 
37
- return [
38
- {
39
- test: /\.tsx?$/,
40
- exclude: /node_modules/,
41
- use: [loader],
42
- },
43
- ];
37
+ const rule = {
38
+ test: /\.tsx?$/,
39
+ exclude: /node_modules/,
40
+ use: [loader] as RuleSetUseItem[],
41
+ };
42
+
43
+ if (codeCoverage) {
44
+ rule.use.unshift('@jsdevtools/coverage-istanbul-loader');
45
+ }
46
+
47
+ return [rule];
44
48
  }
@@ -3,6 +3,7 @@ import { Options } from '../types';
3
3
  export { Overrides } from '../types';
4
4
 
5
5
  export interface Context extends Options {
6
+ codeCoverage: boolean;
6
7
  destination: string;
7
8
  esbuild: boolean;
8
9
  experimentalBundlers: boolean;
@@ -41,10 +41,11 @@ export function createWebpackConfig(overrides: Overrides, options: Options = {})
41
41
  );
42
42
 
43
43
  const context: Context = {
44
+ codeCoverage: options.codeCoverage ?? !!(argv as Arguments)['code-coverage'],
44
45
  destination,
45
- esbuild: options.esbuild ?? !!(argv as Arguments).esbuild ?? false,
46
+ esbuild: options.esbuild ?? !!(argv as Arguments).esbuild,
46
47
  experimentalBundlers:
47
- options.experimentalBundlers ?? !!(argv as Arguments)['experimental-bundlers'] ?? false,
48
+ options.experimentalBundlers ?? !!(argv as Arguments)['experimental-bundlers'],
48
49
  isCustomStyleRules: isCustomStyleRules(),
49
50
  isExposeSharedDependencies: isExposeSharedDependencies(),
50
51
  isProduction: configuration.mode === 'production',
@@ -4,11 +4,12 @@ import { PluginOptions as MiniCssExtractPlugInOptions } from 'mini-css-extract-p
4
4
  import { Configuration } from 'webpack';
5
5
 
6
6
  export interface Options {
7
- embed?: boolean;
8
7
  buildStat?: boolean;
9
- name?: string;
8
+ codeCoverage?: boolean;
9
+ embed?: boolean;
10
10
  esbuild?: boolean;
11
11
  experimentalBundlers?: boolean;
12
+ name?: string;
12
13
  }
13
14
 
14
15
  export interface Overrides {
@@ -4,8 +4,8 @@
4
4
  "description": "Multi-package web application template",
5
5
  "private": true,
6
6
  "engines": {
7
- "node": ">=16",
8
- "npm": ">=7"
7
+ "node": ">=18",
8
+ "npm": ">=10"
9
9
  },
10
10
  "scripts": {
11
11
  "bootstrap": "npx --yes @servicetitan/startup install",
@@ -17,7 +17,7 @@
17
17
  "test": "startup test"
18
18
  },
19
19
  "devDependencies": {
20
- "@servicetitan/startup": ">=22.11.0"
20
+ "@servicetitan/startup": ">=22.21.0"
21
21
  },
22
22
  "workspaces": [
23
23
  "packages/*"
@@ -8,11 +8,17 @@
8
8
  "scripts": {},
9
9
  "dependencies": {
10
10
  "@servicetitan/design-system": "^12.10.0",
11
+ "@servicetitan/hash-browser-router": "^22.15.0",
11
12
  "@servicetitan/link-item": "^23.1.0",
13
+ "@servicetitan/log-service": "^22.15.0",
12
14
  "@servicetitan/react-ioc": "^22.15.0",
15
+ "@servicetitan/web-components": "^22.15.0",
16
+ "axios": "^0.27.2",
13
17
  "feature-a": "^0.0.0",
14
18
  "feature-b": "^0.0.0",
15
19
  "feature-c": "^0.0.0",
20
+ "history": "~4.10.1",
21
+ "mobx": "~6.10.0",
16
22
  "react": "^17.0.2",
17
23
  "react-dom": "^17.0.2",
18
24
  "react-router-dom": "^5.3.0"
@@ -18,7 +18,7 @@ describe(`${App.name}`, () => {
18
18
 
19
19
  const routes = Object.entries({
20
20
  MainPage: '/',
21
- SecondPage: '/second-page',
21
+ SecondPage: '/#/second-page',
22
22
  }).map(([component, path]) => ({ component, path }));
23
23
 
24
24
  describe.each(routes)('when location is $path', ({ component, path }) => {
@@ -1,5 +1,6 @@
1
1
  import { StrictMode, FC } from 'react';
2
- import { BrowserRouter, Switch, Route } from 'react-router-dom';
2
+ import { Switch, Route } from 'react-router-dom';
3
+ import { HashBrowserRouter } from '@servicetitan/hash-browser-router';
3
4
  import { SideNav, Frame, Page, Sidebar } from '@servicetitan/design-system';
4
5
  import { SideNavLinkItem } from '@servicetitan/link-item';
5
6
 
@@ -10,7 +11,7 @@ import './app.css';
10
11
 
11
12
  export const App: FC = () => (
12
13
  <StrictMode>
13
- <BrowserRouter>
14
+ <HashBrowserRouter>
14
15
  <Frame>
15
16
  <Page
16
17
  sidebar={
@@ -39,6 +40,6 @@ export const App: FC = () => (
39
40
  </Switch>
40
41
  </Page>
41
42
  </Frame>
42
- </BrowserRouter>
43
+ </HashBrowserRouter>
43
44
  </StrictMode>
44
45
  );
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "application",
3
+ "version": "0.0.0",
4
+ "description": "",
5
+ "private": true,
6
+ "main": "./dist/index.js",
7
+ "typings": "./dist/index.d.ts",
8
+ "scripts": {},
9
+ "dependencies": {
10
+ "@servicetitan/design-system": "^14.0.0",
11
+ "@servicetitan/hash-browser-router": "^22.15.0",
12
+ "@servicetitan/link-item": "^23.1.0",
13
+ "@servicetitan/log-service": "^22.15.0",
14
+ "@servicetitan/react-ioc": "^22.15.0",
15
+ "@servicetitan/web-components": "^22.15.0",
16
+ "axios": "^0.27.2",
17
+ "feature-a": "^0.0.0",
18
+ "feature-b": "^0.0.0",
19
+ "feature-c": "^0.0.0",
20
+ "history": "~4.10.1",
21
+ "mobx": "~6.10.0",
22
+ "react": "^18.2.0",
23
+ "react-dom": "^18.2.0",
24
+ "react-router-dom": "^5.3.0"
25
+ },
26
+ "devDependencies": {
27
+ "@servicetitan/testing-library": "^0.3.0",
28
+ "@testing-library/jest-dom": "^6.4.2",
29
+ "@testing-library/react": "^14.2.1",
30
+ "@testing-library/react-hooks": "^8.0.1",
31
+ "@types/react": "^18.2.55",
32
+ "@types/react-dom": "^18.2.19",
33
+ "@types/react-router-dom": "^5.3.2"
34
+ }
35
+ }
@@ -0,0 +1,9 @@
1
+ import { createRoot } from 'react-dom/client';
2
+
3
+ import { App } from './app';
4
+
5
+ const appContainer = document.createElement('div');
6
+ document.body.appendChild(appContainer);
7
+
8
+ const root = createRoot(appContainer);
9
+ root.render(<App />);
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "feature-a",
3
+ "version": "0.0.0",
4
+ "description": "",
5
+ "private": true,
6
+ "main": "./dist/index.js",
7
+ "typings": "./dist/index.d.ts",
8
+ "dependencies": {
9
+ "react": "^18.2.0",
10
+ "react-dom": "^18.2.0"
11
+ },
12
+ "devDependencies": {
13
+ "@types/react": "^18.2.55",
14
+ "@types/react-dom": "^18.2.19"
15
+ },
16
+ "cli": {
17
+ "webpack": false
18
+ }
19
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "feature-b",
3
+ "version": "0.0.0",
4
+ "description": "",
5
+ "private": true,
6
+ "main": "./dist/index.js",
7
+ "typings": "./dist/index.d.ts",
8
+ "dependencies": {
9
+ "react": "^18.2.0",
10
+ "react-dom": "^18.2.0"
11
+ },
12
+ "devDependencies": {
13
+ "@types/react": "^18.2.55",
14
+ "@types/react-dom": "^18.2.19"
15
+ },
16
+ "cli": {
17
+ "webpack": false
18
+ }
19
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "feature-c",
3
+ "version": "0.0.0",
4
+ "description": "",
5
+ "private": true,
6
+ "main": "./dist/index.js",
7
+ "typings": "./dist/index.d.ts",
8
+ "dependencies": {
9
+ "react": "^18.2.0",
10
+ "react-dom": "^18.2.0"
11
+ },
12
+ "devDependencies": {
13
+ "@types/react": "^18.2.55",
14
+ "@types/react-dom": "^18.2.19"
15
+ },
16
+ "cli": {
17
+ "webpack": false
18
+ }
19
+ }