@elliemae/pui-cli 7.0.0-alpha.1 → 7.0.0-alpha.10
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/{lib/babel/babel.config.js → dist/cjs/babel.config.cjs} +2 -2
- package/dist/cjs/cli.js +49 -0
- package/dist/cjs/commands/build.js +72 -0
- package/dist/cjs/commands/codemod.js +51 -0
- package/dist/cjs/commands/gendoc.js +52 -0
- package/dist/cjs/commands/lint.js +86 -0
- package/dist/cjs/commands/pack.js +88 -0
- package/dist/cjs/commands/start.js +61 -0
- package/dist/cjs/commands/storybook.js +63 -0
- package/dist/cjs/commands/test.js +86 -0
- package/dist/cjs/commands/tscheck.js +85 -0
- package/dist/cjs/commands/utils.js +137 -0
- package/dist/cjs/commands/version.js +71 -0
- package/dist/cjs/commands/vitest.js +84 -0
- package/{lib/dummy.ts → dist/cjs/dummy.js} +0 -0
- package/dist/cjs/index.cjs +25 -0
- package/dist/cjs/index.js +41 -0
- package/dist/cjs/jsdoc.conf.json +17 -0
- package/dist/cjs/lint-config/commitlint.config.cjs +1 -0
- package/{lib/lint/eslint/common.js → dist/cjs/lint-config/eslint/common.cjs} +5 -5
- package/{lib/lint/eslint/non-react.js → dist/cjs/lint-config/eslint/non-react.cjs} +2 -2
- package/{lib/lint/eslint/react.js → dist/cjs/lint-config/eslint/react.cjs} +2 -2
- package/{lib/lint/eslint/typescript/common.js → dist/cjs/lint-config/eslint/typescript/common.cjs} +1 -1
- package/{lib/lint/eslint/typescript/non-react.js → dist/cjs/lint-config/eslint/typescript/non-react.cjs} +2 -2
- package/{lib/lint/eslint/typescript/react.js → dist/cjs/lint-config/eslint/typescript/react.cjs} +2 -2
- package/dist/cjs/lint-config/lint-staged.config.js +37 -0
- package/{lib/lint/prettier.config.js → dist/cjs/lint-config/prettier.config.cjs} +1 -1
- package/{lib/lint/stylelint.config.js → dist/cjs/lint-config/stylelint.config.cjs} +2 -2
- package/dist/cjs/monorepo/delete-merged-tags.js +57 -0
- package/dist/cjs/monorepo/set-registry-version.js +43 -0
- package/dist/cjs/monorepo/set-workspace-version.js +44 -0
- package/dist/cjs/monorepo/utils.cjs +30 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/pui-config.js +40 -0
- package/{lib/release/release.config.js → dist/cjs/release.config.cjs} +0 -0
- package/{lib/server/util/index.js → dist/cjs/server/app-routes.cjs} +5 -15
- package/dist/cjs/server/csp.js +88 -0
- package/dist/cjs/server/index.js +30 -0
- package/dist/cjs/server/logger.js +50 -0
- package/dist/cjs/server/middlewares.js +68 -0
- package/dist/cjs/server/utils.js +32 -0
- package/{lib/testing/jest.config.js → dist/cjs/testing/jest.config.cjs} +6 -9
- package/{lib/testing/jest.node.config.js → dist/cjs/testing/jest.node.config.cjs} +1 -1
- package/dist/cjs/testing/mocks/axios.js +37 -0
- package/dist/cjs/testing/mocks/cssModule.js +23 -0
- package/dist/cjs/testing/mocks/html.js +23 -0
- package/dist/cjs/testing/mocks/image.js +23 -0
- package/dist/cjs/testing/mocks/matchMedia.js +43 -0
- package/dist/cjs/testing/mocks/pui-app-loader.js +24 -0
- package/dist/cjs/testing/mocks/pui-diagnostics.js +68 -0
- package/dist/cjs/testing/mocks/pui-user-monitoring.js +30 -0
- package/dist/cjs/testing/mocks/retry-axios.js +27 -0
- package/dist/cjs/testing/mocks/svg.js +29 -0
- package/dist/cjs/testing/mocks/webpack-hmr.js +24 -0
- package/{lib/testing/resolver.js → dist/cjs/testing/resolver.cjs} +0 -0
- package/dist/cjs/testing/setup-react-env.js +18 -0
- package/dist/cjs/testing/setup-tests.js +63 -0
- package/dist/cjs/testing/vitest.config.js +39 -0
- package/{lib/testing/vitest.setup.ts → dist/cjs/testing/vitest.setup.js} +0 -0
- package/{lib → dist/cjs}/transpile/.swcrc +0 -0
- package/dist/cjs/transpile/esbuild.js +139 -0
- package/dist/cjs/transpile/react-shim.js +26 -0
- package/{lib/transpile/swcrc.config.js → dist/cjs/transpile/swcrc.config.cjs} +1 -1
- package/{lib → dist/cjs}/typescript/app.tsconfig.json +0 -0
- package/{lib → dist/cjs}/typescript/library.tsconfig.json +0 -0
- package/dist/cjs/update-notifier.js +33 -0
- package/dist/cjs/utils.cjs +23 -0
- package/dist/cjs/webpack/helpers.js +216 -0
- package/dist/cjs/webpack/webpack.base.babel.js +262 -0
- package/dist/cjs/webpack/webpack.dev.babel.js +140 -0
- package/dist/cjs/webpack/webpack.lib.base.babel.js +217 -0
- package/dist/cjs/webpack/webpack.lib.dev.babel.js +67 -0
- package/dist/cjs/webpack/webpack.lib.prod.babel.js +92 -0
- package/dist/cjs/webpack/webpack.prod.babel.js +139 -0
- package/dist/cjs/webpack/webpack.storybook.js +122 -0
- package/dist/esm/babel.config.cjs +101 -0
- package/dist/esm/cli.js +33 -0
- package/dist/esm/commands/build.js +56 -0
- package/dist/esm/commands/codemod.js +29 -0
- package/dist/esm/commands/gendoc.js +29 -0
- package/dist/esm/commands/lint.js +64 -0
- package/dist/esm/commands/pack.js +65 -0
- package/dist/esm/commands/start.js +38 -0
- package/dist/esm/commands/storybook.js +41 -0
- package/dist/esm/commands/test.js +64 -0
- package/dist/esm/commands/tscheck.js +65 -0
- package/dist/esm/commands/utils.js +120 -0
- package/dist/esm/commands/version.js +49 -0
- package/dist/esm/commands/vitest.js +61 -0
- package/dist/esm/dummy.js +0 -0
- package/dist/esm/index.cjs +25 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/jsdoc.conf.json +17 -0
- package/dist/esm/lint-config/commitlint.config.cjs +1 -0
- package/dist/esm/lint-config/eslint/common.cjs +160 -0
- package/dist/esm/lint-config/eslint/non-react.cjs +14 -0
- package/dist/esm/lint-config/eslint/react.cjs +26 -0
- package/dist/esm/lint-config/eslint/typescript/common.cjs +43 -0
- package/dist/esm/lint-config/eslint/typescript/non-react.cjs +12 -0
- package/dist/esm/lint-config/eslint/typescript/react.cjs +19 -0
- package/dist/esm/lint-config/lint-staged.config.js +15 -0
- package/dist/esm/lint-config/prettier.config.cjs +8 -0
- package/dist/esm/lint-config/stylelint.config.cjs +19 -0
- package/dist/esm/monorepo/delete-merged-tags.js +38 -0
- package/dist/esm/monorepo/set-registry-version.js +21 -0
- package/dist/esm/monorepo/set-workspace-version.js +22 -0
- package/dist/esm/monorepo/utils.cjs +30 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/pui-config.js +18 -0
- package/dist/esm/release.config.cjs +31 -0
- package/dist/esm/server/app-routes.cjs +42 -0
- package/dist/esm/server/csp.js +66 -0
- package/dist/esm/server/index.js +18 -0
- package/dist/esm/server/logger.js +28 -0
- package/dist/esm/server/middlewares.js +46 -0
- package/dist/esm/server/utils.js +10 -0
- package/dist/esm/testing/jest.config.cjs +102 -0
- package/dist/esm/testing/jest.node.config.cjs +8 -0
- package/{lib → dist/esm}/testing/mocks/axios.js +8 -5
- package/dist/esm/testing/mocks/cssModule.js +4 -0
- package/dist/esm/testing/mocks/html.js +4 -0
- package/dist/esm/testing/mocks/image.js +4 -0
- package/dist/esm/testing/mocks/matchMedia.js +24 -0
- package/dist/esm/testing/mocks/pui-app-loader.js +5 -0
- package/dist/esm/testing/mocks/pui-diagnostics.js +49 -0
- package/dist/esm/testing/mocks/pui-user-monitoring.js +11 -0
- package/dist/esm/testing/mocks/retry-axios.js +8 -0
- package/dist/esm/testing/mocks/svg.js +7 -0
- package/dist/esm/testing/mocks/webpack-hmr.js +5 -0
- package/dist/esm/testing/resolver.cjs +47 -0
- package/dist/esm/testing/setup-react-env.js +3 -0
- package/dist/esm/testing/setup-tests.js +48 -0
- package/dist/esm/testing/vitest.config.js +17 -0
- package/dist/esm/testing/vitest.setup.js +0 -0
- package/dist/esm/transpile/.swcrc +11 -0
- package/dist/esm/transpile/esbuild.js +118 -0
- package/dist/esm/transpile/react-shim.js +4 -0
- package/dist/esm/transpile/swcrc.config.cjs +13 -0
- package/dist/esm/typescript/app.tsconfig.json +23 -0
- package/dist/esm/typescript/library.tsconfig.json +23 -0
- package/dist/esm/update-notifier.js +11 -0
- package/dist/esm/utils.cjs +23 -0
- package/dist/esm/webpack/helpers.js +196 -0
- package/dist/esm/webpack/webpack.base.babel.js +248 -0
- package/dist/esm/webpack/webpack.dev.babel.js +121 -0
- package/dist/esm/webpack/webpack.lib.base.babel.js +208 -0
- package/dist/esm/webpack/webpack.lib.dev.babel.js +45 -0
- package/dist/esm/webpack/webpack.lib.prod.babel.js +70 -0
- package/dist/esm/webpack/webpack.prod.babel.js +122 -0
- package/dist/esm/webpack/webpack.storybook.js +102 -0
- package/dist/types/babel.config.d.cts +59 -0
- package/dist/types/cli.d.ts +2 -0
- package/dist/types/commands/build.d.ts +14 -0
- package/dist/types/commands/codemod.d.ts +6 -0
- package/dist/types/commands/gendoc.d.ts +6 -0
- package/dist/types/commands/lint.d.ts +29 -0
- package/dist/types/commands/pack.d.ts +26 -0
- package/dist/types/commands/start.d.ts +13 -0
- package/dist/types/commands/storybook.d.ts +19 -0
- package/dist/types/commands/test.d.ts +35 -0
- package/dist/types/commands/tscheck.d.ts +14 -0
- package/dist/types/commands/utils.d.ts +14 -0
- package/dist/types/commands/version.d.ts +30 -0
- package/dist/types/commands/vitest.d.ts +35 -0
- package/dist/types/dummy.d.ts +0 -0
- package/dist/types/index.d.cts +10 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/lint-config/commitlint.config.d.cts +4 -0
- package/dist/types/lint-config/eslint/common.d.cts +127 -0
- package/dist/types/lint-config/eslint/non-react.d.cts +93 -0
- package/dist/types/lint-config/eslint/react.d.cts +123 -0
- package/dist/types/lint-config/eslint/typescript/common.d.cts +37 -0
- package/dist/types/lint-config/eslint/typescript/non-react.d.cts +87 -0
- package/dist/types/lint-config/eslint/typescript/react.d.cts +118 -0
- package/dist/types/lint-config/lint-staged.config.d.ts +5 -0
- package/dist/types/lint-config/prettier.config.d.cts +8 -0
- package/dist/types/lint-config/stylelint.config.d.cts +11 -0
- package/dist/types/monorepo/delete-merged-tags.d.ts +1 -0
- package/dist/types/monorepo/set-registry-version.d.ts +1 -0
- package/dist/types/monorepo/set-workspace-version.d.ts +1 -0
- package/dist/types/monorepo/utils.d.cts +1 -0
- package/dist/types/pui-config.d.ts +1 -0
- package/dist/types/release.config.d.cts +9 -0
- package/dist/types/server/app-routes.d.cts +1 -0
- package/dist/types/server/csp.d.ts +10 -0
- package/dist/types/server/index.d.ts +1 -0
- package/dist/types/server/logger.d.ts +4 -0
- package/dist/types/server/middlewares.d.ts +2 -0
- package/dist/types/server/utils.d.ts +3 -0
- package/dist/types/testing/jest.config.d.cts +38 -0
- package/dist/types/testing/jest.node.config.d.cts +38 -0
- package/dist/types/testing/mocks/axios.d.ts +17 -0
- package/dist/types/testing/mocks/cssModule.d.ts +2 -0
- package/dist/types/testing/mocks/html.d.ts +2 -0
- package/dist/types/testing/mocks/image.d.ts +2 -0
- package/dist/types/testing/mocks/matchMedia.d.ts +1 -0
- package/dist/types/testing/mocks/pui-app-loader.d.ts +1 -0
- package/dist/types/testing/mocks/pui-diagnostics.d.ts +28 -0
- package/dist/types/testing/mocks/pui-user-monitoring.d.ts +3 -0
- package/dist/types/testing/mocks/retry-axios.d.ts +3 -0
- package/dist/types/testing/mocks/svg.d.ts +3 -0
- package/dist/types/testing/mocks/webpack-hmr.d.ts +1 -0
- package/dist/types/testing/resolver.d.cts +2 -0
- package/dist/types/testing/setup-react-env.d.ts +1 -0
- package/dist/types/testing/setup-tests.d.ts +1 -0
- package/dist/types/testing/vitest.config.d.ts +2 -0
- package/dist/types/testing/vitest.setup.d.ts +0 -0
- package/dist/types/transpile/esbuild.d.ts +13 -0
- package/dist/types/transpile/react-shim.d.ts +2 -0
- package/dist/types/transpile/swcrc.config.d.cts +1 -0
- package/dist/types/update-notifier.d.ts +1 -0
- package/dist/types/utils.d.cts +4 -0
- package/dist/types/webpack/helpers.d.ts +28 -0
- package/dist/types/webpack/webpack.base.babel.d.ts +90 -0
- package/dist/types/webpack/webpack.dev.babel.d.ts +2 -0
- package/dist/types/webpack/webpack.lib.base.babel.d.ts +107 -0
- package/dist/types/webpack/webpack.lib.dev.babel.d.ts +91 -0
- package/dist/types/webpack/webpack.lib.prod.babel.d.ts +91 -0
- package/dist/types/webpack/webpack.prod.babel.d.ts +2 -0
- package/dist/types/webpack/webpack.storybook.d.ts +4 -0
- package/package.json +55 -39
- package/lib/cli-commands/build.js +0 -60
- package/lib/cli-commands/codemod.js +0 -31
- package/lib/cli-commands/gendoc.js +0 -36
- package/lib/cli-commands/lint.js +0 -75
- package/lib/cli-commands/pack.js +0 -67
- package/lib/cli-commands/start.js +0 -49
- package/lib/cli-commands/storybook.js +0 -53
- package/lib/cli-commands/test.js +0 -63
- package/lib/cli-commands/tsc.js +0 -103
- package/lib/cli-commands/utils.js +0 -135
- package/lib/cli-commands/version.js +0 -53
- package/lib/cli-commands/vitest.js +0 -66
- package/lib/cli.js +0 -33
- package/lib/docgen/jsdoc.config.js +0 -17
- package/lib/index.js +0 -25
- package/lib/lint/commitlint.config.js +0 -1
- package/lib/lint/lint-staged.config.js +0 -16
- package/lib/monorepo/delete-merged-tags.js +0 -48
- package/lib/monorepo/set-registry-version.js +0 -22
- package/lib/monorepo/set-workspace-version.js +0 -29
- package/lib/monorepo/utils.js +0 -15
- package/lib/pui-config/index.js +0 -18
- package/lib/scripts/helpers/checkmark.js +0 -15
- package/lib/scripts/helpers/get-npm-config.js +0 -3
- package/lib/scripts/helpers/progress.js +0 -19
- package/lib/scripts/helpers/xmark.js +0 -13
- package/lib/scripts/npmcheckversion.js +0 -8
- package/lib/scripts/update-notifier.js +0 -7
- package/lib/server/csp.js +0 -74
- package/lib/server/index.js +0 -37
- package/lib/server/logger.js +0 -42
- package/lib/server/middlewares/addDevMiddlewares.js +0 -39
- package/lib/server/middlewares/addProdMiddlewares.js +0 -30
- package/lib/server/middlewares/index.js +0 -37
- package/lib/testing/mocks/cssModule.js +0 -1
- package/lib/testing/mocks/html.js +0 -1
- package/lib/testing/mocks/image.js +0 -1
- package/lib/testing/mocks/matchMedia.js +0 -24
- package/lib/testing/mocks/pui-app-loader.js +0 -1
- package/lib/testing/mocks/pui-diagnostics.js +0 -28
- package/lib/testing/mocks/pui-user-monitoring.js +0 -3
- package/lib/testing/mocks/retry-axios.js +0 -3
- package/lib/testing/mocks/svg.js +0 -5
- package/lib/testing/mocks/webpack-hmr.js +0 -1
- package/lib/testing/setup-react-env.js +0 -3
- package/lib/testing/setup-tests.js +0 -58
- package/lib/testing/vitest.config.ts +0 -16
- package/lib/transpile/esbuild.js +0 -116
- package/lib/transpile/react-shim.js +0 -2
- package/lib/typescript/tsc-files/index.js +0 -66
- package/lib/typescript/tsc-files/utils.js +0 -16
- package/lib/typescript/util.js +0 -5
- package/lib/webpack/helpers.js +0 -252
- package/lib/webpack/webpack.base.babel.js +0 -242
- package/lib/webpack/webpack.dev.babel.js +0 -137
- package/lib/webpack/webpack.lib.base.babel.js +0 -205
- package/lib/webpack/webpack.lib.dev.babel.js +0 -49
- package/lib/webpack/webpack.lib.prod.babel.js +0 -77
- package/lib/webpack/webpack.prod.babel.js +0 -142
- package/lib/webpack/webpack.storybook.js +0 -87
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
const { isApp } = require('./utils.cjs');
|
|
2
|
+
|
|
3
|
+
const nodeEnvPreset = {
|
|
4
|
+
modules: process.env.ES_MODULES === 'false' ? 'commonjs' : false,
|
|
5
|
+
targets: {
|
|
6
|
+
node: 'current',
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const webEnvPreset = {
|
|
11
|
+
modules: process.env.ES_MODULES === 'false' ? 'commonjs' : false,
|
|
12
|
+
useBuiltIns: 'usage',
|
|
13
|
+
corejs: { version: '3.19', proposals: true },
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const presetEnvOptions =
|
|
17
|
+
process.env.TARGET_ENV === 'node' ? nodeEnvPreset : webEnvPreset;
|
|
18
|
+
|
|
19
|
+
const config = {
|
|
20
|
+
ignore: [/\/core-js/],
|
|
21
|
+
sourceType: 'unambiguous',
|
|
22
|
+
presets: [
|
|
23
|
+
['@babel/preset-env', presetEnvOptions],
|
|
24
|
+
['@babel/preset-react', { runtime: 'automatic' }],
|
|
25
|
+
'@babel/preset-typescript',
|
|
26
|
+
],
|
|
27
|
+
plugins: [
|
|
28
|
+
[
|
|
29
|
+
'babel-plugin-module-resolver',
|
|
30
|
+
{
|
|
31
|
+
alias: {
|
|
32
|
+
'@': isApp() ? './app' : './lib',
|
|
33
|
+
},
|
|
34
|
+
stripExtensions: [],
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
['babel-plugin-styled-components', { displayName: true }],
|
|
38
|
+
['@babel/plugin-transform-runtime', { regenerator: true }],
|
|
39
|
+
'@babel/plugin-proposal-class-properties',
|
|
40
|
+
'@babel/plugin-syntax-dynamic-import',
|
|
41
|
+
'@babel/plugin-proposal-export-default-from',
|
|
42
|
+
'lodash',
|
|
43
|
+
'date-fns',
|
|
44
|
+
],
|
|
45
|
+
env: {
|
|
46
|
+
development: {
|
|
47
|
+
plugins: [
|
|
48
|
+
['babel-plugin-styled-components', { displayName: true }],
|
|
49
|
+
'@babel/plugin-transform-react-jsx-source',
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
production: {
|
|
53
|
+
plugins: [
|
|
54
|
+
['babel-plugin-styled-components', { displayName: false, pure: true }],
|
|
55
|
+
['transform-remove-console', { exclude: ['error', 'warn'] }],
|
|
56
|
+
'transform-react-remove-prop-types',
|
|
57
|
+
'@babel/plugin-transform-react-inline-elements',
|
|
58
|
+
'@babel/plugin-transform-react-constant-elements',
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
test: {
|
|
62
|
+
plugins: [
|
|
63
|
+
['babel-plugin-styled-components', { displayName: true }],
|
|
64
|
+
'@babel/plugin-transform-modules-commonjs',
|
|
65
|
+
'dynamic-import-node',
|
|
66
|
+
[
|
|
67
|
+
'babel-plugin-transform-strip-block',
|
|
68
|
+
{
|
|
69
|
+
requireDirective: true,
|
|
70
|
+
identifiers: [{ start: 'block:start', end: 'block:end' }],
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
'babel-plugin-import-remove-resource-query',
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
if (process.env.MODULE_EXTENSIONS === 'true') {
|
|
80
|
+
config.plugins.push('babel-plugin-add-import-extension');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (
|
|
84
|
+
process.env.STORYBOOK_BUILD !== 'true' &&
|
|
85
|
+
process.env.TARGET_ENV !== 'node'
|
|
86
|
+
) {
|
|
87
|
+
config.env?.development?.plugins?.push?.('react-refresh/babel');
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// ToDo: Once ECC team migrates from webpack 3 to webpack 5 remove this strip-block plugin from commonjs output. without this they are receiving error when import.meta is used in app sdk
|
|
91
|
+
if (process.env.ES_MODULES === 'false') {
|
|
92
|
+
config.plugins.push([
|
|
93
|
+
'babel-plugin-transform-strip-block',
|
|
94
|
+
{
|
|
95
|
+
requireDirective: true,
|
|
96
|
+
identifiers: [{ start: 'block:start', end: 'block:end' }],
|
|
97
|
+
},
|
|
98
|
+
]);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
exports.babelConfig = config;
|
package/dist/esm/cli.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import yargs from "yargs";
|
|
5
|
+
import { hideBin } from "yargs/helpers";
|
|
6
|
+
import { config as envConfig } from "dotenv";
|
|
7
|
+
import { notifyUpdates } from "./update-notifier.js";
|
|
8
|
+
import { buildCmd } from "./commands/build.js";
|
|
9
|
+
import { packCmd } from "./commands/pack.js";
|
|
10
|
+
import { startCmd } from "./commands/start.js";
|
|
11
|
+
import { testCmd } from "./commands/test.js";
|
|
12
|
+
import { lintCmd } from "./commands/lint.js";
|
|
13
|
+
import { gendocCmd } from "./commands/gendoc.js";
|
|
14
|
+
import { codemodCmd } from "./commands/codemod.js";
|
|
15
|
+
import { storybookCmd } from "./commands/storybook.js";
|
|
16
|
+
import { vitestCmd } from "./commands/vitest.js";
|
|
17
|
+
import { versionCmd } from "./commands/version.js";
|
|
18
|
+
import { tscheckCmd } from "./commands/tscheck.js";
|
|
19
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
envConfig();
|
|
21
|
+
process.env.PATH += path.delimiter + path.join(__dirname, "..", "node_modules", ".bin");
|
|
22
|
+
yargs(hideBin(process.argv)).command(buildCmd).help().argv;
|
|
23
|
+
yargs(hideBin(process.argv)).command(packCmd).help().argv;
|
|
24
|
+
yargs(hideBin(process.argv)).command(startCmd).help().argv;
|
|
25
|
+
yargs(hideBin(process.argv)).command(testCmd).help().argv;
|
|
26
|
+
yargs(hideBin(process.argv)).command(lintCmd).help().argv;
|
|
27
|
+
yargs(hideBin(process.argv)).command(gendocCmd).help().argv;
|
|
28
|
+
yargs(hideBin(process.argv)).command(codemodCmd).help().argv;
|
|
29
|
+
yargs(hideBin(process.argv)).command(storybookCmd).help().argv;
|
|
30
|
+
yargs(hideBin(process.argv)).command(vitestCmd).help().argv;
|
|
31
|
+
yargs(hideBin(process.argv)).command(versionCmd).help().argv;
|
|
32
|
+
yargs(hideBin(process.argv)).command(tscheckCmd).help().argv;
|
|
33
|
+
notifyUpdates();
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import yargs from "yargs";
|
|
4
|
+
import {
|
|
5
|
+
exec,
|
|
6
|
+
logInfo,
|
|
7
|
+
logError,
|
|
8
|
+
logSuccess,
|
|
9
|
+
writeAppInfo,
|
|
10
|
+
copyBuildAssetsToVersionedFolder
|
|
11
|
+
} from "./utils.js";
|
|
12
|
+
import { esBuild, TARGETS } from "../transpile/esbuild.js";
|
|
13
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
14
|
+
const buildWebApp = async () => {
|
|
15
|
+
await exec(`rimraf ./build`);
|
|
16
|
+
await exec(`cross-env NODE_ENV=production webpack --config ${path.resolve(__dirname, "../webpack/webpack.prod.babel.js")} --color`);
|
|
17
|
+
await copyBuildAssetsToVersionedFolder();
|
|
18
|
+
await writeAppInfo();
|
|
19
|
+
};
|
|
20
|
+
const buildService = async () => {
|
|
21
|
+
await exec("rimraf ./build");
|
|
22
|
+
await esBuild({
|
|
23
|
+
srcdir: "./app",
|
|
24
|
+
outdir: "build",
|
|
25
|
+
esmOnly: true,
|
|
26
|
+
target: TARGETS.node,
|
|
27
|
+
injectReactShim: false,
|
|
28
|
+
skipNestedPackageJSON: true
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const buildCmd = {
|
|
32
|
+
handler: async ({ service = false }) => {
|
|
33
|
+
try {
|
|
34
|
+
logInfo("Build in progress...");
|
|
35
|
+
if (service)
|
|
36
|
+
await buildService();
|
|
37
|
+
else
|
|
38
|
+
await buildWebApp();
|
|
39
|
+
logSuccess("Build completed");
|
|
40
|
+
} catch (err) {
|
|
41
|
+
logError("Build failed", err);
|
|
42
|
+
yargs().exit(-1, err);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
command: "build",
|
|
46
|
+
describe: "builds front end application or NodeJS service",
|
|
47
|
+
builder: {
|
|
48
|
+
service: {
|
|
49
|
+
type: "boolean",
|
|
50
|
+
default: false
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
export {
|
|
55
|
+
buildCmd
|
|
56
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import yargs from "yargs";
|
|
2
|
+
import { exec, logInfo, logError, logSuccess } from "./utils.js";
|
|
3
|
+
const transform = async (argv) => {
|
|
4
|
+
logInfo("Code modification in-progress...");
|
|
5
|
+
exec(`jscodeshift --ignore-file=.gitignore -t ${argv.transform} .`);
|
|
6
|
+
};
|
|
7
|
+
const codemodCmd = {
|
|
8
|
+
handler: async (argv) => {
|
|
9
|
+
try {
|
|
10
|
+
await transform(argv);
|
|
11
|
+
logSuccess("Code modifications completed. ");
|
|
12
|
+
} catch (err) {
|
|
13
|
+
logError("Code modifications failed", err);
|
|
14
|
+
yargs().exit(-1, err);
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
command: "codemod <transform>",
|
|
18
|
+
describe: "Transforms code",
|
|
19
|
+
builder: (yargsRef) => {
|
|
20
|
+
yargsRef.positional("transform", {
|
|
21
|
+
describe: "path to the transform file. Can be either a local path or url",
|
|
22
|
+
type: "string",
|
|
23
|
+
default: "./transform.js"
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
codemodCmd
|
|
29
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import yargs from "yargs";
|
|
5
|
+
import { exec, logInfo, logSuccess, logError } from "./utils.js";
|
|
6
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
7
|
+
const isApp = () => fs.existsSync(path.join(process.cwd(), "app"));
|
|
8
|
+
const generateDocs = async () => {
|
|
9
|
+
logInfo("Documentation Generation inprogress...");
|
|
10
|
+
const srcPath = path.join(process.cwd(), isApp() ? "app" : "lib");
|
|
11
|
+
await exec(`jsdoc ${srcPath} -r -c ${path.resolve(__dirname, "../jsdoc.conf.json")} -d docs`);
|
|
12
|
+
};
|
|
13
|
+
const gendocCmd = {
|
|
14
|
+
handler: async () => {
|
|
15
|
+
try {
|
|
16
|
+
await generateDocs();
|
|
17
|
+
logSuccess("Document generation completed. ");
|
|
18
|
+
} catch (err) {
|
|
19
|
+
logError("Document generation failed", err);
|
|
20
|
+
yargs().exit(-1, err);
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
command: "gendoc",
|
|
24
|
+
describe: "Builds documentation from source files",
|
|
25
|
+
builder: {}
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
gendocCmd
|
|
29
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import yargs from "yargs";
|
|
3
|
+
import { exec, logError, logSuccess } from "./utils.js";
|
|
4
|
+
import { isTypeScriptEnabled } from "../utils.cjs";
|
|
5
|
+
const { CI = false } = process.env;
|
|
6
|
+
const lintCSS = async (fix = false) => {
|
|
7
|
+
const fixIssues = fix ? "--fix" : "";
|
|
8
|
+
await exec(`stylelint ./{lib,app}/**/*.{js,jsx,ts,tsx} ${fixIssues} ${!CI ? "--color" : ""} --allow-empty-input --config ${path.join(process.cwd(), "stylelint.config.cjs")}`);
|
|
9
|
+
};
|
|
10
|
+
const lintJS = async (fix = false) => {
|
|
11
|
+
const fixIssues = fix ? "--fix" : "";
|
|
12
|
+
await exec(`eslint ${!CI ? "--color" : ""} ${fixIssues} .`);
|
|
13
|
+
};
|
|
14
|
+
const lintCmd = {
|
|
15
|
+
handler: async (argv) => {
|
|
16
|
+
if (argv.js) {
|
|
17
|
+
if (isTypeScriptEnabled())
|
|
18
|
+
await exec("tsc --noEmit --emitDeclarationOnly false");
|
|
19
|
+
try {
|
|
20
|
+
await exec("rimraf ./reports/eslint.json");
|
|
21
|
+
await lintJS(argv.fix);
|
|
22
|
+
logSuccess("JS linting completed");
|
|
23
|
+
} catch (err) {
|
|
24
|
+
logError("JS linting failed");
|
|
25
|
+
yargs().exit(-1, err);
|
|
26
|
+
return -1;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (argv.css) {
|
|
30
|
+
try {
|
|
31
|
+
await exec("rimraf ./reports/stylelint.json");
|
|
32
|
+
await lintCSS(argv.fix);
|
|
33
|
+
logSuccess("CSS linting completed");
|
|
34
|
+
} catch (err) {
|
|
35
|
+
logError("CSS linting failed");
|
|
36
|
+
yargs().exit(-1, err);
|
|
37
|
+
return -1;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return 0;
|
|
41
|
+
},
|
|
42
|
+
command: "lint [options]",
|
|
43
|
+
describe: "lints application code",
|
|
44
|
+
builder: {
|
|
45
|
+
css: {
|
|
46
|
+
alias: "css",
|
|
47
|
+
type: "boolean",
|
|
48
|
+
default: true
|
|
49
|
+
},
|
|
50
|
+
js: {
|
|
51
|
+
alias: "js",
|
|
52
|
+
type: "boolean",
|
|
53
|
+
default: true
|
|
54
|
+
},
|
|
55
|
+
fix: {
|
|
56
|
+
alias: "fix",
|
|
57
|
+
type: "boolean",
|
|
58
|
+
default: false
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
export {
|
|
63
|
+
lintCmd
|
|
64
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import yargs from "yargs";
|
|
4
|
+
import { exec, logInfo, logError, logSuccess } from "./utils.js";
|
|
5
|
+
import { isTypeScriptEnabled } from "../utils.cjs";
|
|
6
|
+
import { esBuild } from "../transpile/esbuild.js";
|
|
7
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const compileTypeScript = async () => {
|
|
9
|
+
logInfo("Generating types...");
|
|
10
|
+
await exec("tsc --emitDeclarationOnly");
|
|
11
|
+
logInfo("Types generation completed...");
|
|
12
|
+
};
|
|
13
|
+
const webBuild = async (productionBuild) => {
|
|
14
|
+
logInfo("Building source files for browser environment...");
|
|
15
|
+
const devCmd = `${path.resolve(__dirname, "../webpack/webpack.lib.dev.babel.js")} --color`;
|
|
16
|
+
const prodCmd = `${path.resolve(__dirname, "../webpack/webpack.lib.prod.babel.js")} --color`;
|
|
17
|
+
await exec(`webpack --config ${productionBuild ? prodCmd : devCmd}`);
|
|
18
|
+
logInfo("Building source files for browser environment completed...");
|
|
19
|
+
};
|
|
20
|
+
const pack = async ({ production, target, srcPath }) => {
|
|
21
|
+
logInfo("Build in-progress...");
|
|
22
|
+
await exec("rimraf ./dist");
|
|
23
|
+
if (isTypeScriptEnabled()) {
|
|
24
|
+
await compileTypeScript();
|
|
25
|
+
}
|
|
26
|
+
if (target !== "node")
|
|
27
|
+
await webBuild(production);
|
|
28
|
+
if (target !== "web") {
|
|
29
|
+
logInfo("Building source files for nodejs environment...");
|
|
30
|
+
await esBuild({ srcdir: srcPath });
|
|
31
|
+
logInfo("Building source files for nodejs environment completed.");
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const packCmd = {
|
|
35
|
+
handler: async (argv) => {
|
|
36
|
+
try {
|
|
37
|
+
await pack(argv);
|
|
38
|
+
logSuccess("Build completed");
|
|
39
|
+
} catch (err) {
|
|
40
|
+
logError("Build failed", err);
|
|
41
|
+
yargs().exit(-1, err);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
command: "pack",
|
|
45
|
+
describe: "builds library",
|
|
46
|
+
builder: {
|
|
47
|
+
production: {
|
|
48
|
+
alias: "p",
|
|
49
|
+
type: "boolean",
|
|
50
|
+
default: false
|
|
51
|
+
},
|
|
52
|
+
target: {
|
|
53
|
+
alias: "t",
|
|
54
|
+
type: "string",
|
|
55
|
+
description: "target environment where this library will be used. allowed values are web, node. by default libraries will be compiled for both web and nodejs environments"
|
|
56
|
+
},
|
|
57
|
+
srcPath: {
|
|
58
|
+
type: "string",
|
|
59
|
+
default: "./lib"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
packCmd
|
|
65
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import yargs from "yargs";
|
|
4
|
+
import { exec, logError, logSuccess } from "./utils.js";
|
|
5
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const startProdServer = async () => {
|
|
7
|
+
await exec(`cross-env NODE_ENV=production ts-node ${path.resolve(__dirname, "../server")} --color always`);
|
|
8
|
+
};
|
|
9
|
+
const startDevServer = async () => {
|
|
10
|
+
await exec(`cross-env NODE_ENV=development webpack serve --config ${path.resolve(__dirname, "../webpack/webpack.dev.babel.js")}`);
|
|
11
|
+
};
|
|
12
|
+
const startCmd = {
|
|
13
|
+
handler: async (argv) => {
|
|
14
|
+
try {
|
|
15
|
+
if (argv.prod) {
|
|
16
|
+
await startProdServer();
|
|
17
|
+
} else {
|
|
18
|
+
await startDevServer();
|
|
19
|
+
}
|
|
20
|
+
logSuccess("Server started");
|
|
21
|
+
} catch (err) {
|
|
22
|
+
logError("Server start failed", err);
|
|
23
|
+
yargs().exit(-1, err);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
command: "start [options]",
|
|
27
|
+
describe: "starts local web server to test the application",
|
|
28
|
+
builder: {
|
|
29
|
+
prod: {
|
|
30
|
+
alias: "p",
|
|
31
|
+
default: false,
|
|
32
|
+
type: "boolean"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
startCmd
|
|
38
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import yargs from "yargs";
|
|
2
|
+
import { exec, logInfo, logError, logSuccess } from "./utils.js";
|
|
3
|
+
const buildStoryBook = async (isDoc = false) => {
|
|
4
|
+
const additionalParams = isDoc ? "--docs -o demo/docs" : "-o demo";
|
|
5
|
+
await exec(`cross-env NODE_ENV=production FORCE_COLOR=true build-storybook --quiet ${additionalParams}`);
|
|
6
|
+
};
|
|
7
|
+
const startStoryBook = async (isDoc = false) => {
|
|
8
|
+
await exec(`cross-env NODE_ENV=development STORYBOOK_BUILD=true FORCE_COLOR=true start-storybook ${isDoc && "--docs"} -p 11000 --quiet`);
|
|
9
|
+
};
|
|
10
|
+
const storybookCmd = {
|
|
11
|
+
handler: async (argv) => {
|
|
12
|
+
try {
|
|
13
|
+
if (!argv.build) {
|
|
14
|
+
await startStoryBook(argv.docs);
|
|
15
|
+
logInfo("Storybook started");
|
|
16
|
+
} else {
|
|
17
|
+
await buildStoryBook(argv.docs);
|
|
18
|
+
logSuccess("Storybook build completed");
|
|
19
|
+
}
|
|
20
|
+
} catch (err) {
|
|
21
|
+
logError("Storybook execution failed", err);
|
|
22
|
+
yargs().exit(-1, err);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
command: "storybook [options]",
|
|
26
|
+
describe: "story book application code",
|
|
27
|
+
builder: {
|
|
28
|
+
build: {
|
|
29
|
+
alias: "b",
|
|
30
|
+
type: "boolean",
|
|
31
|
+
default: false
|
|
32
|
+
},
|
|
33
|
+
docs: {
|
|
34
|
+
type: "boolean",
|
|
35
|
+
default: false
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export {
|
|
40
|
+
storybookCmd
|
|
41
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import yargs from "yargs";
|
|
2
|
+
import { exec, logError, logSuccess } from "./utils.js";
|
|
3
|
+
const { CI = false } = process.env;
|
|
4
|
+
const test = async (commandOptions) => {
|
|
5
|
+
await exec(`cross-env NODE_ENV=test jest ${commandOptions}`);
|
|
6
|
+
};
|
|
7
|
+
const testCmd = {
|
|
8
|
+
handler: async (argv) => {
|
|
9
|
+
let commandOptions = "--coverage";
|
|
10
|
+
if (argv.fix)
|
|
11
|
+
commandOptions = "-u";
|
|
12
|
+
else if (argv.watch)
|
|
13
|
+
commandOptions = "--watchAll";
|
|
14
|
+
if (CI)
|
|
15
|
+
commandOptions += " --ci --runInBand --no-colors";
|
|
16
|
+
else
|
|
17
|
+
commandOptions += " --maxWorkers=50%";
|
|
18
|
+
if (argv.p)
|
|
19
|
+
commandOptions += " --passWithNoTests";
|
|
20
|
+
if (argv.r)
|
|
21
|
+
commandOptions += " --bail --findRelatedTests";
|
|
22
|
+
if (argv.s)
|
|
23
|
+
commandOptions += " --silent";
|
|
24
|
+
try {
|
|
25
|
+
if (CI) {
|
|
26
|
+
await exec("rimraf ./reports");
|
|
27
|
+
}
|
|
28
|
+
await test(commandOptions);
|
|
29
|
+
logSuccess("Unit test execution completed");
|
|
30
|
+
} catch (err) {
|
|
31
|
+
logError("Unit test execution failed", err);
|
|
32
|
+
yargs().exit(-1, err);
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
return 0;
|
|
36
|
+
},
|
|
37
|
+
command: "test [options]",
|
|
38
|
+
describe: "unit tests application code",
|
|
39
|
+
builder: {
|
|
40
|
+
fix: {
|
|
41
|
+
alias: "f",
|
|
42
|
+
type: "boolean"
|
|
43
|
+
},
|
|
44
|
+
watch: {
|
|
45
|
+
alias: "w",
|
|
46
|
+
type: "boolean"
|
|
47
|
+
},
|
|
48
|
+
passWithNoTests: {
|
|
49
|
+
alias: "p",
|
|
50
|
+
type: "boolean"
|
|
51
|
+
},
|
|
52
|
+
findReleatedTests: {
|
|
53
|
+
alias: "r",
|
|
54
|
+
type: "boolean"
|
|
55
|
+
},
|
|
56
|
+
silent: {
|
|
57
|
+
alias: "s",
|
|
58
|
+
type: "boolean"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
export {
|
|
63
|
+
testCmd
|
|
64
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import path from "node:path";
|
|
21
|
+
import fs from "node:fs";
|
|
22
|
+
import yargs from "yargs";
|
|
23
|
+
import { exec, logInfo, logError } from "./utils.js";
|
|
24
|
+
const randomChars = () => Math.random().toString(36).slice(2);
|
|
25
|
+
const validateTypescript = async (files = []) => {
|
|
26
|
+
const tsconfigPath = path.join(process.cwd(), "tsconfig.json");
|
|
27
|
+
const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath));
|
|
28
|
+
const tmpTsconfigPath = path.join(process.cwd(), `tsconfig.${randomChars()}.json`);
|
|
29
|
+
const tmpTsconfig = __spreadProps(__spreadValues({}, tsconfig), {
|
|
30
|
+
compilerOptions: __spreadProps(__spreadValues({}, tsconfig.compilerOptions), {
|
|
31
|
+
skipLibCheck: true
|
|
32
|
+
}),
|
|
33
|
+
files,
|
|
34
|
+
include: ["app", "lib"]
|
|
35
|
+
});
|
|
36
|
+
fs.writeFileSync(tmpTsconfigPath, JSON.stringify(tmpTsconfig, null, 2));
|
|
37
|
+
const tscPath = path.resolve(process.cwd(), `./node_modules/.bin/tsc${process.platform === "win32" ? ".cmd" : ""}`);
|
|
38
|
+
try {
|
|
39
|
+
await exec(`${tscPath} -p ${tmpTsconfigPath} --noEmit --emitDeclarationOnly false`);
|
|
40
|
+
} finally {
|
|
41
|
+
fs.unlinkSync(tmpTsconfigPath);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const tscheckCmd = {
|
|
45
|
+
handler: async ({ files }) => {
|
|
46
|
+
try {
|
|
47
|
+
await validateTypescript(files);
|
|
48
|
+
logInfo("Typescript validation completed");
|
|
49
|
+
} catch (err) {
|
|
50
|
+
logError("Typescript validation failed", err);
|
|
51
|
+
yargs().exit(-1, err);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
command: "tscheck [options]",
|
|
55
|
+
describe: "validate typescript file(s)",
|
|
56
|
+
builder: {
|
|
57
|
+
files: {
|
|
58
|
+
type: "array",
|
|
59
|
+
default: []
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
tscheckCmd
|
|
65
|
+
};
|