@servicetitan/startup 36.1.2-canary.5 → 36.1.2-canary.7

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 (67) hide show
  1. package/dist/cli/commands/clean.d.ts.map +1 -1
  2. package/dist/cli/commands/clean.js +5 -5
  3. package/dist/cli/commands/clean.js.map +1 -1
  4. package/dist/cli/commands/review/rules/require-npmrc.d.ts +3 -3
  5. package/dist/cli/commands/review/rules/require-npmrc.d.ts.map +1 -1
  6. package/dist/cli/commands/review/rules/require-npmrc.js +20 -9
  7. package/dist/cli/commands/review/rules/require-npmrc.js.map +1 -1
  8. package/dist/cypress/config/webpack-config.js +1 -0
  9. package/dist/cypress/config/webpack-config.js.map +1 -1
  10. package/dist/storybook-config/webpack-final.d.ts.map +1 -1
  11. package/dist/storybook-config/webpack-final.js +6 -0
  12. package/dist/storybook-config/webpack-final.js.map +1 -1
  13. package/dist/webpack/configs/loaders/css-loader.d.ts +1 -1
  14. package/dist/webpack/configs/loaders/css-loader.js +1 -1
  15. package/dist/webpack/configs/loaders/css-loader.js.map +1 -1
  16. package/dist/webpack/configs/loaders/less-loader.js +1 -1
  17. package/dist/webpack/configs/loaders/less-loader.js.map +1 -1
  18. package/dist/webpack/configs/loaders/style-loader.js +1 -1
  19. package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
  20. package/dist/webpack/configs/rules/js-rules.js +3 -3
  21. package/dist/webpack/configs/rules/js-rules.js.map +1 -1
  22. package/dist/webpack/configs/rules/scss-rules.js +2 -2
  23. package/dist/webpack/configs/rules/scss-rules.js.map +1 -1
  24. package/dist/webpack/configs/rules/svg-rules.js +1 -1
  25. package/dist/webpack/configs/rules/svg-rules.js.map +1 -1
  26. package/package.json +21 -21
  27. package/src/cli/commands/clean.ts +5 -10
  28. package/src/cli/commands/review/rules/__tests__/require-npmrc.test.ts +75 -39
  29. package/src/cli/commands/review/rules/require-npmrc.ts +29 -11
  30. package/src/cypress/config/__tests__/webpack-config.test.ts +9 -0
  31. package/src/cypress/config/webpack-config.ts +1 -0
  32. package/src/scripts/generate-bin-wrappers.js +2 -9
  33. package/src/storybook-config/__tests__/webpack-final.test.ts +25 -0
  34. package/src/storybook-config/webpack-final.ts +4 -0
  35. package/src/webpack/__mocks__/file-rules.ts +3 -3
  36. package/src/webpack/__mocks__/style-rules.ts +23 -16
  37. package/src/webpack/__tests__/create-webpack-config.test.ts +1 -1
  38. package/src/webpack/configs/loaders/css-loader.ts +1 -1
  39. package/src/webpack/configs/loaders/less-loader.ts +1 -1
  40. package/src/webpack/configs/loaders/style-loader.ts +1 -1
  41. package/src/webpack/configs/rules/js-rules.ts +3 -3
  42. package/src/webpack/configs/rules/scss-rules.ts +2 -2
  43. package/src/webpack/configs/rules/svg-rules.ts +1 -1
  44. package/dist/cli/commands/coverage-finalize.d.ts +0 -16
  45. package/dist/cli/commands/coverage-finalize.d.ts.map +0 -1
  46. package/dist/cli/commands/coverage-finalize.js +0 -41
  47. package/dist/cli/commands/coverage-finalize.js.map +0 -1
  48. package/dist/cli/commands/registry/coverage-finalize.d.ts +0 -5
  49. package/dist/cli/commands/registry/coverage-finalize.d.ts.map +0 -1
  50. package/dist/cli/commands/registry/coverage-finalize.js +0 -17
  51. package/dist/cli/commands/registry/coverage-finalize.js.map +0 -1
  52. package/dist/utils/default-excludes.d.ts +0 -14
  53. package/dist/utils/default-excludes.d.ts.map +0 -1
  54. package/dist/utils/default-excludes.js +0 -23
  55. package/dist/utils/default-excludes.js.map +0 -1
  56. package/dist/utils/get-coverage-aliases.d.ts +0 -23
  57. package/dist/utils/get-coverage-aliases.d.ts.map +0 -1
  58. package/dist/utils/get-coverage-aliases.js +0 -41
  59. package/dist/utils/get-coverage-aliases.js.map +0 -1
  60. package/dist/utils/get-coverage-source-patterns.d.ts +0 -21
  61. package/dist/utils/get-coverage-source-patterns.d.ts.map +0 -1
  62. package/dist/utils/get-coverage-source-patterns.js +0 -39
  63. package/dist/utils/get-coverage-source-patterns.js.map +0 -1
  64. package/dist/webpack/configs/rules/ts-coverage-rules.d.ts +0 -22
  65. package/dist/webpack/configs/rules/ts-coverage-rules.d.ts.map +0 -1
  66. package/dist/webpack/configs/rules/ts-coverage-rules.js +0 -48
  67. package/dist/webpack/configs/rules/ts-coverage-rules.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clean.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAYlC,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEtC,OAAO;YAqBC,UAAU;IASxB,OAAO,CAAC,mBAAmB;YAOb,aAAa;IAY3B,OAAO,CAAC,wBAAwB;CAQnC"}
1
+ {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clean.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAYlC,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEtC,OAAO;YAeC,UAAU;IASxB,OAAO,CAAC,mBAAmB;YAOb,aAAa;IAY3B,OAAO,CAAC,wBAAwB;CASnC"}
@@ -42,10 +42,9 @@ var CleanProcesses = /*#__PURE__*/ function(CleanProcesses) {
42
42
  class Clean extends _types.Command {
43
43
  async execute() {
44
44
  const processTree = new _processtree.ProcessTree();
45
- const packageManager = (0, _install.getPackageManager)();
46
- processTree.add(4, ()=>this.runCommand(`${packageManager.execCommand} nx reset`));
47
- processTree.add(1, ()=>this.runCommand(`${packageManager.execCommand} jest --clearCache`));
48
- processTree.add(3, ()=>Promise.resolve(this.clearPackageManagerCache(packageManager)));
45
+ processTree.add(4, ()=>this.runCommand('nx reset'));
46
+ processTree.add(1, ()=>this.runCommand('jest --clearCache'));
47
+ processTree.add(3, ()=>Promise.resolve(this.clearPackageManagerCache()));
49
48
  processTree.add(2, ()=>this.clearNpxCache());
50
49
  await processTree.run();
51
50
  this.cleanGitWorkingTree();
@@ -77,8 +76,9 @@ class Clean extends _types.Command {
77
76
  _utils.log.error(`Error clearing npx cache: ${error}`);
78
77
  }
79
78
  }
80
- clearPackageManagerCache(packageManager) {
79
+ clearPackageManagerCache() {
81
80
  try {
81
+ const packageManager = (0, _install.getPackageManager)();
82
82
  _utils.log.info(`Clearing ${packageManager.command} cache`);
83
83
  packageManager.clearCache();
84
84
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/clean.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport { exec as execAsync, execSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport { log, logErrors } from '../../utils';\nimport { ProcessTree } from '../utils/process-tree';\nimport type { entry } from './registry/clean';\nimport { Command } from './types';\n\nconst exec = promisify(execAsync);\n\nenum CleanProcesses {\n CleanGitWorkingTree,\n ClearJestCache,\n ClearNpxCache,\n ClearPackageManagerCache,\n ResetNx,\n}\n\nexport class Clean extends Command<typeof entry> {\n @logErrors\n async execute() {\n const processTree = new ProcessTree<typeof CleanProcesses>();\n\n const packageManager = getPackageManager();\n\n processTree.add(CleanProcesses.ResetNx, () =>\n this.runCommand(`${packageManager.execCommand} nx reset`)\n );\n processTree.add(CleanProcesses.ClearJestCache, () =>\n this.runCommand(`${packageManager.execCommand} jest --clearCache`)\n );\n processTree.add(CleanProcesses.ClearPackageManagerCache, () =>\n Promise.resolve(this.clearPackageManagerCache(packageManager))\n );\n processTree.add(CleanProcesses.ClearNpxCache, () => this.clearNpxCache());\n\n await processTree.run();\n\n this.cleanGitWorkingTree();\n }\n\n private async runCommand(command: string) {\n try {\n log.info(`Running: ${command}`);\n await exec(command);\n } catch (error) {\n log.error(`Error running ${command}: ${error}`);\n }\n }\n\n private cleanGitWorkingTree() {\n // Use exec() to avoid error when startup dependencies are deleted while startup is running\n const command = 'git clean -fdX';\n log.info(`Running: ${command}`);\n exec(command);\n }\n\n private async clearNpxCache() {\n try {\n const npmCacheDir = execSync('npm config get cache').toString().trim();\n const npxCachePath = path.join(npmCacheDir, '_npx');\n\n log.info('Clearing npx cache');\n await fs.promises.rm(npxCachePath, { recursive: true, force: true });\n } catch (error) {\n log.error(`Error clearing npx cache: ${error}`);\n }\n }\n\n private clearPackageManagerCache(packageManager: ReturnType<typeof getPackageManager>) {\n try {\n log.info(`Clearing ${packageManager.command} cache`);\n packageManager.clearCache();\n } catch (error) {\n log.error(`Error clearing package manager cache: ${error}`);\n }\n }\n}\n"],"names":["Clean","exec","promisify","execAsync","CleanProcesses","Command","execute","processTree","ProcessTree","packageManager","getPackageManager","add","runCommand","execCommand","Promise","resolve","clearPackageManagerCache","clearNpxCache","run","cleanGitWorkingTree","command","log","info","error","npmCacheDir","execSync","toString","trim","npxCachePath","path","join","fs","promises","rm","recursive","force","clearCache"],"mappings":";;;;+BAoBaA;;;eAAAA;;;yBApBqB;mCACU;+DAC7B;iEACE;0BACS;uBACK;6BACH;uBAEJ;;;;;;;;;;;;;;;AAExB,MAAMC,OAAOC,IAAAA,mBAAS,EAACC,uBAAS;AAEhC,IAAA,AAAKC,wCAAAA;;;;;;WAAAA;EAAAA;AAQE,MAAMJ,cAAcK,cAAO;IAC9B,MACMC,UAAU;QACZ,MAAMC,cAAc,IAAIC,wBAAW;QAEnC,MAAMC,iBAAiBC,IAAAA,0BAAiB;QAExCH,YAAYI,GAAG,IAAyB,IACpC,IAAI,CAACC,UAAU,CAAC,GAAGH,eAAeI,WAAW,CAAC,SAAS,CAAC;QAE5DN,YAAYI,GAAG,IAAgC,IAC3C,IAAI,CAACC,UAAU,CAAC,GAAGH,eAAeI,WAAW,CAAC,kBAAkB,CAAC;QAErEN,YAAYI,GAAG,IAA0C,IACrDG,QAAQC,OAAO,CAAC,IAAI,CAACC,wBAAwB,CAACP;QAElDF,YAAYI,GAAG,IAA+B,IAAM,IAAI,CAACM,aAAa;QAEtE,MAAMV,YAAYW,GAAG;QAErB,IAAI,CAACC,mBAAmB;IAC5B;IAEA,MAAcP,WAAWQ,OAAe,EAAE;QACtC,IAAI;YACAC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;YAC9B,MAAMnB,KAAKmB;QACf,EAAE,OAAOG,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,cAAc,EAAEH,QAAQ,EAAE,EAAEG,OAAO;QAClD;IACJ;IAEQJ,sBAAsB;QAC1B,2FAA2F;QAC3F,MAAMC,UAAU;QAChBC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;QAC9BnB,KAAKmB;IACT;IAEA,MAAcH,gBAAgB;QAC1B,IAAI;YACA,MAAMO,cAAcC,IAAAA,2BAAQ,EAAC,wBAAwBC,QAAQ,GAAGC,IAAI;YACpE,MAAMC,eAAeC,iBAAI,CAACC,IAAI,CAACN,aAAa;YAE5CH,UAAG,CAACC,IAAI,CAAC;YACT,MAAMS,eAAE,CAACC,QAAQ,CAACC,EAAE,CAACL,cAAc;gBAAEM,WAAW;gBAAMC,OAAO;YAAK;QACtE,EAAE,OAAOZ,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,0BAA0B,EAAEA,OAAO;QAClD;IACJ;IAEQP,yBAAyBP,cAAoD,EAAE;QACnF,IAAI;YACAY,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEb,eAAeW,OAAO,CAAC,MAAM,CAAC;YACnDX,eAAe2B,UAAU;QAC7B,EAAE,OAAOb,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,sCAAsC,EAAEA,OAAO;QAC9D;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../../src/cli/commands/clean.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport { exec as execAsync, execSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport { log, logErrors } from '../../utils';\nimport { ProcessTree } from '../utils/process-tree';\nimport type { entry } from './registry/clean';\nimport { Command } from './types';\n\nconst exec = promisify(execAsync);\n\nenum CleanProcesses {\n CleanGitWorkingTree,\n ClearJestCache,\n ClearNpxCache,\n ClearPackageManagerCache,\n ResetNx,\n}\n\nexport class Clean extends Command<typeof entry> {\n @logErrors\n async execute() {\n const processTree = new ProcessTree<typeof CleanProcesses>();\n\n processTree.add(CleanProcesses.ResetNx, () => this.runCommand('nx reset'));\n processTree.add(CleanProcesses.ClearJestCache, () => this.runCommand('jest --clearCache'));\n processTree.add(CleanProcesses.ClearPackageManagerCache, () =>\n Promise.resolve(this.clearPackageManagerCache())\n );\n processTree.add(CleanProcesses.ClearNpxCache, () => this.clearNpxCache());\n\n await processTree.run();\n\n this.cleanGitWorkingTree();\n }\n\n private async runCommand(command: string) {\n try {\n log.info(`Running: ${command}`);\n await exec(command);\n } catch (error) {\n log.error(`Error running ${command}: ${error}`);\n }\n }\n\n private cleanGitWorkingTree() {\n // Use exec() to avoid error when startup dependencies are deleted while startup is running\n const command = 'git clean -fdX';\n log.info(`Running: ${command}`);\n exec(command);\n }\n\n private async clearNpxCache() {\n try {\n const npmCacheDir = execSync('npm config get cache').toString().trim();\n const npxCachePath = path.join(npmCacheDir, '_npx');\n\n log.info('Clearing npx cache');\n await fs.promises.rm(npxCachePath, { recursive: true, force: true });\n } catch (error) {\n log.error(`Error clearing npx cache: ${error}`);\n }\n }\n\n private clearPackageManagerCache() {\n try {\n const packageManager = getPackageManager();\n log.info(`Clearing ${packageManager.command} cache`);\n packageManager.clearCache();\n } catch (error) {\n log.error(`Error clearing package manager cache: ${error}`);\n }\n }\n}\n"],"names":["Clean","exec","promisify","execAsync","CleanProcesses","Command","execute","processTree","ProcessTree","add","runCommand","Promise","resolve","clearPackageManagerCache","clearNpxCache","run","cleanGitWorkingTree","command","log","info","error","npmCacheDir","execSync","toString","trim","npxCachePath","path","join","fs","promises","rm","recursive","force","packageManager","getPackageManager","clearCache"],"mappings":";;;;+BAoBaA;;;eAAAA;;;yBApBqB;mCACU;+DAC7B;iEACE;0BACS;uBACK;6BACH;uBAEJ;;;;;;;;;;;;;;;AAExB,MAAMC,OAAOC,IAAAA,mBAAS,EAACC,uBAAS;AAEhC,IAAA,AAAKC,wCAAAA;;;;;;WAAAA;EAAAA;AAQE,MAAMJ,cAAcK,cAAO;IAC9B,MACMC,UAAU;QACZ,MAAMC,cAAc,IAAIC,wBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAM,IAAI,CAACC,UAAU,CAAC;QAC9DH,YAAYE,GAAG,IAAgC,IAAM,IAAI,CAACC,UAAU,CAAC;QACrEH,YAAYE,GAAG,IAA0C,IACrDE,QAAQC,OAAO,CAAC,IAAI,CAACC,wBAAwB;QAEjDN,YAAYE,GAAG,IAA+B,IAAM,IAAI,CAACK,aAAa;QAEtE,MAAMP,YAAYQ,GAAG;QAErB,IAAI,CAACC,mBAAmB;IAC5B;IAEA,MAAcN,WAAWO,OAAe,EAAE;QACtC,IAAI;YACAC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;YAC9B,MAAMhB,KAAKgB;QACf,EAAE,OAAOG,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,cAAc,EAAEH,QAAQ,EAAE,EAAEG,OAAO;QAClD;IACJ;IAEQJ,sBAAsB;QAC1B,2FAA2F;QAC3F,MAAMC,UAAU;QAChBC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;QAC9BhB,KAAKgB;IACT;IAEA,MAAcH,gBAAgB;QAC1B,IAAI;YACA,MAAMO,cAAcC,IAAAA,2BAAQ,EAAC,wBAAwBC,QAAQ,GAAGC,IAAI;YACpE,MAAMC,eAAeC,iBAAI,CAACC,IAAI,CAACN,aAAa;YAE5CH,UAAG,CAACC,IAAI,CAAC;YACT,MAAMS,eAAE,CAACC,QAAQ,CAACC,EAAE,CAACL,cAAc;gBAAEM,WAAW;gBAAMC,OAAO;YAAK;QACtE,EAAE,OAAOZ,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,0BAA0B,EAAEA,OAAO;QAClD;IACJ;IAEQP,2BAA2B;QAC/B,IAAI;YACA,MAAMoB,iBAAiBC,IAAAA,0BAAiB;YACxChB,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEc,eAAehB,OAAO,CAAC,MAAM,CAAC;YACnDgB,eAAeE,UAAU;QAC7B,EAAE,OAAOf,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,sCAAsC,EAAEA,OAAO;QAC9D;IACJ;AACJ"}
@@ -1,7 +1,7 @@
1
- import { PackageError, PackageRule } from '../types';
1
+ import { PackageError, PackageRule, Project } from '../types';
2
2
  export declare class RequireNpmrc implements PackageRule {
3
3
  get id(): string;
4
- run(): PackageError | undefined;
5
- fix(): void;
4
+ run(project: Project): PackageError[];
5
+ fix(error: PackageError<string>): void;
6
6
  }
7
7
  //# sourceMappingURL=require-npmrc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"require-npmrc.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-npmrc.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEjF,qBAAa,YAAa,YAAW,WAAW;IAC5C,IAAI,EAAE,WAEL;IAED,GAAG,IAAI,YAAY,GAAG,SAAS;IAY/B,GAAG;CAKN"}
1
+ {"version":3,"file":"require-npmrc.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-npmrc.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAW1F,qBAAa,YAAa,YAAW,WAAW;IAC5C,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE;IAqBrC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC;CAKlC"}
@@ -11,25 +11,36 @@ Object.defineProperty(exports, "RequireNpmrc", {
11
11
  const _child_process = require("child_process");
12
12
  const _utils = require("../../../../utils");
13
13
  const _types = require("../types");
14
+ const REQUIRED_SETTINGS = [
15
+ {
16
+ key: 'legacy-peer-deps',
17
+ packageManager: 'npm',
18
+ severity: _types.ErrorSeverity.warning
19
+ }
20
+ ];
14
21
  class RequireNpmrc {
15
22
  get id() {
16
23
  return 'require-npmrc';
17
24
  }
18
- run() {
25
+ run(project) {
19
26
  const stdout = (0, _child_process.execSync)('npm config list --json', {
20
27
  encoding: 'utf8'
21
28
  });
22
- if (JSON.parse(stdout)['legacy-peer-deps'] !== true) {
23
- return {
29
+ const config = JSON.parse(stdout);
30
+ function omitsRequiredSetting({ key, packageManager }) {
31
+ return config[key] !== true && (!packageManager || packageManager === project.packageManager.command);
32
+ }
33
+ return REQUIRED_SETTINGS.filter(omitsRequiredSetting).map(({ key, severity })=>({
24
34
  id: this.id,
25
- message: 'project does not contain .npmrc with legacy-peer-deps=true',
26
- severity: _types.ErrorSeverity.warning,
35
+ data: key,
36
+ location: '.npmrc',
37
+ message: `project does not contain .npmrc with ${key}=true`,
38
+ severity,
27
39
  fixable: _types.FixCategory.isolated
28
- };
29
- }
40
+ }));
30
41
  }
31
- fix() {
32
- const command = 'npm config set --location=project legacy-peer-deps=true';
42
+ fix(error) {
43
+ const command = `npm config set --location=project ${error.data}=true`;
33
44
  _utils.log.debug(`review:${this.id}`, `Running ${command}`);
34
45
  (0, _child_process.execSync)(command);
35
46
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-npmrc.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { log } from '../../../../utils';\nimport { ErrorSeverity, FixCategory, PackageError, PackageRule } from '../types';\n\nexport class RequireNpmrc implements PackageRule {\n get id() {\n return 'require-npmrc';\n }\n\n run(): PackageError | undefined {\n const stdout = execSync('npm config list --json', { encoding: 'utf8' });\n if (JSON.parse(stdout)['legacy-peer-deps'] !== true) {\n return {\n id: this.id,\n message: 'project does not contain .npmrc with legacy-peer-deps=true',\n severity: ErrorSeverity.warning,\n fixable: FixCategory.isolated,\n };\n }\n }\n\n fix() {\n const command = 'npm config set --location=project legacy-peer-deps=true';\n log.debug(`review:${this.id}`, `Running ${command}`);\n execSync(command);\n }\n}\n"],"names":["RequireNpmrc","id","run","stdout","execSync","encoding","JSON","parse","message","severity","ErrorSeverity","warning","fixable","FixCategory","isolated","fix","command","log","debug"],"mappings":";;;;+BAIaA;;;eAAAA;;;+BAJY;uBACL;uBACkD;AAE/D,MAAMA;IACT,IAAIC,KAAK;QACL,OAAO;IACX;IAEAC,MAAgC;QAC5B,MAAMC,SAASC,IAAAA,uBAAQ,EAAC,0BAA0B;YAAEC,UAAU;QAAO;QACrE,IAAIC,KAAKC,KAAK,CAACJ,OAAO,CAAC,mBAAmB,KAAK,MAAM;YACjD,OAAO;gBACHF,IAAI,IAAI,CAACA,EAAE;gBACXO,SAAS;gBACTC,UAAUC,oBAAa,CAACC,OAAO;gBAC/BC,SAASC,kBAAW,CAACC,QAAQ;YACjC;QACJ;IACJ;IAEAC,MAAM;QACF,MAAMC,UAAU;QAChBC,UAAG,CAACC,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,CAACjB,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAEe,SAAS;QACnDZ,IAAAA,uBAAQ,EAACY;IACb;AACJ"}
1
+ {"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-npmrc.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { log } from '../../../../utils';\nimport { ErrorSeverity, FixCategory, PackageError, PackageRule, Project } from '../types';\n\ninterface RequiresSetting {\n key: string;\n packageManager?: 'npm' | 'pnpm';\n severity?: ErrorSeverity;\n}\nconst REQUIRED_SETTINGS: RequiresSetting[] = [\n { key: 'legacy-peer-deps', packageManager: 'npm', severity: ErrorSeverity.warning },\n];\n\nexport class RequireNpmrc implements PackageRule {\n get id() {\n return 'require-npmrc';\n }\n\n run(project: Project): PackageError[] {\n const stdout = execSync('npm config list --json', { encoding: 'utf8' });\n const config = JSON.parse(stdout);\n\n function omitsRequiredSetting({ key, packageManager }: RequiresSetting) {\n return (\n config[key] !== true &&\n (!packageManager || packageManager === project.packageManager.command)\n );\n }\n\n return REQUIRED_SETTINGS.filter(omitsRequiredSetting).map(({ key, severity }) => ({\n id: this.id,\n data: key,\n location: '.npmrc',\n message: `project does not contain .npmrc with ${key}=true`,\n severity,\n fixable: FixCategory.isolated,\n }));\n }\n\n fix(error: PackageError<string>) {\n const command = `npm config set --location=project ${error.data}=true`;\n log.debug(`review:${this.id}`, `Running ${command}`);\n execSync(command);\n }\n}\n"],"names":["RequireNpmrc","REQUIRED_SETTINGS","key","packageManager","severity","ErrorSeverity","warning","id","run","project","stdout","execSync","encoding","config","JSON","parse","omitsRequiredSetting","command","filter","map","data","location","message","fixable","FixCategory","isolated","fix","error","log","debug"],"mappings":";;;;+BAaaA;;;eAAAA;;;+BAbY;uBACL;uBAC2D;AAO/E,MAAMC,oBAAuC;IACzC;QAAEC,KAAK;QAAoBC,gBAAgB;QAAOC,UAAUC,oBAAa,CAACC,OAAO;IAAC;CACrF;AAEM,MAAMN;IACT,IAAIO,KAAK;QACL,OAAO;IACX;IAEAC,IAAIC,OAAgB,EAAkB;QAClC,MAAMC,SAASC,IAAAA,uBAAQ,EAAC,0BAA0B;YAAEC,UAAU;QAAO;QACrE,MAAMC,SAASC,KAAKC,KAAK,CAACL;QAE1B,SAASM,qBAAqB,EAAEd,GAAG,EAAEC,cAAc,EAAmB;YAClE,OACIU,MAAM,CAACX,IAAI,KAAK,QACf,CAAA,CAACC,kBAAkBA,mBAAmBM,QAAQN,cAAc,CAACc,OAAO,AAAD;QAE5E;QAEA,OAAOhB,kBAAkBiB,MAAM,CAACF,sBAAsBG,GAAG,CAAC,CAAC,EAAEjB,GAAG,EAAEE,QAAQ,EAAE,GAAM,CAAA;gBAC9EG,IAAI,IAAI,CAACA,EAAE;gBACXa,MAAMlB;gBACNmB,UAAU;gBACVC,SAAS,CAAC,qCAAqC,EAAEpB,IAAI,KAAK,CAAC;gBAC3DE;gBACAmB,SAASC,kBAAW,CAACC,QAAQ;YACjC,CAAA;IACJ;IAEAC,IAAIC,KAA2B,EAAE;QAC7B,MAAMV,UAAU,CAAC,kCAAkC,EAAEU,MAAMP,IAAI,CAAC,KAAK,CAAC;QACtEQ,UAAG,CAACC,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,CAACtB,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAEU,SAAS;QACnDN,IAAAA,uBAAQ,EAACM;IACb;AACJ"}
@@ -45,6 +45,7 @@ function webpackConfig(overrides) {
45
45
  }
46
46
  function getContext() {
47
47
  return {
48
+ codeCoverage: true,
48
49
  destination: '',
49
50
  isProduction: false,
50
51
  name: '',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cypress/config/webpack-config.ts"],"sourcesContent":["import { inspect } from 'node:util';\nimport type { Configuration } from 'webpack';\nimport merge from 'webpack-merge';\nimport { getSwcOptions } from '../../cli/tasks';\nimport { TSConfig } from '../../cli/utils';\nimport { getTsConfigWithFallback, log } from '../../utils';\nimport { Context, Overrides, rulesConfig } from '../../webpack/configs';\n\nexport function webpackConfig(overrides?: Overrides): Configuration {\n const context = getContext();\n const rules = getRules(context, overrides ?? {});\n\n /* istanbul ignore next: debug only */\n log.debug('cypress-config:webpack-config', () => inspect({ rules }, { depth: null }));\n\n const config: Configuration = {\n module: {\n rules,\n },\n resolve: {\n extensions: ['.ts', '.tsx', '.js', '.jsx'],\n },\n };\n\n return merge(config, overrides?.configuration ?? {});\n}\n\nfunction getContext(): Context {\n return {\n destination: '',\n isProduction: false,\n name: '',\n packageData: {} as any,\n sharedDependencies: {},\n source: '',\n };\n}\n\nfunction getRules(context: Context, overrides: Overrides) {\n const { rules } = rulesConfig(context, overrides);\n\n return [getSwcLoaderRule(), ...rules];\n}\n\nfunction getSwcLoaderRule() {\n const tsConfig = new TSConfig(getTsConfigWithFallback());\n\n const swcOptions = getSwcOptions(tsConfig);\n\n return {\n test: /\\.tsx?$/,\n exclude: /node_modules/,\n use: {\n loader: 'swc-loader',\n options: swcOptions,\n },\n };\n}\n"],"names":["webpackConfig","overrides","context","getContext","rules","getRules","log","debug","inspect","depth","config","module","resolve","extensions","merge","configuration","destination","isProduction","name","packageData","sharedDependencies","source","rulesConfig","getSwcLoaderRule","tsConfig","TSConfig","getTsConfigWithFallback","swcOptions","getSwcOptions","test","exclude","use","loader","options"],"mappings":";;;;+BAQgBA;;;eAAAA;;;0BARQ;qEAEN;uBACY;uBACL;wBACoB;yBACG;;;;;;AAEzC,SAASA,cAAcC,SAAqB;;IAC/C,MAAMC,UAAUC;IAChB,MAAMC,QAAQC,SAASH,SAASD,sBAAAA,uBAAAA,YAAa,CAAC;IAE9C,oCAAoC,GACpCK,WAAG,CAACC,KAAK,CAAC,iCAAiC,IAAMC,IAAAA,iBAAO,EAAC;YAAEJ;QAAM,GAAG;YAAEK,OAAO;QAAK;IAElF,MAAMC,SAAwB;QAC1BC,QAAQ;YACJP;QACJ;QACAQ,SAAS;YACLC,YAAY;gBAAC;gBAAO;gBAAQ;gBAAO;aAAO;QAC9C;IACJ;IAEA,OAAOC,IAAAA,qBAAK,EAACJ,gBAAQT,sBAAAA,gCAAAA,UAAWc,aAAa,uCAAI,CAAC;AACtD;AAEA,SAASZ;IACL,OAAO;QACHa,aAAa;QACbC,cAAc;QACdC,MAAM;QACNC,aAAa,CAAC;QACdC,oBAAoB,CAAC;QACrBC,QAAQ;IACZ;AACJ;AAEA,SAAShB,SAASH,OAAgB,EAAED,SAAoB;IACpD,MAAM,EAAEG,KAAK,EAAE,GAAGkB,IAAAA,oBAAW,EAACpB,SAASD;IAEvC,OAAO;QAACsB;WAAuBnB;KAAM;AACzC;AAEA,SAASmB;IACL,MAAMC,WAAW,IAAIC,eAAQ,CAACC,IAAAA,+BAAuB;IAErD,MAAMC,aAAaC,IAAAA,oBAAa,EAACJ;IAEjC,OAAO;QACHK,MAAM;QACNC,SAAS;QACTC,KAAK;YACDC,QAAQ;YACRC,SAASN;QACb;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../../src/cypress/config/webpack-config.ts"],"sourcesContent":["import { inspect } from 'node:util';\nimport type { Configuration } from 'webpack';\nimport merge from 'webpack-merge';\nimport { getSwcOptions } from '../../cli/tasks';\nimport { TSConfig } from '../../cli/utils';\nimport { getTsConfigWithFallback, log } from '../../utils';\nimport { Context, Overrides, rulesConfig } from '../../webpack/configs';\n\nexport function webpackConfig(overrides?: Overrides): Configuration {\n const context = getContext();\n const rules = getRules(context, overrides ?? {});\n\n /* istanbul ignore next: debug only */\n log.debug('cypress-config:webpack-config', () => inspect({ rules }, { depth: null }));\n\n const config: Configuration = {\n module: {\n rules,\n },\n resolve: {\n extensions: ['.ts', '.tsx', '.js', '.jsx'],\n },\n };\n\n return merge(config, overrides?.configuration ?? {});\n}\n\nfunction getContext(): Context {\n return {\n codeCoverage: true,\n destination: '',\n isProduction: false,\n name: '',\n packageData: {} as any,\n sharedDependencies: {},\n source: '',\n };\n}\n\nfunction getRules(context: Context, overrides: Overrides) {\n const { rules } = rulesConfig(context, overrides);\n\n return [getSwcLoaderRule(), ...rules];\n}\n\nfunction getSwcLoaderRule() {\n const tsConfig = new TSConfig(getTsConfigWithFallback());\n\n const swcOptions = getSwcOptions(tsConfig);\n\n return {\n test: /\\.tsx?$/,\n exclude: /node_modules/,\n use: {\n loader: 'swc-loader',\n options: swcOptions,\n },\n };\n}\n"],"names":["webpackConfig","overrides","context","getContext","rules","getRules","log","debug","inspect","depth","config","module","resolve","extensions","merge","configuration","codeCoverage","destination","isProduction","name","packageData","sharedDependencies","source","rulesConfig","getSwcLoaderRule","tsConfig","TSConfig","getTsConfigWithFallback","swcOptions","getSwcOptions","test","exclude","use","loader","options"],"mappings":";;;;+BAQgBA;;;eAAAA;;;0BARQ;qEAEN;uBACY;uBACL;wBACoB;yBACG;;;;;;AAEzC,SAASA,cAAcC,SAAqB;;IAC/C,MAAMC,UAAUC;IAChB,MAAMC,QAAQC,SAASH,SAASD,sBAAAA,uBAAAA,YAAa,CAAC;IAE9C,oCAAoC,GACpCK,WAAG,CAACC,KAAK,CAAC,iCAAiC,IAAMC,IAAAA,iBAAO,EAAC;YAAEJ;QAAM,GAAG;YAAEK,OAAO;QAAK;IAElF,MAAMC,SAAwB;QAC1BC,QAAQ;YACJP;QACJ;QACAQ,SAAS;YACLC,YAAY;gBAAC;gBAAO;gBAAQ;gBAAO;aAAO;QAC9C;IACJ;IAEA,OAAOC,IAAAA,qBAAK,EAACJ,gBAAQT,sBAAAA,gCAAAA,UAAWc,aAAa,uCAAI,CAAC;AACtD;AAEA,SAASZ;IACL,OAAO;QACHa,cAAc;QACdC,aAAa;QACbC,cAAc;QACdC,MAAM;QACNC,aAAa,CAAC;QACdC,oBAAoB,CAAC;QACrBC,QAAQ;IACZ;AACJ;AAEA,SAASjB,SAASH,OAAgB,EAAED,SAAoB;IACpD,MAAM,EAAEG,KAAK,EAAE,GAAGmB,IAAAA,oBAAW,EAACrB,SAASD;IAEvC,OAAO;QAACuB;WAAuBpB;KAAM;AACzC;AAEA,SAASoB;IACL,MAAMC,WAAW,IAAIC,eAAQ,CAACC,IAAAA,+BAAuB;IAErD,MAAMC,aAAaC,IAAAA,oBAAa,EAACJ;IAEjC,OAAO;QACHK,MAAM;QACNC,SAAS;QACTC,KAAK;YACDC,QAAQ;YACRC,SAASN;QACb;IACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"webpack-final.d.ts","sourceRoot":"","sources":["../../src/storybook-config/webpack-final.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAW,SAAS,EAAe,MAAM,oBAAoB,CAAC;AAGrE,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,GAAE,SAAc,GAAG,aAAa,CAgB5F"}
1
+ {"version":3,"file":"webpack-final.d.ts","sourceRoot":"","sources":["../../src/storybook-config/webpack-final.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAW,SAAS,EAAe,MAAM,oBAAoB,CAAC;AAGrE,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,GAAE,SAAc,GAAG,aAAa,CAoB5F"}
@@ -26,6 +26,12 @@ function webpackFinal(config, overrides = {}) {
26
26
  }));
27
27
  return {
28
28
  ...config,
29
+ optimization: {
30
+ ...config.optimization,
31
+ ...config.mode !== 'production' ? {
32
+ sideEffects: false
33
+ } : {}
34
+ },
29
35
  module: {
30
36
  ...config.module,
31
37
  rules: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/storybook-config/webpack-final.ts"],"sourcesContent":["import { inspect } from 'node:util';\nimport type { Configuration } from 'webpack';\nimport { log } from '../utils';\nimport { Context, Overrides, rulesConfig } from '../webpack/configs';\nimport { miniCssExtractPlugin } from '../webpack/configs/plugins';\n\nexport function webpackFinal(config: Configuration, overrides: Overrides = {}): Configuration {\n const context = getContext(config);\n const rules = getRules(context, overrides);\n const plugins = getPlugins(context, overrides);\n\n /* istanbul ignore next: debug only */\n log.debug('storybook-config:webpack-final', () => inspect({ rules, plugins }, { depth: null }));\n\n return {\n ...config,\n module: {\n ...config.module,\n rules: [...transformDefaultRules(config.module?.rules), ...rules],\n },\n plugins: [...(config.plugins ?? []), ...plugins],\n };\n}\n\nfunction getContext(config: Configuration): Context {\n return {\n destination: '',\n isProduction: config.mode === 'production',\n name: '',\n packageData: {} as any,\n sharedDependencies: {},\n source: '',\n };\n}\n\nfunction getPlugins(context: Context, overrides: Overrides) {\n return [miniCssExtractPlugin(context, overrides)].filter(plugin => !!plugin);\n}\n\nfunction getRules(context: Context, overrides: Overrides) {\n const include = ['.module.css', '.module.less', '.less', '.module.scss', '.scss', '.svg'];\n const exclude = ['.css'];\n\n const { rules } = rulesConfig(context, overrides);\n\n return rules.filter(\n ({ test }) =>\n !(test instanceof RegExp) ||\n include.some(ext => test.exec(ext) && !exclude.some(ext => test.exec(ext)))\n );\n}\n\nfunction transformDefaultRules(rules: NonNullable<Configuration['module']>['rules'] = []) {\n const result = rules.map(rule => {\n if (rule && typeof rule === 'object' && rule.test instanceof RegExp) {\n if (rule.test.test('.css')) {\n return { ...rule, exclude: /\\.module.css$/ };\n }\n if (rule.test.test('.svg')) {\n return { ...rule, exclude: /\\.svg$/i };\n }\n }\n return rule;\n });\n\n /* istanbul ignore next: debug only */\n log.debug('storybook-config:transform-default-rules', () =>\n inspect({ result }, { depth: null })\n );\n\n return result;\n}\n"],"names":["webpackFinal","config","overrides","context","getContext","rules","getRules","plugins","getPlugins","log","debug","inspect","depth","module","transformDefaultRules","destination","isProduction","mode","name","packageData","sharedDependencies","source","miniCssExtractPlugin","filter","plugin","include","exclude","rulesConfig","test","RegExp","some","ext","exec","result","map","rule"],"mappings":";;;;+BAMgBA;;;eAAAA;;;0BANQ;uBAEJ;yBAC4B;yBACX;AAE9B,SAASA,aAAaC,MAAqB,EAAEC,YAAuB,CAAC,CAAC;QAcvDD;QAFuBA;IAXzC,MAAME,UAAUC,WAAWH;IAC3B,MAAMI,QAAQC,SAASH,SAASD;IAChC,MAAMK,UAAUC,WAAWL,SAASD;IAEpC,oCAAoC,GACpCO,UAAG,CAACC,KAAK,CAAC,kCAAkC,IAAMC,IAAAA,iBAAO,EAAC;YAAEN;YAAOE;QAAQ,GAAG;YAAEK,OAAO;QAAK;IAE5F,OAAO;QACH,GAAGX,MAAM;QACTY,QAAQ;YACJ,GAAGZ,OAAOY,MAAM;YAChBR,OAAO;mBAAIS,uBAAsBb,iBAAAA,OAAOY,MAAM,cAAbZ,qCAAAA,eAAeI,KAAK;mBAAMA;aAAM;QACrE;QACAE,SAAS;gBAAKN,kBAAAA,OAAOM,OAAO,cAAdN,6BAAAA,kBAAkB,EAAE;eAAMM;SAAQ;IACpD;AACJ;AAEA,SAASH,WAAWH,MAAqB;IACrC,OAAO;QACHc,aAAa;QACbC,cAAcf,OAAOgB,IAAI,KAAK;QAC9BC,MAAM;QACNC,aAAa,CAAC;QACdC,oBAAoB,CAAC;QACrBC,QAAQ;IACZ;AACJ;AAEA,SAASb,WAAWL,OAAgB,EAAED,SAAoB;IACtD,OAAO;QAACoB,IAAAA,6BAAoB,EAACnB,SAASD;KAAW,CAACqB,MAAM,CAACC,CAAAA,SAAU,CAAC,CAACA;AACzE;AAEA,SAASlB,SAASH,OAAgB,EAAED,SAAoB;IACpD,MAAMuB,UAAU;QAAC;QAAe;QAAgB;QAAS;QAAgB;QAAS;KAAO;IACzF,MAAMC,UAAU;QAAC;KAAO;IAExB,MAAM,EAAErB,KAAK,EAAE,GAAGsB,IAAAA,oBAAW,EAACxB,SAASD;IAEvC,OAAOG,MAAMkB,MAAM,CACf,CAAC,EAAEK,IAAI,EAAE,GACL,CAAEA,CAAAA,gBAAgBC,MAAK,KACvBJ,QAAQK,IAAI,CAACC,CAAAA,MAAOH,KAAKI,IAAI,CAACD,QAAQ,CAACL,QAAQI,IAAI,CAACC,CAAAA,MAAOH,KAAKI,IAAI,CAACD;AAEjF;AAEA,SAASjB,sBAAsBT,QAAuD,EAAE;IACpF,MAAM4B,SAAS5B,MAAM6B,GAAG,CAACC,CAAAA;QACrB,IAAIA,QAAQ,OAAOA,SAAS,YAAYA,KAAKP,IAAI,YAAYC,QAAQ;YACjE,IAAIM,KAAKP,IAAI,CAACA,IAAI,CAAC,SAAS;gBACxB,OAAO;oBAAE,GAAGO,IAAI;oBAAET,SAAS;gBAAgB;YAC/C;YACA,IAAIS,KAAKP,IAAI,CAACA,IAAI,CAAC,SAAS;gBACxB,OAAO;oBAAE,GAAGO,IAAI;oBAAET,SAAS;gBAAU;YACzC;QACJ;QACA,OAAOS;IACX;IAEA,oCAAoC,GACpC1B,UAAG,CAACC,KAAK,CAAC,4CAA4C,IAClDC,IAAAA,iBAAO,EAAC;YAAEsB;QAAO,GAAG;YAAErB,OAAO;QAAK;IAGtC,OAAOqB;AACX"}
1
+ {"version":3,"sources":["../../src/storybook-config/webpack-final.ts"],"sourcesContent":["import { inspect } from 'node:util';\nimport type { Configuration } from 'webpack';\nimport { log } from '../utils';\nimport { Context, Overrides, rulesConfig } from '../webpack/configs';\nimport { miniCssExtractPlugin } from '../webpack/configs/plugins';\n\nexport function webpackFinal(config: Configuration, overrides: Overrides = {}): Configuration {\n const context = getContext(config);\n const rules = getRules(context, overrides);\n const plugins = getPlugins(context, overrides);\n\n /* istanbul ignore next: debug only */\n log.debug('storybook-config:webpack-final', () => inspect({ rules, plugins }, { depth: null }));\n\n return {\n ...config,\n optimization: {\n ...config.optimization,\n ...(config.mode !== 'production' ? { sideEffects: false } : {}),\n },\n module: {\n ...config.module,\n rules: [...transformDefaultRules(config.module?.rules), ...rules],\n },\n plugins: [...(config.plugins ?? []), ...plugins],\n };\n}\n\nfunction getContext(config: Configuration): Context {\n return {\n destination: '',\n isProduction: config.mode === 'production',\n name: '',\n packageData: {} as any,\n sharedDependencies: {},\n source: '',\n };\n}\n\nfunction getPlugins(context: Context, overrides: Overrides) {\n return [miniCssExtractPlugin(context, overrides)].filter(plugin => !!plugin);\n}\n\nfunction getRules(context: Context, overrides: Overrides) {\n const include = ['.module.css', '.module.less', '.less', '.module.scss', '.scss', '.svg'];\n const exclude = ['.css'];\n\n const { rules } = rulesConfig(context, overrides);\n\n return rules.filter(\n ({ test }) =>\n !(test instanceof RegExp) ||\n include.some(ext => test.exec(ext) && !exclude.some(ext => test.exec(ext)))\n );\n}\n\nfunction transformDefaultRules(rules: NonNullable<Configuration['module']>['rules'] = []) {\n const result = rules.map(rule => {\n if (rule && typeof rule === 'object' && rule.test instanceof RegExp) {\n if (rule.test.test('.css')) {\n return { ...rule, exclude: /\\.module.css$/ };\n }\n if (rule.test.test('.svg')) {\n return { ...rule, exclude: /\\.svg$/i };\n }\n }\n return rule;\n });\n\n /* istanbul ignore next: debug only */\n log.debug('storybook-config:transform-default-rules', () =>\n inspect({ result }, { depth: null })\n );\n\n return result;\n}\n"],"names":["webpackFinal","config","overrides","context","getContext","rules","getRules","plugins","getPlugins","log","debug","inspect","depth","optimization","mode","sideEffects","module","transformDefaultRules","destination","isProduction","name","packageData","sharedDependencies","source","miniCssExtractPlugin","filter","plugin","include","exclude","rulesConfig","test","RegExp","some","ext","exec","result","map","rule"],"mappings":";;;;+BAMgBA;;;eAAAA;;;0BANQ;uBAEJ;yBAC4B;yBACX;AAE9B,SAASA,aAAaC,MAAqB,EAAEC,YAAuB,CAAC,CAAC;QAkBvDD;QAFuBA;IAfzC,MAAME,UAAUC,WAAWH;IAC3B,MAAMI,QAAQC,SAASH,SAASD;IAChC,MAAMK,UAAUC,WAAWL,SAASD;IAEpC,oCAAoC,GACpCO,UAAG,CAACC,KAAK,CAAC,kCAAkC,IAAMC,IAAAA,iBAAO,EAAC;YAAEN;YAAOE;QAAQ,GAAG;YAAEK,OAAO;QAAK;IAE5F,OAAO;QACH,GAAGX,MAAM;QACTY,cAAc;YACV,GAAGZ,OAAOY,YAAY;YACtB,GAAIZ,OAAOa,IAAI,KAAK,eAAe;gBAAEC,aAAa;YAAM,IAAI,CAAC,CAAC;QAClE;QACAC,QAAQ;YACJ,GAAGf,OAAOe,MAAM;YAChBX,OAAO;mBAAIY,uBAAsBhB,iBAAAA,OAAOe,MAAM,cAAbf,qCAAAA,eAAeI,KAAK;mBAAMA;aAAM;QACrE;QACAE,SAAS;gBAAKN,kBAAAA,OAAOM,OAAO,cAAdN,6BAAAA,kBAAkB,EAAE;eAAMM;SAAQ;IACpD;AACJ;AAEA,SAASH,WAAWH,MAAqB;IACrC,OAAO;QACHiB,aAAa;QACbC,cAAclB,OAAOa,IAAI,KAAK;QAC9BM,MAAM;QACNC,aAAa,CAAC;QACdC,oBAAoB,CAAC;QACrBC,QAAQ;IACZ;AACJ;AAEA,SAASf,WAAWL,OAAgB,EAAED,SAAoB;IACtD,OAAO;QAACsB,IAAAA,6BAAoB,EAACrB,SAASD;KAAW,CAACuB,MAAM,CAACC,CAAAA,SAAU,CAAC,CAACA;AACzE;AAEA,SAASpB,SAASH,OAAgB,EAAED,SAAoB;IACpD,MAAMyB,UAAU;QAAC;QAAe;QAAgB;QAAS;QAAgB;QAAS;KAAO;IACzF,MAAMC,UAAU;QAAC;KAAO;IAExB,MAAM,EAAEvB,KAAK,EAAE,GAAGwB,IAAAA,oBAAW,EAAC1B,SAASD;IAEvC,OAAOG,MAAMoB,MAAM,CACf,CAAC,EAAEK,IAAI,EAAE,GACL,CAAEA,CAAAA,gBAAgBC,MAAK,KACvBJ,QAAQK,IAAI,CAACC,CAAAA,MAAOH,KAAKI,IAAI,CAACD,QAAQ,CAACL,QAAQI,IAAI,CAACC,CAAAA,MAAOH,KAAKI,IAAI,CAACD;AAEjF;AAEA,SAAShB,sBAAsBZ,QAAuD,EAAE;IACpF,MAAM8B,SAAS9B,MAAM+B,GAAG,CAACC,CAAAA;QACrB,IAAIA,QAAQ,OAAOA,SAAS,YAAYA,KAAKP,IAAI,YAAYC,QAAQ;YACjE,IAAIM,KAAKP,IAAI,CAACA,IAAI,CAAC,SAAS;gBACxB,OAAO;oBAAE,GAAGO,IAAI;oBAAET,SAAS;gBAAgB;YAC/C;YACA,IAAIS,KAAKP,IAAI,CAACA,IAAI,CAAC,SAAS;gBACxB,OAAO;oBAAE,GAAGO,IAAI;oBAAET,SAAS;gBAAU;YACzC;QACJ;QACA,OAAOS;IACX;IAEA,oCAAoC,GACpC5B,UAAG,CAACC,KAAK,CAAC,4CAA4C,IAClDC,IAAAA,iBAAO,EAAC;YAAEwB;QAAO,GAAG;YAAEvB,OAAO;QAAK;IAGtC,OAAOuB;AACX"}
@@ -1,6 +1,6 @@
1
1
  import { Context } from '../types';
2
2
  import { LoaderOptions } from './types';
3
- export declare function cssLoader({ isProduction }: Context, { esModule }?: LoaderOptions): "css-loader" | {
3
+ export declare function cssLoader({ isProduction }: Context, { esModule }?: LoaderOptions): string | {
4
4
  loader: string;
5
5
  options: {
6
6
  esModule: true;
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "cssLoader", {
9
9
  }
10
10
  });
11
11
  function cssLoader({ isProduction }, { esModule } = {}) {
12
- const loader = 'css-loader';
12
+ const loader = require.resolve('css-loader');
13
13
  return esModule ? {
14
14
  loader,
15
15
  options: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/loaders/css-loader.ts"],"sourcesContent":["import { Context } from '../types';\nimport { LoaderOptions } from './types';\n\nexport function cssLoader({ isProduction }: Context, { esModule }: LoaderOptions = {}) {\n const loader = 'css-loader';\n return esModule\n ? {\n loader,\n options: {\n esModule,\n modules: {\n ...(isProduction ? { localIdentName: '[local]__[hash:base64:5]' } : {}),\n exportLocalsConvention: 'camelCaseOnly',\n namedExport: true,\n },\n },\n }\n : loader;\n}\n"],"names":["cssLoader","isProduction","esModule","loader","options","modules","localIdentName","exportLocalsConvention","namedExport"],"mappings":";;;;+BAGgBA;;;eAAAA;;;AAAT,SAASA,UAAU,EAAEC,YAAY,EAAW,EAAE,EAAEC,QAAQ,EAAiB,GAAG,CAAC,CAAC;IACjF,MAAMC,SAAS;IACf,OAAOD,WACD;QACIC;QACAC,SAAS;YACLF;YACAG,SAAS;gBACL,GAAIJ,eAAe;oBAAEK,gBAAgB;gBAA2B,IAAI,CAAC,CAAC;gBACtEC,wBAAwB;gBACxBC,aAAa;YACjB;QACJ;IACJ,IACAL;AACV"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/loaders/css-loader.ts"],"sourcesContent":["import { Context } from '../types';\nimport { LoaderOptions } from './types';\n\nexport function cssLoader({ isProduction }: Context, { esModule }: LoaderOptions = {}) {\n const loader = require.resolve('css-loader');\n return esModule\n ? {\n loader,\n options: {\n esModule,\n modules: {\n ...(isProduction ? { localIdentName: '[local]__[hash:base64:5]' } : {}),\n exportLocalsConvention: 'camelCaseOnly',\n namedExport: true,\n },\n },\n }\n : loader;\n}\n"],"names":["cssLoader","isProduction","esModule","loader","require","resolve","options","modules","localIdentName","exportLocalsConvention","namedExport"],"mappings":";;;;+BAGgBA;;;eAAAA;;;AAAT,SAASA,UAAU,EAAEC,YAAY,EAAW,EAAE,EAAEC,QAAQ,EAAiB,GAAG,CAAC,CAAC;IACjF,MAAMC,SAASC,QAAQC,OAAO,CAAC;IAC/B,OAAOH,WACD;QACIC;QACAG,SAAS;YACLJ;YACAK,SAAS;gBACL,GAAIN,eAAe;oBAAEO,gBAAgB;gBAA2B,IAAI,CAAC,CAAC;gBACtEC,wBAAwB;gBACxBC,aAAa;YACjB;QACJ;IACJ,IACAP;AACV"}
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "lessLoader", {
10
10
  });
11
11
  function lessLoader() {
12
12
  return {
13
- loader: 'less-loader',
13
+ loader: require.resolve('less-loader'),
14
14
  options: {
15
15
  lessOptions: {
16
16
  math: 'always'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/loaders/less-loader.ts"],"sourcesContent":["export function lessLoader() {\n return { loader: 'less-loader', options: { lessOptions: { math: 'always' } } };\n}\n"],"names":["lessLoader","loader","options","lessOptions","math"],"mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA;IACZ,OAAO;QAAEC,QAAQ;QAAeC,SAAS;YAAEC,aAAa;gBAAEC,MAAM;YAAS;QAAE;IAAE;AACjF"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/loaders/less-loader.ts"],"sourcesContent":["export function lessLoader() {\n return { loader: require.resolve('less-loader'), options: { lessOptions: { math: 'always' } } };\n}\n"],"names":["lessLoader","loader","require","resolve","options","lessOptions","math"],"mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA;IACZ,OAAO;QAAEC,QAAQC,QAAQC,OAAO,CAAC;QAAgBC,SAAS;YAAEC,aAAa;gBAAEC,MAAM;YAAS;QAAE;IAAE;AAClG"}
@@ -15,7 +15,7 @@ function _interop_require_default(obj) {
15
15
  };
16
16
  }
17
17
  function styleLoader({ isProduction, isWebComponent, emitExposedDependencies }, { esModule } = {}) {
18
- const loader = isProduction || isWebComponent || emitExposedDependencies ? _minicssextractplugin.default.loader : 'style-loader';
18
+ const loader = isProduction || isWebComponent || emitExposedDependencies ? _minicssextractplugin.default.loader : require.resolve('style-loader');
19
19
  return esModule ? {
20
20
  loader,
21
21
  options: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/loaders/style-loader.ts"],"sourcesContent":["import MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport { Context } from '../types';\nimport { LoaderOptions } from './types';\n\nexport function styleLoader(\n { isProduction, isWebComponent, emitExposedDependencies }: Context,\n { esModule }: LoaderOptions = {}\n) {\n const loader =\n isProduction || isWebComponent || emitExposedDependencies\n ? MiniCssExtractPlugin.loader\n : 'style-loader';\n return esModule ? { loader, options: { esModule } } : loader;\n}\n"],"names":["styleLoader","isProduction","isWebComponent","emitExposedDependencies","esModule","loader","MiniCssExtractPlugin","options"],"mappings":";;;;+BAIgBA;;;eAAAA;;;6EAJiB;;;;;;AAI1B,SAASA,YACZ,EAAEC,YAAY,EAAEC,cAAc,EAAEC,uBAAuB,EAAW,EAClE,EAAEC,QAAQ,EAAiB,GAAG,CAAC,CAAC;IAEhC,MAAMC,SACFJ,gBAAgBC,kBAAkBC,0BAC5BG,6BAAoB,CAACD,MAAM,GAC3B;IACV,OAAOD,WAAW;QAAEC;QAAQE,SAAS;YAAEH;QAAS;IAAE,IAAIC;AAC1D"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/loaders/style-loader.ts"],"sourcesContent":["import MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport { Context } from '../types';\nimport { LoaderOptions } from './types';\n\nexport function styleLoader(\n { isProduction, isWebComponent, emitExposedDependencies }: Context,\n { esModule }: LoaderOptions = {}\n) {\n const loader =\n isProduction || isWebComponent || emitExposedDependencies\n ? MiniCssExtractPlugin.loader\n : require.resolve('style-loader');\n return esModule ? { loader, options: { esModule } } : loader;\n}\n"],"names":["styleLoader","isProduction","isWebComponent","emitExposedDependencies","esModule","loader","MiniCssExtractPlugin","require","resolve","options"],"mappings":";;;;+BAIgBA;;;eAAAA;;;6EAJiB;;;;;;AAI1B,SAASA,YACZ,EAAEC,YAAY,EAAEC,cAAc,EAAEC,uBAAuB,EAAW,EAClE,EAAEC,QAAQ,EAAiB,GAAG,CAAC,CAAC;IAEhC,MAAMC,SACFJ,gBAAgBC,kBAAkBC,0BAC5BG,6BAAoB,CAACD,MAAM,GAC3BE,QAAQC,OAAO,CAAC;IAC1B,OAAOJ,WAAW;QAAEC;QAAQI,SAAS;YAAEL;QAAS;IAAE,IAAIC;AAC1D"}
@@ -20,7 +20,7 @@ function jsRules({ codeCoverage, destination }) {
20
20
  enforce: 'pre',
21
21
  test: /\.js$/,
22
22
  exclude: /node_modules/,
23
- loader: 'source-map-loader'
23
+ loader: require.resolve('source-map-loader')
24
24
  },
25
25
  {
26
26
  test: /\.js$/,
@@ -31,7 +31,7 @@ function jsRules({ codeCoverage, destination }) {
31
31
  {
32
32
  test: /\.worker\.js$/,
33
33
  use: {
34
- loader: 'worker-loader'
34
+ loader: require.resolve('worker-loader')
35
35
  }
36
36
  }
37
37
  ];
@@ -44,7 +44,7 @@ function jsRules({ codeCoverage, destination }) {
44
44
  ],
45
45
  exclude: /node_modules/,
46
46
  use: {
47
- loader: '@jsdevtools/coverage-istanbul-loader',
47
+ loader: require.resolve('@jsdevtools/coverage-istanbul-loader'),
48
48
  options: {
49
49
  compact: false,
50
50
  produceSourceMap: true
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/rules/js-rules.ts"],"sourcesContent":["import path from 'path';\nimport { RuleSetRule } from 'webpack';\nimport { Context } from '../types';\n\nexport function jsRules({ codeCoverage, destination }: Context): RuleSetRule[] {\n const result: RuleSetRule[] = [\n {\n enforce: 'pre',\n test: /\\.js$/,\n exclude: /node_modules/,\n loader: 'source-map-loader',\n },\n {\n test: /\\.js$/,\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.worker\\.js$/,\n use: { loader: 'worker-loader' },\n },\n ];\n\n if (codeCoverage) {\n result.push({\n enforce: 'post',\n test: /\\.js$/,\n include: [path.resolve(destination)],\n exclude: /node_modules/,\n use: {\n loader: '@jsdevtools/coverage-istanbul-loader',\n options: {\n compact: false,\n produceSourceMap: true,\n },\n },\n });\n }\n\n return result;\n}\n"],"names":["jsRules","codeCoverage","destination","result","enforce","test","exclude","loader","resolve","fullySpecified","use","push","include","path","options","compact","produceSourceMap"],"mappings":";;;;+BAIgBA;;;eAAAA;;;6DAJC;;;;;;AAIV,SAASA,QAAQ,EAAEC,YAAY,EAAEC,WAAW,EAAW;IAC1D,MAAMC,SAAwB;QAC1B;YACIC,SAAS;YACTC,MAAM;YACNC,SAAS;YACTC,QAAQ;QACZ;QACA;YACIF,MAAM;YACNG,SAAS;gBACLC,gBAAgB;YACpB;QACJ;QACA;YACIJ,MAAM;YACNK,KAAK;gBAAEH,QAAQ;YAAgB;QACnC;KACH;IAED,IAAIN,cAAc;QACdE,OAAOQ,IAAI,CAAC;YACRP,SAAS;YACTC,MAAM;YACNO,SAAS;gBAACC,aAAI,CAACL,OAAO,CAACN;aAAa;YACpCI,SAAS;YACTI,KAAK;gBACDH,QAAQ;gBACRO,SAAS;oBACLC,SAAS;oBACTC,kBAAkB;gBACtB;YACJ;QACJ;IACJ;IAEA,OAAOb;AACX"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/rules/js-rules.ts"],"sourcesContent":["import path from 'path';\nimport { RuleSetRule } from 'webpack';\nimport { Context } from '../types';\n\nexport function jsRules({ codeCoverage, destination }: Context): RuleSetRule[] {\n const result: RuleSetRule[] = [\n {\n enforce: 'pre',\n test: /\\.js$/,\n exclude: /node_modules/,\n loader: require.resolve('source-map-loader'),\n },\n {\n test: /\\.js$/,\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.worker\\.js$/,\n use: { loader: require.resolve('worker-loader') },\n },\n ];\n\n if (codeCoverage) {\n result.push({\n enforce: 'post',\n test: /\\.js$/,\n include: [path.resolve(destination)],\n exclude: /node_modules/,\n use: {\n loader: require.resolve('@jsdevtools/coverage-istanbul-loader'),\n options: {\n compact: false,\n produceSourceMap: true,\n },\n },\n });\n }\n\n return result;\n}\n"],"names":["jsRules","codeCoverage","destination","result","enforce","test","exclude","loader","require","resolve","fullySpecified","use","push","include","path","options","compact","produceSourceMap"],"mappings":";;;;+BAIgBA;;;eAAAA;;;6DAJC;;;;;;AAIV,SAASA,QAAQ,EAAEC,YAAY,EAAEC,WAAW,EAAW;IAC1D,MAAMC,SAAwB;QAC1B;YACIC,SAAS;YACTC,MAAM;YACNC,SAAS;YACTC,QAAQC,QAAQC,OAAO,CAAC;QAC5B;QACA;YACIJ,MAAM;YACNI,SAAS;gBACLC,gBAAgB;YACpB;QACJ;QACA;YACIL,MAAM;YACNM,KAAK;gBAAEJ,QAAQC,QAAQC,OAAO,CAAC;YAAiB;QACpD;KACH;IAED,IAAIR,cAAc;QACdE,OAAOS,IAAI,CAAC;YACRR,SAAS;YACTC,MAAM;YACNQ,SAAS;gBAACC,aAAI,CAACL,OAAO,CAACP;aAAa;YACpCI,SAAS;YACTK,KAAK;gBACDJ,QAAQC,QAAQC,OAAO,CAAC;gBACxBM,SAAS;oBACLC,SAAS;oBACTC,kBAAkB;gBACtB;YACJ;QACJ;IACJ;IAEA,OAAOd;AACX"}
@@ -20,7 +20,7 @@ function scssRules(context) {
20
20
  (0, _loaders.cssLoader)(context, {
21
21
  esModule: true
22
22
  }),
23
- 'sass-loader'
23
+ require.resolve('sass-loader')
24
24
  ]
25
25
  },
26
26
  {
@@ -29,7 +29,7 @@ function scssRules(context) {
29
29
  use: [
30
30
  (0, _loaders.styleLoader)(context),
31
31
  (0, _loaders.cssLoader)(context),
32
- 'sass-loader'
32
+ require.resolve('sass-loader')
33
33
  ]
34
34
  }
35
35
  ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/rules/scss-rules.ts"],"sourcesContent":["import { RuleSetRule } from 'webpack';\nimport { cssLoader, styleLoader } from '../loaders';\nimport { Context } from '../types';\n\nexport function scssRules(context: Context): RuleSetRule[] {\n return [\n {\n test: /\\.module.scss$/,\n use: [\n styleLoader(context, { esModule: true }),\n cssLoader(context, { esModule: true }),\n 'sass-loader',\n ],\n },\n {\n test: /(\\.scss)$/,\n exclude: /\\.module.scss$/,\n use: [styleLoader(context), cssLoader(context), 'sass-loader'],\n },\n ];\n}\n"],"names":["scssRules","context","test","use","styleLoader","esModule","cssLoader","exclude"],"mappings":";;;;+BAIgBA;;;eAAAA;;;yBAHuB;AAGhC,SAASA,UAAUC,OAAgB;IACtC,OAAO;QACH;YACIC,MAAM;YACNC,KAAK;gBACDC,IAAAA,oBAAW,EAACH,SAAS;oBAAEI,UAAU;gBAAK;gBACtCC,IAAAA,kBAAS,EAACL,SAAS;oBAAEI,UAAU;gBAAK;gBACpC;aACH;QACL;QACA;YACIH,MAAM;YACNK,SAAS;YACTJ,KAAK;gBAACC,IAAAA,oBAAW,EAACH;gBAAUK,IAAAA,kBAAS,EAACL;gBAAU;aAAc;QAClE;KACH;AACL"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/rules/scss-rules.ts"],"sourcesContent":["import { RuleSetRule } from 'webpack';\nimport { cssLoader, styleLoader } from '../loaders';\nimport { Context } from '../types';\n\nexport function scssRules(context: Context): RuleSetRule[] {\n return [\n {\n test: /\\.module.scss$/,\n use: [\n styleLoader(context, { esModule: true }),\n cssLoader(context, { esModule: true }),\n require.resolve('sass-loader'),\n ],\n },\n {\n test: /(\\.scss)$/,\n exclude: /\\.module.scss$/,\n use: [styleLoader(context), cssLoader(context), require.resolve('sass-loader')],\n },\n ];\n}\n"],"names":["scssRules","context","test","use","styleLoader","esModule","cssLoader","require","resolve","exclude"],"mappings":";;;;+BAIgBA;;;eAAAA;;;yBAHuB;AAGhC,SAASA,UAAUC,OAAgB;IACtC,OAAO;QACH;YACIC,MAAM;YACNC,KAAK;gBACDC,IAAAA,oBAAW,EAACH,SAAS;oBAAEI,UAAU;gBAAK;gBACtCC,IAAAA,kBAAS,EAACL,SAAS;oBAAEI,UAAU;gBAAK;gBACpCE,QAAQC,OAAO,CAAC;aACnB;QACL;QACA;YACIN,MAAM;YACNO,SAAS;YACTN,KAAK;gBAACC,IAAAA,oBAAW,EAACH;gBAAUK,IAAAA,kBAAS,EAACL;gBAAUM,QAAQC,OAAO,CAAC;aAAe;QACnF;KACH;AACL"}
@@ -12,7 +12,7 @@ function svgRules(_) {
12
12
  // Using [\\\/] because Windows uses backslash as path separator
13
13
  const librariesRegEx = /node_modules[\\\/]@servicetitan[\\\/]anvil2/;
14
14
  const SVGRLoader = {
15
- loader: '@svgr/webpack',
15
+ loader: require.resolve('@svgr/webpack'),
16
16
  options: {
17
17
  svgoConfig: {
18
18
  plugins: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/rules/svg-rules.ts"],"sourcesContent":["import { RuleSetRule } from 'webpack';\nimport { Context } from '../types';\n\nexport function svgRules(_: Context): RuleSetRule[] {\n // Using [\\\\\\/] because Windows uses backslash as path separator\n const librariesRegEx = /node_modules[\\\\\\/]@servicetitan[\\\\\\/]anvil2/;\n\n const SVGRLoader = {\n loader: '@svgr/webpack',\n options: {\n svgoConfig: {\n plugins: [\n {\n name: 'preset-default',\n params: {\n overrides: {\n removeViewBox: false,\n },\n },\n },\n ],\n },\n },\n };\n\n return [\n // SVGs not from Anvil 2: *.svg?component -> SVGRLoader, *.svg -> asset\n {\n test: /\\.svg$/i,\n exclude: librariesRegEx,\n resourceQuery: { not: [/component/] }, // exclude *.svg?component\n type: 'asset',\n generator: {\n filename: 'images/[contenthash][ext][query]',\n },\n },\n {\n test: /\\.svg$/i,\n exclude: librariesRegEx,\n resourceQuery: /component/, // *.svg?component\n use: [SVGRLoader],\n },\n // SVGs from Anvil 2: *.svg?asset -> asset, *.svg -> SVGRLoader\n {\n test: /\\.svg$/i,\n include: librariesRegEx,\n resourceQuery: { not: [/asset/] }, // exclude *.svg?asset\n use: [SVGRLoader],\n },\n {\n test: /\\.svg$/i,\n include: librariesRegEx,\n resourceQuery: /asset/, // *.svg?asset\n type: 'asset',\n generator: {\n filename: 'images/[contenthash][ext][query]',\n },\n },\n ];\n}\n"],"names":["svgRules","_","librariesRegEx","SVGRLoader","loader","options","svgoConfig","plugins","name","params","overrides","removeViewBox","test","exclude","resourceQuery","not","type","generator","filename","use","include"],"mappings":";;;;+BAGgBA;;;eAAAA;;;AAAT,SAASA,SAASC,CAAU;IAC/B,gEAAgE;IAChE,MAAMC,iBAAiB;IAEvB,MAAMC,aAAa;QACfC,QAAQ;QACRC,SAAS;YACLC,YAAY;gBACRC,SAAS;oBACL;wBACIC,MAAM;wBACNC,QAAQ;4BACJC,WAAW;gCACPC,eAAe;4BACnB;wBACJ;oBACJ;iBACH;YACL;QACJ;IACJ;IAEA,OAAO;QACH,uEAAuE;QACvE;YACIC,MAAM;YACNC,SAASX;YACTY,eAAe;gBAAEC,KAAK;oBAAC;iBAAY;YAAC;YACpCC,MAAM;YACNC,WAAW;gBACPC,UAAU;YACd;QACJ;QACA;YACIN,MAAM;YACNC,SAASX;YACTY,eAAe;YACfK,KAAK;gBAAChB;aAAW;QACrB;QACA,+DAA+D;QAC/D;YACIS,MAAM;YACNQ,SAASlB;YACTY,eAAe;gBAAEC,KAAK;oBAAC;iBAAQ;YAAC;YAChCI,KAAK;gBAAChB;aAAW;QACrB;QACA;YACIS,MAAM;YACNQ,SAASlB;YACTY,eAAe;YACfE,MAAM;YACNC,WAAW;gBACPC,UAAU;YACd;QACJ;KACH;AACL"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/rules/svg-rules.ts"],"sourcesContent":["import { RuleSetRule } from 'webpack';\nimport { Context } from '../types';\n\nexport function svgRules(_: Context): RuleSetRule[] {\n // Using [\\\\\\/] because Windows uses backslash as path separator\n const librariesRegEx = /node_modules[\\\\\\/]@servicetitan[\\\\\\/]anvil2/;\n\n const SVGRLoader = {\n loader: require.resolve('@svgr/webpack'),\n options: {\n svgoConfig: {\n plugins: [\n {\n name: 'preset-default',\n params: {\n overrides: {\n removeViewBox: false,\n },\n },\n },\n ],\n },\n },\n };\n\n return [\n // SVGs not from Anvil 2: *.svg?component -> SVGRLoader, *.svg -> asset\n {\n test: /\\.svg$/i,\n exclude: librariesRegEx,\n resourceQuery: { not: [/component/] }, // exclude *.svg?component\n type: 'asset',\n generator: {\n filename: 'images/[contenthash][ext][query]',\n },\n },\n {\n test: /\\.svg$/i,\n exclude: librariesRegEx,\n resourceQuery: /component/, // *.svg?component\n use: [SVGRLoader],\n },\n // SVGs from Anvil 2: *.svg?asset -> asset, *.svg -> SVGRLoader\n {\n test: /\\.svg$/i,\n include: librariesRegEx,\n resourceQuery: { not: [/asset/] }, // exclude *.svg?asset\n use: [SVGRLoader],\n },\n {\n test: /\\.svg$/i,\n include: librariesRegEx,\n resourceQuery: /asset/, // *.svg?asset\n type: 'asset',\n generator: {\n filename: 'images/[contenthash][ext][query]',\n },\n },\n ];\n}\n"],"names":["svgRules","_","librariesRegEx","SVGRLoader","loader","require","resolve","options","svgoConfig","plugins","name","params","overrides","removeViewBox","test","exclude","resourceQuery","not","type","generator","filename","use","include"],"mappings":";;;;+BAGgBA;;;eAAAA;;;AAAT,SAASA,SAASC,CAAU;IAC/B,gEAAgE;IAChE,MAAMC,iBAAiB;IAEvB,MAAMC,aAAa;QACfC,QAAQC,QAAQC,OAAO,CAAC;QACxBC,SAAS;YACLC,YAAY;gBACRC,SAAS;oBACL;wBACIC,MAAM;wBACNC,QAAQ;4BACJC,WAAW;gCACPC,eAAe;4BACnB;wBACJ;oBACJ;iBACH;YACL;QACJ;IACJ;IAEA,OAAO;QACH,uEAAuE;QACvE;YACIC,MAAM;YACNC,SAASb;YACTc,eAAe;gBAAEC,KAAK;oBAAC;iBAAY;YAAC;YACpCC,MAAM;YACNC,WAAW;gBACPC,UAAU;YACd;QACJ;QACA;YACIN,MAAM;YACNC,SAASb;YACTc,eAAe;YACfK,KAAK;gBAAClB;aAAW;QACrB;QACA,+DAA+D;QAC/D;YACIW,MAAM;YACNQ,SAASpB;YACTc,eAAe;gBAAEC,KAAK;oBAAC;iBAAQ;YAAC;YAChCI,KAAK;gBAAClB;aAAW;QACrB;QACA;YACIW,MAAM;YACNQ,SAASpB;YACTc,eAAe;YACfE,MAAM;YACNC,WAAW;gBACPC,UAAU;YACd;QACJ;KACH;AACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/startup",
3
- "version": "36.1.2-canary.5",
3
+ "version": "36.1.2-canary.7",
4
4
  "description": "CLI to create multi-package Lerna projects with TypeScript and React",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/uikit/startup",
6
6
  "repository": {
@@ -17,8 +17,8 @@
17
17
  "typings": "./dist/index.d.ts",
18
18
  "exports": {
19
19
  ".": {
20
- "default": "./dist/index.js",
21
- "types": "./dist/index.d.ts"
20
+ "types": "./dist/index.d.ts",
21
+ "default": "./dist/index.js"
22
22
  },
23
23
  "./@types/cypress": {
24
24
  "types": "./dist/cypress/types/index.d.ts"
@@ -97,19 +97,19 @@
97
97
  "@jest/core": "~30.3.0",
98
98
  "@jest/types": "~30.3.0",
99
99
  "@jsdevtools/coverage-istanbul-loader": "^3.0.5",
100
- "@servicetitan/eslint-config": "36.0.0",
101
- "@servicetitan/install": "36.1.2-canary.5",
102
- "@servicetitan/startup-utils": "36.0.0",
103
- "@servicetitan/stylelint-config": "36.0.0",
100
+ "@servicetitan/eslint-config": "36.1.2-canary.7",
101
+ "@servicetitan/install": "36.1.2-canary.7",
102
+ "@servicetitan/startup-utils": "36.1.2-canary.7",
103
+ "@servicetitan/stylelint-config": "36.1.2-canary.7",
104
104
  "@svgr/webpack": "^8.1.0",
105
- "@swc/cli": "^0.8.0",
106
- "@swc/core": "1.15.21",
105
+ "@swc/cli": "^0.8.1",
106
+ "@swc/core": "1.15.24",
107
107
  "@types/debug": "^4.1.12",
108
108
  "@types/jest": "~30.0.0",
109
- "@vitest/coverage-v8": "^4.1.2",
109
+ "@vitest/coverage-v8": "^4.1.5",
110
110
  "chalk": "~4.1.2",
111
111
  "cli-table3": "^0.6.5",
112
- "cpx2": "8.0.0",
112
+ "cpx2": "8.0.2",
113
113
  "css-loader": "~7.1.4",
114
114
  "css-minimizer-webpack-plugin": "^8.0.0",
115
115
  "debug": "^4.4.3",
@@ -117,14 +117,14 @@
117
117
  "eslint": "~9.39.2",
118
118
  "execa": "~5.1.1",
119
119
  "glob": "~13.0.6",
120
- "html-webpack-plugin": "~5.6.6",
120
+ "html-webpack-plugin": "~5.6.7",
121
121
  "html-webpack-tags-plugin": "^3.0.2",
122
122
  "identity-obj-proxy": "~3.0.0",
123
123
  "jest": "~30.3.0",
124
124
  "jest-circus": "~30.3.0",
125
125
  "jest-environment-jsdom": "^30.3.0",
126
126
  "jest-fetch-mock": "~3.0.3",
127
- "js-yaml": "~4.1.0",
127
+ "js-yaml": "~4.1.1",
128
128
  "json5": "^2.2.3",
129
129
  "lerna": "~9.0.7",
130
130
  "less": "~4.6.4",
@@ -132,15 +132,15 @@
132
132
  "less-plugin-npm-import": "~2.1.0",
133
133
  "lodash.kebabcase": "^4.1.1",
134
134
  "lodash.memoize": "^4.1.2",
135
- "memfs": "~4.57.1",
135
+ "memfs": "~4.57.2",
136
136
  "mini-css-extract-plugin": "~2.10.2",
137
137
  "moment-locales-webpack-plugin": "~1.2.0",
138
138
  "multimatch": "~8.0.0",
139
139
  "patch-package": "^8.0.1",
140
140
  "portfinder": "~1.0.38",
141
- "postcss": "~8.5.8",
142
- "prettier": "~3.8.1",
143
- "sass": "~1.98.0",
141
+ "postcss": "~8.5.10",
142
+ "prettier": "~3.8.3",
143
+ "sass": "~1.99.0",
144
144
  "sass-loader": "~16.0.7",
145
145
  "semver": "~7.7.4",
146
146
  "source-map-loader": "~5.0.0",
@@ -148,13 +148,13 @@
148
148
  "stylelint": "~16.26.1",
149
149
  "swc-loader": "^0.2.7",
150
150
  "terminal-link": "^5.0.0",
151
- "terser-webpack-plugin": "^5.4.0",
152
- "ts-jest": "29.4.6",
151
+ "terser-webpack-plugin": "^5.5.0",
152
+ "ts-jest": "29.4.9",
153
153
  "ts-node": "~10.9.2",
154
154
  "typed-css-modules": "~0.9.1",
155
155
  "typescript": "5.9.3",
156
- "vitest": "^4.1.2",
157
- "webpack": "~5.105.4",
156
+ "vitest": "^4.1.5",
157
+ "webpack": "~5.106.2",
158
158
  "webpack-assets-manifest": "~6.5.1",
159
159
  "webpack-bundle-analyzer": "^5.3.0",
160
160
  "webpack-dev-server": "~5.2.3",
@@ -23,16 +23,10 @@ export class Clean extends Command<typeof entry> {
23
23
  async execute() {
24
24
  const processTree = new ProcessTree<typeof CleanProcesses>();
25
25
 
26
- const packageManager = getPackageManager();
27
-
28
- processTree.add(CleanProcesses.ResetNx, () =>
29
- this.runCommand(`${packageManager.execCommand} nx reset`)
30
- );
31
- processTree.add(CleanProcesses.ClearJestCache, () =>
32
- this.runCommand(`${packageManager.execCommand} jest --clearCache`)
33
- );
26
+ processTree.add(CleanProcesses.ResetNx, () => this.runCommand('nx reset'));
27
+ processTree.add(CleanProcesses.ClearJestCache, () => this.runCommand('jest --clearCache'));
34
28
  processTree.add(CleanProcesses.ClearPackageManagerCache, () =>
35
- Promise.resolve(this.clearPackageManagerCache(packageManager))
29
+ Promise.resolve(this.clearPackageManagerCache())
36
30
  );
37
31
  processTree.add(CleanProcesses.ClearNpxCache, () => this.clearNpxCache());
38
32
 
@@ -69,8 +63,9 @@ export class Clean extends Command<typeof entry> {
69
63
  }
70
64
  }
71
65
 
72
- private clearPackageManagerCache(packageManager: ReturnType<typeof getPackageManager>) {
66
+ private clearPackageManagerCache() {
73
67
  try {
68
+ const packageManager = getPackageManager();
74
69
  log.info(`Clearing ${packageManager.command} cache`);
75
70
  packageManager.clearCache();
76
71
  } catch (error) {