@servicetitan/startup 31.5.1 → 32.0.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.
- package/dist/cli/commands/build.d.ts +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.d.ts +1 -1
- package/dist/cli/commands/bundle-package.d.ts.map +1 -1
- package/dist/cli/commands/bundle-package.js.map +1 -1
- package/dist/cli/commands/eslint.d.ts +1 -1
- package/dist/cli/commands/eslint.d.ts.map +1 -1
- package/dist/cli/commands/eslint.js.map +1 -1
- package/dist/cli/commands/get-command.js +2 -2
- package/dist/cli/commands/get-command.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +3 -2
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +24 -43
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts +4 -0
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +91 -3
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/lint.d.ts +1 -1
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-clean.js +5 -7
- package/dist/cli/commands/mfe-package-clean.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +11 -15
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts +1 -1
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/prepare-package.d.ts +1 -1
- package/dist/cli/commands/prepare-package.d.ts.map +1 -1
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/review/rules/index.d.ts.map +1 -1
- package/dist/cli/commands/review/rules/index.js +4 -0
- package/dist/cli/commands/review/rules/index.js.map +1 -1
- package/dist/cli/commands/review/rules/require-all-react-dependencies.d.ts +14 -0
- package/dist/cli/commands/review/rules/require-all-react-dependencies.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-all-react-dependencies.js +64 -0
- package/dist/cli/commands/review/rules/require-all-react-dependencies.js.map +1 -0
- package/dist/cli/commands/review/rules/require-one-react-version.d.ts +5 -0
- package/dist/cli/commands/review/rules/require-one-react-version.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-one-react-version.js +25 -0
- package/dist/cli/commands/review/rules/require-one-react-version.js.map +1 -0
- package/dist/cli/commands/review/rules/require-one-uikit-version.d.ts.map +1 -1
- package/dist/cli/commands/review/rules/require-one-uikit-version.js +1 -0
- package/dist/cli/commands/review/rules/require-one-uikit-version.js.map +1 -1
- package/dist/cli/commands/review/utils/format-depends-on.d.ts +1 -0
- package/dist/cli/commands/review/utils/format-depends-on.d.ts.map +1 -1
- package/dist/cli/commands/review/utils/format-depends-on.js +15 -8
- package/dist/cli/commands/review/utils/format-depends-on.js.map +1 -1
- package/dist/cli/commands/review/utils/set-version.d.ts +2 -1
- package/dist/cli/commands/review/utils/set-version.d.ts.map +1 -1
- package/dist/cli/commands/review/utils/set-version.js +4 -2
- package/dist/cli/commands/review/utils/set-version.js.map +1 -1
- package/dist/cli/commands/start.d.ts +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/test/index.d.ts +2 -0
- package/dist/cli/commands/test/index.d.ts.map +1 -0
- package/dist/cli/commands/test/index.js +20 -0
- package/dist/cli/commands/test/index.js.map +1 -0
- package/dist/cli/commands/test/runners/index.d.ts +3 -0
- package/dist/cli/commands/test/runners/index.d.ts.map +1 -0
- package/dist/cli/commands/test/runners/index.js +21 -0
- package/dist/cli/commands/test/runners/index.js.map +1 -0
- package/dist/cli/commands/test/runners/jest.d.ts +7 -0
- package/dist/cli/commands/test/runners/jest.d.ts.map +1 -0
- package/dist/cli/commands/test/runners/jest.js +43 -0
- package/dist/cli/commands/test/runners/jest.js.map +1 -0
- package/dist/cli/commands/test/runners/vitest.d.ts +4 -0
- package/dist/cli/commands/test/runners/vitest.d.ts.map +1 -0
- package/dist/cli/commands/test/runners/vitest.js +86 -0
- package/dist/cli/commands/test/runners/vitest.js.map +1 -0
- package/dist/cli/commands/test/tests.d.ts +18 -0
- package/dist/cli/commands/test/tests.d.ts.map +1 -0
- package/dist/cli/commands/{tests.js → test/tests.js} +10 -9
- package/dist/cli/commands/test/tests.js.map +1 -0
- package/dist/cli/commands/upload-sourcemaps.d.ts.map +1 -1
- package/dist/cli/commands/upload-sourcemaps.js +1 -1
- package/dist/cli/commands/upload-sourcemaps.js.map +1 -1
- package/dist/cli/index.js +1 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/bundle.d.ts.map +1 -1
- package/dist/cli/utils/bundle.js +7 -4
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/cli/utils/cli-git.d.ts +11 -2
- package/dist/cli/utils/cli-git.d.ts.map +1 -1
- package/dist/cli/utils/cli-git.js +60 -4
- package/dist/cli/utils/cli-git.js.map +1 -1
- package/dist/cli/utils/index.d.ts +6 -0
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +6 -0
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cli/utils/is-ci.d.ts +2 -0
- package/dist/cli/utils/is-ci.d.ts.map +1 -0
- package/dist/cli/utils/is-ci.js +15 -0
- package/dist/cli/utils/is-ci.js.map +1 -0
- package/dist/cli/utils/lerna-exec.d.ts.map +1 -1
- package/dist/cli/utils/lerna-exec.js +2 -1
- package/dist/cli/utils/lerna-exec.js.map +1 -1
- package/dist/cli/utils/set-node-options.d.ts.map +1 -1
- package/dist/cli/utils/set-node-options.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/get-branch-configs.d.ts +1 -1
- package/dist/utils/get-branch-configs.d.ts.map +1 -1
- package/dist/utils/get-branch-configs.js +2 -2
- package/dist/utils/get-branch-configs.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +8 -2
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +10 -2
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/get-jest-config.d.ts +1 -7
- package/dist/utils/get-jest-config.d.ts.map +1 -1
- package/dist/utils/get-jest-config.js +49 -58
- package/dist/utils/get-jest-config.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
- package/package.json +16 -14
- package/src/cli/commands/__tests__/init.test.ts +21 -87
- package/src/cli/commands/__tests__/install.test.ts +174 -12
- package/src/cli/commands/__tests__/mfe-package-clean.test.ts +3 -6
- package/src/cli/commands/__tests__/mfe-package-publish.test.ts +6 -8
- package/src/cli/commands/__tests__/upload-sourcemaps.test.ts +7 -3
- package/src/cli/commands/build.ts +1 -1
- package/src/cli/commands/bundle-package.ts +1 -1
- package/src/cli/commands/eslint.ts +1 -1
- package/src/cli/commands/get-command.ts +1 -1
- package/src/cli/commands/index.ts +1 -1
- package/src/cli/commands/init.ts +18 -38
- package/src/cli/commands/install.ts +95 -6
- package/src/cli/commands/lint.ts +1 -1
- package/src/cli/commands/mfe-package-clean.ts +2 -4
- package/src/cli/commands/mfe-package-publish.ts +18 -6
- package/src/cli/commands/mfe-publish.ts +1 -1
- package/src/cli/commands/prepare-package.ts +1 -1
- package/src/cli/commands/review/rules/__tests__/require-all-react-dependencies.test.ts +132 -0
- package/src/cli/commands/review/rules/__tests__/require-one-package-version.test.ts +0 -1
- package/src/cli/commands/review/rules/__tests__/require-one-react-version.test.ts +22 -0
- package/src/cli/commands/review/rules/__tests__/{require-one-uikit-version.ts → require-one-uikit-version.test.ts} +1 -0
- package/src/cli/commands/review/rules/index.ts +4 -0
- package/src/cli/commands/review/rules/require-all-react-dependencies.ts +53 -0
- package/src/cli/commands/review/rules/require-one-react-version.ts +9 -0
- package/src/cli/commands/review/rules/require-one-uikit-version.ts +1 -0
- package/src/cli/commands/review/utils/__tests__/set-version.test.ts +18 -8
- package/src/cli/commands/review/utils/format-depends-on.ts +8 -5
- package/src/cli/commands/review/utils/set-version.ts +10 -2
- package/src/cli/commands/start.ts +1 -1
- package/src/cli/commands/test/__tests__/tests.test.ts +78 -0
- package/src/cli/commands/test/index.ts +1 -0
- package/src/cli/commands/{__tests__/tests.test.ts → test/runners/__tests__/jest.test.ts} +10 -13
- package/src/cli/commands/test/runners/__tests__/vitest.test.ts +150 -0
- package/src/cli/commands/test/runners/index.ts +2 -0
- package/src/cli/commands/{tests.ts → test/runners/jest.ts} +5 -16
- package/src/cli/commands/test/runners/vitest.ts +70 -0
- package/src/cli/commands/test/tests.ts +34 -0
- package/src/cli/commands/upload-sourcemaps.ts +2 -2
- package/src/cli/index.ts +1 -2
- package/src/cli/utils/__tests__/bundle.test.ts +1 -1
- package/src/cli/utils/__tests__/cli-git.test.ts +142 -6
- package/src/cli/utils/__tests__/eslint.test.ts +3 -2
- package/src/cli/utils/__tests__/is-ci.test.ts +40 -0
- package/src/cli/utils/__tests__/lerna-exec.test.ts +6 -3
- package/src/cli/utils/bundle.ts +8 -3
- package/src/cli/utils/cli-git.ts +55 -5
- package/src/cli/utils/index.ts +6 -0
- package/src/cli/utils/is-ci.ts +3 -0
- package/src/cli/utils/lerna-exec.ts +2 -1
- package/src/cli/utils/set-node-options.ts +2 -2
- package/src/index.ts +0 -1
- package/src/utils/__tests__/get-configuration.test.ts +48 -11
- package/src/utils/__tests__/get-jest-config.test.ts +35 -61
- package/src/utils/get-branch-configs.ts +1 -1
- package/src/utils/get-configuration.ts +14 -3
- package/src/utils/get-jest-config.ts +39 -47
- package/src/utils/index.ts +1 -0
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +1 -1
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +1 -1
- package/src/webpack/__tests__/create-webpack-config.test.ts +1 -1
- package/src/webpack/utils/testing/get-compiler.ts +1 -1
- package/dist/cli/commands/tests.d.ts +0 -13
- package/dist/cli/commands/tests.d.ts.map +0 -1
- package/dist/cli/commands/tests.js.map +0 -1
- package/dist/jest/index.d.ts +0 -2
- package/dist/jest/index.d.ts.map +0 -1
- package/dist/jest/index.js +0 -16
- package/dist/jest/index.js.map +0 -1
- package/src/jest/index.ts +0 -5
|
@@ -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;AAWD,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;
|
|
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;AAWD,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,MAAM,QAAQ;gBAEM,IAAI,EAAE,IAAI;IAEvC,WAAW;IAKL,OAAO;CAkFhB"}
|
|
@@ -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\nenum BuildProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n TypeCheck,\n BundleExposedDependencies,\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 const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .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.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies'],\n });\n },\n {\n dependsOn: [\n BuildProcesses.Compile,\n BuildProcesses.KendoUILicense,\n BuildProcesses.PreparePackage,\n ],\n }\n );\n processTree.add(\n BuildProcesses.BundlePackage,\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 { dependsOn: [BuildProcesses.BundleExposedDependencies] }\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","webpackScope","filter","processTree","ProcessTree","add","compile","kendoUILicense","lernaExec","cmd","stream","typeCheck","dependsOn","Promise","resolve","config","undefined","stat","item","run","greedy"],"mappings":";;;;+BAwBaA;;;eAAAA;;;uBAxBuC;wBACkB;gCACvC;;;;;;;;;;;;;;;;;;;;;;;AAa/B,IAAA,AAAKC,wCAAAA;;;;;;;WAAAA;EAAAA;AASE,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;QACzC,MAAMC,eAAed,SAChBe,MAAM,CAAC,CAAC,EAAEX,IAAI,EAAE,GAAKA,SAASC,kBAAW,CAACE,OAAO,EACjDK,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;QAEvB,MAAMG,cAAc,IAAIC,mBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAMC,IAAAA,eAAO,EAAC;gBAAEnB,UAAUE;gBAAOH;YAAO;QAChFiB,YAAYE,GAAG,IAAgC,IAAME,IAAAA,8BAAc;QACnEJ,YAAYE,GAAG,IAAgC,IAC3CG,IAAAA,iBAAS,EAAC;gBACNC,KAAK;gBACLpB;gBACAqB,QAAQ;YACZ;QAEJP,YAAYE,GAAG,IAA2B,IAAMM,IAAAA,iBAAS,EAAC;gBAAExB,UAAUE;YAAM,IAAI;YAC5EuB,WAAW;;aAA+B;QAC9C;QACAT,YAAYE,GAAG,IAEX;YACI,IAAIJ,aAAaN,MAAM,KAAK,GAAG;gBAC3B,OAAOkB,QAAQC,OAAO;YAC1B;YACA,OAAON,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASP;gBACT,YAAY;gBACZ,UAAU;gBACV,MAAM;oBAAC;iBAAyB;YACpC;QACJ,GACA;YACIW,WAAW;;;;aAIV;QACL;QAEJT,YAAYE,GAAG,IAEX;YACI,IAAIJ,aAAaN,MAAM,KAAK,GAAG;gBAC3B,OAAOkB,QAAQC,OAAO;YAC1B;YAEA,OAAON,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASP;gBACT,UAAU;gBACV,MAAM;uBACC;wBAAC,IAAI,CAACjB,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,CAACd,MAAM,CAACgB,CAAAA,OAAQ,CAAC,CAACA;YACvB;QACJ,GACA;YAAEN,WAAW;;aAA0C;QAAC;QAG5D,MAAMT,YAAYgB,GAAG;IACzB;IAxFA,YAAY,
|
|
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\nenum BuildProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Build implements Command {\n readonly greedy = true;\n\n constructor(private readonly 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 const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .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.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies'],\n });\n },\n {\n dependsOn: [\n BuildProcesses.Compile,\n BuildProcesses.KendoUILicense,\n BuildProcesses.PreparePackage,\n ],\n }\n );\n processTree.add(\n BuildProcesses.BundlePackage,\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 { dependsOn: [BuildProcesses.BundleExposedDependencies] }\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","webpackScope","filter","processTree","ProcessTree","add","compile","kendoUILicense","lernaExec","cmd","stream","typeCheck","dependsOn","Promise","resolve","config","undefined","stat","item","run","greedy"],"mappings":";;;;+BAwBaA;;;eAAAA;;;uBAxBuC;wBACkB;gCACvC;;;;;;;;;;;;;;;;;;;;;;;AAa/B,IAAA,AAAKC,wCAAAA;;;;;;;WAAAA;EAAAA;AASE,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;QACzC,MAAMC,eAAed,SAChBe,MAAM,CAAC,CAAC,EAAEX,IAAI,EAAE,GAAKA,SAASC,kBAAW,CAACE,OAAO,EACjDK,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;QAEvB,MAAMG,cAAc,IAAIC,mBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAMC,IAAAA,eAAO,EAAC;gBAAEnB,UAAUE;gBAAOH;YAAO;QAChFiB,YAAYE,GAAG,IAAgC,IAAME,IAAAA,8BAAc;QACnEJ,YAAYE,GAAG,IAAgC,IAC3CG,IAAAA,iBAAS,EAAC;gBACNC,KAAK;gBACLpB;gBACAqB,QAAQ;YACZ;QAEJP,YAAYE,GAAG,IAA2B,IAAMM,IAAAA,iBAAS,EAAC;gBAAExB,UAAUE;YAAM,IAAI;YAC5EuB,WAAW;;aAA+B;QAC9C;QACAT,YAAYE,GAAG,IAEX;YACI,IAAIJ,aAAaN,MAAM,KAAK,GAAG;gBAC3B,OAAOkB,QAAQC,OAAO;YAC1B;YACA,OAAON,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASP;gBACT,YAAY;gBACZ,UAAU;gBACV,MAAM;oBAAC;iBAAyB;YACpC;QACJ,GACA;YACIW,WAAW;;;;aAIV;QACL;QAEJT,YAAYE,GAAG,IAEX;YACI,IAAIJ,aAAaN,MAAM,KAAK,GAAG;gBAC3B,OAAOkB,QAAQC,OAAO;YAC1B;YAEA,OAAON,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASP;gBACT,UAAU;gBACV,MAAM;uBACC;wBAAC,IAAI,CAACjB,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,CAACd,MAAM,CAACgB,CAAAA,OAAQ,CAAC,CAACA;YACvB;QACJ,GACA;YAAEN,WAAW;;aAA0C;QAAC;QAG5D,MAAMT,YAAYgB,GAAG;IACzB;IAxFA,YAAY,AAAiBnC,IAAU,CAAE;;QAFzC,uBAASoC,UAAT,KAAA;aAE6BpC,OAAAA;aAFpBoC,SAAS;IAEwB;AAyF9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGjC,OAAO;CAkBhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/bundle-package.ts"],"sourcesContent":["import { getTsConfig, log, logErrors } from '../../utils';\nimport { bundle, getModuleType } from '../utils';\nimport { Command } from '.';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'exposed-dependencies'?: boolean;\n 'stat'?: boolean;\n 'watch'?: boolean;\n}\n\nexport class BundlePackage implements Command {\n constructor(private args: Args) {}\n\n @logErrors\n async execute() {\n const { config, stat = false, watch } = this.args;\n\n if (getModuleType(getTsConfig()) !== 'esnext') {\n log.warning(\n 'webpack packages should set compilerOptions.module to \"esnext\" in tsconfig.json'\n );\n }\n\n const emitExposedDependencies = this.args['exposed-dependencies'];\n const options: Parameters<typeof bundle>[0] = {\n ...(emitExposedDependencies ? {} : { config }),\n codeCoverage: this.args['code-coverage'],\n emitExposedDependencies,\n };\n\n await bundle({ buildStat: stat, ...options, watch });\n }\n}\n"],"names":["BundlePackage","execute","config","stat","watch","args","getModuleType","getTsConfig","log","warning","emitExposedDependencies","options","codeCoverage","bundle","buildStat"],"mappings":";;;;+BAYaA;;;eAAAA;;;uBAZ+B;wBACN;;;;;;;;;;;;;;;;;;;;;;;AAW/B,MAAMA;IAGT,MACMC,UAAU;QACZ,MAAM,EAAEC,MAAM,EAAEC,OAAO,KAAK,EAAEC,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;QAEjD,IAAIC,IAAAA,qBAAa,EAACC,IAAAA,kBAAW,SAAQ,UAAU;YAC3CC,UAAG,CAACC,OAAO,CACP;QAER;QAEA,MAAMC,0BAA0B,IAAI,CAACL,IAAI,CAAC,uBAAuB;QACjE,MAAMM,UAAwC;YAC1C,GAAID,0BAA0B,CAAC,IAAI;gBAAER;YAAO,CAAC;YAC7CU,cAAc,IAAI,CAACP,IAAI,CAAC,gBAAgB;YACxCK;QACJ;QAEA,MAAMG,IAAAA,cAAM,EAAC;YAAEC,WAAWX;YAAM,GAAGQ,OAAO;YAAEP;QAAM;IACtD;IApBA,YAAY,
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/bundle-package.ts"],"sourcesContent":["import { getTsConfig, log, logErrors } from '../../utils';\nimport { bundle, getModuleType } from '../utils';\nimport { Command } from '.';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'exposed-dependencies'?: boolean;\n 'stat'?: boolean;\n 'watch'?: boolean;\n}\n\nexport class BundlePackage implements Command {\n constructor(private readonly args: Args) {}\n\n @logErrors\n async execute() {\n const { config, stat = false, watch } = this.args;\n\n if (getModuleType(getTsConfig()) !== 'esnext') {\n log.warning(\n 'webpack packages should set compilerOptions.module to \"esnext\" in tsconfig.json'\n );\n }\n\n const emitExposedDependencies = this.args['exposed-dependencies'];\n const options: Parameters<typeof bundle>[0] = {\n ...(emitExposedDependencies ? {} : { config }),\n codeCoverage: this.args['code-coverage'],\n emitExposedDependencies,\n };\n\n await bundle({ buildStat: stat, ...options, watch });\n }\n}\n"],"names":["BundlePackage","execute","config","stat","watch","args","getModuleType","getTsConfig","log","warning","emitExposedDependencies","options","codeCoverage","bundle","buildStat"],"mappings":";;;;+BAYaA;;;eAAAA;;;uBAZ+B;wBACN;;;;;;;;;;;;;;;;;;;;;;;AAW/B,MAAMA;IAGT,MACMC,UAAU;QACZ,MAAM,EAAEC,MAAM,EAAEC,OAAO,KAAK,EAAEC,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;QAEjD,IAAIC,IAAAA,qBAAa,EAACC,IAAAA,kBAAW,SAAQ,UAAU;YAC3CC,UAAG,CAACC,OAAO,CACP;QAER;QAEA,MAAMC,0BAA0B,IAAI,CAACL,IAAI,CAAC,uBAAuB;QACjE,MAAMM,UAAwC;YAC1C,GAAID,0BAA0B,CAAC,IAAI;gBAAER;YAAO,CAAC;YAC7CU,cAAc,IAAI,CAACP,IAAI,CAAC,gBAAgB;YACxCK;QACJ;QAEA,MAAMG,IAAAA,cAAM,EAAC;YAAEC,WAAWX;YAAM,GAAGQ,OAAO;YAAEP;QAAM;IACtD;IApBA,YAAY,AAAiBC,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAqB9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAI5B,UAAU,IAAI;IAEV,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAI5B,UAAU,IAAI;IAEV,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGjC,OAAO;CAIhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/eslint.ts"],"sourcesContent":["import { Command } from '.';\nimport { logErrors } from '../../utils';\nimport { eslint } from '../utils';\n\ninterface Args {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _: string[];\n fix?: boolean;\n}\n\nexport class ESLintCommand implements Command {\n constructor(private args: Args) {}\n\n @logErrors\n async execute() {\n const { _: paths, fix } = this.args;\n await eslint({ fix, paths });\n }\n}\n"],"names":["ESLintCommand","execute","_","paths","fix","args","eslint"],"mappings":";;;;+BAUaA;;;eAAAA;;;uBATa;wBACH;;;;;;;;;;;;;;;;;;;;;;;AAQhB,MAAMA;IAGT,MACMC,UAAU;QACZ,MAAM,EAAEC,GAAGC,KAAK,EAAEC,GAAG,EAAE,GAAG,IAAI,CAACC,IAAI;QACnC,MAAMC,IAAAA,cAAM,EAAC;YAAEF;YAAKD;QAAM;IAC9B;IANA,YAAY,
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/eslint.ts"],"sourcesContent":["import { Command } from '.';\nimport { logErrors } from '../../utils';\nimport { eslint } from '../utils';\n\ninterface Args {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _: string[];\n fix?: boolean;\n}\n\nexport class ESLintCommand implements Command {\n constructor(private readonly args: Args) {}\n\n @logErrors\n async execute() {\n const { _: paths, fix } = this.args;\n await eslint({ fix, paths });\n }\n}\n"],"names":["ESLintCommand","execute","_","paths","fix","args","eslint"],"mappings":";;;;+BAUaA;;;eAAAA;;;uBATa;wBACH;;;;;;;;;;;;;;;;;;;;;;;AAQhB,MAAMA;IAGT,MACMC,UAAU;QACZ,MAAM,EAAEC,GAAGC,KAAK,EAAEC,GAAG,EAAE,GAAG,IAAI,CAACC,IAAI;QACnC,MAAMC,IAAAA,cAAM,EAAC;YAAEF;YAAKD;QAAM;IAC9B;IANA,YAAY,AAAiBE,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAO9C"}
|
|
@@ -26,7 +26,7 @@ const _review = require("./review");
|
|
|
26
26
|
const _runtask = require("./run-task");
|
|
27
27
|
const _start = require("./start");
|
|
28
28
|
const _stylescheck = require("./styles-check");
|
|
29
|
-
const
|
|
29
|
+
const _test = require("./test");
|
|
30
30
|
const _uploadsourcemaps = require("./upload-sourcemaps");
|
|
31
31
|
const commands = {
|
|
32
32
|
[_utils.CommandName.build]: _build.Build,
|
|
@@ -45,7 +45,7 @@ const commands = {
|
|
|
45
45
|
[_utils.CommandName.review]: _review.Review,
|
|
46
46
|
[_utils.CommandName.start]: _start.Start,
|
|
47
47
|
[_utils.CommandName['styles-check']]: _stylescheck.StylesCheck,
|
|
48
|
-
[_utils.CommandName.test]:
|
|
48
|
+
[_utils.CommandName.test]: _test.Tests,
|
|
49
49
|
[_utils.CommandName.task]: _runtask.RunTask,
|
|
50
50
|
[_utils.CommandName['upload-sourcemaps']]: _uploadsourcemaps.UploadSourcemaps
|
|
51
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/get-command.ts"],"sourcesContent":["import { CommandName } from '../../utils';\n\nimport { Build } from './build';\nimport { BundlePackage } from './bundle-package';\nimport { Clean } from './clean';\nimport { ConvertEslintConfig } from './convert-eslint-config';\nimport { ESLintCommand } from './eslint';\nimport { Init } from './init';\nimport { Install } from './install';\nimport { KendoUILicense } from './kendo-ui-license';\nimport { Lint } from './lint';\nimport { MFEPackageClean } from './mfe-package-clean';\nimport { MFEPackagePublish } from './mfe-package-publish';\nimport { MFEPublish } from './mfe-publish';\nimport { PreparePackage } from './prepare-package';\nimport { Review } from './review';\nimport { RunTask } from './run-task';\nimport { Start } from './start';\nimport { StylesCheck } from './styles-check';\nimport { Tests } from './
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/get-command.ts"],"sourcesContent":["import { CommandName } from '../../utils';\n\nimport { Build } from './build';\nimport { BundlePackage } from './bundle-package';\nimport { Clean } from './clean';\nimport { ConvertEslintConfig } from './convert-eslint-config';\nimport { ESLintCommand } from './eslint';\nimport { Init } from './init';\nimport { Install } from './install';\nimport { KendoUILicense } from './kendo-ui-license';\nimport { Lint } from './lint';\nimport { MFEPackageClean } from './mfe-package-clean';\nimport { MFEPackagePublish } from './mfe-package-publish';\nimport { MFEPublish } from './mfe-publish';\nimport { PreparePackage } from './prepare-package';\nimport { Review } from './review';\nimport { RunTask } from './run-task';\nimport { Start } from './start';\nimport { StylesCheck } from './styles-check';\nimport { Tests } from './test';\nimport { Command, Newable } from './types';\nimport { UploadSourcemaps } from './upload-sourcemaps';\n\nconst commands: Record<CommandName, Newable<Command>> = {\n [CommandName.build]: Build,\n [CommandName['bundle-package']]: BundlePackage,\n [CommandName['convert-eslint-config']]: ConvertEslintConfig,\n [CommandName.clean]: Clean,\n [CommandName.eslint]: ESLintCommand,\n [CommandName.init]: Init,\n [CommandName.install]: Install,\n [CommandName['kendo-ui-license']]: KendoUILicense,\n [CommandName.lint]: Lint,\n [CommandName['mfe-package-clean']]: MFEPackageClean,\n [CommandName['mfe-package-publish']]: MFEPackagePublish,\n [CommandName['mfe-publish']]: MFEPublish,\n [CommandName['prepare-package']]: PreparePackage,\n [CommandName.review]: Review,\n [CommandName.start]: Start,\n [CommandName['styles-check']]: StylesCheck,\n [CommandName.test]: Tests,\n [CommandName.task]: RunTask,\n [CommandName['upload-sourcemaps']]: UploadSourcemaps,\n};\n\nexport function getCommand(name: CommandName): Newable<Command> | undefined {\n return commands[name];\n}\n"],"names":["getCommand","commands","CommandName","build","Build","BundlePackage","ConvertEslintConfig","clean","Clean","eslint","ESLintCommand","init","Init","install","Install","KendoUILicense","lint","Lint","MFEPackageClean","MFEPackagePublish","MFEPublish","PreparePackage","review","Review","start","Start","StylesCheck","test","Tests","task","RunTask","UploadSourcemaps","name"],"mappings":";;;;+BA6CgBA;;;eAAAA;;;uBA7CY;uBAEN;+BACQ;uBACR;qCACc;wBACN;sBACT;yBACG;gCACO;sBACV;iCACW;mCACE;4BACP;gCACI;wBACR;yBACC;uBACF;6BACM;sBACN;kCAEW;AAEjC,MAAMC,WAAkD;IACpD,CAACC,kBAAW,CAACC,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACF,kBAAW,CAAC,iBAAiB,CAAC,EAAEG,4BAAa;IAC9C,CAACH,kBAAW,CAAC,wBAAwB,CAAC,EAAEI,wCAAmB;IAC3D,CAACJ,kBAAW,CAACK,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACN,kBAAW,CAACO,MAAM,CAAC,EAAEC,qBAAa;IACnC,CAACR,kBAAW,CAACS,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACV,kBAAW,CAACW,OAAO,CAAC,EAAEC,gBAAO;IAC9B,CAACZ,kBAAW,CAAC,mBAAmB,CAAC,EAAEa,8BAAc;IACjD,CAACb,kBAAW,CAACc,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACf,kBAAW,CAAC,oBAAoB,CAAC,EAAEgB,gCAAe;IACnD,CAAChB,kBAAW,CAAC,sBAAsB,CAAC,EAAEiB,oCAAiB;IACvD,CAACjB,kBAAW,CAAC,cAAc,CAAC,EAAEkB,sBAAU;IACxC,CAAClB,kBAAW,CAAC,kBAAkB,CAAC,EAAEmB,8BAAc;IAChD,CAACnB,kBAAW,CAACoB,MAAM,CAAC,EAAEC,cAAM;IAC5B,CAACrB,kBAAW,CAACsB,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACvB,kBAAW,CAAC,eAAe,CAAC,EAAEwB,wBAAW;IAC1C,CAACxB,kBAAW,CAACyB,IAAI,CAAC,EAAEC,WAAK;IACzB,CAAC1B,kBAAW,CAAC2B,IAAI,CAAC,EAAEC,gBAAO;IAC3B,CAAC5B,kBAAW,CAAC,oBAAoB,CAAC,EAAE6B,kCAAgB;AACxD;AAEO,SAAS/B,WAAWgC,IAAiB;IACxC,OAAO/B,QAAQ,CAAC+B,KAAK;AACzB"}
|
|
@@ -9,7 +9,7 @@ export * from './kendo-ui-license';
|
|
|
9
9
|
export * from './lint';
|
|
10
10
|
export * from './prepare-package';
|
|
11
11
|
export * from './start';
|
|
12
|
-
export * from './
|
|
12
|
+
export * from './test';
|
|
13
13
|
export * from './styles-check';
|
|
14
14
|
export * from './mfe-publish';
|
|
15
15
|
export type * from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,mBAAmB,SAAS,CAAC"}
|
|
@@ -13,7 +13,7 @@ _export_star(require("./kendo-ui-license"), exports);
|
|
|
13
13
|
_export_star(require("./lint"), exports);
|
|
14
14
|
_export_star(require("./prepare-package"), exports);
|
|
15
15
|
_export_star(require("./start"), exports);
|
|
16
|
-
_export_star(require("./
|
|
16
|
+
_export_star(require("./test"), exports);
|
|
17
17
|
_export_star(require("./styles-check"), exports);
|
|
18
18
|
_export_star(require("./mfe-publish"), exports);
|
|
19
19
|
function _export_star(from, to) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/index.ts"],"sourcesContent":["export * from './build';\nexport * from './bundle-package';\nexport * from './eslint';\nexport * from './get-command';\nexport * from './get-user-commands';\nexport * from './init';\nexport * from './install';\nexport * from './kendo-ui-license';\nexport * from './lint';\nexport * from './prepare-package';\nexport * from './start';\nexport * from './
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/index.ts"],"sourcesContent":["export * from './build';\nexport * from './bundle-package';\nexport * from './eslint';\nexport * from './get-command';\nexport * from './get-user-commands';\nexport * from './init';\nexport * from './install';\nexport * from './kendo-ui-license';\nexport * from './lint';\nexport * from './prepare-package';\nexport * from './start';\nexport * from './test';\nexport * from './styles-check';\nexport * from './mfe-publish';\nexport type * from './types';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { Command } from './';
|
|
1
|
+
import { Command } from './types';
|
|
2
2
|
interface Args {
|
|
3
3
|
output?: string;
|
|
4
4
|
}
|
|
5
5
|
export declare class Init implements Command {
|
|
6
|
-
private args;
|
|
6
|
+
private readonly args;
|
|
7
7
|
constructor(args: Args);
|
|
8
8
|
description(): string;
|
|
9
9
|
execute(): Promise<void>;
|
|
10
|
+
cloneRepo(destination: string): Promise<boolean>;
|
|
10
11
|
}
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,qBAAa,IAAK,YAAW,OAAO;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAEvC,WAAW;IAKL,OAAO;IAoBP,SAAS,CAAC,WAAW,EAAE,MAAM;CAWtC"}
|
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "Init", {
|
|
|
11
11
|
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
12
|
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
13
|
const _utils = require("../../utils");
|
|
14
|
-
const
|
|
14
|
+
const _utils1 = require("../utils");
|
|
15
15
|
function _define_property(obj, key, value) {
|
|
16
16
|
if (key in obj) {
|
|
17
17
|
Object.defineProperty(obj, key, {
|
|
@@ -39,8 +39,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
39
39
|
function _ts_metadata(k, v) {
|
|
40
40
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
41
41
|
}
|
|
42
|
-
const
|
|
43
|
-
const sshUrl = 'git@github.com:servicetitan/frontend-example.git';
|
|
42
|
+
const REPO_NAME = 'frontend-example';
|
|
44
43
|
class Init {
|
|
45
44
|
description() {
|
|
46
45
|
return 'create example project';
|
|
@@ -57,23 +56,31 @@ class Init {
|
|
|
57
56
|
} else if (_fs.default.readdirSync(destination).length !== 0) {
|
|
58
57
|
throw new Error(`${destination} is not an empty directory`);
|
|
59
58
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
];
|
|
64
|
-
if (!!process.env.CI && !!process.env.GITHUB_TOKEN) {
|
|
65
|
-
gitUrls.unshift(webUrl.replace('github.com', `oauth2:${process.env.GITHUB_TOKEN}@github.com`));
|
|
59
|
+
if (await this.cloneRepo(destination)) {
|
|
60
|
+
_utils.log.info(`copied example project to ${destination}`);
|
|
61
|
+
return;
|
|
66
62
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
63
|
+
if (!(0, _utils1.gitIsReachable)({
|
|
64
|
+
name: REPO_NAME
|
|
65
|
+
})) {
|
|
66
|
+
throw new Error(`could not read servicetitan/${REPO_NAME} repository`);
|
|
73
67
|
}
|
|
74
|
-
|
|
75
|
-
|
|
68
|
+
}
|
|
69
|
+
async cloneRepo(destination) {
|
|
70
|
+
const ok = await (0, _utils1.gitCloneRepo)({
|
|
71
|
+
destination,
|
|
72
|
+
name: REPO_NAME
|
|
73
|
+
});
|
|
74
|
+
if (!ok) {
|
|
75
|
+
return false;
|
|
76
76
|
}
|
|
77
|
+
_fs.default.rmSync(_path.default.join(destination, '.git'), {
|
|
78
|
+
recursive: true,
|
|
79
|
+
force: true
|
|
80
|
+
});
|
|
81
|
+
_fs.default.rmSync(_path.default.join(destination, '.github', 'CODEOWNERS'));
|
|
82
|
+
_fs.default.rmSync(_path.default.join(destination, 'package-lock.json'));
|
|
83
|
+
return true;
|
|
77
84
|
}
|
|
78
85
|
constructor(args){
|
|
79
86
|
_define_property(this, "args", void 0);
|
|
@@ -86,31 +93,5 @@ _ts_decorate([
|
|
|
86
93
|
_ts_metadata("design:paramtypes", []),
|
|
87
94
|
_ts_metadata("design:returntype", Promise)
|
|
88
95
|
], Init.prototype, "execute", null);
|
|
89
|
-
async function cloneRepo(url, destination) {
|
|
90
|
-
try {
|
|
91
|
-
await (0, _clios.runCommand)(`git clone -q ${url} ${destination}`, {
|
|
92
|
-
quiet: true
|
|
93
|
-
});
|
|
94
|
-
} catch (e) {
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
_fs.default.rmSync(_path.default.join(destination, '.git'), {
|
|
98
|
-
recursive: true,
|
|
99
|
-
force: true
|
|
100
|
-
});
|
|
101
|
-
_fs.default.rmSync(_path.default.join(destination, '.github', 'CODEOWNERS'));
|
|
102
|
-
_fs.default.rmSync(_path.default.join(destination, 'package-lock.json'));
|
|
103
|
-
return true;
|
|
104
|
-
}
|
|
105
|
-
function isReachable(url) {
|
|
106
|
-
try {
|
|
107
|
-
(0, _clios.runCommandOutput)(`git ls-remote -qt ${url}`, {
|
|
108
|
-
quiet: true
|
|
109
|
-
});
|
|
110
|
-
} catch (e) {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
96
|
|
|
116
97
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/init.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { log, logErrors } from '../../utils';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/init.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { log, logErrors } from '../../utils';\nimport { gitCloneRepo, gitIsReachable } from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n output?: string;\n}\n\nconst REPO_NAME = 'frontend-example';\n\nexport class Init implements Command {\n constructor(private readonly args: Args) {}\n\n description() {\n return 'create example project';\n }\n\n @logErrors\n async execute() {\n const destination = path.resolve(this.args.output ?? '.');\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n } else if (!fs.lstatSync(destination).isDirectory()) {\n throw new Error(`${destination} is not a directory`);\n } else if (fs.readdirSync(destination).length !== 0) {\n throw new Error(`${destination} is not an empty directory`);\n }\n\n if (await this.cloneRepo(destination)) {\n log.info(`copied example project to ${destination}`);\n return;\n }\n\n if (!gitIsReachable({ name: REPO_NAME })) {\n throw new Error(`could not read servicetitan/${REPO_NAME} repository`);\n }\n }\n\n async cloneRepo(destination: string) {\n const ok = await gitCloneRepo({ destination, name: REPO_NAME });\n if (!ok) {\n return false;\n }\n\n fs.rmSync(path.join(destination, '.git'), { recursive: true, force: true });\n fs.rmSync(path.join(destination, '.github', 'CODEOWNERS'));\n fs.rmSync(path.join(destination, 'package-lock.json'));\n return true;\n }\n}\n"],"names":["Init","REPO_NAME","description","execute","destination","path","resolve","args","output","fs","existsSync","mkdirSync","recursive","lstatSync","isDirectory","Error","readdirSync","length","cloneRepo","log","info","gitIsReachable","name","ok","gitCloneRepo","rmSync","join","force"],"mappings":";;;;+BAaaA;;;eAAAA;;;2DAbE;6DACE;uBAEc;wBACc;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAO7C,MAAMC,YAAY;AAEX,MAAMD;IAGTE,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;YACqB;QAAjC,MAAMC,cAAcC,aAAI,CAACC,OAAO,CAAC,CAAA,oBAAA,IAAI,CAACC,IAAI,CAACC,MAAM,cAAhB,+BAAA,oBAAoB;QACrD,IAAI,CAACC,WAAE,CAACC,UAAU,CAACN,cAAc;YAC7BK,WAAE,CAACE,SAAS,CAACP,aAAa;gBAAEQ,WAAW;YAAK;QAChD,OAAO,IAAI,CAACH,WAAE,CAACI,SAAS,CAACT,aAAaU,WAAW,IAAI;YACjD,MAAM,IAAIC,MAAM,GAAGX,YAAY,mBAAmB,CAAC;QACvD,OAAO,IAAIK,WAAE,CAACO,WAAW,CAACZ,aAAaa,MAAM,KAAK,GAAG;YACjD,MAAM,IAAIF,MAAM,GAAGX,YAAY,0BAA0B,CAAC;QAC9D;QAEA,IAAI,MAAM,IAAI,CAACc,SAAS,CAACd,cAAc;YACnCe,UAAG,CAACC,IAAI,CAAC,CAAC,0BAA0B,EAAEhB,aAAa;YACnD;QACJ;QAEA,IAAI,CAACiB,IAAAA,sBAAc,EAAC;YAAEC,MAAMrB;QAAU,IAAI;YACtC,MAAM,IAAIc,MAAM,CAAC,4BAA4B,EAAEd,UAAU,WAAW,CAAC;QACzE;IACJ;IAEA,MAAMiB,UAAUd,WAAmB,EAAE;QACjC,MAAMmB,KAAK,MAAMC,IAAAA,oBAAY,EAAC;YAAEpB;YAAakB,MAAMrB;QAAU;QAC7D,IAAI,CAACsB,IAAI;YACL,OAAO;QACX;QAEAd,WAAE,CAACgB,MAAM,CAACpB,aAAI,CAACqB,IAAI,CAACtB,aAAa,SAAS;YAAEQ,WAAW;YAAMe,OAAO;QAAK;QACzElB,WAAE,CAACgB,MAAM,CAACpB,aAAI,CAACqB,IAAI,CAACtB,aAAa,WAAW;QAC5CK,WAAE,CAACgB,MAAM,CAACpB,aAAI,CAACqB,IAAI,CAACtB,aAAa;QACjC,OAAO;IACX;IArCA,YAAY,AAAiBG,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAsC9C"}
|
|
@@ -2,12 +2,16 @@ import { Command } from './types';
|
|
|
2
2
|
interface Args {
|
|
3
3
|
quiet?: boolean;
|
|
4
4
|
fix?: boolean;
|
|
5
|
+
token?: boolean;
|
|
5
6
|
}
|
|
6
7
|
export declare class Install implements Command {
|
|
7
8
|
private readonly args?;
|
|
8
9
|
constructor(args?: Args | undefined);
|
|
9
10
|
description(): string;
|
|
10
11
|
execute(): Promise<void>;
|
|
12
|
+
private configureNpmToken;
|
|
13
|
+
private fetchNpmToken;
|
|
14
|
+
private installPackages;
|
|
11
15
|
}
|
|
12
16
|
export {};
|
|
13
17
|
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,UAAU,IAAI;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,qBAAa,OAAQ,YAAW,OAAO;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAL,IAAI,CAAC,EAAE,IAAI,YAAA;IAExC,WAAW;IAKL,OAAO;YAWC,iBAAiB;YA6BjB,aAAa;IAqC3B,OAAO,CAAC,eAAe;CAyB1B"}
|
|
@@ -9,7 +9,11 @@ Object.defineProperty(exports, "Install", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _child_process = require("child_process");
|
|
12
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
13
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
|
+
const _os = /*#__PURE__*/ _interop_require_default(require("os"));
|
|
12
15
|
const _utils = require("../../utils");
|
|
16
|
+
const _utils1 = require("../utils");
|
|
13
17
|
function _define_property(obj, key, value) {
|
|
14
18
|
if (key in obj) {
|
|
15
19
|
Object.defineProperty(obj, key, {
|
|
@@ -23,6 +27,11 @@ function _define_property(obj, key, value) {
|
|
|
23
27
|
}
|
|
24
28
|
return obj;
|
|
25
29
|
}
|
|
30
|
+
function _interop_require_default(obj) {
|
|
31
|
+
return obj && obj.__esModule ? obj : {
|
|
32
|
+
default: obj
|
|
33
|
+
};
|
|
34
|
+
}
|
|
26
35
|
function _ts_decorate(decorators, target, key, desc) {
|
|
27
36
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
28
37
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -32,17 +41,92 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
32
41
|
function _ts_metadata(k, v) {
|
|
33
42
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
34
43
|
}
|
|
44
|
+
const REPO_NAME = 'frontend-dev-config';
|
|
45
|
+
const AUTH_TOKEN_KEY = '//registry.npmjs.org/:_authToken';
|
|
46
|
+
const AUTH_TOKEN_REGEX = /^\/\/registry\.npmjs\.org\/:_authToken=\s*\${([^}]+)}/m;
|
|
35
47
|
class Install {
|
|
36
48
|
description() {
|
|
37
49
|
return 'install project dependencies';
|
|
38
50
|
}
|
|
39
51
|
async execute() {
|
|
52
|
+
var _this_args;
|
|
53
|
+
if (!((_this_args = this.args) === null || _this_args === void 0 ? void 0 : _this_args.quiet)) {
|
|
54
|
+
_utils.log.info(`startup cli v${(0, _utils.getStartupVersion)()}`);
|
|
55
|
+
}
|
|
56
|
+
const env = await this.configureNpmToken();
|
|
57
|
+
this.installPackages(env);
|
|
58
|
+
return Promise.resolve(); // stops "async method has no 'await' expression" lint error
|
|
59
|
+
}
|
|
60
|
+
async configureNpmToken() {
|
|
61
|
+
var _this_args, _this_args1, _this_args2;
|
|
62
|
+
if ((0, _utils1.isCI)() || ((_this_args = this.args) === null || _this_args === void 0 ? void 0 : _this_args.fix) || ((_this_args1 = this.args) === null || _this_args1 === void 0 ? void 0 : _this_args1.token) === false) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (!((_this_args2 = this.args) === null || _this_args2 === void 0 ? void 0 : _this_args2.quiet)) {
|
|
66
|
+
_utils.log.info('Configuring NPM token ...');
|
|
67
|
+
}
|
|
68
|
+
const token = await this.fetchNpmToken();
|
|
69
|
+
if (!token) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
(0, _child_process.execSync)(`npm config set "${AUTH_TOKEN_KEY}"="${token}"`);
|
|
73
|
+
if (!_fs.default.existsSync('.npmrc')) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const npmrc = _fs.default.readFileSync('.npmrc', 'utf-8');
|
|
77
|
+
const match = AUTH_TOKEN_REGEX.exec(npmrc);
|
|
78
|
+
if (match) {
|
|
79
|
+
return {
|
|
80
|
+
[match[1]]: token
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
(0, _child_process.execSync)(`npm config delete --location=project "${AUTH_TOKEN_KEY}"`);
|
|
84
|
+
}
|
|
85
|
+
async fetchNpmToken() {
|
|
86
|
+
const tempDirPath = _fs.default.mkdtempSync(_path.default.join(_os.default.tmpdir(), 'st-install-'));
|
|
87
|
+
try {
|
|
88
|
+
if (!await (0, _utils1.gitCloneRepo)({
|
|
89
|
+
destination: tempDirPath,
|
|
90
|
+
name: REPO_NAME
|
|
91
|
+
})) {
|
|
92
|
+
throw new Error(`could not clone servicetitan/${REPO_NAME}`);
|
|
93
|
+
}
|
|
94
|
+
const npmJson = (0, _utils.readJsonSafe)(_path.default.join(tempDirPath, '.npm.json'));
|
|
95
|
+
/* istanbul ignore next: debug only */ _utils.log.debug('install:fetch-token', ()=>JSON.stringify(npmJson, null, 2));
|
|
96
|
+
if (!(npmJson && typeof npmJson === 'object' || Array.isArray(npmJson))) {
|
|
97
|
+
throw new Error('.npm.json is not an object');
|
|
98
|
+
}
|
|
99
|
+
const { readOnlyToken: authToken } = npmJson;
|
|
100
|
+
if (!authToken) {
|
|
101
|
+
throw new Error('.npm.json does not contain auth token');
|
|
102
|
+
}
|
|
103
|
+
if (typeof authToken !== 'string') {
|
|
104
|
+
throw new Error('.npm.json auth token is not a string');
|
|
105
|
+
}
|
|
106
|
+
return Buffer.from(authToken, 'base64').toString('utf-8');
|
|
107
|
+
} catch (e) {
|
|
108
|
+
_utils.log.warning(String(e));
|
|
109
|
+
} finally{
|
|
110
|
+
try {
|
|
111
|
+
_fs.default.rmSync(tempDirPath, {
|
|
112
|
+
recursive: true,
|
|
113
|
+
force: true
|
|
114
|
+
});
|
|
115
|
+
} catch (e) {
|
|
116
|
+
// ignore
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
installPackages(env) {
|
|
40
121
|
var _this_args, _this_args1;
|
|
122
|
+
/* istanbul ignore next: debug only */ _utils.log.debug('install:install-packages', ()=>JSON.stringify({
|
|
123
|
+
env
|
|
124
|
+
}));
|
|
41
125
|
/**
|
|
42
126
|
* Note, if these are changed, update bootstrap.js to match
|
|
43
127
|
* @see {@link file://./../../../../../bootstrap.js}
|
|
44
128
|
*/ const npmArguments = [
|
|
45
|
-
|
|
129
|
+
(0, _utils1.isCI)() ? 'ci' : 'i',
|
|
46
130
|
'--audit=false',
|
|
47
131
|
'--fund=false',
|
|
48
132
|
'--legacy-peer-deps',
|
|
@@ -52,13 +136,17 @@ class Install {
|
|
|
52
136
|
] : []
|
|
53
137
|
].join(' ');
|
|
54
138
|
if (!((_this_args1 = this.args) === null || _this_args1 === void 0 ? void 0 : _this_args1.quiet)) {
|
|
55
|
-
_utils.log.info(`startup cli v${(0, _utils.getStartupVersion)()}`);
|
|
56
139
|
_utils.log.info(`Running npm ${npmArguments} ...`);
|
|
57
140
|
}
|
|
58
141
|
(0, _child_process.execSync)(`npm ${npmArguments}`, {
|
|
142
|
+
...env ? {
|
|
143
|
+
env: {
|
|
144
|
+
...process.env,
|
|
145
|
+
...env
|
|
146
|
+
}
|
|
147
|
+
} : {},
|
|
59
148
|
stdio: 'inherit'
|
|
60
149
|
});
|
|
61
|
-
return Promise.resolve(); // stops "async method has no 'await' expression" lint error
|
|
62
150
|
}
|
|
63
151
|
constructor(args){
|
|
64
152
|
_define_property(this, "args", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/install.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { log, logErrors, getStartupVersion } from '../../utils';\nimport { Command } from './types';\n\ninterface Args {\n quiet?: boolean;\n fix?: boolean;\n}\n\nexport class Install implements Command {\n constructor(private readonly args?: Args) {}\n\n description() {\n return 'install project dependencies';\n }\n\n @logErrors\n async execute() {\n /**\n * Note, if these are changed, update bootstrap.js to match\n * @see {@link file://./../../../../../bootstrap.js}\n */\n const npmArguments = [\n
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/install.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport fs from 'fs';\nimport path from 'path';\nimport os from 'os';\nimport { log, logErrors, getStartupVersion, readJsonSafe } from '../../utils';\nimport { Command } from './types';\nimport { gitCloneRepo, isCI } from '../utils';\n\ninterface Args {\n quiet?: boolean;\n fix?: boolean;\n token?: boolean;\n}\n\nconst REPO_NAME = 'frontend-dev-config';\nconst AUTH_TOKEN_KEY = '//registry.npmjs.org/:_authToken';\nconst AUTH_TOKEN_REGEX = /^\\/\\/registry\\.npmjs\\.org\\/:_authToken=\\s*\\${([^}]+)}/m;\n\nexport class Install implements Command {\n constructor(private readonly args?: Args) {}\n\n description() {\n return 'install project dependencies';\n }\n\n @logErrors\n async execute() {\n if (!this.args?.quiet) {\n log.info(`startup cli v${getStartupVersion()}`);\n }\n\n const env = await this.configureNpmToken();\n this.installPackages(env);\n\n return Promise.resolve(); // stops \"async method has no 'await' expression\" lint error\n }\n\n private async configureNpmToken() {\n if (isCI() || this.args?.fix || this.args?.token === false) {\n return;\n }\n\n if (!this.args?.quiet) {\n log.info('Configuring NPM token ...');\n }\n\n const token = await this.fetchNpmToken();\n if (!token) {\n return;\n }\n\n execSync(`npm config set \"${AUTH_TOKEN_KEY}\"=\"${token}\"`);\n\n if (!fs.existsSync('.npmrc')) {\n return;\n }\n\n const npmrc = fs.readFileSync('.npmrc', 'utf-8');\n const match = AUTH_TOKEN_REGEX.exec(npmrc);\n if (match) {\n return { [match[1]]: token };\n }\n\n execSync(`npm config delete --location=project \"${AUTH_TOKEN_KEY}\"`);\n }\n\n private async fetchNpmToken() {\n const tempDirPath = fs.mkdtempSync(path.join(os.tmpdir(), 'st-install-'));\n try {\n if (!(await gitCloneRepo({ destination: tempDirPath, name: REPO_NAME }))) {\n throw new Error(`could not clone servicetitan/${REPO_NAME}`);\n }\n\n const npmJson = readJsonSafe(path.join(tempDirPath, '.npm.json'));\n\n /* istanbul ignore next: debug only */\n log.debug('install:fetch-token', () => JSON.stringify(npmJson, null, 2));\n\n if (!((npmJson && typeof npmJson === 'object') || Array.isArray(npmJson))) {\n throw new Error('.npm.json is not an object');\n }\n\n const { readOnlyToken: authToken } = npmJson;\n if (!authToken) {\n throw new Error('.npm.json does not contain auth token');\n }\n\n if (typeof authToken !== 'string') {\n throw new Error('.npm.json auth token is not a string');\n }\n\n return Buffer.from(authToken, 'base64').toString('utf-8');\n } catch (e) {\n log.warning(String(e));\n } finally {\n try {\n fs.rmSync(tempDirPath, { recursive: true, force: true });\n } catch {\n // ignore\n }\n }\n }\n\n private installPackages(env?: Record<string, string>) {\n /* istanbul ignore next: debug only */\n log.debug('install:install-packages', () => JSON.stringify({ env }));\n\n /**\n * Note, if these are changed, update bootstrap.js to match\n * @see {@link file://./../../../../../bootstrap.js}\n */\n const npmArguments = [\n isCI() ? 'ci' : 'i',\n '--audit=false',\n '--fund=false',\n '--legacy-peer-deps',\n ...(this.args?.fix ? ['--package-lock-only', '--prefer-dedupe'] : []),\n ].join(' ');\n\n if (!this.args?.quiet) {\n log.info(`Running npm ${npmArguments} ...`);\n }\n\n execSync(`npm ${npmArguments}`, {\n ...(env ? { env: { ...process.env, ...env } } : {}),\n stdio: 'inherit',\n });\n }\n}\n"],"names":["Install","REPO_NAME","AUTH_TOKEN_KEY","AUTH_TOKEN_REGEX","description","execute","args","quiet","log","info","getStartupVersion","env","configureNpmToken","installPackages","Promise","resolve","isCI","fix","token","fetchNpmToken","execSync","fs","existsSync","npmrc","readFileSync","match","exec","tempDirPath","mkdtempSync","path","join","os","tmpdir","gitCloneRepo","destination","name","Error","npmJson","readJsonSafe","debug","JSON","stringify","Array","isArray","readOnlyToken","authToken","Buffer","from","toString","e","warning","String","rmSync","recursive","force","npmArguments","process","stdio"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lint.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAG5B,UAAU,IAAI;IAEV,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,8BAA8B;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,IAAK,YAAW,OAAO;IAKpB,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lint.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAG5B,UAAU,IAAI;IAEV,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,8BAA8B;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,IAAK,YAAW,OAAO;IAKpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,MAAM,QAAQ;IAEvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;gBAEJ,IAAI,EAAE,IAAI;IAIvC,WAAW;IAIL,OAAO;YAOC,MAAM;YAoBN,SAAS;YA6CT,WAAW;IAYzB,OAAO,CAAC,iBAAiB;CAK5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/lint.ts"],"sourcesContent":["import path from 'path';\n\nimport stylelint from 'stylelint';\n\nimport {\n getDestinationFolders,\n getPackages,\n getStylelintConfiguration,\n log,\n logErrors,\n} from '../../utils';\nimport { Command } from '.';\nimport { eslint, lernaExec } from '../utils';\n\ninterface Args {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _: string[];\n /** Apply fixes for issues? */\n fix?: boolean;\n /** Packages to lint */\n scope?: string | string[];\n /** Packages to skip */\n ignore?: string | string[];\n /** Run eslint separately for each package? */\n parallel?: boolean;\n}\n\nexport class Lint implements Command {\n readonly greedy = true;\n\n private readonly paths: string[];\n\n constructor(private args: Args) {\n this.paths = [...args._];\n }\n\n description() {\n return 'run eslint and stylelint';\n }\n\n async execute() {\n await this.checkStyles();\n await this.eslint();\n await this.stylelint();\n }\n\n @logErrors\n private async eslint() {\n if (this.useParallelESLint()) {\n const { fix, ignore, scope } = this.args;\n const packages = getPackages({ scope, ignore });\n const args = fix ? ['--fix'] : [];\n\n await lernaExec({\n 'cmd': 'startup eslint',\n 'scope': packages.map(({ name }) => name),\n 'bail': false,\n '--': args,\n });\n return;\n }\n\n log.info('Running eslint...');\n await eslint({ fix: this.args.fix, paths: this.paths });\n }\n\n @logErrors\n private async stylelint() {\n const { disabled, ...config } = getStylelintConfiguration();\n if (disabled) {\n return;\n }\n\n const { fix } = this.args;\n const { paths } = this;\n\n log.info('Running stylelint...');\n const allowedExtensions = ['css', 'scss', 'less'];\n const glob = `**/*.{${allowedExtensions.join(',')}}`;\n let files = paths.reduce((result, path) => {\n const extension = path.split('.').pop();\n if (extension) {\n if (allowedExtensions.includes(extension.toLowerCase())) {\n result.push(path);\n }\n } else {\n result.push(pathUniJoin(path, glob));\n }\n return result;\n }, new Array<string>());\n\n if (!files.length) {\n files = [glob];\n }\n\n const { report, errored } = await stylelint.lint({\n files,\n ignorePattern: ['node_modules', ...getDestinationFolders()],\n formatter: 'string',\n fix,\n quietDeprecationWarnings: true,\n ...config,\n });\n\n process.stdout.write(report);\n\n if (errored) {\n process.exitCode = 1;\n }\n }\n\n @logErrors\n private async checkStyles() {\n const { ignore, scope } = this.args;\n\n const packages = getPackages({ ignore, scope });\n\n await lernaExec({\n cmd: 'startup styles-check',\n scope: packages.map(({ name }) => name),\n stream: true,\n });\n }\n\n private useParallelESLint() {\n const { parallel, scope, ignore } = this.args;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return !this.paths.length && (parallel || scope?.length || ignore?.length);\n }\n}\n\nfunction pathUniJoin(...chunks: string[]) {\n return path.join(...chunks).replace(/\\\\/g, '/');\n}\n"],"names":["Lint","description","execute","checkStyles","eslint","stylelint","useParallelESLint","fix","ignore","scope","args","packages","getPackages","lernaExec","map","name","log","info","paths","disabled","config","getStylelintConfiguration","allowedExtensions","glob","join","files","reduce","result","path","extension","split","pop","includes","toLowerCase","push","pathUniJoin","Array","length","report","errored","lint","ignorePattern","getDestinationFolders","formatter","quietDeprecationWarnings","process","stdout","write","exitCode","cmd","stream","parallel","greedy","_","chunks","replace"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/lint.ts"],"sourcesContent":["import path from 'path';\n\nimport stylelint from 'stylelint';\n\nimport {\n getDestinationFolders,\n getPackages,\n getStylelintConfiguration,\n log,\n logErrors,\n} from '../../utils';\nimport { Command } from '.';\nimport { eslint, lernaExec } from '../utils';\n\ninterface Args {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _: string[];\n /** Apply fixes for issues? */\n fix?: boolean;\n /** Packages to lint */\n scope?: string | string[];\n /** Packages to skip */\n ignore?: string | string[];\n /** Run eslint separately for each package? */\n parallel?: boolean;\n}\n\nexport class Lint implements Command {\n readonly greedy = true;\n\n private readonly paths: string[];\n\n constructor(private readonly args: Args) {\n this.paths = [...args._];\n }\n\n description() {\n return 'run eslint and stylelint';\n }\n\n async execute() {\n await this.checkStyles();\n await this.eslint();\n await this.stylelint();\n }\n\n @logErrors\n private async eslint() {\n if (this.useParallelESLint()) {\n const { fix, ignore, scope } = this.args;\n const packages = getPackages({ scope, ignore });\n const args = fix ? ['--fix'] : [];\n\n await lernaExec({\n 'cmd': 'startup eslint',\n 'scope': packages.map(({ name }) => name),\n 'bail': false,\n '--': args,\n });\n return;\n }\n\n log.info('Running eslint...');\n await eslint({ fix: this.args.fix, paths: this.paths });\n }\n\n @logErrors\n private async stylelint() {\n const { disabled, ...config } = getStylelintConfiguration();\n if (disabled) {\n return;\n }\n\n const { fix } = this.args;\n const { paths } = this;\n\n log.info('Running stylelint...');\n const allowedExtensions = ['css', 'scss', 'less'];\n const glob = `**/*.{${allowedExtensions.join(',')}}`;\n let files = paths.reduce((result, path) => {\n const extension = path.split('.').pop();\n if (extension) {\n if (allowedExtensions.includes(extension.toLowerCase())) {\n result.push(path);\n }\n } else {\n result.push(pathUniJoin(path, glob));\n }\n return result;\n }, new Array<string>());\n\n if (!files.length) {\n files = [glob];\n }\n\n const { report, errored } = await stylelint.lint({\n files,\n ignorePattern: ['node_modules', ...getDestinationFolders()],\n formatter: 'string',\n fix,\n quietDeprecationWarnings: true,\n ...config,\n });\n\n process.stdout.write(report);\n\n if (errored) {\n process.exitCode = 1;\n }\n }\n\n @logErrors\n private async checkStyles() {\n const { ignore, scope } = this.args;\n\n const packages = getPackages({ ignore, scope });\n\n await lernaExec({\n cmd: 'startup styles-check',\n scope: packages.map(({ name }) => name),\n stream: true,\n });\n }\n\n private useParallelESLint() {\n const { parallel, scope, ignore } = this.args;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return !this.paths.length && (parallel || scope?.length || ignore?.length);\n }\n}\n\nfunction pathUniJoin(...chunks: string[]) {\n return path.join(...chunks).replace(/\\\\/g, '/');\n}\n"],"names":["Lint","description","execute","checkStyles","eslint","stylelint","useParallelESLint","fix","ignore","scope","args","packages","getPackages","lernaExec","map","name","log","info","paths","disabled","config","getStylelintConfiguration","allowedExtensions","glob","join","files","reduce","result","path","extension","split","pop","includes","toLowerCase","push","pathUniJoin","Array","length","report","errored","lint","ignorePattern","getDestinationFolders","formatter","quietDeprecationWarnings","process","stdout","write","exitCode","cmd","stream","parallel","greedy","_","chunks","replace"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,IAAI;IACjB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,eAAgB,YAAW,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGjC,OAAO;IA4Cb,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,mBAAmB;CA0C9B"}
|