@servicetitan/startup 31.0.0 → 31.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +1 -7
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/prepare-package.d.ts +1 -2
  5. package/dist/cli/commands/prepare-package.d.ts.map +1 -1
  6. package/dist/cli/commands/prepare-package.js +4 -6
  7. package/dist/cli/commands/prepare-package.js.map +1 -1
  8. package/dist/cli/commands/run-task.test.js +59 -0
  9. package/dist/cli/commands/run-task.test.js.map +1 -0
  10. package/dist/cli/commands/start.d.ts.map +1 -1
  11. package/dist/cli/commands/start.js +2 -11
  12. package/dist/cli/commands/start.js.map +1 -1
  13. package/dist/cli/tasks/swc-cli.d.js +3 -0
  14. package/dist/cli/tasks/swc-cli.d.js.map +1 -0
  15. package/dist/cli/tasks/swc-compile-package.d.ts.map +1 -1
  16. package/dist/cli/tasks/swc-compile-package.js +22 -19
  17. package/dist/cli/tasks/swc-compile-package.js.map +1 -1
  18. package/dist/cli/types/cpx2.d.js +3 -0
  19. package/dist/cli/types/cpx2.d.js.map +1 -0
  20. package/dist/cli/utils/bundle.d.ts +2 -2
  21. package/dist/cli/utils/bundle.d.ts.map +1 -1
  22. package/dist/cli/utils/bundle.js +18 -4
  23. package/dist/cli/utils/bundle.js.map +1 -1
  24. package/dist/cli/utils/copy-files.d.ts +1 -1
  25. package/dist/cli/utils/copy-files.d.ts.map +1 -1
  26. package/dist/cli/utils/copy-files.js +18 -11
  27. package/dist/cli/utils/copy-files.js.map +1 -1
  28. package/dist/cli/utils/get-module-type.d.ts.map +1 -1
  29. package/dist/cli/utils/get-module-type.js +2 -16
  30. package/dist/cli/utils/get-module-type.js.map +1 -1
  31. package/dist/cli/utils/index.d.ts +1 -1
  32. package/dist/cli/utils/index.d.ts.map +1 -1
  33. package/dist/cli/utils/index.js +1 -1
  34. package/dist/cli/utils/index.js.map +1 -1
  35. package/dist/cli/utils/ts-config.d.ts +11 -0
  36. package/dist/cli/utils/ts-config.d.ts.map +1 -0
  37. package/dist/cli/utils/ts-config.js +80 -0
  38. package/dist/cli/utils/ts-config.js.map +1 -0
  39. package/dist/utils/get-configuration.d.ts +1 -0
  40. package/dist/utils/get-configuration.d.ts.map +1 -1
  41. package/dist/utils/get-configuration.js +14 -0
  42. package/dist/utils/get-configuration.js.map +1 -1
  43. package/dist/webpack/configs/index.d.ts +0 -1
  44. package/dist/webpack/configs/index.d.ts.map +1 -1
  45. package/dist/webpack/configs/index.js +0 -1
  46. package/dist/webpack/configs/index.js.map +1 -1
  47. package/dist/webpack/configs/optimization-config.js +6 -6
  48. package/dist/webpack/configs/optimization-config.js.map +1 -1
  49. package/dist/webpack/configs/output-config.d.ts.map +1 -1
  50. package/dist/webpack/configs/output-config.js +3 -2
  51. package/dist/webpack/configs/output-config.js.map +1 -1
  52. package/dist/webpack/configs/plugins/html-plugin.d.ts +1 -1
  53. package/dist/webpack/configs/plugins/html-plugin.d.ts.map +1 -1
  54. package/dist/webpack/configs/plugins/html-plugin.js +2 -2
  55. package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
  56. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +14 -4
  57. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
  58. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +1 -1
  59. package/dist/webpack/configs/utils/generate-metadata.js +4 -0
  60. package/dist/webpack/configs/utils/generate-metadata.js.map +1 -1
  61. package/dist/webpack/create-webpack-config.d.ts.map +1 -1
  62. package/dist/webpack/create-webpack-config.js +0 -1
  63. package/dist/webpack/create-webpack-config.js.map +1 -1
  64. package/dist/webpack/types.d.ts +1 -0
  65. package/dist/webpack/types.d.ts.map +1 -1
  66. package/dist/webpack/utils/index.d.ts +0 -1
  67. package/dist/webpack/utils/index.d.ts.map +1 -1
  68. package/dist/webpack/utils/index.js +0 -1
  69. package/dist/webpack/utils/index.js.map +1 -1
  70. package/package.json +7 -8
  71. package/src/cli/commands/__tests__/build.test.ts +2 -4
  72. package/src/cli/commands/__tests__/prepare-package.test.ts +5 -28
  73. package/src/cli/commands/__tests__/start.test.ts +3 -5
  74. package/src/cli/commands/build.ts +0 -2
  75. package/src/cli/commands/prepare-package.ts +4 -7
  76. package/src/cli/commands/start.ts +1 -3
  77. package/src/cli/tasks/__tests__/swc-compile-package.test.ts +71 -12
  78. package/src/cli/tasks/swc-compile-package.ts +21 -20
  79. package/src/cli/utils/__tests__/bundle.test.ts +48 -7
  80. package/src/cli/utils/__tests__/copy-files.test.ts +5 -5
  81. package/src/cli/utils/bundle.ts +27 -5
  82. package/src/cli/utils/copy-files.ts +16 -6
  83. package/src/cli/utils/get-module-type.ts +2 -18
  84. package/src/cli/utils/index.ts +1 -1
  85. package/src/cli/utils/ts-config.ts +64 -0
  86. package/src/utils/__tests__/get-configuration.test.ts +20 -0
  87. package/src/utils/get-configuration.ts +12 -0
  88. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +0 -1
  89. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +17 -28
  90. package/src/webpack/__tests__/create-webpack-config.test.ts +27 -38
  91. package/src/webpack/configs/index.ts +0 -1
  92. package/src/webpack/configs/optimization-config.ts +6 -6
  93. package/src/webpack/configs/output-config.ts +4 -2
  94. package/src/webpack/configs/plugins/html-plugin.ts +5 -2
  95. package/src/webpack/configs/plugins/virtual-modules-plugin.ts +15 -2
  96. package/src/webpack/configs/utils/__tests__/generate-metadata.test.ts +3 -1
  97. package/src/webpack/configs/utils/generate-metadata.ts +6 -1
  98. package/src/webpack/create-webpack-config.ts +0 -2
  99. package/src/webpack/types.ts +1 -0
  100. package/src/webpack/utils/index.ts +0 -1
  101. package/dist/__mocks__/create-package.d.ts +0 -3
  102. package/dist/__mocks__/create-package.d.ts.map +0 -1
  103. package/dist/__mocks__/index.d.ts +0 -2
  104. package/dist/__mocks__/index.d.ts.map +0 -1
  105. package/dist/cli/commands/review/__mocks__/expect-calls.d.ts +0 -23
  106. package/dist/cli/commands/review/__mocks__/expect-calls.d.ts.map +0 -1
  107. package/dist/cli/commands/review/__mocks__/index.d.ts +0 -2
  108. package/dist/cli/commands/review/__mocks__/index.d.ts.map +0 -1
  109. package/dist/cli/commands/review/rules/__mocks__/index.d.ts +0 -4
  110. package/dist/cli/commands/review/rules/__mocks__/index.d.ts.map +0 -1
  111. package/dist/cli/commands/review/rules/__mocks__/mock-config.d.ts +0 -7
  112. package/dist/cli/commands/review/rules/__mocks__/mock-config.d.ts.map +0 -1
  113. package/dist/cli/commands/review/rules/__mocks__/mock-packages.d.ts +0 -21
  114. package/dist/cli/commands/review/rules/__mocks__/mock-packages.d.ts.map +0 -1
  115. package/dist/cli/commands/review/rules/__mocks__/mock-project.d.ts +0 -3
  116. package/dist/cli/commands/review/rules/__mocks__/mock-project.d.ts.map +0 -1
  117. package/dist/cli/utils/style-extensions.d.ts +0 -2
  118. package/dist/cli/utils/style-extensions.d.ts.map +0 -1
  119. package/dist/cli/utils/style-extensions.js +0 -17
  120. package/dist/cli/utils/style-extensions.js.map +0 -1
  121. package/dist/cli/utils/tcm.d.ts +0 -6
  122. package/dist/cli/utils/tcm.d.ts.map +0 -1
  123. package/dist/cli/utils/tcm.js +0 -72
  124. package/dist/cli/utils/tcm.js.map +0 -1
  125. package/dist/webpack/__mocks__/file-rules.d.ts +0 -3
  126. package/dist/webpack/__mocks__/file-rules.d.ts.map +0 -1
  127. package/dist/webpack/__mocks__/index.d.ts +0 -3
  128. package/dist/webpack/__mocks__/index.d.ts.map +0 -1
  129. package/dist/webpack/__mocks__/style-rules.d.ts +0 -8
  130. package/dist/webpack/__mocks__/style-rules.d.ts.map +0 -1
  131. package/dist/webpack/configs/cache-config.d.ts +0 -6
  132. package/dist/webpack/configs/cache-config.d.ts.map +0 -1
  133. package/dist/webpack/configs/cache-config.js +0 -34
  134. package/dist/webpack/configs/cache-config.js.map +0 -1
  135. package/dist/webpack/utils/feature-cohort.d.ts +0 -5
  136. package/dist/webpack/utils/feature-cohort.d.ts.map +0 -1
  137. package/dist/webpack/utils/feature-cohort.js +0 -26
  138. package/dist/webpack/utils/feature-cohort.js.map +0 -1
  139. package/dist/webpack/utils/hash-mod.d.ts +0 -9
  140. package/dist/webpack/utils/hash-mod.d.ts.map +0 -1
  141. package/dist/webpack/utils/hash-mod.js +0 -39
  142. package/dist/webpack/utils/hash-mod.js.map +0 -1
  143. package/src/cli/utils/__tests__/tcm.test.ts +0 -195
  144. package/src/cli/utils/style-extensions.ts +0 -1
  145. package/src/cli/utils/tcm.ts +0 -66
  146. package/src/webpack/configs/cache-config.ts +0 -25
  147. package/src/webpack/utils/feature-cohort.ts +0 -19
  148. package/src/webpack/utils/hash-mod.ts +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,oBAAY,cAAc;IACtB,SAAS,IAAA;IACT,gBAAgB,IAAA;IAChB,gBAAgB,IAAA;IAChB,WAAW,IAAA;IACX,eAAe,IAAA;CAClB;AAED,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;IAFxB,QAAQ,CAAC,MAAM,QAAQ;gBAEH,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAqEhB"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,oBAAY,cAAc;IACtB,SAAS,IAAA;IACT,gBAAgB,IAAA;IAChB,gBAAgB,IAAA;IAChB,WAAW,IAAA;IACX,eAAe,IAAA;CAClB;AAED,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;IAFxB,QAAQ,CAAC,MAAM,QAAQ;gBAEH,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAmEhB"}
@@ -84,14 +84,8 @@ class Build {
84
84
  processTree.add(1, ()=>(0, _kendouilicense.kendoUILicense)());
85
85
  processTree.add(2, ()=>(0, _utils1.lernaExec)({
86
86
  cmd: 'startup prepare-package',
87
- parallel: true,
88
87
  scope,
89
- stream: true,
90
- ...useTsc ? {
91
- '--': [
92
- '--copy-files'
93
- ]
94
- } : {}
88
+ stream: true
95
89
  }));
96
90
  processTree.add(3, ()=>(0, _utils1.typeCheck)({
97
91
  packages: scope
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/build.ts"],"sourcesContent":["import { getPackages, logErrors, PackageType } from '../../utils';\nimport { checkArgs, compile, lernaExec, typeCheck, ProcessTree } from '../utils';\nimport { kendoUILicense } from './kendo-ui-license';\nimport { Command } from './types';\n\ninterface Args {\n 'cdn-path'?: string;\n 'code-coverage'?: boolean;\n 'config'?: string;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'stat'?: boolean;\n 'use-tsc'?: boolean;\n}\n\nexport enum BuildProcesses {\n 'Compile',\n 'KendoUILicense',\n 'PreparePackage',\n 'TypeCheck',\n 'BundlePackage',\n}\n\nexport class Build implements Command {\n readonly greedy = true;\n\n constructor(private args: Args) {}\n\n description() {\n return 'build project for production';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n if (this.args['cdn-path']) {\n process.env.CLIENT_CDN_PATH = this.args['cdn-path'];\n }\n\n const scope = packages.map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof BuildProcesses>();\n\n processTree.add(BuildProcesses.Compile, () => compile({ packages: scope, useTsc }));\n processTree.add(BuildProcesses.KendoUILicense, () => kendoUILicense());\n processTree.add(BuildProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n parallel: true,\n scope,\n stream: true,\n ...(useTsc ? { '--': ['--copy-files'] } : {}),\n })\n );\n processTree.add(BuildProcesses.TypeCheck, () => typeCheck({ packages: scope }), {\n dependsOn: [BuildProcesses.PreparePackage],\n });\n processTree.add(\n BuildProcesses.BundlePackage,\n () => {\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'stream': true,\n '--': [\n ...[this.args.config ? `--config \"${this.args.config}\"` : undefined],\n ...[this.args['code-coverage'] ? '--code-coverage' : undefined],\n ...[this.args.stat ? '--stat' : undefined],\n ].filter(item => !!item) as string[],\n });\n },\n {\n dependsOn: [\n BuildProcesses.Compile,\n BuildProcesses.KendoUILicense,\n BuildProcesses.PreparePackage,\n ],\n }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Build","BuildProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","process","env","CLIENT_CDN_PATH","map","name","processTree","ProcessTree","add","compile","kendoUILicense","lernaExec","cmd","parallel","stream","typeCheck","dependsOn","webpackScope","filter","Promise","resolve","config","undefined","stat","item","run","constructor","greedy"],"mappings":";;;;;;;;;;;QAuBaA;eAAAA;;QARDC;eAAAA;;;uBAfwC;wBACkB;gCACvC;;;;;;;;;;;;;;;;;;;;;;;AAaxB,IAAA,AAAKA,wCAAAA;;;;;;WAAAA;;AAQL,MAAMD;IAKTE,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;QACZC,IAAAA,iBAAS,EAAC,IAAI,CAACC,IAAI,EAAE;YAAEC,UAAU;gBAAC;gBAAa;aAA0B;QAAC;QAE1E,MAAMC,SAAS,IAAI,CAACF,IAAI,CAAC,UAAU;QAEnC,MAAMG,WAAWC,IAAAA,kBAAW,EAAC;YACzBC,OAAO,IAAI,CAACL,IAAI,CAACK,KAAK;YACtBC,QAAQ,IAAI,CAACN,IAAI,CAACM,MAAM;YACxBC,MAAM;gBAACC,kBAAW,CAACC,GAAG;gBAAED,kBAAW,CAACE,OAAO;aAAC;QAChD;QACA,IAAIP,SAASQ,MAAM,KAAK,GAAG;YACvB;QACJ;QAEA,IAAI,IAAI,CAACX,IAAI,CAAC,WAAW,EAAE;YACvBY,QAAQC,GAAG,CAACC,eAAe,GAAG,IAAI,CAACd,IAAI,CAAC,WAAW;QACvD;QAEA,MAAMK,QAAQF,SAASY,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;QAEzC,MAAMC,cAAc,IAAIC,mBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAMC,IAAAA,eAAO,EAAC;gBAAEjB,UAAUE;gBAAOH;YAAO;QAChFe,YAAYE,GAAG,IAAgC,IAAME,IAAAA,8BAAc;QACnEJ,YAAYE,GAAG,IAAgC,IAC3CG,IAAAA,iBAAS,EAAC;gBACNC,KAAK;gBACLC,UAAU;gBACVnB;gBACAoB,QAAQ;gBACR,GAAIvB,SAAS;oBAAE,MAAM;wBAAC;qBAAe;gBAAC,IAAI,CAAC,CAAC;YAChD;QAEJe,YAAYE,GAAG,IAA2B,IAAMO,IAAAA,iBAAS,EAAC;gBAAEvB,UAAUE;YAAM,IAAI;YAC5EsB,WAAW;;aAA+B;QAC9C;QACAV,YAAYE,GAAG,IAEX;YACI,MAAMS,eAAezB,SAChB0B,MAAM,CAAC,CAAC,EAAEtB,IAAI,EAAE,GAAKA,SAASC,kBAAW,CAACE,OAAO,EACjDK,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;YAEvB,IAAIY,aAAajB,MAAM,KAAK,GAAG;gBAC3B,OAAOmB,QAAQC,OAAO;YAC1B;YAEA,OAAOT,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASM;gBACT,UAAU;gBACV,MAAM;uBACC;wBAAC,IAAI,CAAC5B,IAAI,CAACgC,MAAM,GAAG,CAAC,UAAU,EAAE,IAAI,CAAChC,IAAI,CAACgC,MAAM,CAAC,CAAC,CAAC,GAAGC;qBAAU;uBACjE;wBAAC,IAAI,CAACjC,IAAI,CAAC,gBAAgB,GAAG,oBAAoBiC;qBAAU;uBAC5D;wBAAC,IAAI,CAACjC,IAAI,CAACkC,IAAI,GAAG,WAAWD;qBAAU;iBAC7C,CAACJ,MAAM,CAACM,CAAAA,OAAQ,CAAC,CAACA;YACvB;QACJ,GACA;YACIR,WAAW;;;;aAIV;QACL;QAGJ,MAAMV,YAAYmB,GAAG;IACzB;IA3EAC,YAAY,AAAQrC,IAAU,CAAE;;QAFhC,uBAASsC,UAAT,KAAA;aAEoBtC,OAAAA;aAFXsC,SAAS;IAEe;AA4ErC"}
1
+ {"version":3,"sources":["../../../src/cli/commands/build.ts"],"sourcesContent":["import { getPackages, logErrors, PackageType } from '../../utils';\nimport { checkArgs, compile, lernaExec, typeCheck, ProcessTree } from '../utils';\nimport { kendoUILicense } from './kendo-ui-license';\nimport { Command } from './types';\n\ninterface Args {\n 'cdn-path'?: string;\n 'code-coverage'?: boolean;\n 'config'?: string;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'stat'?: boolean;\n 'use-tsc'?: boolean;\n}\n\nexport enum BuildProcesses {\n 'Compile',\n 'KendoUILicense',\n 'PreparePackage',\n 'TypeCheck',\n 'BundlePackage',\n}\n\nexport class Build implements Command {\n readonly greedy = true;\n\n constructor(private args: Args) {}\n\n description() {\n return 'build project for production';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n if (this.args['cdn-path']) {\n process.env.CLIENT_CDN_PATH = this.args['cdn-path'];\n }\n\n const scope = packages.map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof BuildProcesses>();\n\n processTree.add(BuildProcesses.Compile, () => compile({ packages: scope, useTsc }));\n processTree.add(BuildProcesses.KendoUILicense, () => kendoUILicense());\n processTree.add(BuildProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(BuildProcesses.TypeCheck, () => typeCheck({ packages: scope }), {\n dependsOn: [BuildProcesses.PreparePackage],\n });\n processTree.add(\n BuildProcesses.BundlePackage,\n () => {\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'stream': true,\n '--': [\n ...[this.args.config ? `--config \"${this.args.config}\"` : undefined],\n ...[this.args['code-coverage'] ? '--code-coverage' : undefined],\n ...[this.args.stat ? '--stat' : undefined],\n ].filter(item => !!item) as string[],\n });\n },\n {\n dependsOn: [\n BuildProcesses.Compile,\n BuildProcesses.KendoUILicense,\n BuildProcesses.PreparePackage,\n ],\n }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Build","BuildProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","process","env","CLIENT_CDN_PATH","map","name","processTree","ProcessTree","add","compile","kendoUILicense","lernaExec","cmd","stream","typeCheck","dependsOn","webpackScope","filter","Promise","resolve","config","undefined","stat","item","run","constructor","greedy"],"mappings":";;;;;;;;;;;QAuBaA;eAAAA;;QARDC;eAAAA;;;uBAfwC;wBACkB;gCACvC;;;;;;;;;;;;;;;;;;;;;;;AAaxB,IAAA,AAAKA,wCAAAA;;;;;;WAAAA;;AAQL,MAAMD;IAKTE,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;QACZC,IAAAA,iBAAS,EAAC,IAAI,CAACC,IAAI,EAAE;YAAEC,UAAU;gBAAC;gBAAa;aAA0B;QAAC;QAE1E,MAAMC,SAAS,IAAI,CAACF,IAAI,CAAC,UAAU;QAEnC,MAAMG,WAAWC,IAAAA,kBAAW,EAAC;YACzBC,OAAO,IAAI,CAACL,IAAI,CAACK,KAAK;YACtBC,QAAQ,IAAI,CAACN,IAAI,CAACM,MAAM;YACxBC,MAAM;gBAACC,kBAAW,CAACC,GAAG;gBAAED,kBAAW,CAACE,OAAO;aAAC;QAChD;QACA,IAAIP,SAASQ,MAAM,KAAK,GAAG;YACvB;QACJ;QAEA,IAAI,IAAI,CAACX,IAAI,CAAC,WAAW,EAAE;YACvBY,QAAQC,GAAG,CAACC,eAAe,GAAG,IAAI,CAACd,IAAI,CAAC,WAAW;QACvD;QAEA,MAAMK,QAAQF,SAASY,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;QAEzC,MAAMC,cAAc,IAAIC,mBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAMC,IAAAA,eAAO,EAAC;gBAAEjB,UAAUE;gBAAOH;YAAO;QAChFe,YAAYE,GAAG,IAAgC,IAAME,IAAAA,8BAAc;QACnEJ,YAAYE,GAAG,IAAgC,IAC3CG,IAAAA,iBAAS,EAAC;gBACNC,KAAK;gBACLlB;gBACAmB,QAAQ;YACZ;QAEJP,YAAYE,GAAG,IAA2B,IAAMM,IAAAA,iBAAS,EAAC;gBAAEtB,UAAUE;YAAM,IAAI;YAC5EqB,WAAW;;aAA+B;QAC9C;QACAT,YAAYE,GAAG,IAEX;YACI,MAAMQ,eAAexB,SAChByB,MAAM,CAAC,CAAC,EAAErB,IAAI,EAAE,GAAKA,SAASC,kBAAW,CAACE,OAAO,EACjDK,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;YAEvB,IAAIW,aAAahB,MAAM,KAAK,GAAG;gBAC3B,OAAOkB,QAAQC,OAAO;YAC1B;YAEA,OAAOR,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASK;gBACT,UAAU;gBACV,MAAM;uBACC;wBAAC,IAAI,CAAC3B,IAAI,CAAC+B,MAAM,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC/B,IAAI,CAAC+B,MAAM,CAAC,CAAC,CAAC,GAAGC;qBAAU;uBACjE;wBAAC,IAAI,CAAChC,IAAI,CAAC,gBAAgB,GAAG,oBAAoBgC;qBAAU;uBAC5D;wBAAC,IAAI,CAAChC,IAAI,CAACiC,IAAI,GAAG,WAAWD;qBAAU;iBAC7C,CAACJ,MAAM,CAACM,CAAAA,OAAQ,CAAC,CAACA;YACvB;QACJ,GACA;YACIR,WAAW;;;;aAIV;QACL;QAGJ,MAAMT,YAAYkB,GAAG;IACzB;IAzEAC,YAAY,AAAQpC,IAAU,CAAE;;QAFhC,uBAASqC,UAAT,KAAA;aAEoBrC,OAAAA;aAFXqC,SAAS;IAEe;AA0ErC"}
@@ -1,7 +1,6 @@
1
1
  import { Command } from './types';
2
2
  interface Args {
3
- 'watch'?: boolean;
4
- 'copy-files'?: boolean;
3
+ watch?: boolean;
5
4
  }
6
5
  export declare class PreparePackage implements Command {
7
6
  private args;
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prepare-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,cAAe,YAAW,OAAO;IAC9B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAKhB"}
1
+ {"version":3,"file":"prepare-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prepare-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,cAAe,YAAW,OAAO;IAC9B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKX,OAAO;CAGV"}
@@ -36,12 +36,10 @@ class PreparePackage {
36
36
  description() {
37
37
  return undefined;
38
38
  }
39
- async execute() {
40
- await (this.args['copy-files'] ? (0, _utils1.copyFiles)({
39
+ execute() {
40
+ return (0, _utils1.copyFiles)({
41
41
  watch: this.args.watch
42
- }) : (0, _utils1.tcm)({
43
- watch: this.args.watch
44
- }));
42
+ });
45
43
  }
46
44
  constructor(args){
47
45
  _define_property(this, "args", void 0);
@@ -52,7 +50,7 @@ _ts_decorate([
52
50
  _utils.logErrors,
53
51
  _ts_metadata("design:type", Function),
54
52
  _ts_metadata("design:paramtypes", []),
55
- _ts_metadata("design:returntype", Promise)
53
+ _ts_metadata("design:returntype", void 0)
56
54
  ], PreparePackage.prototype, "execute", null);
57
55
 
58
56
  //# sourceMappingURL=prepare-package.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/prepare-package.ts"],"sourcesContent":["import { logErrors } from '../../utils';\nimport { copyFiles, tcm } from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n 'watch'?: boolean;\n 'copy-files'?: boolean;\n}\n\nexport class PreparePackage implements Command {\n constructor(private args: Args) {}\n\n description() {\n return undefined;\n }\n\n @logErrors\n async execute() {\n await (this.args['copy-files']\n ? copyFiles({ watch: this.args.watch })\n : tcm({ watch: this.args.watch }));\n }\n}\n"],"names":["PreparePackage","description","undefined","execute","args","copyFiles","watch","tcm","constructor"],"mappings":";;;;+BASaA;;;eAAAA;;;uBATa;wBACK;;;;;;;;;;;;;;;;;;;;;;;AAQxB,MAAMA;IAGTC,cAAc;QACV,OAAOC;IACX;IAEA,MACMC,UAAU;QACZ,MAAO,CAAA,IAAI,CAACC,IAAI,CAAC,aAAa,GACxBC,IAAAA,iBAAS,EAAC;YAAEC,OAAO,IAAI,CAACF,IAAI,CAACE,KAAK;QAAC,KACnCC,IAAAA,WAAG,EAAC;YAAED,OAAO,IAAI,CAACF,IAAI,CAACE,KAAK;QAAC,EAAC;IACxC;IAXAE,YAAY,AAAQJ,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAYrC"}
1
+ {"version":3,"sources":["../../../src/cli/commands/prepare-package.ts"],"sourcesContent":["import { logErrors } from '../../utils';\nimport { copyFiles } from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n watch?: boolean;\n}\n\nexport class PreparePackage implements Command {\n constructor(private args: Args) {}\n\n description() {\n return undefined;\n }\n\n @logErrors\n execute() {\n return copyFiles({ watch: this.args.watch });\n }\n}\n"],"names":["PreparePackage","description","undefined","execute","copyFiles","watch","args","constructor"],"mappings":";;;;+BAQaA;;;eAAAA;;;uBARa;wBACA;;;;;;;;;;;;;;;;;;;;;;;AAOnB,MAAMA;IAGTC,cAAc;QACV,OAAOC;IACX;IAGAC,UAAU;QACN,OAAOC,IAAAA,iBAAS,EAAC;YAAEC,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK;QAAC;IAC9C;IATAE,YAAY,AAAQD,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAUrC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _swccompilepackage = require("../tasks/swc-compile-package");
6
+ const _tsccompile = require("../tasks/tsc-compile");
7
+ const _tsccompilepackage = require("../tasks/tsc-compile-package");
8
+ const _runtask = require("./run-task");
9
+ const _utils = require("../../utils");
10
+ jest.mock('../../utils', ()=>({
11
+ ...jest.requireActual('../../utils'),
12
+ log: {
13
+ error: jest.fn(),
14
+ text: jest.fn()
15
+ }
16
+ }));
17
+ jest.mock('../tasks/swc-compile-package');
18
+ jest.mock('../tasks/tsc-compile');
19
+ jest.mock('../tasks/tsc-compile-package');
20
+ describe(`[startup] ${_runtask.RunTask.name}`, ()=>{
21
+ let args;
22
+ beforeEach(()=>{
23
+ jest.clearAllMocks();
24
+ });
25
+ const subject = ()=>new _runtask.RunTask(args).execute();
26
+ const supportedTasks = {
27
+ 'tsc-compile-package': _tsccompilepackage.TscCompilePackage,
28
+ 'swc-compile-package': _swccompilepackage.SwcCompilePackage,
29
+ 'tsc-compile': _tsccompile.TscCompile
30
+ };
31
+ Object.entries(supportedTasks).forEach(([name, task])=>describe(`with ${name}`, ()=>{
32
+ beforeEach(()=>args = {
33
+ _: [
34
+ name
35
+ ]
36
+ }); // eslint-disable-line @typescript-eslint/naming-convention
37
+ test(`runs ${task.name}`, async ()=>{
38
+ await subject();
39
+ expect(jest.mocked(task).mock.instances[0].execute).toHaveBeenCalled();
40
+ });
41
+ }));
42
+ describe('with unrecognized task', ()=>{
43
+ beforeEach(()=>args = {
44
+ _: [
45
+ 'foo'
46
+ ]
47
+ }); // eslint-disable-line @typescript-eslint/naming-convention
48
+ test('logs error', async ()=>{
49
+ await subject();
50
+ expect(_utils.log.error).toHaveBeenCalledWith(`Unknown task: "${args._[0]}"`);
51
+ });
52
+ test('lists supported tasks', async ()=>{
53
+ await subject();
54
+ expect(_utils.log.text).toHaveBeenCalledWith(`\nSupported tasks: "${Object.keys(supportedTasks).join('", "')}"`);
55
+ });
56
+ });
57
+ });
58
+
59
+ //# sourceMappingURL=run-task.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/commands/run-task.test.ts"],"sourcesContent":["import { SwcCompilePackage } from '../tasks/swc-compile-package';\nimport { TscCompile } from '../tasks/tsc-compile';\nimport { TscCompilePackage } from '../tasks/tsc-compile-package';\n\nimport { RunTask } from './run-task';\nimport { log } from '../../utils';\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 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":";;;;mCAAkC;4BACP;mCACO;yBAEV;uBACJ;AAEpBA,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,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,OAAOzB,KAAK0B,MAAM,CAACJ,MAAMrB,IAAI,CAAC0B,SAAS,CAAC,EAAE,CAACb,OAAO,EAAEc,gBAAgB;YACxE;QACJ;IAGJrB,SAAS,0BAA0B;QAC/BI,WAAW,IAAOD,OAAO;gBAAEa,GAAG;oBAAC;iBAAM;YAAC,IAAK,2DAA2D;QAEtGC,KAAK,cAAc;YACf,MAAMX;YAENY,OAAOtB,UAAG,CAACC,KAAK,EAAEyB,oBAAoB,CAAC,CAAC,eAAe,EAAEnB,KAAKa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,oBAAY,cAAc;IACtB,OAAO,IAAA;IACP,cAAc,IAAA;IACd,cAAc,IAAA;IACd,mBAAmB,IAAA;IACnB,SAAS,IAAA;IACT,aAAa,IAAA;CAChB;AAED,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;IAFxB,QAAQ,CAAC,MAAM,QAAQ;gBAEH,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAiHhB"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,oBAAY,cAAc;IACtB,OAAO,IAAA;IACP,cAAc,IAAA;IACd,cAAc,IAAA;IACd,mBAAmB,IAAA;IACnB,SAAS,IAAA;IACT,aAAa,IAAA;CAChB;AAED,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;IAFxB,QAAQ,CAAC,MAAM,QAAQ;gBAEH,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CA+GhB"}
@@ -109,14 +109,8 @@ class Start {
109
109
  });
110
110
  processTree.add(2, ()=>(0, _utils1.lernaExec)({
111
111
  cmd: 'startup prepare-package',
112
- parallel: true,
113
112
  scope,
114
- stream: true,
115
- ...useTsc ? {
116
- '--': [
117
- '--copy-files'
118
- ]
119
- } : {}
113
+ stream: true
120
114
  }));
121
115
  processTree.add(3, ()=>(0, _utils1.lernaExec)({
122
116
  'cmd': 'startup prepare-package',
@@ -124,10 +118,7 @@ class Start {
124
118
  'parallel': true,
125
119
  'stream': true,
126
120
  '--': [
127
- '--watch',
128
- ...useTsc ? [
129
- '--copy-files'
130
- ] : []
121
+ '--watch'
131
122
  ]
132
123
  }), {
133
124
  dependsOn: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n lernaExec,\n compile,\n typeCheck,\n pipeStdout,\n watchStdout,\n ProcessTree,\n} from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'use-tsc'?: boolean;\n}\n\nexport enum StartProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundlePackage,\n}\n\nexport class Start implements Command {\n readonly greedy = true;\n\n constructor(private args: Args) {}\n\n description() {\n return 'run project in development mode';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Compile, () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning('Compilation timeout exceeded. Proceeding without waiting.');\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n });\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n parallel: true,\n scope,\n stream: true,\n ...(useTsc ? { '--': ['--copy-files'] } : {}),\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch', ...(useTsc ? ['--copy-files'] : [])],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args['code-coverage'] ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","StartProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","map","name","processTree","ProcessTree","add","process","compile","watch","pipeStdout","onComplete","Promise","resolve","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","lernaExec","cmd","parallel","stream","dependsOn","typeCheck","webpackScope","filter","config","undefined","item","run","constructor","greedy"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n lernaExec,\n compile,\n typeCheck,\n pipeStdout,\n watchStdout,\n ProcessTree,\n} from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'use-tsc'?: boolean;\n}\n\nexport enum StartProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundlePackage,\n}\n\nexport class Start implements Command {\n readonly greedy = true;\n\n constructor(private args: Args) {}\n\n description() {\n return 'run project in development mode';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Compile, () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning('Compilation timeout exceeded. Proceeding without waiting.');\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n });\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args['code-coverage'] ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","StartProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","map","name","processTree","ProcessTree","add","process","compile","watch","pipeStdout","onComplete","Promise","resolve","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","lernaExec","cmd","stream","dependsOn","typeCheck","webpackScope","filter","config","undefined","item","run","constructor","greedy"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=swc-cli.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/tasks/swc-cli.d.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"swc-compile-package.d.ts","sourceRoot":"","sources":["../../../src/cli/tasks/swc-compile-package.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,UAAU,IAAI;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAUD,qBAAa,iBAAkB,SAAQ,IAAI;gBAC3B,EAAE,KAAK,EAAE,EAAE,IAAI;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAsEjC"}
1
+ {"version":3,"file":"swc-compile-package.d.ts","sourceRoot":"","sources":["../../../src/cli/tasks/swc-compile-package.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,UAAU,IAAI;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,qBAAa,iBAAkB,SAAQ,IAAI;gBAC3B,EAAE,KAAK,EAAE,EAAE,IAAI;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA2EjC"}
@@ -10,26 +10,35 @@ Object.defineProperty(exports, "SwcCompilePackage", {
10
10
  });
11
11
  const _cli = require("@swc/cli");
12
12
  const _deepmerge = /*#__PURE__*/ _interop_require_default(require("deepmerge"));
13
- const _basejson = require("../../../tsconfig/base.json");
14
- const _task = require("./task");
15
13
  const _utils = require("../../utils");
14
+ const _utils1 = require("../utils");
15
+ const _task = require("./task");
16
16
  function _interop_require_default(obj) {
17
17
  return obj && obj.__esModule ? obj : {
18
18
  default: obj
19
19
  };
20
20
  }
21
- function toLowerCase(input) {
22
- return input === null || input === void 0 ? void 0 : input.toLowerCase();
23
- }
24
21
  function overwriteMerge(_destinationArray, sourceArray) {
25
22
  return sourceArray;
26
23
  }
27
24
  class SwcCompilePackage extends _task.Task {
28
25
  async execute() {
26
+ var _tsConfig_getValue;
29
27
  const { source, destination } = (0, _utils.getFolders)();
30
- var _readJson_compilerOptions;
31
- const compilerOptions = (_readJson_compilerOptions = (0, _utils.readJson)('tsconfig.json').compilerOptions) !== null && _readJson_compilerOptions !== void 0 ? _readJson_compilerOptions : {};
32
28
  const packageConfig = (0, _utils.getSwcCompilePackageConfiguration)();
29
+ const tsConfig = new _utils1.TSConfig((0, _utils.getTsConfig)());
30
+ const target = tsConfig.getValue('compilerOptions.target');
31
+ const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');
32
+ const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');
33
+ const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');
34
+ const module = (_tsConfig_getValue = tsConfig.getValue('compilerOptions.module')) === null || _tsConfig_getValue === void 0 ? void 0 : _tsConfig_getValue.toLowerCase();
35
+ const ignore = tsConfig.getValue('exclude', [
36
+ '**/*.d.ts',
37
+ '**/__tests__/*',
38
+ '**/*.test.*',
39
+ '**/__mocks__/*',
40
+ '**/*.stories.*'
41
+ ]);
33
42
  return new Promise((resolve, reject)=>{
34
43
  (0, _cli.swcDir)((0, _deepmerge.default)({
35
44
  cliOptions: {
@@ -43,13 +52,7 @@ class SwcCompilePackage extends _task.Task {
43
52
  filenames: [
44
53
  source
45
54
  ],
46
- ignore: [
47
- '**/*.d.ts',
48
- '**/__tests__/*',
49
- '**/*.test.*',
50
- '**/__mocks__/*'
51
- ],
52
- copyFiles: true
55
+ ignore
53
56
  },
54
57
  swcOptions: {
55
58
  jsc: {
@@ -58,18 +61,18 @@ class SwcCompilePackage extends _task.Task {
58
61
  tsx: true,
59
62
  decorators: true
60
63
  },
61
- target: _basejson.compilerOptions.target,
64
+ target,
62
65
  transform: {
63
- legacyDecorator: _basejson.compilerOptions.experimentalDecorators,
64
- decoratorMetadata: _basejson.compilerOptions.emitDecoratorMetadata,
66
+ legacyDecorator,
67
+ decoratorMetadata,
65
68
  react: {
66
69
  runtime: 'automatic'
67
70
  }
68
71
  }
69
72
  },
70
- sourceMaps: _basejson.compilerOptions.sourceMap,
73
+ sourceMaps,
71
74
  module: {
72
- type: toLowerCase(compilerOptions.module) === 'commonjs' || toLowerCase(compilerOptions.module) === 'nodenext' ? 'commonjs' : 'es6'
75
+ type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6'
73
76
  }
74
77
  },
75
78
  callbacks: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/tasks/swc-compile-package.ts"],"sourcesContent":["import { swcDir } from '@swc/cli';\nimport deepmerge from 'deepmerge';\n\nimport { compilerOptions as baseCompilerOptions } from '../../../tsconfig/base.json';\nimport { Task } from './task';\nimport { getFolders, getSwcCompilePackageConfiguration, log, readJson } from '../../utils';\n\ninterface Args {\n [key: string]: unknown;\n watch?: boolean;\n}\n\nfunction toLowerCase(input: string | undefined): string | undefined {\n return input?.toLowerCase();\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 { source, destination } = getFolders();\n const compilerOptions = readJson('tsconfig.json').compilerOptions ?? {};\n const packageConfig = getSwcCompilePackageConfiguration();\n\n return new Promise((resolve, reject) => {\n swcDir(\n deepmerge(\n {\n cliOptions: {\n watch: this.watch,\n outDir: destination,\n stripLeadingPaths: true,\n extensions: ['.ts', '.tsx'],\n filenames: [source],\n ignore: [\n '**/*.d.ts',\n '**/__tests__/*',\n '**/*.test.*',\n '**/__mocks__/*',\n ],\n copyFiles: true,\n },\n swcOptions: {\n jsc: {\n parser: {\n syntax: 'typescript',\n tsx: true,\n decorators: true,\n },\n target: baseCompilerOptions.target,\n transform: {\n legacyDecorator: baseCompilerOptions.experimentalDecorators,\n decoratorMetadata: baseCompilerOptions.emitDecoratorMetadata,\n react: {\n runtime: 'automatic',\n },\n },\n },\n sourceMaps: baseCompilerOptions.sourceMap,\n module: {\n type:\n toLowerCase(compilerOptions.module) === 'commonjs' ||\n toLowerCase(compilerOptions.module) === 'nodenext'\n ? 'commonjs'\n : 'es6',\n },\n },\n callbacks: {\n onSuccess: (e: { duration: number }) => {\n this.logCompletionResults(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 packageConfig,\n { arrayMerge: overwriteMerge, clone: false }\n )\n );\n });\n }\n}\n"],"names":["SwcCompilePackage","toLowerCase","input","overwriteMerge","_destinationArray","sourceArray","Task","execute","source","destination","getFolders","readJson","compilerOptions","packageConfig","getSwcCompilePackageConfiguration","Promise","resolve","reject","swcDir","deepmerge","cliOptions","watch","outDir","stripLeadingPaths","extensions","filenames","ignore","copyFiles","swcOptions","jsc","parser","syntax","tsx","decorators","target","baseCompilerOptions","transform","legacyDecorator","experimentalDecorators","decoratorMetadata","emitDecoratorMetadata","react","runtime","sourceMaps","sourceMap","module","type","callbacks","onSuccess","e","logCompletionResults","taskTimer","add","duration","onFail","log","text","reasons","values","Error","arrayMerge","clone","constructor","name","global"],"mappings":";;;;+BAoBaA;;;eAAAA;;;qBApBU;kEACD;0BAEiC;sBAClC;uBACwD;;;;;;AAO7E,SAASC,YAAYC,KAAyB;IAC1C,OAAOA,kBAAAA,4BAAAA,MAAOD,WAAW;AAC7B;AAEA,SAASE,eAAeC,iBAA4B,EAAEC,WAAsB;IACxE,OAAOA;AACX;AAEO,MAAML,0BAA0BM,UAAI;IAKvC,MAAMC,UAAyB;QAC3B,MAAM,EAAEC,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;YAClBC;QAAxB,MAAMC,kBAAkBD,CAAAA,4BAAAA,IAAAA,eAAQ,EAAC,iBAAiBC,eAAe,cAAzCD,uCAAAA,4BAA6C,CAAC;QACtE,MAAME,gBAAgBC,IAAAA,wCAAiC;QAEvD,OAAO,IAAIC,QAAQ,CAACC,SAASC;YACzBC,IAAAA,WAAM,EACFC,IAAAA,kBAAS,EACL;gBACIC,YAAY;oBACRC,OAAO,IAAI,CAACA,KAAK;oBACjBC,QAAQb;oBACRc,mBAAmB;oBACnBC,YAAY;wBAAC;wBAAO;qBAAO;oBAC3BC,WAAW;wBAACjB;qBAAO;oBACnBkB,QAAQ;wBACJ;wBACA;wBACA;wBACA;qBACH;oBACDC,WAAW;gBACf;gBACAC,YAAY;oBACRC,KAAK;wBACDC,QAAQ;4BACJC,QAAQ;4BACRC,KAAK;4BACLC,YAAY;wBAChB;wBACAC,QAAQC,yBAAmB,CAACD,MAAM;wBAClCE,WAAW;4BACPC,iBAAiBF,yBAAmB,CAACG,sBAAsB;4BAC3DC,mBAAmBJ,yBAAmB,CAACK,qBAAqB;4BAC5DC,OAAO;gCACHC,SAAS;4BACb;wBACJ;oBACJ;oBACAC,YAAYR,yBAAmB,CAACS,SAAS;oBACzCC,QAAQ;wBACJC,MACI7C,YAAYW,gBAAgBiC,MAAM,MAAM,cACxC5C,YAAYW,gBAAgBiC,MAAM,MAAM,aAClC,aACA;oBACd;gBACJ;gBACAE,WAAW;oBACPC,WAAW,CAACC;wBACR,IAAI,CAACC,oBAAoB,CAAC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACH,EAAEI,QAAQ;wBACvD,IAAI,CAAC,IAAI,CAAChC,KAAK,EAAE;4BACbL;wBACJ;oBACJ;oBACAsC,QAAQ,CAACL;wBACLM,UAAG,CAACC,IAAI,CAAC;+BAAIP,EAAEQ,OAAO,CAACC,MAAM;yBAAG,CAAC,EAAE;wBACnC,IAAI,CAACR,oBAAoB,CAAC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACH,EAAEI,QAAQ;wBACvD,IAAI,CAAC,IAAI,CAAChC,KAAK,EAAE;4BACbJ,OAAO,IAAI0C,MAAM;wBACrB;oBACJ;gBACJ;YACJ,GACA9C,eACA;gBAAE+C,YAAYzD;gBAAgB0D,OAAO;YAAM;QAGvD;IACJ;IAzEAC,YAAY,EAAEzC,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YAAE0C,MAAM;YAAuBC,QAAQ;YAAO3C;QAAM;IAC9D;AAwEJ"}
1
+ {"version":3,"sources":["../../../src/cli/tasks/swc-compile-package.ts"],"sourcesContent":["import { swcDir } from '@swc/cli';\nimport deepmerge from 'deepmerge';\n\nimport { getFolders, getSwcCompilePackageConfiguration, getTsConfig, log } from '../../utils';\nimport { TSConfig } from '../utils';\nimport { Task } from './task';\n\ninterface Args {\n [key: string]: unknown;\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 { source, destination } = getFolders();\n const packageConfig = getSwcCompilePackageConfiguration();\n const tsConfig = new TSConfig(getTsConfig());\n const target = tsConfig.getValue('compilerOptions.target');\n const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');\n const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');\n const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');\n const module = tsConfig.getValue<string>('compilerOptions.module')?.toLowerCase();\n const ignore = tsConfig.getValue('exclude', [\n '**/*.d.ts',\n '**/__tests__/*',\n '**/*.test.*',\n '**/__mocks__/*',\n '**/*.stories.*',\n ]);\n\n return new Promise((resolve, reject) => {\n swcDir(\n deepmerge(\n {\n cliOptions: {\n watch: this.watch,\n outDir: destination,\n stripLeadingPaths: true,\n extensions: ['.ts', '.tsx'],\n filenames: [source],\n ignore,\n },\n swcOptions: {\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:\n module === 'commonjs' || module === 'nodenext'\n ? 'commonjs'\n : 'es6',\n },\n },\n callbacks: {\n onSuccess: (e: { duration: number }) => {\n this.logCompletionResults(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 packageConfig,\n { arrayMerge: overwriteMerge, clone: false }\n )\n );\n });\n }\n}\n"],"names":["SwcCompilePackage","overwriteMerge","_destinationArray","sourceArray","Task","execute","tsConfig","source","destination","getFolders","packageConfig","getSwcCompilePackageConfiguration","TSConfig","getTsConfig","target","getValue","legacyDecorator","decoratorMetadata","sourceMaps","module","toLowerCase","ignore","Promise","resolve","reject","swcDir","deepmerge","cliOptions","watch","outDir","stripLeadingPaths","extensions","filenames","swcOptions","jsc","parser","syntax","tsx","decorators","transform","react","runtime","type","callbacks","onSuccess","e","logCompletionResults","taskTimer","add","duration","onFail","log","text","reasons","values","Error","arrayMerge","clone","constructor","name","global"],"mappings":";;;;+BAgBaA;;;eAAAA;;;qBAhBU;kEACD;uBAE0D;wBACvD;sBACJ;;;;;;AAOrB,SAASC,eAAeC,iBAA4B,EAAEC,WAAsB;IACxE,OAAOA;AACX;AAEO,MAAMH,0BAA0BI,UAAI;IAKvC,MAAMC,UAAyB;YAQZC;QAPf,MAAM,EAAEC,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;QAC1C,MAAMC,gBAAgBC,IAAAA,wCAAiC;QACvD,MAAML,WAAW,IAAIM,gBAAQ,CAACC,IAAAA,kBAAW;QACzC,MAAMC,SAASR,SAASS,QAAQ,CAAC;QACjC,MAAMC,kBAAkBV,SAASS,QAAQ,CAAC;QAC1C,MAAME,oBAAoBX,SAASS,QAAQ,CAAC;QAC5C,MAAMG,aAAaZ,SAASS,QAAQ,CAAC;QACrC,MAAMI,UAASb,qBAAAA,SAASS,QAAQ,CAAS,uCAA1BT,yCAAAA,mBAAqDc,WAAW;QAC/E,MAAMC,SAASf,SAASS,QAAQ,CAAC,WAAW;YACxC;YACA;YACA;YACA;YACA;SACH;QAED,OAAO,IAAIO,QAAQ,CAACC,SAASC;YACzBC,IAAAA,WAAM,EACFC,IAAAA,kBAAS,EACL;gBACIC,YAAY;oBACRC,OAAO,IAAI,CAACA,KAAK;oBACjBC,QAAQrB;oBACRsB,mBAAmB;oBACnBC,YAAY;wBAAC;wBAAO;qBAAO;oBAC3BC,WAAW;wBAACzB;qBAAO;oBACnBc;gBACJ;gBACAY,YAAY;oBACRC,KAAK;wBACDC,QAAQ;4BACJC,QAAQ;4BACRC,KAAK;4BACLC,YAAY;wBAChB;wBACAxB;wBACAyB,WAAW;4BACPvB;4BACAC;4BACAuB,OAAO;gCACHC,SAAS;4BACb;wBACJ;oBACJ;oBACAvB;oBACAC,QAAQ;wBACJuB,MACIvB,WAAW,cAAcA,WAAW,aAC9B,aACA;oBACd;gBACJ;gBACAwB,WAAW;oBACPC,WAAW,CAACC;wBACR,IAAI,CAACC,oBAAoB,CAAC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACH,EAAEI,QAAQ;wBACvD,IAAI,CAAC,IAAI,CAACrB,KAAK,EAAE;4BACbL;wBACJ;oBACJ;oBACA2B,QAAQ,CAACL;wBACLM,UAAG,CAACC,IAAI,CAAC;+BAAIP,EAAEQ,OAAO,CAACC,MAAM;yBAAG,CAAC,EAAE;wBACnC,IAAI,CAACR,oBAAoB,CAAC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACH,EAAEI,QAAQ;wBACvD,IAAI,CAAC,IAAI,CAACrB,KAAK,EAAE;4BACbJ,OAAO,IAAI+B,MAAM;wBACrB;oBACJ;gBACJ;YACJ,GACA7C,eACA;gBAAE8C,YAAYvD;gBAAgBwD,OAAO;YAAM;QAGvD;IACJ;IA9EAC,YAAY,EAAE9B,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YAAE+B,MAAM;YAAuBC,QAAQ;YAAOhC;QAAM;IAC9D;AA6EJ"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=cpx2.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/types/cpx2.d.ts"],"names":[],"mappings":""}
@@ -5,7 +5,7 @@ interface Options {
5
5
  }
6
6
  export declare const webpackDevConfigFileName = "webpack.dev.config.js";
7
7
  export declare const webpackProdConfigFileName = "webpack.prod.config.js";
8
- export declare function bundle(options?: Options): Promise<void | [void, void]>;
9
- export declare function bundleWatch(options?: Options): Promise<void | [void, void]>;
8
+ export declare function bundle(options?: Options): Promise<void | void[]>;
9
+ export declare function bundleWatch(options?: Options): Promise<void | void[]>;
10
10
  export {};
11
11
  //# sourceMappingURL=bundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAWA,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,gCAuBjD;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,OAAY,gCA0BtD"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAiBA,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,0BA+BjD;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,OAAY,0BAkCtD"}
@@ -65,13 +65,20 @@ async function bundle(options = {}) {
65
65
  },
66
66
  plugins: config === null || config === void 0 ? void 0 : config.plugins
67
67
  };
68
- return Promise.all([
68
+ const bundles = [
69
69
  run((0, _webpack1.createWebpackConfig)(webpackConfig, {
70
70
  embed: true,
71
71
  ...webpackOptions
72
72
  })),
73
73
  run((0, _webpack1.createWebpackConfig)(webpackConfig, webpackOptions))
74
- ]);
74
+ ];
75
+ if ((0, _utils.hasHeadlessBundle)()) {
76
+ bundles.push(run((0, _webpack1.createWebpackConfig)(webpackConfig, {
77
+ ...webpackOptions,
78
+ headless: true
79
+ })));
80
+ }
81
+ return Promise.all(bundles);
75
82
  }
76
83
  return run(config !== null && config !== void 0 ? config : (0, _webpack1.createWebpackConfig)({
77
84
  configuration: {
@@ -99,13 +106,20 @@ async function bundleWatch(options = {}) {
99
106
  },
100
107
  plugins: config === null || config === void 0 ? void 0 : config.plugins
101
108
  };
102
- return Promise.all([
109
+ const bundles = [
103
110
  runWatch((0, _webpack1.createWebpackConfig)(webpackConfig, {
104
111
  embed: true,
105
112
  ...configOverrides
106
113
  })),
107
114
  (0, _utils.isDevServerDisabled)() ? runWatch((0, _webpack1.createWebpackConfig)(webpackConfig, configOverrides)) : runServe((0, _webpack1.createWebpackConfig)(webpackConfig, configOverrides))
108
- ]);
115
+ ];
116
+ if ((0, _utils.hasHeadlessBundle)()) {
117
+ bundles.push(runWatch((0, _webpack1.createWebpackConfig)(webpackConfig, {
118
+ ...configOverrides,
119
+ headless: true
120
+ })));
121
+ }
122
+ return Promise.all(bundles);
109
123
  }
110
124
  const webpackConfig = config !== null && config !== void 0 ? config : (0, _webpack1.createWebpackConfig)({
111
125
  configuration: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/utils/bundle.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { getPortPromise } from 'portfinder';\n\nimport webpack, { Configuration } from 'webpack';\nimport WebpackDevServer from 'webpack-dev-server';\n\nimport { getPackageName, isDevServerDisabled, isWebComponent, log } from '../../utils';\nimport { Overrides, createWebpackConfig } from '../../webpack';\n\ninterface Options {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\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 log.info('Bundling the package...');\n\n const name = getName();\n const mode = 'production';\n const fallback = `./${webpackProdConfigFileName}`;\n const config = readWebpackConfig({ ...options, fallback });\n const { buildStat, codeCoverage } = options;\n const webpackOptions = { name, buildStat, codeCoverage };\n\n if (isWebComponent()) {\n const webpackConfig: Overrides = {\n configuration: { ...config?.configuration, mode },\n plugins: config?.plugins,\n };\n\n return Promise.all([\n run(createWebpackConfig(webpackConfig, { embed: true, ...webpackOptions })),\n run(createWebpackConfig(webpackConfig, webpackOptions)),\n ]);\n }\n\n return run(config ?? createWebpackConfig({ configuration: { mode } }, webpackOptions));\n}\n\nexport async function bundleWatch(options: Options = {}) {\n log.info('Bundling the package...');\n\n const name = getName();\n const mode = 'development';\n const config = readWebpackConfig({ ...options, fallback: `./${webpackDevConfigFileName}` });\n const configOverrides = { codeCoverage: options.codeCoverage, name };\n\n if (isWebComponent()) {\n const webpackConfig: Overrides = {\n configuration: { ...config?.configuration, mode },\n plugins: config?.plugins,\n };\n\n return Promise.all([\n runWatch(createWebpackConfig(webpackConfig, { embed: true, ...configOverrides })),\n isDevServerDisabled()\n ? runWatch(createWebpackConfig(webpackConfig, configOverrides))\n : runServe(createWebpackConfig(webpackConfig, configOverrides)),\n ]);\n }\n\n const webpackConfig =\n config ?? createWebpackConfig({ configuration: { mode } }, configOverrides);\n\n return isDevServerDisabled() ? runWatch(webpackConfig) : runServe(webpackConfig);\n}\n\nfunction readWebpackConfig({ config, fallback }: Options & { fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n\nasync function run(config: Configuration) {\n const compiler = webpack(config);\n\n const stats = await new Promise<webpack.Stats>((resolve, reject) => {\n compiler.run((error, stats) => {\n if (!stats || error) {\n return reject(error ?? new Error('Something went wrong.'));\n }\n\n if (stats.hasErrors()) {\n return reject(new Error(stats.toString('errors-only')));\n }\n\n compiler.close(() => resolve(stats));\n });\n });\n\n process.stdout.write(stats.toString(config.stats) + '\\n');\n}\n\nasync function runServe({ devServer = {}, ...config }: Configuration) {\n const compiler = webpack(config);\n const host = devServer.host ?? 'localhost';\n const port = await getPortPromise({\n port: Number(devServer.port) || 8080,\n host,\n });\n\n return new Promise<void>((_0, reject) => {\n const server = new WebpackDevServer({ ...devServer, host, port }, compiler);\n server.startCallback(e => {\n if (e) {\n server.stopCallback(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nasync function runWatch(config: Configuration) {\n const compiler = webpack(config);\n return new Promise<void>((_0, reject) => {\n const watching = compiler.watch({}, e => {\n if (e) {\n watching.close(() => {\n reject(e);\n });\n }\n });\n });\n}\n"],"names":["bundle","bundleWatch","webpackDevConfigFileName","webpackProdConfigFileName","getName","packageName","getPackageName","replace","hash","crypto","randomBytes","toString","options","log","info","name","mode","fallback","config","readWebpackConfig","buildStat","codeCoverage","webpackOptions","isWebComponent","webpackConfig","configuration","plugins","Promise","all","run","createWebpackConfig","embed","configOverrides","runWatch","isDevServerDisabled","runServe","readConfig","relativePath","fs","existsSync","require","path","resolve","compiler","webpack","stats","reject","error","Error","hasErrors","close","process","stdout","write","devServer","host","port","getPortPromise","Number","_0","server","WebpackDevServer","startCallback","e","stopCallback","watching","watch"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/utils/bundle.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { getPortPromise } from 'portfinder';\n\nimport webpack, { Configuration } from 'webpack';\nimport WebpackDevServer from 'webpack-dev-server';\n\nimport {\n getPackageName,\n hasHeadlessBundle,\n isDevServerDisabled,\n isWebComponent,\n log,\n} from '../../utils';\nimport { Overrides, createWebpackConfig } from '../../webpack';\n\ninterface Options {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\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 log.info('Bundling the package...');\n\n const name = getName();\n const mode = 'production';\n const fallback = `./${webpackProdConfigFileName}`;\n const config = readWebpackConfig({ ...options, fallback });\n const { buildStat, codeCoverage } = options;\n const webpackOptions = { name, buildStat, codeCoverage };\n\n if (isWebComponent()) {\n const webpackConfig: Overrides = {\n configuration: { ...config?.configuration, mode },\n plugins: config?.plugins,\n };\n\n const bundles = [\n run(createWebpackConfig(webpackConfig, { embed: true, ...webpackOptions })),\n run(createWebpackConfig(webpackConfig, webpackOptions)),\n ];\n\n if (hasHeadlessBundle()) {\n bundles.push(\n run(createWebpackConfig(webpackConfig, { ...webpackOptions, headless: true }))\n );\n }\n\n return Promise.all(bundles);\n }\n\n return run(config ?? createWebpackConfig({ configuration: { mode } }, webpackOptions));\n}\n\nexport async function bundleWatch(options: Options = {}) {\n log.info('Bundling the package...');\n\n const name = getName();\n const mode = 'development';\n const config = readWebpackConfig({ ...options, fallback: `./${webpackDevConfigFileName}` });\n const configOverrides = { codeCoverage: options.codeCoverage, name };\n\n if (isWebComponent()) {\n const webpackConfig: Overrides = {\n configuration: { ...config?.configuration, mode },\n plugins: config?.plugins,\n };\n\n const bundles = [\n runWatch(createWebpackConfig(webpackConfig, { embed: true, ...configOverrides })),\n isDevServerDisabled()\n ? runWatch(createWebpackConfig(webpackConfig, configOverrides))\n : runServe(createWebpackConfig(webpackConfig, configOverrides)),\n ];\n\n if (hasHeadlessBundle()) {\n bundles.push(\n runWatch(createWebpackConfig(webpackConfig, { ...configOverrides, headless: true }))\n );\n }\n\n return Promise.all(bundles);\n }\n\n const webpackConfig =\n config ?? createWebpackConfig({ configuration: { mode } }, configOverrides);\n\n return isDevServerDisabled() ? runWatch(webpackConfig) : runServe(webpackConfig);\n}\n\nfunction readWebpackConfig({ config, fallback }: Options & { fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n\nasync function run(config: Configuration) {\n const compiler = webpack(config);\n\n const stats = await new Promise<webpack.Stats>((resolve, reject) => {\n compiler.run((error, stats) => {\n if (!stats || error) {\n return reject(error ?? new Error('Something went wrong.'));\n }\n\n if (stats.hasErrors()) {\n return reject(new Error(stats.toString('errors-only')));\n }\n\n compiler.close(() => resolve(stats));\n });\n });\n\n process.stdout.write(stats.toString(config.stats) + '\\n');\n}\n\nasync function runServe({ devServer = {}, ...config }: Configuration) {\n const compiler = webpack(config);\n const host = devServer.host ?? 'localhost';\n const port = await getPortPromise({\n port: Number(devServer.port) || 8080,\n host,\n });\n\n return new Promise<void>((_0, reject) => {\n const server = new WebpackDevServer({ ...devServer, host, port }, compiler);\n server.startCallback(e => {\n if (e) {\n server.stopCallback(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nasync function runWatch(config: Configuration) {\n const compiler = webpack(config);\n return new Promise<void>((_0, reject) => {\n const watching = compiler.watch({}, e => {\n if (e) {\n watching.close(() => {\n reject(e);\n });\n }\n });\n });\n}\n"],"names":["bundle","bundleWatch","webpackDevConfigFileName","webpackProdConfigFileName","getName","packageName","getPackageName","replace","hash","crypto","randomBytes","toString","options","log","info","name","mode","fallback","config","readWebpackConfig","buildStat","codeCoverage","webpackOptions","isWebComponent","webpackConfig","configuration","plugins","bundles","run","createWebpackConfig","embed","hasHeadlessBundle","push","headless","Promise","all","configOverrides","runWatch","isDevServerDisabled","runServe","readConfig","relativePath","fs","existsSync","require","path","resolve","compiler","webpack","stats","reject","error","Error","hasErrors","close","process","stdout","write","devServer","host","port","getPortPromise","Number","_0","server","WebpackDevServer","startCallback","e","stopCallback","watching","watch"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export declare const assetExtensions: string[];
2
1
  export declare const styleExtensions: string[];
2
+ export declare const supportedExtensions: string[];
3
3
  interface CopyFilesOptions {
4
4
  watch?: boolean;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"copy-files.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/copy-files.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,UAAqE,CAAC;AAClG,eAAO,MAAM,eAAe,UAA0B,CAAC;AAIvD,UAAU,gBAAgB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,iBAgD1D"}
1
+ {"version":3,"file":"copy-files.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/copy-files.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,UAA0B,CAAC;AAGvD,eAAO,MAAM,mBAAmB,UAKxB,CAAC;AAIT,UAAU,gBAAgB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,iBAiD1D"}
@@ -9,14 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- get assetExtensions () {
13
- return assetExtensions;
14
- },
15
12
  get copyFiles () {
16
13
  return copyFiles;
17
14
  },
18
15
  get styleExtensions () {
19
16
  return styleExtensions;
17
+ },
18
+ get supportedExtensions () {
19
+ return supportedExtensions;
20
20
  }
21
21
  });
22
22
  const _cpx2 = /*#__PURE__*/ _interop_require_default(require("cpx2"));
@@ -42,21 +42,28 @@ const assetExtensions = [
42
42
  'woff',
43
43
  'woff2'
44
44
  ];
45
+ const resourceExtensions = [
46
+ 'json'
47
+ ];
45
48
  const styleExtensions = [
46
49
  'css',
47
50
  'less',
48
51
  'scss'
49
52
  ];
53
+ const styleTypeDefinitionExtensions = styleExtensions.map((ext)=>`${ext}.d.ts`);
54
+ const supportedExtensions = [
55
+ assetExtensions,
56
+ resourceExtensions,
57
+ styleExtensions,
58
+ styleTypeDefinitionExtensions
59
+ ].flat();
50
60
  const styleModuleRegex = new RegExp(`\\.module\\.(${styleExtensions.join('|')})$`);
51
61
  async function copyFiles({ watch }) {
52
62
  const { source, destination } = (0, _utils.getFolders)();
53
63
  if (!_fs.default.existsSync(source)) {
54
64
  return;
55
65
  }
56
- const filesPattern = `${source}/**/*.{${[
57
- ...assetExtensions,
58
- ...styleExtensions
59
- ].join()}}`;
66
+ const filesPattern = `${source}/**/*.{${supportedExtensions.join()}}`;
60
67
  const creator = new _typedcssmodules.default({
61
68
  camelCase: true,
62
69
  namedExports: true
@@ -71,12 +78,12 @@ async function copyFiles({ watch }) {
71
78
  }
72
79
  };
73
80
  if (!watch) {
74
- _utils.log.info(`Copying ${filesPattern} -> ${destination}`);
75
- _cpx2.default.copy(filesPattern, destination);
76
81
  const modulesPattern = `${source}/**/*.module.{${styleExtensions.join()}}`;
77
82
  _utils.log.info(`Generating types for ${modulesPattern}`);
78
83
  const modules = await (0, _glob.glob)(modulesPattern);
79
84
  await Promise.all(modules.map(generateDefinitions));
85
+ _utils.log.info(`Copying ${filesPattern} -> ${destination}`);
86
+ _cpx2.default.copySync(filesPattern, destination);
80
87
  return;
81
88
  }
82
89
  _utils.log.info(`Watching ${filesPattern} -> ${destination}`);
@@ -86,8 +93,8 @@ async function copyFiles({ watch }) {
86
93
  ignore: [
87
94
  '__tests__',
88
95
  '__mocks__',
89
- '**/*.ts',
90
- '**/*.tsx'
96
+ '*.*',
97
+ ...supportedExtensions.map((ext)=>`!*.${ext}`)
91
98
  ]
92
99
  }).on('copy', async ({ srcPath, dstPath })=>{
93
100
  _utils.log.info(`Copied ${srcPath} -> ${dstPath}`);