@elliemae/pui-cli 7.27.0-beta.1 → 8.0.0-next.1
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/cjs/cli.js +14 -12
- package/dist/cjs/commands/build.js +8 -7
- package/dist/cjs/commands/codemod.js +6 -8
- package/dist/cjs/commands/gendoc.js +1 -1
- package/dist/cjs/commands/lint.js +20 -22
- package/dist/cjs/commands/pack.js +24 -19
- package/dist/cjs/commands/start.js +10 -9
- package/dist/cjs/commands/storybook.js +18 -17
- package/dist/cjs/commands/test.js +36 -30
- package/dist/cjs/commands/tscheck.js +8 -7
- package/dist/cjs/commands/utils.js +12 -7
- package/dist/cjs/commands/version.js +20 -18
- package/dist/cjs/commands/vitest.js +31 -27
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/lint-config/eslint/common.cjs +88 -85
- package/dist/cjs/monorepo/delete-merged-tags.js +1 -1
- package/dist/cjs/monorepo/set-registry-version.js +2 -2
- package/dist/cjs/monorepo/set-workspace-version.js +2 -2
- package/dist/cjs/monorepo/utils.js +54 -0
- package/dist/cjs/release.config.cjs +0 -7
- package/dist/cjs/server/appRoutes.js +74 -0
- package/dist/cjs/server/csp.js +3 -4
- package/dist/cjs/server/index.js +13 -11
- package/dist/cjs/server/middlewares.js +7 -4
- package/dist/cjs/server/utils.js +1 -1
- package/dist/cjs/utils.js +50 -0
- package/dist/cjs/webpack/helpers.js +3 -3
- package/dist/cjs/webpack/webpack.base.babel.js +3 -10
- package/dist/cjs/webpack/webpack.dev.babel.js +12 -9
- package/dist/cjs/webpack/webpack.lib.base.babel.js +4 -5
- package/dist/cjs/webpack/webpack.lib.dev.babel.js +1 -0
- package/dist/cjs/webpack/webpack.prod.babel.js +7 -15
- package/dist/cjs/webpack/webpack.storybook.js +27 -20
- package/dist/esm/cli.js +14 -12
- package/dist/esm/commands/build.js +8 -7
- package/dist/esm/commands/codemod.js +6 -8
- package/dist/esm/commands/gendoc.js +1 -1
- package/dist/esm/commands/lint.js +26 -22
- package/dist/esm/commands/pack.js +31 -19
- package/dist/esm/commands/start.js +10 -9
- package/dist/esm/commands/storybook.js +18 -17
- package/dist/esm/commands/test.js +36 -30
- package/dist/esm/commands/tscheck.js +8 -7
- package/dist/esm/commands/utils.js +11 -6
- package/dist/esm/commands/version.js +20 -18
- package/dist/esm/commands/vitest.js +31 -27
- package/dist/esm/index.cjs +0 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/lint-config/eslint/common.cjs +88 -85
- package/dist/esm/monorepo/delete-merged-tags.js +1 -1
- package/dist/esm/monorepo/set-registry-version.js +2 -2
- package/dist/esm/monorepo/set-workspace-version.js +2 -2
- package/dist/esm/monorepo/utils.js +24 -0
- package/dist/esm/release.config.cjs +0 -7
- package/dist/{cjs/server/app-routes.cjs → esm/server/appRoutes.js} +25 -23
- package/dist/esm/server/csp.js +3 -4
- package/dist/esm/server/index.js +13 -11
- package/dist/esm/server/middlewares.js +7 -4
- package/dist/esm/server/utils.js +1 -1
- package/dist/esm/utils.js +20 -0
- package/dist/esm/webpack/helpers.js +3 -3
- package/dist/esm/webpack/webpack.base.babel.js +3 -10
- package/dist/esm/webpack/webpack.dev.babel.js +16 -10
- package/dist/esm/webpack/webpack.lib.base.babel.js +4 -5
- package/dist/esm/webpack/webpack.lib.dev.babel.js +1 -0
- package/dist/esm/webpack/webpack.prod.babel.js +7 -15
- package/dist/esm/webpack/webpack.storybook.js +27 -20
- package/dist/types/commands/build.d.ts +6 -14
- package/dist/types/commands/codemod.d.ts +6 -6
- package/dist/types/commands/gendoc.d.ts +2 -6
- package/dist/types/commands/lint.d.ts +8 -29
- package/dist/types/commands/pack.d.ts +8 -26
- package/dist/types/commands/start.d.ts +6 -13
- package/dist/types/commands/storybook.d.ts +8 -27
- package/dist/types/commands/test.d.ts +11 -39
- package/dist/types/commands/tscheck.d.ts +5 -14
- package/dist/types/commands/utils.d.ts +11 -11
- package/dist/types/commands/version.d.ts +9 -28
- package/dist/types/commands/vitest.d.ts +10 -35
- package/dist/types/index.d.cts +1 -2
- package/dist/types/index.d.ts +11 -11
- package/dist/types/lint-config/eslint/common.d.cts +58 -55
- package/dist/types/lint-config/eslint/non-react.d.cts +34 -31
- package/dist/types/lint-config/eslint/react.d.cts +58 -55
- package/dist/types/lint-config/eslint/typescript/non-react.d.cts +28 -28
- package/dist/types/lint-config/eslint/typescript/react.d.cts +52 -52
- package/dist/types/monorepo/delete-merged-tags.d.ts +1 -1
- package/dist/types/monorepo/set-registry-version.d.ts +1 -1
- package/dist/types/monorepo/set-workspace-version.d.ts +1 -1
- package/dist/types/monorepo/utils.d.ts +1 -0
- package/dist/types/release.config.d.cts +0 -2
- package/dist/types/server/appRoutes.d.ts +2 -0
- package/dist/types/server/csp.d.ts +12 -9
- package/dist/types/server/logger.d.ts +7 -4
- package/dist/types/server/middlewares.d.ts +6 -2
- package/dist/types/server/utils.d.ts +3 -3
- package/dist/types/testing/jest.config.d.cts +10 -10
- package/dist/types/testing/jest.node.config.d.cts +10 -10
- package/dist/types/utils.d.ts +4 -0
- package/dist/types/webpack/helpers.d.ts +19 -18
- package/dist/types/webpack/webpack.base.babel.d.ts +3 -106
- package/dist/types/webpack/webpack.dev.babel.d.ts +2 -1
- package/dist/types/webpack/webpack.lib.base.babel.d.ts +3 -102
- package/dist/types/webpack/webpack.lib.dev.babel.d.ts +3 -101
- package/dist/types/webpack/webpack.lib.prod.babel.d.ts +2 -101
- package/dist/types/webpack/webpack.prod.babel.d.ts +3 -2
- package/dist/types/webpack/webpack.storybook.d.ts +5 -4
- package/package.json +45 -30
- package/dist/cjs/typescript/app.tsconfig.json +0 -23
- package/dist/cjs/typescript/library.tsconfig.json +0 -23
- package/dist/esm/server/app-routes.cjs +0 -42
- package/dist/esm/typescript/app.tsconfig.json +0 -23
- package/dist/esm/typescript/library.tsconfig.json +0 -23
- package/dist/types/server/app-routes.d.cts +0 -1
|
@@ -33,10 +33,10 @@ __export(webpack_base_babel_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(webpack_base_babel_exports);
|
|
34
34
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
35
35
|
var import_webpack = __toESM(require("webpack"), 1);
|
|
36
|
+
var import_webpack_dev_server = require("webpack-dev-server");
|
|
36
37
|
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
37
38
|
var import_postcss_preset_env = __toESM(require("postcss-preset-env"), 1);
|
|
38
39
|
var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
|
|
39
|
-
var import_duplicate_package_checker_webpack_plugin = __toESM(require("duplicate-package-checker-webpack-plugin"), 1);
|
|
40
40
|
var import_moment_locales_webpack_plugin = __toESM(require("moment-locales-webpack-plugin"), 1);
|
|
41
41
|
var import_webpack_manifest_plugin = require("webpack-manifest-plugin");
|
|
42
42
|
var import_favicons_webpack_plugin = __toESM(require("favicons-webpack-plugin"), 1);
|
|
@@ -140,7 +140,6 @@ const plugins = [
|
|
|
140
140
|
}
|
|
141
141
|
])
|
|
142
142
|
}),
|
|
143
|
-
new import_duplicate_package_checker_webpack_plugin.default(),
|
|
144
143
|
new import_moment_locales_webpack_plugin.default({ localesToKeep: ["es-us"] }),
|
|
145
144
|
new import_webpack_manifest_plugin.WebpackManifestPlugin({
|
|
146
145
|
fileName: "./latest/manifest.json",
|
|
@@ -154,13 +153,7 @@ const plugins = [
|
|
|
154
153
|
outputPath: "./latest/assets",
|
|
155
154
|
logo: "./app/view/images/favicon.png",
|
|
156
155
|
favicons: {
|
|
157
|
-
developerName: "ICE MT"
|
|
158
|
-
developerURL: null,
|
|
159
|
-
// prevent retrieving from the nearest package.json
|
|
160
|
-
icons: {
|
|
161
|
-
coast: false,
|
|
162
|
-
yandex: false
|
|
163
|
-
}
|
|
156
|
+
developerName: "ICE MT"
|
|
164
157
|
}
|
|
165
158
|
})
|
|
166
159
|
];
|
|
@@ -266,7 +259,7 @@ const baseConfig = (options) => ({
|
|
|
266
259
|
}
|
|
267
260
|
]
|
|
268
261
|
},
|
|
269
|
-
plugins: plugins.concat(options.plugins),
|
|
262
|
+
plugins: options.plugins ? plugins.concat(options.plugins) : plugins,
|
|
270
263
|
resolve: {
|
|
271
264
|
modules: [
|
|
272
265
|
"node_modules",
|
|
@@ -38,15 +38,12 @@ var import_html_webpack_plugin = __toESM(require("html-webpack-plugin"), 1);
|
|
|
38
38
|
var import_circular_dependency_plugin = __toESM(require("circular-dependency-plugin"), 1);
|
|
39
39
|
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
40
40
|
var import_react_refresh_webpack_plugin = __toESM(require("@pmmmwh/react-refresh-webpack-plugin"), 1);
|
|
41
|
-
var import_speed_measure_webpack_plugin = __toESM(require("speed-measure-webpack-plugin"), 1);
|
|
42
|
-
var import_express_static_gzip = __toESM(require("express-static-gzip"), 1);
|
|
43
41
|
var import_middlewares = require("../server/middlewares.js");
|
|
44
|
-
var
|
|
42
|
+
var import_appRoutes = require("../server/appRoutes.js");
|
|
45
43
|
var import_helpers = require("./helpers.js");
|
|
46
44
|
var import_webpack_base_babel = require("./webpack.base.babel.js");
|
|
47
45
|
const import_meta = {};
|
|
48
46
|
const __filename = (0, import_node_url.fileURLToPath)(import_meta.url);
|
|
49
|
-
const smp = new import_speed_measure_webpack_plugin.default({ disable: !process.env.MEASURE });
|
|
50
47
|
const {
|
|
51
48
|
appVersion,
|
|
52
49
|
buildPath,
|
|
@@ -145,13 +142,19 @@ const devConfig = {
|
|
|
145
142
|
open: [basePath],
|
|
146
143
|
port: process.env.PORT || "auto",
|
|
147
144
|
setupMiddlewares: (middlewares, devServer) => {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
145
|
+
if (devServer.app) {
|
|
146
|
+
(0, import_middlewares.setupDefaultMiddlewares)(devServer.app);
|
|
147
|
+
(0, import_appRoutes.loadRoutes)(devServer.app).then(() => {
|
|
148
|
+
if (devServer.app)
|
|
149
|
+
(0, import_middlewares.setupAdditionalMiddlewars)(devServer.app);
|
|
150
|
+
}).catch((err) => {
|
|
151
|
+
console.error(err);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
151
154
|
return middlewares;
|
|
152
155
|
}
|
|
153
156
|
}
|
|
154
157
|
};
|
|
155
|
-
const config =
|
|
156
|
-
config.plugins = config.plugins.concat([new import_react_refresh_webpack_plugin.default({})]);
|
|
158
|
+
const config = (0, import_webpack_base_babel.baseConfig)(devConfig);
|
|
159
|
+
config.plugins = config.plugins ? config.plugins.concat([new import_react_refresh_webpack_plugin.default({})]) : [];
|
|
157
160
|
var webpack_dev_babel_default = config;
|
|
@@ -33,15 +33,15 @@ __export(webpack_lib_base_babel_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(webpack_lib_base_babel_exports);
|
|
34
34
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
35
35
|
var import_webpack = __toESM(require("webpack"), 1);
|
|
36
|
+
var import_webpack_dev_server = require("webpack-dev-server");
|
|
36
37
|
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
37
38
|
var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
|
|
38
39
|
var import_postcss_preset_env = __toESM(require("postcss-preset-env"), 1);
|
|
39
|
-
var import_duplicate_package_checker_webpack_plugin = __toESM(require("duplicate-package-checker-webpack-plugin"), 1);
|
|
40
40
|
var import_moment_locales_webpack_plugin = __toESM(require("moment-locales-webpack-plugin"), 1);
|
|
41
41
|
var import_resolve_typescript_plugin = __toESM(require("resolve-typescript-plugin"), 1);
|
|
42
42
|
var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
|
|
43
43
|
var import_helpers = require("./helpers.js");
|
|
44
|
-
var import_utils = require("../utils.
|
|
44
|
+
var import_utils = require("../utils.js");
|
|
45
45
|
const minicssLoader = {
|
|
46
46
|
loader: import_mini_css_extract_plugin.default.loader,
|
|
47
47
|
options: {}
|
|
@@ -64,7 +64,7 @@ const plugins = [
|
|
|
64
64
|
CI: "false"
|
|
65
65
|
}),
|
|
66
66
|
new import_webpack.default.DefinePlugin({
|
|
67
|
-
APP_CONFIG: (0, import_utils.getAppConfig)(
|
|
67
|
+
APP_CONFIG: (0, import_utils.getAppConfig)()
|
|
68
68
|
}),
|
|
69
69
|
/* eslint-disable indent */
|
|
70
70
|
...copyPluginPatterns.length > 0 ? [
|
|
@@ -73,7 +73,6 @@ const plugins = [
|
|
|
73
73
|
})
|
|
74
74
|
] : [],
|
|
75
75
|
/* eslint-enable indent */
|
|
76
|
-
new import_duplicate_package_checker_webpack_plugin.default(),
|
|
77
76
|
new import_webpack.default.optimize.LimitChunkCountPlugin({
|
|
78
77
|
maxChunks: 1
|
|
79
78
|
}),
|
|
@@ -191,7 +190,7 @@ const baseConfig = (options) => ({
|
|
|
191
190
|
}
|
|
192
191
|
]
|
|
193
192
|
},
|
|
194
|
-
plugins: plugins.concat(options.plugins || []),
|
|
193
|
+
plugins: options.plugins ? plugins.concat(options.plugins || []) : plugins,
|
|
195
194
|
resolve: {
|
|
196
195
|
modules: [
|
|
197
196
|
"node_modules",
|
|
@@ -33,6 +33,7 @@ __export(webpack_lib_dev_babel_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(webpack_lib_dev_babel_exports);
|
|
34
34
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
35
35
|
var import_webpack = __toESM(require("webpack"), 1);
|
|
36
|
+
var import_webpack_dev_server = require("webpack-dev-server");
|
|
36
37
|
var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
37
38
|
var import_circular_dependency_plugin = __toESM(require("circular-dependency-plugin"), 1);
|
|
38
39
|
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
@@ -37,7 +37,6 @@ var import_workbox_webpack_plugin = require("workbox-webpack-plugin");
|
|
|
37
37
|
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
38
38
|
var import_webpack_bundle_analyzer = require("webpack-bundle-analyzer");
|
|
39
39
|
var import_esbuild_loader = require("esbuild-loader");
|
|
40
|
-
var import_speed_measure_webpack_plugin = __toESM(require("speed-measure-webpack-plugin"), 1);
|
|
41
40
|
var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
|
|
42
41
|
var import_webpack_base_babel = require("./webpack.base.babel.js");
|
|
43
42
|
var import_helpers = require("./helpers.js");
|
|
@@ -82,6 +81,10 @@ const getProdConfig = ({ latestVersion = true } = {}) => {
|
|
|
82
81
|
},
|
|
83
82
|
plugins: [
|
|
84
83
|
...(0, import_helpers.getCompressionPlugins)(),
|
|
84
|
+
new import_mini_css_extract_plugin.default({
|
|
85
|
+
filename: "latest/css/[name].[contenthash].css",
|
|
86
|
+
chunkFilename: "latest/css/[name].[contenthash].chunk.css"
|
|
87
|
+
}),
|
|
85
88
|
new import_webpack_bundle_analyzer.BundleAnalyzerPlugin({
|
|
86
89
|
analyzerMode: "static",
|
|
87
90
|
reportFilename: import_node_path.default.join(process.cwd(), "reports/bundle-stats.html"),
|
|
@@ -134,17 +137,6 @@ const htmlWebpackPlugin = new import_html_webpack_plugin.default({
|
|
|
134
137
|
}
|
|
135
138
|
});
|
|
136
139
|
const config = (0, import_webpack_base_babel.baseConfig)(getProdConfig());
|
|
137
|
-
config.plugins
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
disable: !process.env.MEASURE
|
|
141
|
-
}).wrap(webpackConfig);
|
|
142
|
-
smpConfig.plugins.push(
|
|
143
|
-
new import_mini_css_extract_plugin.default({
|
|
144
|
-
filename: "latest/css/[name].[contenthash].css",
|
|
145
|
-
chunkFilename: "latest/css/[name].[contenthash].chunk.css"
|
|
146
|
-
})
|
|
147
|
-
);
|
|
148
|
-
return smpConfig;
|
|
149
|
-
};
|
|
150
|
-
var webpack_prod_babel_default = addSMPPlugin(config);
|
|
140
|
+
if (config.plugins)
|
|
141
|
+
config.plugins.push(htmlWebpackPlugin);
|
|
142
|
+
var webpack_prod_babel_default = config;
|
|
@@ -37,7 +37,7 @@ var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"),
|
|
|
37
37
|
var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
|
|
38
38
|
var import_resolve_typescript_plugin = __toESM(require("resolve-typescript-plugin"), 1);
|
|
39
39
|
var import_helpers = require("./helpers.js");
|
|
40
|
-
var import_utils = require("../utils.
|
|
40
|
+
var import_utils = require("../utils.js");
|
|
41
41
|
const IS_APP = (0, import_utils.isApp)();
|
|
42
42
|
const CWD = process.cwd();
|
|
43
43
|
const getAdditionalPlugins = () => [
|
|
@@ -84,32 +84,39 @@ const getModuleRules = () => [
|
|
|
84
84
|
type: "asset/resource"
|
|
85
85
|
}
|
|
86
86
|
];
|
|
87
|
-
const webpackFinal =
|
|
87
|
+
const webpackFinal = (config, { configType }) => {
|
|
88
88
|
const isProd = configType === "PRODUCTION";
|
|
89
|
-
const fileLoaderRule = config
|
|
89
|
+
const fileLoaderRule = config?.module?.rules?.find?.(
|
|
90
90
|
(rule) => rule.test?.test?.(".svg")
|
|
91
91
|
);
|
|
92
|
-
fileLoaderRule
|
|
93
|
-
|
|
94
|
-
config
|
|
92
|
+
if (fileLoaderRule)
|
|
93
|
+
fileLoaderRule.exclude = /\.svg$/i;
|
|
94
|
+
config?.module?.rules?.unshift(...getModuleRules());
|
|
95
|
+
config?.plugins?.push(...getAdditionalPlugins());
|
|
95
96
|
if (isProd) {
|
|
96
|
-
config.plugins = config
|
|
97
|
+
config.plugins = config?.plugins?.concat((0, import_helpers.getCompressionPlugins)());
|
|
98
|
+
}
|
|
99
|
+
if (config.resolve) {
|
|
100
|
+
config.resolve.alias = { ...config?.resolve?.alias, ...(0, import_helpers.getAlias)() };
|
|
101
|
+
config.resolve.fallback = { ...config.resolve.fallback, crypto: false };
|
|
102
|
+
config.resolve.extensions?.push(".svg");
|
|
103
|
+
config.resolve.plugins = [
|
|
104
|
+
...config.resolve.plugins || [],
|
|
105
|
+
new import_resolve_typescript_plugin.default({})
|
|
106
|
+
];
|
|
97
107
|
}
|
|
98
|
-
config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
|
|
99
|
-
config.resolve.fallback = { ...config.resolve.fallback, crypto: false };
|
|
100
|
-
config.resolve.extensions.push(".svg");
|
|
101
|
-
config.resolve.plugins = [
|
|
102
|
-
...config.resolve.plugins || [],
|
|
103
|
-
new import_resolve_typescript_plugin.default({})
|
|
104
|
-
];
|
|
105
108
|
config.externals = config.externals || {};
|
|
106
|
-
config.externals
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
if (config.externals) {
|
|
110
|
+
config.externals["@elliemae/pui-user-monitoring"] = "emuiUserMonitoring";
|
|
111
|
+
config.externals["@elliemae/pui-app-loader"] = "emuiAppLoader";
|
|
112
|
+
config.externals["@elliemae/pui-diagnostics"] = "emuiDiagnostics";
|
|
113
|
+
}
|
|
109
114
|
return config;
|
|
110
115
|
};
|
|
111
|
-
const managerWebpack =
|
|
112
|
-
|
|
113
|
-
|
|
116
|
+
const managerWebpack = (config) => {
|
|
117
|
+
if (config.plugins)
|
|
118
|
+
config.plugins = config.plugins.concat((0, import_helpers.getCompressionPlugins)());
|
|
119
|
+
if (config.resolve)
|
|
120
|
+
config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
|
|
114
121
|
return config;
|
|
115
122
|
};
|
package/dist/esm/cli.js
CHANGED
|
@@ -19,15 +19,17 @@ import { tscheckCmd } from "./commands/tscheck.js";
|
|
|
19
19
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
20
20
|
envConfig();
|
|
21
21
|
process.env.PATH += path.delimiter + path.join(__dirname, "..", "node_modules", ".bin");
|
|
22
|
-
|
|
23
|
-
yargs(hideBin(process.argv)).command(
|
|
24
|
-
yargs(hideBin(process.argv)).command(
|
|
25
|
-
yargs(hideBin(process.argv)).command(
|
|
26
|
-
yargs(hideBin(process.argv)).command(
|
|
27
|
-
yargs(hideBin(process.argv)).command(
|
|
28
|
-
yargs(hideBin(process.argv)).command(
|
|
29
|
-
yargs(hideBin(process.argv)).command(
|
|
30
|
-
yargs(hideBin(process.argv)).command(
|
|
31
|
-
yargs(hideBin(process.argv)).command(
|
|
32
|
-
yargs(hideBin(process.argv)).command(
|
|
33
|
-
|
|
22
|
+
(async () => {
|
|
23
|
+
await yargs(hideBin(process.argv)).command(buildCmd).help().argv;
|
|
24
|
+
await yargs(hideBin(process.argv)).command(packCmd).help().argv;
|
|
25
|
+
await yargs(hideBin(process.argv)).command(startCmd).help().argv;
|
|
26
|
+
await yargs(hideBin(process.argv)).command(testCmd).help().argv;
|
|
27
|
+
await yargs(hideBin(process.argv)).command(lintCmd).help().argv;
|
|
28
|
+
await yargs(hideBin(process.argv)).command(gendocCmd).help().argv;
|
|
29
|
+
await yargs(hideBin(process.argv)).command(codemodCmd).help().argv;
|
|
30
|
+
await yargs(hideBin(process.argv)).command(storybookCmd).help().argv;
|
|
31
|
+
await yargs(hideBin(process.argv)).command(vitestCmd).help().argv;
|
|
32
|
+
await yargs(hideBin(process.argv)).command(versionCmd).help().argv;
|
|
33
|
+
await yargs(hideBin(process.argv)).command(tscheckCmd).help().argv;
|
|
34
|
+
await notifyUpdates();
|
|
35
|
+
})();
|
|
@@ -30,11 +30,17 @@ const buildService = async () => {
|
|
|
30
30
|
srcdir: "./app",
|
|
31
31
|
outdir: "build",
|
|
32
32
|
esmOnly: true,
|
|
33
|
-
target: TARGETS.node,
|
|
33
|
+
target: [TARGETS.node],
|
|
34
34
|
injectReactShim: false,
|
|
35
35
|
skipNestedPackageJSON: true
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
|
+
const cmdArgs = {
|
|
39
|
+
service: {
|
|
40
|
+
boolean: true,
|
|
41
|
+
default: false
|
|
42
|
+
}
|
|
43
|
+
};
|
|
38
44
|
const buildCmd = {
|
|
39
45
|
handler: async ({ service = false }) => {
|
|
40
46
|
try {
|
|
@@ -51,12 +57,7 @@ const buildCmd = {
|
|
|
51
57
|
},
|
|
52
58
|
command: "build",
|
|
53
59
|
describe: "builds front end application or NodeJS service",
|
|
54
|
-
builder:
|
|
55
|
-
service: {
|
|
56
|
-
type: "boolean",
|
|
57
|
-
default: false
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
60
61
|
};
|
|
61
62
|
export {
|
|
62
63
|
buildCmd
|
|
@@ -2,7 +2,7 @@ import yargs from "yargs";
|
|
|
2
2
|
import { exec, logInfo, logError, logSuccess } from "./utils.js";
|
|
3
3
|
const transform = async (argv) => {
|
|
4
4
|
logInfo("Code modification in-progress...");
|
|
5
|
-
exec(`jscodeshift --ignore-file=.gitignore -t ${argv.transform} .`);
|
|
5
|
+
await exec(`jscodeshift --ignore-file=.gitignore -t ${argv.transform} .`);
|
|
6
6
|
};
|
|
7
7
|
const codemodCmd = {
|
|
8
8
|
handler: async (argv) => {
|
|
@@ -16,13 +16,11 @@ const codemodCmd = {
|
|
|
16
16
|
},
|
|
17
17
|
command: "codemod <transform>",
|
|
18
18
|
describe: "Transforms code",
|
|
19
|
-
builder: (yargsRef) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
}
|
|
19
|
+
builder: (yargsRef) => yargsRef.positional("transform", {
|
|
20
|
+
describe: "path to the transform file. Can be either a local path or url",
|
|
21
|
+
string: true,
|
|
22
|
+
default: "./transform.js"
|
|
23
|
+
}).help()
|
|
26
24
|
};
|
|
27
25
|
export {
|
|
28
26
|
codemodCmd
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import yargs from "yargs";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
exec,
|
|
5
|
+
logError,
|
|
6
|
+
logSuccess,
|
|
7
|
+
getCIEnv,
|
|
8
|
+
isTypeScriptEnabled
|
|
9
|
+
} from "./utils.js";
|
|
5
10
|
const lintCSS = async (fix = false) => {
|
|
6
11
|
const fixIssues = fix ? "--fix" : "";
|
|
7
12
|
await exec(
|
|
@@ -17,6 +22,23 @@ const lintJS = async (fix = false) => {
|
|
|
17
22
|
`eslint ${!getCIEnv() ? "--color" : "--no-color"} ${fixIssues} .`
|
|
18
23
|
);
|
|
19
24
|
};
|
|
25
|
+
const cmdArgs = {
|
|
26
|
+
css: {
|
|
27
|
+
boolean: true,
|
|
28
|
+
alias: "css",
|
|
29
|
+
default: true
|
|
30
|
+
},
|
|
31
|
+
js: {
|
|
32
|
+
boolean: true,
|
|
33
|
+
alias: "js",
|
|
34
|
+
default: true
|
|
35
|
+
},
|
|
36
|
+
fix: {
|
|
37
|
+
boolean: true,
|
|
38
|
+
alias: "fix",
|
|
39
|
+
default: false
|
|
40
|
+
}
|
|
41
|
+
};
|
|
20
42
|
const lintCmd = {
|
|
21
43
|
handler: async (argv) => {
|
|
22
44
|
if (argv.js) {
|
|
@@ -29,7 +51,7 @@ const lintCmd = {
|
|
|
29
51
|
} catch (err) {
|
|
30
52
|
logError("JS linting failed");
|
|
31
53
|
yargs().exit(-1, err);
|
|
32
|
-
return
|
|
54
|
+
return;
|
|
33
55
|
}
|
|
34
56
|
}
|
|
35
57
|
if (argv.css) {
|
|
@@ -40,30 +62,12 @@ const lintCmd = {
|
|
|
40
62
|
} catch (err) {
|
|
41
63
|
logError("CSS linting failed");
|
|
42
64
|
yargs().exit(-1, err);
|
|
43
|
-
return -1;
|
|
44
65
|
}
|
|
45
66
|
}
|
|
46
|
-
return 0;
|
|
47
67
|
},
|
|
48
68
|
command: "lint [options]",
|
|
49
69
|
describe: "lints application code",
|
|
50
|
-
builder:
|
|
51
|
-
css: {
|
|
52
|
-
alias: "css",
|
|
53
|
-
type: "boolean",
|
|
54
|
-
default: true
|
|
55
|
-
},
|
|
56
|
-
js: {
|
|
57
|
-
alias: "js",
|
|
58
|
-
type: "boolean",
|
|
59
|
-
default: true
|
|
60
|
-
},
|
|
61
|
-
fix: {
|
|
62
|
-
alias: "fix",
|
|
63
|
-
type: "boolean",
|
|
64
|
-
default: false
|
|
65
|
-
}
|
|
66
|
-
}
|
|
70
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
67
71
|
};
|
|
68
72
|
export {
|
|
69
73
|
lintCmd
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
import yargs from "yargs";
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import {
|
|
5
|
+
exec,
|
|
6
|
+
logInfo,
|
|
7
|
+
logError,
|
|
8
|
+
logSuccess,
|
|
9
|
+
getCIEnv,
|
|
10
|
+
isTypeScriptEnabled
|
|
11
|
+
} from "./utils.js";
|
|
6
12
|
import { esBuild } from "../transpile/esbuild.js";
|
|
7
13
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
14
|
const compileTypeScript = async () => {
|
|
@@ -26,7 +32,11 @@ const webBuild = async (productionBuild) => {
|
|
|
26
32
|
);
|
|
27
33
|
logInfo("Building source files for browser environment completed...");
|
|
28
34
|
};
|
|
29
|
-
const pack = async ({
|
|
35
|
+
const pack = async ({
|
|
36
|
+
production,
|
|
37
|
+
target,
|
|
38
|
+
srcPath
|
|
39
|
+
}) => {
|
|
30
40
|
logInfo("Build in-progress...");
|
|
31
41
|
await exec("rimraf ./dist");
|
|
32
42
|
if (isTypeScriptEnabled()) {
|
|
@@ -40,6 +50,23 @@ const pack = async ({ production, target, srcPath }) => {
|
|
|
40
50
|
logInfo("Building source files for nodejs environment completed.");
|
|
41
51
|
}
|
|
42
52
|
};
|
|
53
|
+
const cmdArgs = {
|
|
54
|
+
production: {
|
|
55
|
+
boolean: true,
|
|
56
|
+
alias: "p",
|
|
57
|
+
default: false
|
|
58
|
+
},
|
|
59
|
+
target: {
|
|
60
|
+
string: true,
|
|
61
|
+
alias: "t",
|
|
62
|
+
default: "",
|
|
63
|
+
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"
|
|
64
|
+
},
|
|
65
|
+
srcPath: {
|
|
66
|
+
string: true,
|
|
67
|
+
default: "./lib"
|
|
68
|
+
}
|
|
69
|
+
};
|
|
43
70
|
const packCmd = {
|
|
44
71
|
handler: async (argv) => {
|
|
45
72
|
try {
|
|
@@ -52,22 +79,7 @@ const packCmd = {
|
|
|
52
79
|
},
|
|
53
80
|
command: "pack",
|
|
54
81
|
describe: "builds library",
|
|
55
|
-
builder:
|
|
56
|
-
production: {
|
|
57
|
-
alias: "p",
|
|
58
|
-
type: "boolean",
|
|
59
|
-
default: false
|
|
60
|
-
},
|
|
61
|
-
target: {
|
|
62
|
-
alias: "t",
|
|
63
|
-
type: "string",
|
|
64
|
-
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"
|
|
65
|
-
},
|
|
66
|
-
srcPath: {
|
|
67
|
-
type: "string",
|
|
68
|
-
default: "./lib"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
82
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
71
83
|
};
|
|
72
84
|
export {
|
|
73
85
|
packCmd
|
|
@@ -5,9 +5,9 @@ import { exec, logError, logSuccess, isApp } from "./utils.js";
|
|
|
5
5
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
6
|
const startProdServer = async () => {
|
|
7
7
|
await exec(
|
|
8
|
-
`cross-env NODE_ENV=production ts-node ${path.resolve(
|
|
8
|
+
`cross-env NODE_ENV=production ts-node --esm ${path.resolve(
|
|
9
9
|
__dirname,
|
|
10
|
-
"../server"
|
|
10
|
+
"../server.ts"
|
|
11
11
|
)} --color always`
|
|
12
12
|
);
|
|
13
13
|
};
|
|
@@ -20,6 +20,13 @@ const startDevServer = async () => {
|
|
|
20
20
|
)}`
|
|
21
21
|
);
|
|
22
22
|
};
|
|
23
|
+
const cmdArgs = {
|
|
24
|
+
prod: {
|
|
25
|
+
boolean: true,
|
|
26
|
+
alias: "p",
|
|
27
|
+
default: false
|
|
28
|
+
}
|
|
29
|
+
};
|
|
23
30
|
const startCmd = {
|
|
24
31
|
handler: async (argv) => {
|
|
25
32
|
try {
|
|
@@ -36,13 +43,7 @@ const startCmd = {
|
|
|
36
43
|
},
|
|
37
44
|
command: "start [options]",
|
|
38
45
|
describe: "starts local web server to test the application",
|
|
39
|
-
builder:
|
|
40
|
-
prod: {
|
|
41
|
-
alias: "p",
|
|
42
|
-
default: false,
|
|
43
|
-
type: "boolean"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
46
47
|
};
|
|
47
48
|
export {
|
|
48
49
|
startCmd
|
|
@@ -8,9 +8,25 @@ const buildStoryBook = async (outputDir = "demo", isDoc = false) => {
|
|
|
8
8
|
};
|
|
9
9
|
const startStoryBook = async (isDoc = false) => {
|
|
10
10
|
await exec(
|
|
11
|
-
`cross-env NODE_ENV=development STORYBOOK_BUILD=true start-storybook ${isDoc
|
|
11
|
+
`cross-env NODE_ENV=development STORYBOOK_BUILD=true start-storybook ${isDoc ? "--docs" : ""} -p 11000 --quiet`
|
|
12
12
|
);
|
|
13
13
|
};
|
|
14
|
+
const cmdArgs = {
|
|
15
|
+
build: {
|
|
16
|
+
boolean: true,
|
|
17
|
+
alias: "b",
|
|
18
|
+
default: false
|
|
19
|
+
},
|
|
20
|
+
docs: {
|
|
21
|
+
boolean: true,
|
|
22
|
+
default: false
|
|
23
|
+
},
|
|
24
|
+
output: {
|
|
25
|
+
string: true,
|
|
26
|
+
alias: "o",
|
|
27
|
+
default: "demo"
|
|
28
|
+
}
|
|
29
|
+
};
|
|
14
30
|
const storybookCmd = {
|
|
15
31
|
handler: async (argv) => {
|
|
16
32
|
try {
|
|
@@ -28,22 +44,7 @@ const storybookCmd = {
|
|
|
28
44
|
},
|
|
29
45
|
command: "storybook [options]",
|
|
30
46
|
describe: "story book application code",
|
|
31
|
-
builder:
|
|
32
|
-
build: {
|
|
33
|
-
alias: "b",
|
|
34
|
-
type: "boolean",
|
|
35
|
-
default: false
|
|
36
|
-
},
|
|
37
|
-
docs: {
|
|
38
|
-
type: "boolean",
|
|
39
|
-
default: false
|
|
40
|
-
},
|
|
41
|
-
output: {
|
|
42
|
-
alias: "o",
|
|
43
|
-
type: "string",
|
|
44
|
-
default: "demo"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
47
48
|
};
|
|
48
49
|
export {
|
|
49
50
|
storybookCmd
|