@servicetitan/startup 34.0.1 → 34.2.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 (110) hide show
  1. package/dist/cli/commands/run-task.d.ts.map +1 -1
  2. package/dist/cli/commands/run-task.js +4 -6
  3. package/dist/cli/commands/run-task.js.map +1 -1
  4. package/dist/cli/commands/run-task.test.js +4 -10
  5. package/dist/cli/commands/run-task.test.js.map +1 -1
  6. package/dist/cli/tasks/index.d.ts +4 -0
  7. package/dist/cli/tasks/index.d.ts.map +1 -0
  8. package/dist/cli/tasks/index.js +22 -0
  9. package/dist/cli/tasks/index.js.map +1 -0
  10. package/dist/cli/tasks/swc-compile-package/get-swc-options.d.ts +23 -0
  11. package/dist/cli/tasks/swc-compile-package/get-swc-options.d.ts.map +1 -0
  12. package/dist/cli/tasks/swc-compile-package/get-swc-options.js +41 -0
  13. package/dist/cli/tasks/swc-compile-package/get-swc-options.js.map +1 -0
  14. package/dist/cli/tasks/swc-compile-package/index.d.ts +3 -0
  15. package/dist/cli/tasks/swc-compile-package/index.d.ts.map +1 -0
  16. package/dist/cli/tasks/swc-compile-package/index.js +21 -0
  17. package/dist/cli/tasks/swc-compile-package/index.js.map +1 -0
  18. package/dist/cli/tasks/{swc-compile-package.d.ts → swc-compile-package/swc-compile-package.d.ts} +1 -1
  19. package/dist/cli/tasks/swc-compile-package/swc-compile-package.d.ts.map +1 -0
  20. package/dist/cli/tasks/{swc-compile-package.js → swc-compile-package/swc-compile-package.js} +35 -55
  21. package/dist/cli/tasks/swc-compile-package/swc-compile-package.js.map +1 -0
  22. package/dist/cli/tasks/tsc-compile/index.d.ts +2 -0
  23. package/dist/cli/tasks/tsc-compile/index.d.ts.map +1 -0
  24. package/dist/cli/tasks/tsc-compile/index.js +20 -0
  25. package/dist/cli/tasks/tsc-compile/index.js.map +1 -0
  26. package/dist/cli/tasks/{tsc-compile.d.ts → tsc-compile/tsc-compile.d.ts} +1 -1
  27. package/dist/cli/tasks/tsc-compile/tsc-compile.d.ts.map +1 -0
  28. package/dist/cli/tasks/{tsc-compile.js → tsc-compile/tsc-compile.js} +2 -2
  29. package/dist/cli/tasks/tsc-compile/tsc-compile.js.map +1 -0
  30. package/dist/cli/tasks/tsc-compile-package/index.d.ts +2 -0
  31. package/dist/cli/tasks/tsc-compile-package/index.d.ts.map +1 -0
  32. package/dist/cli/tasks/tsc-compile-package/index.js +20 -0
  33. package/dist/cli/tasks/tsc-compile-package/index.js.map +1 -0
  34. package/dist/cli/tasks/{tsc-compile-package.d.ts → tsc-compile-package/tsc-compile-package.d.ts} +1 -1
  35. package/dist/cli/tasks/tsc-compile-package/tsc-compile-package.d.ts.map +1 -0
  36. package/dist/cli/tasks/{tsc-compile-package.js → tsc-compile-package/tsc-compile-package.js} +2 -2
  37. package/dist/cli/tasks/tsc-compile-package/tsc-compile-package.js.map +1 -0
  38. package/dist/cli/utils/bundle.js +1 -1
  39. package/dist/cli/utils/bundle.js.map +1 -1
  40. package/dist/storybook-config/index.d.ts +3 -0
  41. package/dist/storybook-config/index.d.ts.map +1 -0
  42. package/dist/storybook-config/index.js +21 -0
  43. package/dist/storybook-config/index.js.map +1 -0
  44. package/dist/storybook-config/swc.d.ts +28 -0
  45. package/dist/storybook-config/swc.d.ts.map +1 -0
  46. package/dist/storybook-config/swc.js +36 -0
  47. package/dist/storybook-config/swc.js.map +1 -0
  48. package/dist/storybook-config/webpack-final.d.ts +4 -0
  49. package/dist/storybook-config/webpack-final.d.ts.map +1 -0
  50. package/dist/storybook-config/webpack-final.js +96 -0
  51. package/dist/storybook-config/webpack-final.js.map +1 -0
  52. package/dist/webpack/configs/index.d.ts +1 -0
  53. package/dist/webpack/configs/index.d.ts.map +1 -1
  54. package/dist/webpack/configs/index.js +1 -0
  55. package/dist/webpack/configs/index.js.map +1 -1
  56. package/dist/webpack/configs/rules-config.d.ts +2 -3
  57. package/dist/webpack/configs/rules-config.d.ts.map +1 -1
  58. package/dist/webpack/configs/rules-config.js.map +1 -1
  59. package/dist/webpack/configs/types.d.ts +6 -6
  60. package/dist/webpack/configs/types.d.ts.map +1 -1
  61. package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
  62. package/package.json +18 -16
  63. package/src/cli/commands/__tests__/build.test.ts +0 -3
  64. package/src/cli/commands/__tests__/bundle-package.test.ts +0 -2
  65. package/src/cli/commands/__tests__/get-command.test.ts +0 -3
  66. package/src/cli/commands/__tests__/kendo-ui-license.test.ts +0 -2
  67. package/src/cli/commands/__tests__/lint.test.ts +0 -2
  68. package/src/cli/commands/__tests__/mfe-list.test.ts +0 -2
  69. package/src/cli/commands/__tests__/mfe-package-publish.test.ts +0 -2
  70. package/src/cli/commands/__tests__/mfe-package-rollback.test.ts +0 -2
  71. package/src/cli/commands/__tests__/mfe-publish.test.ts +0 -2
  72. package/src/cli/commands/__tests__/prepare-package.test.ts +0 -3
  73. package/src/cli/commands/__tests__/start.test.ts +0 -3
  74. package/src/cli/commands/__tests__/upload-sourcemaps.test.ts +0 -2
  75. package/src/cli/commands/run-task.test.ts +1 -6
  76. package/src/cli/commands/run-task.ts +1 -3
  77. package/src/cli/commands/test/runners/__tests__/jest.test.ts +1 -1
  78. package/src/cli/tasks/index.ts +3 -0
  79. package/src/cli/tasks/swc-compile-package/__tests__/get-swc-options.test.ts +77 -0
  80. package/src/cli/tasks/{__tests__ → swc-compile-package/__tests__}/swc-compile-package.test.ts +14 -76
  81. package/src/cli/tasks/swc-compile-package/get-swc-options.ts +34 -0
  82. package/src/cli/tasks/swc-compile-package/index.ts +2 -0
  83. package/src/cli/tasks/swc-compile-package/swc-cli.d.ts +22 -0
  84. package/src/cli/tasks/{swc-compile-package.ts → swc-compile-package/swc-compile-package.ts} +33 -52
  85. package/src/cli/tasks/{__tests__ → tsc-compile/__tests__}/tsc-compile.test.ts +1 -3
  86. package/src/cli/tasks/tsc-compile/index.ts +1 -0
  87. package/src/cli/tasks/{tsc-compile.ts → tsc-compile/tsc-compile.ts} +9 -2
  88. package/src/cli/tasks/{__tests__ → tsc-compile-package/__tests__}/tsc-compile-package.test.ts +2 -4
  89. package/src/cli/tasks/tsc-compile-package/index.ts +1 -0
  90. package/src/cli/tasks/{tsc-compile-package.ts → tsc-compile-package/tsc-compile-package.ts} +2 -2
  91. package/src/cli/utils/bundle.ts +1 -1
  92. package/src/storybook-config/__tests__/swc.test.ts +37 -0
  93. package/src/storybook-config/__tests__/webpack-final.test.ts +133 -0
  94. package/src/storybook-config/index.ts +2 -0
  95. package/src/storybook-config/swc.ts +24 -0
  96. package/src/storybook-config/webpack-final.ts +72 -0
  97. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +0 -2
  98. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +0 -2
  99. package/src/webpack/__tests__/create-webpack-config.test.ts +0 -2
  100. package/src/webpack/configs/index.ts +1 -0
  101. package/src/webpack/configs/rules-config.ts +5 -10
  102. package/src/webpack/configs/types.ts +6 -6
  103. package/src/webpack/utils/testing/get-compiler.ts +1 -1
  104. package/dist/cli/tasks/swc-compile-package.d.ts.map +0 -1
  105. package/dist/cli/tasks/swc-compile-package.js.map +0 -1
  106. package/dist/cli/tasks/tsc-compile-package.d.ts.map +0 -1
  107. package/dist/cli/tasks/tsc-compile-package.js.map +0 -1
  108. package/dist/cli/tasks/tsc-compile.d.ts.map +0 -1
  109. package/dist/cli/tasks/tsc-compile.js.map +0 -1
  110. package/src/cli/tasks/swc-cli.d.ts +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"run-task.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-task.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;CAIa,CAAC;AAQ3B,qBAAa,OAAQ,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;CAchB"}
1
+ {"version":3,"file":"run-task.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-task.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;CAIa,CAAC;AAQ3B,qBAAa,OAAQ,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;CAchB"}
@@ -9,9 +9,7 @@ Object.defineProperty(exports, "RunTask", {
9
9
  }
10
10
  });
11
11
  const _utils = require("../../utils");
12
- const _swccompilepackage = require("../tasks/swc-compile-package");
13
- const _tsccompile = require("../tasks/tsc-compile");
14
- const _tsccompilepackage = require("../tasks/tsc-compile-package");
12
+ const _tasks = require("../tasks");
15
13
  const _types = require("./types");
16
14
  function _define_property(obj, key, value) {
17
15
  if (key in obj) {
@@ -52,9 +50,9 @@ const options = {
52
50
  }
53
51
  };
54
52
  const tasks = {
55
- 'tsc-compile-package': _tsccompilepackage.TscCompilePackage,
56
- 'swc-compile-package': _swccompilepackage.SwcCompilePackage,
57
- 'tsc-compile': _tsccompile.TscCompile
53
+ 'tsc-compile-package': _tasks.TscCompilePackage,
54
+ 'swc-compile-package': _tasks.SwcCompilePackage,
55
+ 'tsc-compile': _tasks.TscCompile
58
56
  };
59
57
  class RunTask extends _types.Command {
60
58
  async execute() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/run-task.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { log, logErrors } from '../../utils';\nimport { SwcCompilePackage } from '../tasks/swc-compile-package';\nimport { Task } from '../tasks/task';\nimport { TscCompile } from '../tasks/tsc-compile';\nimport { TscCompilePackage } from '../tasks/tsc-compile-package';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n _: { description: '<taskName> [taskArgs...]', array: true, string: true },\n taskName: { string: true, hidden: true },\n taskArgs: { array: true, string: true, hidden: true },\n} satisfies CommandOptions;\n\nconst tasks: Record<string, new (args: { [key: string]: unknown }) => Task> = {\n 'tsc-compile-package': TscCompilePackage,\n 'swc-compile-package': SwcCompilePackage,\n 'tsc-compile': TscCompile,\n};\n\nexport class RunTask extends Command<typeof options> {\n static readonly options = options;\n\n @logErrors\n async execute() {\n const { _ = [], taskName = this.args._?.[0], taskArgs = [], ...restOptions } = this.args;\n\n if (taskName && taskName in tasks) {\n await new tasks[taskName]({\n _: [..._, ...taskArgs],\n ...restOptions,\n }).execute();\n return;\n }\n\n log.error(`Unknown task: \"${taskName}\"`);\n log.text(`\\nSupported tasks: \"${Object.keys(tasks).join('\", \"')}\"`);\n }\n}\n"],"names":["RunTask","options","_","description","array","string","taskName","hidden","taskArgs","tasks","TscCompilePackage","SwcCompilePackage","TscCompile","Command","execute","args","restOptions","log","error","text","Object","keys","join"],"mappings":"AAAA,uDAAuD;;;;+BAoB1CA;;;eAAAA;;;uBAnBkB;mCACG;4BAEP;mCACO;uBACM;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,UAAU;IACZC,GAAG;QAAEC,aAAa;QAA4BC,OAAO;QAAMC,QAAQ;IAAK;IACxEC,UAAU;QAAED,QAAQ;QAAME,QAAQ;IAAK;IACvCC,UAAU;QAAEJ,OAAO;QAAMC,QAAQ;QAAME,QAAQ;IAAK;AACxD;AAEA,MAAME,QAAwE;IAC1E,uBAAuBC,oCAAiB;IACxC,uBAAuBC,oCAAiB;IACxC,eAAeC,sBAAU;AAC7B;AAEO,MAAMZ,gBAAgBa,cAAO;IAGhC,MACMC,UAAU;YACe;QAA3B,MAAM,EAAEZ,IAAI,EAAE,EAAEI,YAAW,eAAA,IAAI,CAACS,IAAI,CAACb,CAAC,cAAX,mCAAA,YAAa,CAAC,EAAE,EAAEM,WAAW,EAAE,EAAE,GAAGQ,aAAa,GAAG,IAAI,CAACD,IAAI;QAExF,IAAIT,YAAYA,YAAYG,OAAO;YAC/B,MAAM,IAAIA,KAAK,CAACH,SAAS,CAAC;gBACtBJ,GAAG;uBAAIA;uBAAMM;iBAAS;gBACtB,GAAGQ,WAAW;YAClB,GAAGF,OAAO;YACV;QACJ;QAEAG,UAAG,CAACC,KAAK,CAAC,CAAC,eAAe,EAAEZ,SAAS,CAAC,CAAC;QACvCW,UAAG,CAACE,IAAI,CAAC,CAAC,oBAAoB,EAAEC,OAAOC,IAAI,CAACZ,OAAOa,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE;AACJ;AAjBI,iBADStB,SACOC,WAAUA"}
1
+ {"version":3,"sources":["../../../src/cli/commands/run-task.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { log, logErrors } from '../../utils';\nimport { SwcCompilePackage, TscCompile, TscCompilePackage } from '../tasks';\nimport { Task } from '../tasks/task';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n _: { description: '<taskName> [taskArgs...]', array: true, string: true },\n taskName: { string: true, hidden: true },\n taskArgs: { array: true, string: true, hidden: true },\n} satisfies CommandOptions;\n\nconst tasks: Record<string, new (args: { [key: string]: unknown }) => Task> = {\n 'tsc-compile-package': TscCompilePackage,\n 'swc-compile-package': SwcCompilePackage,\n 'tsc-compile': TscCompile,\n};\n\nexport class RunTask extends Command<typeof options> {\n static readonly options = options;\n\n @logErrors\n async execute() {\n const { _ = [], taskName = this.args._?.[0], taskArgs = [], ...restOptions } = this.args;\n\n if (taskName && taskName in tasks) {\n await new tasks[taskName]({\n _: [..._, ...taskArgs],\n ...restOptions,\n }).execute();\n return;\n }\n\n log.error(`Unknown task: \"${taskName}\"`);\n log.text(`\\nSupported tasks: \"${Object.keys(tasks).join('\", \"')}\"`);\n }\n}\n"],"names":["RunTask","options","_","description","array","string","taskName","hidden","taskArgs","tasks","TscCompilePackage","SwcCompilePackage","TscCompile","Command","execute","args","restOptions","log","error","text","Object","keys","join"],"mappings":"AAAA,uDAAuD;;;;+BAkB1CA;;;eAAAA;;;uBAjBkB;uBACkC;uBAEzB;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,UAAU;IACZC,GAAG;QAAEC,aAAa;QAA4BC,OAAO;QAAMC,QAAQ;IAAK;IACxEC,UAAU;QAAED,QAAQ;QAAME,QAAQ;IAAK;IACvCC,UAAU;QAAEJ,OAAO;QAAMC,QAAQ;QAAME,QAAQ;IAAK;AACxD;AAEA,MAAME,QAAwE;IAC1E,uBAAuBC,wBAAiB;IACxC,uBAAuBC,wBAAiB;IACxC,eAAeC,iBAAU;AAC7B;AAEO,MAAMZ,gBAAgBa,cAAO;IAGhC,MACMC,UAAU;YACe;QAA3B,MAAM,EAAEZ,IAAI,EAAE,EAAEI,YAAW,eAAA,IAAI,CAACS,IAAI,CAACb,CAAC,cAAX,mCAAA,YAAa,CAAC,EAAE,EAAEM,WAAW,EAAE,EAAE,GAAGQ,aAAa,GAAG,IAAI,CAACD,IAAI;QAExF,IAAIT,YAAYA,YAAYG,OAAO;YAC/B,MAAM,IAAIA,KAAK,CAACH,SAAS,CAAC;gBACtBJ,GAAG;uBAAIA;uBAAMM;iBAAS;gBACtB,GAAGQ,WAAW;YAClB,GAAGF,OAAO;YACV;QACJ;QAEAG,UAAG,CAACC,KAAK,CAAC,CAAC,eAAe,EAAEZ,SAAS,CAAC,CAAC;QACvCW,UAAG,CAACE,IAAI,CAAC,CAAC,oBAAoB,EAAEC,OAAOC,IAAI,CAACZ,OAAOa,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE;AACJ;AAjBI,iBADStB,SACOC,WAAUA"}
@@ -3,14 +3,8 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  const _utils = require("../../utils");
6
- const _swccompilepackage = require("../tasks/swc-compile-package");
7
- const _tsccompile = require("../tasks/tsc-compile");
8
- const _tsccompilepackage = require("../tasks/tsc-compile-package");
6
+ const _tasks = require("../tasks");
9
7
  const _runtask = require("./run-task");
10
- jest.mock('yargs', ()=>jest.fn());
11
- jest.mock('yargs/helpers', ()=>({
12
- hideBin: jest.fn()
13
- }));
14
8
  jest.mock('../../utils', ()=>({
15
9
  ...jest.requireActual('../../utils'),
16
10
  log: {
@@ -28,9 +22,9 @@ describe(`[startup] ${_runtask.RunTask.name}`, ()=>{
28
22
  });
29
23
  const subject = ()=>new _runtask.RunTask(args).execute();
30
24
  const supportedTasks = {
31
- 'tsc-compile-package': _tsccompilepackage.TscCompilePackage,
32
- 'swc-compile-package': _swccompilepackage.SwcCompilePackage,
33
- 'tsc-compile': _tsccompile.TscCompile
25
+ 'tsc-compile-package': _tasks.TscCompilePackage,
26
+ 'swc-compile-package': _tasks.SwcCompilePackage,
27
+ 'tsc-compile': _tasks.TscCompile
34
28
  };
35
29
  Object.entries(supportedTasks).forEach(([name, task])=>describe(`with ${name}`, ()=>{
36
30
  beforeEach(()=>args = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/run-task.test.ts"],"sourcesContent":["import { log } from '../../utils';\nimport { SwcCompilePackage } from '../tasks/swc-compile-package';\nimport { TscCompile } from '../tasks/tsc-compile';\nimport { TscCompilePackage } from '../tasks/tsc-compile-package';\nimport { RunTask } from './run-task';\n\njest.mock('yargs', () => jest.fn());\njest.mock('yargs/helpers', () => ({ hideBin: jest.fn() }));\n\njest.mock('../../utils', () => ({\n ...jest.requireActual('../../utils'),\n log: { error: jest.fn(), text: jest.fn() },\n}));\njest.mock('../tasks/swc-compile-package');\njest.mock('../tasks/tsc-compile');\njest.mock('../tasks/tsc-compile-package');\n\ndescribe(`[startup] ${RunTask.name}`, () => {\n let args: ConstructorParameters<typeof RunTask>[0];\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n const subject = () => new RunTask(args).execute();\n\n const supportedTasks = {\n 'tsc-compile-package': TscCompilePackage,\n 'swc-compile-package': SwcCompilePackage,\n 'tsc-compile': TscCompile,\n };\n\n Object.entries(supportedTasks).forEach(([name, task]) =>\n describe(`with ${name}`, () => {\n beforeEach(() => (args = { _: [name] })); // eslint-disable-line @typescript-eslint/naming-convention\n\n test(`runs ${task.name}`, async () => {\n await subject();\n\n expect(jest.mocked(task).mock.instances[0].execute).toHaveBeenCalled();\n });\n })\n );\n\n describe('with empty args', () => {\n beforeEach(() => (args = {}));\n\n test('logs error for undefined task', async () => {\n await subject();\n\n expect(log.error).toHaveBeenCalledWith('Unknown task: \"undefined\"');\n });\n });\n\n describe('with unrecognized task', () => {\n beforeEach(() => (args = { _: ['foo'] })); // eslint-disable-line @typescript-eslint/naming-convention\n\n test('logs error', async () => {\n await subject();\n\n expect(log.error).toHaveBeenCalledWith(`Unknown task: \"${args._?.[0]}\"`);\n });\n\n test('lists supported tasks', async () => {\n await subject();\n\n expect(log.text).toHaveBeenCalledWith(\n `\\nSupported tasks: \"${Object.keys(supportedTasks).join('\", \"')}\"`\n );\n });\n });\n});\n"],"names":["jest","mock","fn","hideBin","requireActual","log","error","text","describe","RunTask","name","args","beforeEach","clearAllMocks","subject","execute","supportedTasks","TscCompilePackage","SwcCompilePackage","TscCompile","Object","entries","forEach","task","_","test","expect","mocked","instances","toHaveBeenCalled","toHaveBeenCalledWith","keys","join"],"mappings":";;;;uBAAoB;mCACc;4BACP;mCACO;yBACV;AAExBA,KAAKC,IAAI,CAAC,SAAS,IAAMD,KAAKE,EAAE;AAChCF,KAAKC,IAAI,CAAC,iBAAiB,IAAO,CAAA;QAAEE,SAASH,KAAKE,EAAE;IAAG,CAAA;AAEvDF,KAAKC,IAAI,CAAC,eAAe,IAAO,CAAA;QAC5B,GAAGD,KAAKI,aAAa,CAAC,cAAc;QACpCC,KAAK;YAAEC,OAAON,KAAKE,EAAE;YAAIK,MAAMP,KAAKE,EAAE;QAAG;IAC7C,CAAA;AACAF,KAAKC,IAAI,CAAC;AACVD,KAAKC,IAAI,CAAC;AACVD,KAAKC,IAAI,CAAC;AAEVO,SAAS,CAAC,UAAU,EAAEC,gBAAO,CAACC,IAAI,EAAE,EAAE;IAClC,IAAIC;IAEJC,WAAW;QACPZ,KAAKa,aAAa;IACtB;IAEA,MAAMC,UAAU,IAAM,IAAIL,gBAAO,CAACE,MAAMI,OAAO;IAE/C,MAAMC,iBAAiB;QACnB,uBAAuBC,oCAAiB;QACxC,uBAAuBC,oCAAiB;QACxC,eAAeC,sBAAU;IAC7B;IAEAC,OAAOC,OAAO,CAACL,gBAAgBM,OAAO,CAAC,CAAC,CAACZ,MAAMa,KAAK,GAChDf,SAAS,CAAC,KAAK,EAAEE,MAAM,EAAE;YACrBE,WAAW,IAAOD,OAAO;oBAAEa,GAAG;wBAACd;qBAAK;gBAAC,IAAK,2DAA2D;YAErGe,KAAK,CAAC,KAAK,EAAEF,KAAKb,IAAI,EAAE,EAAE;gBACtB,MAAMI;gBAENY,OAAO1B,KAAK2B,MAAM,CAACJ,MAAMtB,IAAI,CAAC2B,SAAS,CAAC,EAAE,CAACb,OAAO,EAAEc,gBAAgB;YACxE;QACJ;IAGJrB,SAAS,mBAAmB;QACxBI,WAAW,IAAOD,OAAO,CAAC;QAE1Bc,KAAK,iCAAiC;YAClC,MAAMX;YAENY,OAAOrB,UAAG,CAACC,KAAK,EAAEwB,oBAAoB,CAAC;QAC3C;IACJ;IAEAtB,SAAS,0BAA0B;QAC/BI,WAAW,IAAOD,OAAO;gBAAEa,GAAG;oBAAC;iBAAM;YAAC,IAAK,2DAA2D;QAEtGC,KAAK,cAAc;gBAG0Cd;YAFzD,MAAMG;YAENY,OAAOrB,UAAG,CAACC,KAAK,EAAEwB,oBAAoB,CAAC,CAAC,eAAe,GAAEnB,UAAAA,KAAKa,CAAC,cAANb,8BAAAA,OAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E;QAEAc,KAAK,yBAAyB;YAC1B,MAAMX;YAENY,OAAOrB,UAAG,CAACE,IAAI,EAAEuB,oBAAoB,CACjC,CAAC,oBAAoB,EAAEV,OAAOW,IAAI,CAACf,gBAAgBgB,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1E;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../../src/cli/commands/run-task.test.ts"],"sourcesContent":["import { log } from '../../utils';\nimport { SwcCompilePackage, TscCompile, TscCompilePackage } from '../tasks';\nimport { RunTask } from './run-task';\n\njest.mock('../../utils', () => ({\n ...jest.requireActual('../../utils'),\n log: { error: jest.fn(), text: jest.fn() },\n}));\njest.mock('../tasks/swc-compile-package');\njest.mock('../tasks/tsc-compile');\njest.mock('../tasks/tsc-compile-package');\n\ndescribe(`[startup] ${RunTask.name}`, () => {\n let args: ConstructorParameters<typeof RunTask>[0];\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n const subject = () => new RunTask(args).execute();\n\n const supportedTasks = {\n 'tsc-compile-package': TscCompilePackage,\n 'swc-compile-package': SwcCompilePackage,\n 'tsc-compile': TscCompile,\n };\n\n Object.entries(supportedTasks).forEach(([name, task]) =>\n describe(`with ${name}`, () => {\n beforeEach(() => (args = { _: [name] })); // eslint-disable-line @typescript-eslint/naming-convention\n\n test(`runs ${task.name}`, async () => {\n await subject();\n\n expect(jest.mocked(task).mock.instances[0].execute).toHaveBeenCalled();\n });\n })\n );\n\n describe('with empty args', () => {\n beforeEach(() => (args = {}));\n\n test('logs error for undefined task', async () => {\n await subject();\n\n expect(log.error).toHaveBeenCalledWith('Unknown task: \"undefined\"');\n });\n });\n\n describe('with unrecognized task', () => {\n beforeEach(() => (args = { _: ['foo'] })); // eslint-disable-line @typescript-eslint/naming-convention\n\n test('logs error', async () => {\n await subject();\n\n expect(log.error).toHaveBeenCalledWith(`Unknown task: \"${args._?.[0]}\"`);\n });\n\n test('lists supported tasks', async () => {\n await subject();\n\n expect(log.text).toHaveBeenCalledWith(\n `\\nSupported tasks: \"${Object.keys(supportedTasks).join('\", \"')}\"`\n );\n });\n });\n});\n"],"names":["jest","mock","requireActual","log","error","fn","text","describe","RunTask","name","args","beforeEach","clearAllMocks","subject","execute","supportedTasks","TscCompilePackage","SwcCompilePackage","TscCompile","Object","entries","forEach","task","_","test","expect","mocked","instances","toHaveBeenCalled","toHaveBeenCalledWith","keys","join"],"mappings":";;;;uBAAoB;uBAC6C;yBACzC;AAExBA,KAAKC,IAAI,CAAC,eAAe,IAAO,CAAA;QAC5B,GAAGD,KAAKE,aAAa,CAAC,cAAc;QACpCC,KAAK;YAAEC,OAAOJ,KAAKK,EAAE;YAAIC,MAAMN,KAAKK,EAAE;QAAG;IAC7C,CAAA;AACAL,KAAKC,IAAI,CAAC;AACVD,KAAKC,IAAI,CAAC;AACVD,KAAKC,IAAI,CAAC;AAEVM,SAAS,CAAC,UAAU,EAAEC,gBAAO,CAACC,IAAI,EAAE,EAAE;IAClC,IAAIC;IAEJC,WAAW;QACPX,KAAKY,aAAa;IACtB;IAEA,MAAMC,UAAU,IAAM,IAAIL,gBAAO,CAACE,MAAMI,OAAO;IAE/C,MAAMC,iBAAiB;QACnB,uBAAuBC,wBAAiB;QACxC,uBAAuBC,wBAAiB;QACxC,eAAeC,iBAAU;IAC7B;IAEAC,OAAOC,OAAO,CAACL,gBAAgBM,OAAO,CAAC,CAAC,CAACZ,MAAMa,KAAK,GAChDf,SAAS,CAAC,KAAK,EAAEE,MAAM,EAAE;YACrBE,WAAW,IAAOD,OAAO;oBAAEa,GAAG;wBAACd;qBAAK;gBAAC,IAAK,2DAA2D;YAErGe,KAAK,CAAC,KAAK,EAAEF,KAAKb,IAAI,EAAE,EAAE;gBACtB,MAAMI;gBAENY,OAAOzB,KAAK0B,MAAM,CAACJ,MAAMrB,IAAI,CAAC0B,SAAS,CAAC,EAAE,CAACb,OAAO,EAAEc,gBAAgB;YACxE;QACJ;IAGJrB,SAAS,mBAAmB;QACxBI,WAAW,IAAOD,OAAO,CAAC;QAE1Bc,KAAK,iCAAiC;YAClC,MAAMX;YAENY,OAAOtB,UAAG,CAACC,KAAK,EAAEyB,oBAAoB,CAAC;QAC3C;IACJ;IAEAtB,SAAS,0BAA0B;QAC/BI,WAAW,IAAOD,OAAO;gBAAEa,GAAG;oBAAC;iBAAM;YAAC,IAAK,2DAA2D;QAEtGC,KAAK,cAAc;gBAG0Cd;YAFzD,MAAMG;YAENY,OAAOtB,UAAG,CAACC,KAAK,EAAEyB,oBAAoB,CAAC,CAAC,eAAe,GAAEnB,UAAAA,KAAKa,CAAC,cAANb,8BAAAA,OAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E;QAEAc,KAAK,yBAAyB;YAC1B,MAAMX;YAENY,OAAOtB,UAAG,CAACG,IAAI,EAAEuB,oBAAoB,CACjC,CAAC,oBAAoB,EAAEV,OAAOW,IAAI,CAACf,gBAAgBgB,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1E;IACJ;AACJ"}
@@ -0,0 +1,4 @@
1
+ export * from './swc-compile-package';
2
+ export * from './tsc-compile';
3
+ export * from './tsc-compile-package';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/tasks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./swc-compile-package"), exports);
6
+ _export_star(require("./tsc-compile"), exports);
7
+ _export_star(require("./tsc-compile-package"), exports);
8
+ function _export_star(from, to) {
9
+ Object.keys(from).forEach(function(k) {
10
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
11
+ Object.defineProperty(to, k, {
12
+ enumerable: true,
13
+ get: function() {
14
+ return from[k];
15
+ }
16
+ });
17
+ }
18
+ });
19
+ return from;
20
+ }
21
+
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/tasks/index.ts"],"sourcesContent":["export * from './swc-compile-package';\nexport * from './tsc-compile';\nexport * from './tsc-compile-package';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA"}
@@ -0,0 +1,23 @@
1
+ import { TSConfig } from '../../utils';
2
+ export declare function getSwcOptions(tsConfig: TSConfig): {
3
+ jsc: {
4
+ parser: {
5
+ syntax: "typescript";
6
+ tsx: true;
7
+ decorators: true;
8
+ };
9
+ target: import("@swc/types").JscTarget | undefined;
10
+ transform: {
11
+ legacyDecorator: boolean | undefined;
12
+ decoratorMetadata: boolean | undefined;
13
+ react: {
14
+ runtime: "automatic";
15
+ };
16
+ };
17
+ };
18
+ sourceMaps: boolean | "inline" | undefined;
19
+ module: {
20
+ type: "commonjs" | "es6";
21
+ };
22
+ };
23
+ //# sourceMappingURL=get-swc-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-swc-options.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/swc-compile-package/get-swc-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;EA4B/C"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getSwcOptions", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getSwcOptions;
9
+ }
10
+ });
11
+ function getSwcOptions(tsConfig) {
12
+ var _tsConfig_getValue;
13
+ const target = tsConfig.getValue('compilerOptions.target');
14
+ const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');
15
+ const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');
16
+ const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');
17
+ const module = (_tsConfig_getValue = tsConfig.getValue('compilerOptions.module')) === null || _tsConfig_getValue === void 0 ? void 0 : _tsConfig_getValue.toLowerCase();
18
+ return {
19
+ jsc: {
20
+ parser: {
21
+ syntax: 'typescript',
22
+ tsx: true,
23
+ decorators: true
24
+ },
25
+ target,
26
+ transform: {
27
+ legacyDecorator,
28
+ decoratorMetadata,
29
+ react: {
30
+ runtime: 'automatic'
31
+ }
32
+ }
33
+ },
34
+ sourceMaps,
35
+ module: {
36
+ type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6'
37
+ }
38
+ };
39
+ }
40
+
41
+ //# sourceMappingURL=get-swc-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/tasks/swc-compile-package/get-swc-options.ts"],"sourcesContent":["import type { SwcOptions } from '@swc/cli';\nimport { TSConfig } from '../../utils';\n\ntype JscConfig = NonNullable<SwcOptions['jsc']>;\n\nexport function getSwcOptions(tsConfig: TSConfig) {\n const target = tsConfig.getValue<JscConfig['target']>('compilerOptions.target');\n const legacyDecorator = tsConfig.getValue<boolean>('compilerOptions.experimentalDecorators');\n const decoratorMetadata = tsConfig.getValue<boolean>('compilerOptions.emitDecoratorMetadata');\n const sourceMaps = tsConfig.getValue<SwcOptions['sourceMaps']>('compilerOptions.sourceMap');\n const module = tsConfig.getValue<string>('compilerOptions.module')?.toLowerCase();\n\n return {\n jsc: {\n parser: {\n syntax: 'typescript',\n tsx: true,\n decorators: true,\n },\n target,\n transform: {\n legacyDecorator,\n decoratorMetadata,\n react: {\n runtime: 'automatic',\n },\n },\n },\n sourceMaps,\n module: {\n type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6',\n },\n } satisfies SwcOptions;\n}\n"],"names":["getSwcOptions","tsConfig","target","getValue","legacyDecorator","decoratorMetadata","sourceMaps","module","toLowerCase","jsc","parser","syntax","tsx","decorators","transform","react","runtime","type"],"mappings":";;;;+BAKgBA;;;eAAAA;;;AAAT,SAASA,cAAcC,QAAkB;QAK7BA;IAJf,MAAMC,SAASD,SAASE,QAAQ,CAAsB;IACtD,MAAMC,kBAAkBH,SAASE,QAAQ,CAAU;IACnD,MAAME,oBAAoBJ,SAASE,QAAQ,CAAU;IACrD,MAAMG,aAAaL,SAASE,QAAQ,CAA2B;IAC/D,MAAMI,UAASN,qBAAAA,SAASE,QAAQ,CAAS,uCAA1BF,yCAAAA,mBAAqDO,WAAW;IAE/E,OAAO;QACHC,KAAK;YACDC,QAAQ;gBACJC,QAAQ;gBACRC,KAAK;gBACLC,YAAY;YAChB;YACAX;YACAY,WAAW;gBACPV;gBACAC;gBACAU,OAAO;oBACHC,SAAS;gBACb;YACJ;QACJ;QACAV;QACAC,QAAQ;YACJU,MAAMV,WAAW,cAAcA,WAAW,aAAa,aAAa;QACxE;IACJ;AACJ"}
@@ -0,0 +1,3 @@
1
+ export * from './get-swc-options';
2
+ export * from './swc-compile-package';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/swc-compile-package/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./get-swc-options"), exports);
6
+ _export_star(require("./swc-compile-package"), exports);
7
+ function _export_star(from, to) {
8
+ Object.keys(from).forEach(function(k) {
9
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
10
+ Object.defineProperty(to, k, {
11
+ enumerable: true,
12
+ get: function() {
13
+ return from[k];
14
+ }
15
+ });
16
+ }
17
+ });
18
+ return from;
19
+ }
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/tasks/swc-compile-package/index.ts"],"sourcesContent":["export * from './get-swc-options';\nexport * from './swc-compile-package';\n"],"names":[],"mappings":";;;;qBAAc;qBACA"}
@@ -1,4 +1,4 @@
1
- import { Task } from './task';
1
+ import { Task } from '../task';
2
2
  interface Args {
3
3
  watch?: boolean;
4
4
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swc-compile-package.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/swc-compile-package/swc-compile-package.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,UAAU,IAAI;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,qBAAa,iBAAkB,SAAQ,IAAI;gBAC3B,EAAE,KAAK,EAAE,EAAE,IAAI;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC9B,OAAO,CAAC,SAAS;CAapB"}
@@ -11,9 +11,10 @@ Object.defineProperty(exports, "SwcCompilePackage", {
11
11
  const _cli = require("@swc/cli");
12
12
  const _debounce = /*#__PURE__*/ _interop_require_default(require("debounce"));
13
13
  const _deepmerge = /*#__PURE__*/ _interop_require_default(require("deepmerge"));
14
- const _utils = require("../../utils");
15
- const _utils1 = require("../utils");
16
- const _task = require("./task");
14
+ const _utils = require("../../../utils");
15
+ const _utils1 = require("../../utils");
16
+ const _task = require("../task");
17
+ const _getswcoptions = require("./get-swc-options");
17
18
  function _interop_require_default(obj) {
18
19
  return obj && obj.__esModule ? obj : {
19
20
  default: obj
@@ -22,7 +23,6 @@ function _interop_require_default(obj) {
22
23
  function overwriteMerge(_destinationArray, sourceArray) {
23
24
  return sourceArray;
24
25
  }
25
- const typedefsPattern = '**/*.d.ts';
26
26
  class SwcCompilePackage extends _task.Task {
27
27
  async execute() {
28
28
  const config = this.getConfig();
@@ -56,60 +56,13 @@ class SwcCompilePackage extends _task.Task {
56
56
  });
57
57
  }
58
58
  getConfig() {
59
- var _tsConfig_getValue;
60
- const { source, destination } = (0, _utils.getFolders)();
61
59
  const packageConfig = (0, _utils.getSwcCompilePackageConfiguration)();
62
60
  const tsConfig = new _utils1.TSConfig((0, _utils.getTsConfig)());
63
- const target = tsConfig.getValue('compilerOptions.target');
64
- const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');
65
- const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');
66
- const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');
67
- const module = (_tsConfig_getValue = tsConfig.getValue('compilerOptions.module')) === null || _tsConfig_getValue === void 0 ? void 0 : _tsConfig_getValue.toLowerCase();
68
- const ignore = tsConfig.getValue('exclude', [
69
- '**/*.d.ts',
70
- '**/__tests__/*',
71
- '**/*.test.*',
72
- '**/__mocks__/*',
73
- '**/*.stories.*'
74
- ]);
75
- if (!ignore.includes(typedefsPattern)) {
76
- ignore.push(typedefsPattern);
77
- }
78
61
  return (0, _deepmerge.default)({
79
- cliOptions: {
80
- watch: this.watch,
81
- outDir: destination,
82
- stripLeadingPaths: true,
83
- extensions: [
84
- '.ts',
85
- '.tsx'
86
- ],
87
- filenames: [
88
- source
89
- ],
90
- ignore
91
- },
92
- swcOptions: {
93
- jsc: {
94
- parser: {
95
- syntax: 'typescript',
96
- tsx: true,
97
- decorators: true
98
- },
99
- target,
100
- transform: {
101
- legacyDecorator,
102
- decoratorMetadata,
103
- react: {
104
- runtime: 'automatic'
105
- }
106
- }
107
- },
108
- sourceMaps,
109
- module: {
110
- type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6'
111
- }
112
- }
62
+ cliOptions: getCliOptions(tsConfig, {
63
+ watch: this.watch
64
+ }),
65
+ swcOptions: (0, _getswcoptions.getSwcOptions)(tsConfig)
113
66
  }, packageConfig, {
114
67
  arrayMerge: overwriteMerge,
115
68
  clone: false
@@ -123,5 +76,32 @@ class SwcCompilePackage extends _task.Task {
123
76
  });
124
77
  }
125
78
  }
79
+ function getCliOptions(tsConfig, { watch }) {
80
+ const { source, destination } = (0, _utils.getFolders)();
81
+ const typedefsPattern = '**/*.d.ts';
82
+ const ignore = tsConfig.getValue('exclude', [
83
+ typedefsPattern,
84
+ '**/__tests__/*',
85
+ '**/*.test.*',
86
+ '**/__mocks__/*',
87
+ '**/*.stories.*'
88
+ ]);
89
+ if (!ignore.includes(typedefsPattern)) {
90
+ ignore.push(typedefsPattern);
91
+ }
92
+ return {
93
+ extensions: [
94
+ '.ts',
95
+ '.tsx'
96
+ ],
97
+ filenames: [
98
+ source
99
+ ],
100
+ ignore,
101
+ outDir: destination,
102
+ stripLeadingPaths: true,
103
+ watch
104
+ };
105
+ }
126
106
 
127
107
  //# sourceMappingURL=swc-compile-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/tasks/swc-compile-package/swc-compile-package.ts"],"sourcesContent":["import type { Options } from '@swc/cli';\nimport { swcDir } from '@swc/cli';\nimport debounce from 'debounce';\nimport deepmerge from 'deepmerge';\nimport { getFolders, getSwcCompilePackageConfiguration, getTsConfig, log } from '../../../utils';\nimport { TSConfig } from '../../utils';\nimport { Task } from '../task';\nimport { getSwcOptions } from './get-swc-options';\n\ninterface Args {\n watch?: boolean;\n}\n\nfunction overwriteMerge(_destinationArray: unknown[], sourceArray: unknown[]) {\n return sourceArray;\n}\n\nexport class SwcCompilePackage extends Task {\n constructor({ watch }: Args) {\n super({ name: 'swc-compile-package', global: false, watch });\n }\n\n async execute(): Promise<void> {\n const config = this.getConfig();\n\n /* istanbul ignore next: debug only */\n log.debug('swc-compile-package:config', () => JSON.stringify(config, null, 2));\n\n /*\n * @swc/cli@0.5.0 doesn't implement \"ignore\" in watch mode so debounce\n * noisy output. See https://servicetitan.atlassian.net/browse/FAR-1592\n * and DEVELOPER_NOTES in file://./../../../package.json\n */\n const logSuccessResults = this.watch\n ? debounce(this.logCompletionResults.bind(this), 200)\n : this.logCompletionResults.bind(this);\n\n return new Promise((resolve, reject) => {\n swcDir({\n ...config,\n callbacks: {\n onSuccess: (e: { duration: number }) => {\n logSuccessResults(this.taskTimer.add(e.duration));\n if (!this.watch) {\n resolve();\n }\n },\n onFail: (e: { duration: number; reasons: Map<string, string> }) => {\n log.text([...e.reasons.values()][0]);\n this.logCompletionResults(this.taskTimer.add(e.duration));\n if (!this.watch) {\n reject(new Error('Compilation failed'));\n }\n },\n },\n });\n });\n }\n\n private getConfig(): Options {\n const packageConfig = getSwcCompilePackageConfiguration();\n const tsConfig = new TSConfig(getTsConfig());\n\n return deepmerge(\n {\n cliOptions: getCliOptions(tsConfig, { watch: this.watch }),\n swcOptions: getSwcOptions(tsConfig),\n },\n packageConfig,\n { arrayMerge: overwriteMerge, clone: false }\n );\n }\n}\n\nfunction getCliOptions(tsConfig: TSConfig, { watch }: { watch?: boolean }): Options['cliOptions'] {\n const { source, destination } = getFolders();\n const typedefsPattern = '**/*.d.ts';\n const ignore = tsConfig.getValue('exclude', [\n typedefsPattern,\n '**/__tests__/*',\n '**/*.test.*',\n '**/__mocks__/*',\n '**/*.stories.*',\n ]);\n\n if (!ignore.includes(typedefsPattern)) {\n ignore.push(typedefsPattern);\n }\n\n return {\n extensions: ['.ts', '.tsx'],\n filenames: [source],\n ignore,\n outDir: destination,\n stripLeadingPaths: true,\n watch,\n };\n}\n"],"names":["SwcCompilePackage","overwriteMerge","_destinationArray","sourceArray","Task","execute","config","getConfig","log","debug","JSON","stringify","logSuccessResults","watch","debounce","logCompletionResults","bind","Promise","resolve","reject","swcDir","callbacks","onSuccess","e","taskTimer","add","duration","onFail","text","reasons","values","Error","packageConfig","getSwcCompilePackageConfiguration","tsConfig","TSConfig","getTsConfig","deepmerge","cliOptions","getCliOptions","swcOptions","getSwcOptions","arrayMerge","clone","name","global","source","destination","getFolders","typedefsPattern","ignore","getValue","includes","push","extensions","filenames","outDir","stripLeadingPaths"],"mappings":";;;;+BAiBaA;;;eAAAA;;;qBAhBU;iEACF;kEACC;uBAC0D;wBACvD;sBACJ;+BACS;;;;;;AAM9B,SAASC,eAAeC,iBAA4B,EAAEC,WAAsB;IACxE,OAAOA;AACX;AAEO,MAAMH,0BAA0BI,UAAI;IAKvC,MAAMC,UAAyB;QAC3B,MAAMC,SAAS,IAAI,CAACC,SAAS;QAE7B,oCAAoC,GACpCC,UAAG,CAACC,KAAK,CAAC,8BAA8B,IAAMC,KAAKC,SAAS,CAACL,QAAQ,MAAM;QAE3E;;;;SAIC,GACD,MAAMM,oBAAoB,IAAI,CAACC,KAAK,GAC9BC,IAAAA,iBAAQ,EAAC,IAAI,CAACC,oBAAoB,CAACC,IAAI,CAAC,IAAI,GAAG,OAC/C,IAAI,CAACD,oBAAoB,CAACC,IAAI,CAAC,IAAI;QAEzC,OAAO,IAAIC,QAAQ,CAACC,SAASC;YACzBC,IAAAA,WAAM,EAAC;gBACH,GAAGd,MAAM;gBACTe,WAAW;oBACPC,WAAW,CAACC;wBACRX,kBAAkB,IAAI,CAACY,SAAS,CAACC,GAAG,CAACF,EAAEG,QAAQ;wBAC/C,IAAI,CAAC,IAAI,CAACb,KAAK,EAAE;4BACbK;wBACJ;oBACJ;oBACAS,QAAQ,CAACJ;wBACLf,UAAG,CAACoB,IAAI,CAAC;+BAAIL,EAAEM,OAAO,CAACC,MAAM;yBAAG,CAAC,EAAE;wBACnC,IAAI,CAACf,oBAAoB,CAAC,IAAI,CAACS,SAAS,CAACC,GAAG,CAACF,EAAEG,QAAQ;wBACvD,IAAI,CAAC,IAAI,CAACb,KAAK,EAAE;4BACbM,OAAO,IAAIY,MAAM;wBACrB;oBACJ;gBACJ;YACJ;QACJ;IACJ;IAEQxB,YAAqB;QACzB,MAAMyB,gBAAgBC,IAAAA,wCAAiC;QACvD,MAAMC,WAAW,IAAIC,gBAAQ,CAACC,IAAAA,kBAAW;QAEzC,OAAOC,IAAAA,kBAAS,EACZ;YACIC,YAAYC,cAAcL,UAAU;gBAAErB,OAAO,IAAI,CAACA,KAAK;YAAC;YACxD2B,YAAYC,IAAAA,4BAAa,EAACP;QAC9B,GACAF,eACA;YAAEU,YAAYzC;YAAgB0C,OAAO;QAAM;IAEnD;IArDA,YAAY,EAAE9B,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YAAE+B,MAAM;YAAuBC,QAAQ;YAAOhC;QAAM;IAC9D;AAoDJ;AAEA,SAAS0B,cAAcL,QAAkB,EAAE,EAAErB,KAAK,EAAuB;IACrE,MAAM,EAAEiC,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;IAC1C,MAAMC,kBAAkB;IACxB,MAAMC,SAAShB,SAASiB,QAAQ,CAAC,WAAW;QACxCF;QACA;QACA;QACA;QACA;KACH;IAED,IAAI,CAACC,OAAOE,QAAQ,CAACH,kBAAkB;QACnCC,OAAOG,IAAI,CAACJ;IAChB;IAEA,OAAO;QACHK,YAAY;YAAC;YAAO;SAAO;QAC3BC,WAAW;YAACT;SAAO;QACnBI;QACAM,QAAQT;QACRU,mBAAmB;QACnB5C;IACJ;AACJ"}
@@ -0,0 +1,2 @@
1
+ export * from './tsc-compile';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/tsc-compile/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./tsc-compile"), exports);
6
+ function _export_star(from, to) {
7
+ Object.keys(from).forEach(function(k) {
8
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
+ Object.defineProperty(to, k, {
10
+ enumerable: true,
11
+ get: function() {
12
+ return from[k];
13
+ }
14
+ });
15
+ }
16
+ });
17
+ return from;
18
+ }
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/tasks/tsc-compile/index.ts"],"sourcesContent":["export * from './tsc-compile';\n"],"names":[],"mappings":";;;;qBAAc"}
@@ -1,4 +1,4 @@
1
- import { CliTask } from './cli-task';
1
+ import { CliTask } from '../cli-task';
2
2
  interface Args {
3
3
  ignore?: string | string[];
4
4
  scope?: string | string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsc-compile.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/tsc-compile/tsc-compile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,UAAU,IAAI;IACV,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,UAAW,SAAQ,OAAO;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAYjC,OAAO;CA0BhB"}
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "TscCompile", {
8
8
  return TscCompile;
9
9
  }
10
10
  });
11
- const _utils = require("../../utils");
12
- const _clitask = require("./cli-task");
11
+ const _utils = require("../../../utils");
12
+ const _clitask = require("../cli-task");
13
13
  function _define_property(obj, key, value) {
14
14
  if (key in obj) {
15
15
  Object.defineProperty(obj, key, {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/tasks/tsc-compile/tsc-compile.ts"],"sourcesContent":["import {\n getPackages,\n getPackagesGraph,\n getTsConfig,\n log,\n Package,\n PackageType,\n} from '../../../utils';\nimport { CliTask } from '../cli-task';\n\ninterface Args {\n ignore?: string | string[];\n scope?: string | string[];\n watch?: boolean;\n}\n\nexport class TscCompile extends CliTask {\n constructor(private readonly args: Args) {\n super({\n name: 'tsc-compile',\n watch: args.watch,\n global: true,\n indicators: {\n end: 'Watching for file changes.',\n watchStart: 'Starting incremental compilation.',\n },\n });\n }\n\n async execute() {\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n\n const tsConfigs = collapsePackages(packages).map(({ location }) => getTsConfig(location));\n\n log.debug(\n 'tsc-compile',\n `${this.args.watch ? 'watching' : 'compiling'} ${tsConfigs.join(' ')}`\n );\n\n await this.runChildProcess(\n 'tsc',\n [\n '-b',\n this.watch ? '-w' : undefined,\n '--pretty',\n '--preserveWatchOutput',\n '--emitDeclarationOnly',\n ...tsConfigs,\n ].filter(i => i !== undefined)\n );\n }\n}\n\n/**\n * Exclude dependant packages as they will be built through project references\n */\nfunction collapsePackages(packages: Package[]) {\n const dependencies = new Set(\n Object.values(getPackagesGraph({ scope: packages.map(({ name }) => name) })).flat()\n );\n\n return packages.filter(({ name }) => !dependencies.has(name));\n}\n"],"names":["TscCompile","CliTask","execute","packages","getPackages","scope","args","ignore","type","PackageType","TSC","Webpack","tsConfigs","collapsePackages","map","location","getTsConfig","log","debug","watch","join","runChildProcess","undefined","filter","i","name","global","indicators","end","watchStart","dependencies","Set","Object","values","getPackagesGraph","flat","has"],"mappings":";;;;+BAgBaA;;;eAAAA;;;uBATN;yBACiB;;;;;;;;;;;;;;AAQjB,MAAMA,mBAAmBC,gBAAO;IAanC,MAAMC,UAAU;QACZ,MAAMC,WAAWC,IAAAA,kBAAW,EAAC;YACzBC,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK;YACtBE,QAAQ,IAAI,CAACD,IAAI,CAACC,MAAM;YACxBC,MAAM;gBAACC,kBAAW,CAACC,GAAG;gBAAED,kBAAW,CAACE,OAAO;aAAC;QAChD;QAEA,MAAMC,YAAYC,iBAAiBV,UAAUW,GAAG,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAKC,IAAAA,kBAAW,EAACD;QAE/EE,UAAG,CAACC,KAAK,CACL,eACA,GAAG,IAAI,CAACZ,IAAI,CAACa,KAAK,GAAG,aAAa,YAAY,CAAC,EAAEP,UAAUQ,IAAI,CAAC,MAAM;QAG1E,MAAM,IAAI,CAACC,eAAe,CACtB,OACA;YACI;YACA,IAAI,CAACF,KAAK,GAAG,OAAOG;YACpB;YACA;YACA;eACGV;SACN,CAACW,MAAM,CAACC,CAAAA,IAAKA,MAAMF;IAE5B;IArCA,YAAY,AAAiBhB,IAAU,CAAE;QACrC,KAAK,CAAC;YACFmB,MAAM;YACNN,OAAOb,KAAKa,KAAK;YACjBO,QAAQ;YACRC,YAAY;gBACRC,KAAK;gBACLC,YAAY;YAChB;QACJ,iDATyBvB,OAAAA;IAU7B;AA4BJ;AAEA;;CAEC,GACD,SAASO,iBAAiBV,QAAmB;IACzC,MAAM2B,eAAe,IAAIC,IACrBC,OAAOC,MAAM,CAACC,IAAAA,uBAAgB,EAAC;QAAE7B,OAAOF,SAASW,GAAG,CAAC,CAAC,EAAEW,IAAI,EAAE,GAAKA;IAAM,IAAIU,IAAI;IAGrF,OAAOhC,SAASoB,MAAM,CAAC,CAAC,EAAEE,IAAI,EAAE,GAAK,CAACK,aAAaM,GAAG,CAACX;AAC3D"}
@@ -0,0 +1,2 @@
1
+ export * from './tsc-compile-package';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/tsc-compile-package/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./tsc-compile-package"), exports);
6
+ function _export_star(from, to) {
7
+ Object.keys(from).forEach(function(k) {
8
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
+ Object.defineProperty(to, k, {
10
+ enumerable: true,
11
+ get: function() {
12
+ return from[k];
13
+ }
14
+ });
15
+ }
16
+ });
17
+ return from;
18
+ }
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/tasks/tsc-compile-package/index.ts"],"sourcesContent":["export * from './tsc-compile-package';\n"],"names":[],"mappings":";;;;qBAAc"}
@@ -1,4 +1,4 @@
1
- import { CliTask } from './cli-task';
1
+ import { CliTask } from '../cli-task';
2
2
  interface Args {
3
3
  watch?: boolean;
4
4
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsc-compile-package.d.ts","sourceRoot":"","sources":["../../../../src/cli/tasks/tsc-compile-package/tsc-compile-package.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,UAAU,IAAI;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,OAAO;gBAC9B,EAAE,KAAK,EAAE,EAAE,IAAI;IAYrB,OAAO;CAsBhB"}
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "TscCompilePackage", {
8
8
  return TscCompilePackage;
9
9
  }
10
10
  });
11
- const _utils = require("../../utils");
12
- const _clitask = require("./cli-task");
11
+ const _utils = require("../../../utils");
12
+ const _clitask = require("../cli-task");
13
13
  class TscCompilePackage extends _clitask.CliTask {
14
14
  async execute() {
15
15
  const tsConfig = (0, _utils.getTsConfig)();
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/tasks/tsc-compile-package/tsc-compile-package.ts"],"sourcesContent":["import { getTsConfig } from '../../../utils';\nimport { CliTask } from '../cli-task';\n\ninterface Args {\n watch?: boolean;\n}\n\nexport class TscCompilePackage extends CliTask {\n constructor({ watch }: Args) {\n super({\n name: 'tsc-compile-package',\n global: false,\n indicators: {\n end: 'Watching for file changes.',\n watchStart: 'Starting incremental compilation.',\n },\n watch,\n });\n }\n\n async execute() {\n const tsConfig = getTsConfig();\n await this.runChildProcess(\n 'tsc',\n [\n this.watch ? '-w' : undefined,\n '--pretty',\n '--preserveWatchOutput',\n '--noCheck',\n '--composite',\n 'false',\n '--declaration',\n 'false',\n '--declarationMap',\n 'false',\n '--tsBuildInfoFile',\n 'tsconfig.compile.tsbuildinfo',\n '--project',\n tsConfig,\n ].filter(i => i !== undefined)\n );\n }\n}\n"],"names":["TscCompilePackage","CliTask","execute","tsConfig","getTsConfig","runChildProcess","watch","undefined","filter","i","name","global","indicators","end","watchStart"],"mappings":";;;;+BAOaA;;;eAAAA;;;uBAPe;yBACJ;AAMjB,MAAMA,0BAA0BC,gBAAO;IAa1C,MAAMC,UAAU;QACZ,MAAMC,WAAWC,IAAAA,kBAAW;QAC5B,MAAM,IAAI,CAACC,eAAe,CACtB,OACA;YACI,IAAI,CAACC,KAAK,GAAG,OAAOC;YACpB;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACAJ;SACH,CAACK,MAAM,CAACC,CAAAA,IAAKA,MAAMF;IAE5B;IAjCA,YAAY,EAAED,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YACFI,MAAM;YACNC,QAAQ;YACRC,YAAY;gBACRC,KAAK;gBACLC,YAAY;YAChB;YACAR;QACJ;IACJ;AAwBJ"}
@@ -181,7 +181,7 @@ async function runWatch(config) {
181
181
  });
182
182
  }
183
183
  function createWebpackCompiler(config) {
184
- return (0, _webpack.default)(config); // webpack only potentially returns null when given a callback argument
184
+ return (0, _webpack.default)(config);
185
185
  }
186
186
 
187
187
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/utils/bundle.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport path from 'path';\nimport { getPortPromise } from 'portfinder';\nimport webpack, { Configuration } from 'webpack';\nimport WebpackDevServer from 'webpack-dev-server';\nimport {\n getPackageName,\n hasHeadlessBundle,\n isDevServerDisabled,\n isExposeSharedDependencies,\n isWebComponent,\n log,\n pick,\n} from '../../utils';\nimport { Overrides, createWebpackConfig } from '../../webpack';\nimport { stringifyConfig } from '../../webpack/utils';\n\ninterface Options {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\n emitExposedDependencies?: boolean | Pick<Configuration, 'output'>;\n useWatchConfig?: boolean;\n watch?: boolean;\n}\n\nfunction getName() {\n const packageName = getPackageName()\n .replace(/\\//g, '-')\n .replace(/[^\\w-]/g, '');\n const hash = crypto.randomBytes(4).toString('hex');\n\n return `${packageName}-${hash}`;\n}\n\nexport const webpackDevConfigFileName = 'webpack.dev.config.js';\nexport const webpackProdConfigFileName = 'webpack.prod.config.js';\n\nexport async function bundle(options: Options = {}) {\n const { emitExposedDependencies, useWatchConfig, watch } = options;\n if (emitExposedDependencies) {\n if (watch) {\n throw new Error('cannot bundle exposed dependencies in watch mode');\n }\n if (!isExposeSharedDependencies()) {\n return;\n }\n }\n\n log.info(`Bundling ${emitExposedDependencies ? 'exposed dependencies' : 'package'}...`);\n\n const mode = watch || useWatchConfig ? 'development' : 'production';\n const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;\n const customConfig = readWebpackConfig({ ...options, fallback });\n const webpackOptions = getWebpackOptions(options, customConfig);\n\n /* istanbul ignore next: debug only */\n log.debug('custom-webpack-config', () => stringifyConfig(customConfig));\n\n if (isWebComponent()) {\n return bundleWebComponent({ customConfig, mode, watch, webpackOptions });\n }\n\n const config =\n customConfig && !emitExposedDependencies\n ? customConfig\n : createWebpackConfig({ configuration: { mode } }, webpackOptions);\n\n if (watch) {\n return isDevServerDisabled() ? runWatch(config) : runServe(config);\n }\n\n return run(config);\n}\n\nfunction bundleWebComponent({\n customConfig,\n mode,\n watch,\n webpackOptions,\n}: {\n customConfig: ReturnType<typeof readWebpackConfig>;\n mode: 'development' | 'production';\n watch?: boolean;\n webpackOptions: ReturnType<typeof getWebpackOptions>;\n}) {\n const overrides: Overrides = {\n configuration: { ...customConfig?.configuration, mode },\n plugins: customConfig?.plugins,\n };\n\n const fullConfig = createWebpackConfig(overrides, webpackOptions);\n const lightConfig = createWebpackConfig(overrides, { ...webpackOptions, embed: true });\n const headlessConfig = hasHeadlessBundle()\n ? createWebpackConfig(overrides, {\n ...webpackOptions,\n headless: true,\n })\n : undefined;\n\n const promises = watch\n ? [\n runWatch(lightConfig),\n isDevServerDisabled() ? runWatch(fullConfig) : runServe(fullConfig),\n headlessConfig && runWatch(headlessConfig),\n ]\n : [run(lightConfig), run(fullConfig), headlessConfig && run(headlessConfig)];\n\n return Promise.all(promises.filter(promise => !!promise));\n}\n\nfunction getWebpackOptions(options: Options, customConfig?: Record<string, any>) {\n const result = {\n name: getName(),\n ...pick(options, ['buildStat', 'codeCoverage', 'emitExposedDependencies']),\n };\n\n if (result.emitExposedDependencies && customConfig) {\n result.emitExposedDependencies = { output: customConfig.output };\n }\n\n return result;\n}\n\nfunction readWebpackConfig({ config, fallback }: Options & { fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n\nasync function run(config: Configuration) {\n const compiler = createWebpackCompiler(config);\n\n const stats = await new Promise<webpack.Stats>((resolve, reject) => {\n compiler.run((error, stats) => {\n if (!stats || error) {\n return reject(error ?? new Error('Something went wrong.'));\n }\n\n if (stats.hasErrors()) {\n return reject(new Error(stats.toString('errors-only')));\n }\n\n compiler.close(() => resolve(stats));\n });\n });\n\n process.stdout.write(stats.toString(config.stats) + '\\n');\n}\n\nasync function runServe({ devServer = {}, ...config }: Configuration) {\n const compiler = createWebpackCompiler(config);\n const host = devServer.host ?? 'localhost';\n const port = await getPortPromise({\n port: Number(devServer.port) || 8080,\n host,\n });\n\n return new Promise<void>((_0, reject) => {\n const server = new WebpackDevServer({ ...devServer, host, port }, compiler);\n server.startCallback(e => {\n if (e) {\n server.stopCallback(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nasync function runWatch(config: Configuration) {\n const compiler = createWebpackCompiler(config);\n return new Promise<void>((_0, reject) => {\n const watching = compiler.watch({}, e => {\n if (e) {\n watching?.close(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nfunction createWebpackCompiler(config: Configuration) {\n return webpack(config)!; // webpack only potentially returns null when given a callback argument\n}\n"],"names":["bundle","webpackDevConfigFileName","webpackProdConfigFileName","getName","packageName","getPackageName","replace","hash","crypto","randomBytes","toString","options","emitExposedDependencies","useWatchConfig","watch","Error","isExposeSharedDependencies","log","info","mode","fallback","customConfig","readWebpackConfig","webpackOptions","getWebpackOptions","debug","stringifyConfig","isWebComponent","bundleWebComponent","config","createWebpackConfig","configuration","isDevServerDisabled","runWatch","runServe","run","overrides","plugins","fullConfig","lightConfig","embed","headlessConfig","hasHeadlessBundle","headless","undefined","promises","Promise","all","filter","promise","result","name","pick","output","readConfig","relativePath","fs","existsSync","require","path","resolve","compiler","createWebpackCompiler","stats","reject","error","hasErrors","close","process","stdout","write","devServer","host","port","getPortPromise","Number","_0","server","WebpackDevServer","startCallback","e","stopCallback","watching","webpack"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/utils/bundle.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport path from 'path';\nimport { getPortPromise } from 'portfinder';\nimport webpack, { Configuration } from 'webpack';\nimport WebpackDevServer from 'webpack-dev-server';\nimport {\n getPackageName,\n hasHeadlessBundle,\n isDevServerDisabled,\n isExposeSharedDependencies,\n isWebComponent,\n log,\n pick,\n} from '../../utils';\nimport { Overrides, createWebpackConfig } from '../../webpack';\nimport { stringifyConfig } from '../../webpack/utils';\n\ninterface Options {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\n emitExposedDependencies?: boolean | Pick<Configuration, 'output'>;\n useWatchConfig?: boolean;\n watch?: boolean;\n}\n\nfunction getName() {\n const packageName = getPackageName()\n .replace(/\\//g, '-')\n .replace(/[^\\w-]/g, '');\n const hash = crypto.randomBytes(4).toString('hex');\n\n return `${packageName}-${hash}`;\n}\n\nexport const webpackDevConfigFileName = 'webpack.dev.config.js';\nexport const webpackProdConfigFileName = 'webpack.prod.config.js';\n\nexport async function bundle(options: Options = {}) {\n const { emitExposedDependencies, useWatchConfig, watch } = options;\n if (emitExposedDependencies) {\n if (watch) {\n throw new Error('cannot bundle exposed dependencies in watch mode');\n }\n if (!isExposeSharedDependencies()) {\n return;\n }\n }\n\n log.info(`Bundling ${emitExposedDependencies ? 'exposed dependencies' : 'package'}...`);\n\n const mode = watch || useWatchConfig ? 'development' : 'production';\n const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;\n const customConfig = readWebpackConfig({ ...options, fallback });\n const webpackOptions = getWebpackOptions(options, customConfig);\n\n /* istanbul ignore next: debug only */\n log.debug('custom-webpack-config', () => stringifyConfig(customConfig));\n\n if (isWebComponent()) {\n return bundleWebComponent({ customConfig, mode, watch, webpackOptions });\n }\n\n const config =\n customConfig && !emitExposedDependencies\n ? customConfig\n : createWebpackConfig({ configuration: { mode } }, webpackOptions);\n\n if (watch) {\n return isDevServerDisabled() ? runWatch(config) : runServe(config);\n }\n\n return run(config);\n}\n\nfunction bundleWebComponent({\n customConfig,\n mode,\n watch,\n webpackOptions,\n}: {\n customConfig: ReturnType<typeof readWebpackConfig>;\n mode: 'development' | 'production';\n watch?: boolean;\n webpackOptions: ReturnType<typeof getWebpackOptions>;\n}) {\n const overrides: Overrides = {\n configuration: { ...customConfig?.configuration, mode },\n plugins: customConfig?.plugins,\n };\n\n const fullConfig = createWebpackConfig(overrides, webpackOptions);\n const lightConfig = createWebpackConfig(overrides, { ...webpackOptions, embed: true });\n const headlessConfig = hasHeadlessBundle()\n ? createWebpackConfig(overrides, {\n ...webpackOptions,\n headless: true,\n })\n : undefined;\n\n const promises = watch\n ? [\n runWatch(lightConfig),\n isDevServerDisabled() ? runWatch(fullConfig) : runServe(fullConfig),\n headlessConfig && runWatch(headlessConfig),\n ]\n : [run(lightConfig), run(fullConfig), headlessConfig && run(headlessConfig)];\n\n return Promise.all(promises.filter(promise => !!promise));\n}\n\nfunction getWebpackOptions(options: Options, customConfig?: Record<string, any>) {\n const result = {\n name: getName(),\n ...pick(options, ['buildStat', 'codeCoverage', 'emitExposedDependencies']),\n };\n\n if (result.emitExposedDependencies && customConfig) {\n result.emitExposedDependencies = { output: customConfig.output };\n }\n\n return result;\n}\n\nfunction readWebpackConfig({ config, fallback }: Options & { fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n\nasync function run(config: Configuration) {\n const compiler = createWebpackCompiler(config);\n\n const stats = await new Promise<webpack.Stats>((resolve, reject) => {\n compiler.run((error, stats) => {\n if (!stats || error) {\n return reject(error ?? new Error('Something went wrong.'));\n }\n\n if (stats.hasErrors()) {\n return reject(new Error(stats.toString('errors-only')));\n }\n\n compiler.close(() => resolve(stats));\n });\n });\n\n process.stdout.write(stats.toString(config.stats) + '\\n');\n}\n\nasync function runServe({ devServer = {}, ...config }: Configuration) {\n const compiler = createWebpackCompiler(config);\n const host = devServer.host ?? 'localhost';\n const port = await getPortPromise({\n port: Number(devServer.port) || 8080,\n host,\n });\n\n return new Promise<void>((_0, reject) => {\n const server = new WebpackDevServer({ ...devServer, host, port }, compiler);\n server.startCallback(e => {\n if (e) {\n server.stopCallback(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nasync function runWatch(config: Configuration) {\n const compiler = createWebpackCompiler(config);\n return new Promise<void>((_0, reject) => {\n const watching = compiler.watch({}, e => {\n if (e) {\n watching?.close(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nfunction createWebpackCompiler(config: Configuration) {\n return webpack(config);\n}\n"],"names":["bundle","webpackDevConfigFileName","webpackProdConfigFileName","getName","packageName","getPackageName","replace","hash","crypto","randomBytes","toString","options","emitExposedDependencies","useWatchConfig","watch","Error","isExposeSharedDependencies","log","info","mode","fallback","customConfig","readWebpackConfig","webpackOptions","getWebpackOptions","debug","stringifyConfig","isWebComponent","bundleWebComponent","config","createWebpackConfig","configuration","isDevServerDisabled","runWatch","runServe","run","overrides","plugins","fullConfig","lightConfig","embed","headlessConfig","hasHeadlessBundle","headless","undefined","promises","Promise","all","filter","promise","result","name","pick","output","readConfig","relativePath","fs","existsSync","require","path","resolve","compiler","createWebpackCompiler","stats","reject","error","hasErrors","close","process","stdout","write","devServer","host","port","getPortPromise","Number","_0","server","WebpackDevServer","startCallback","e","stopCallback","watching","webpack"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './swc';
2
+ export * from './webpack-final';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storybook-config/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC"}