@elliemae/pui-cli 7.0.0-beta.9 → 7.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/README.md +4 -0
- package/{lib/babel/babel.config.js → dist/cjs/babel.config.cjs} +3 -7
- package/dist/cjs/cli.js +53 -0
- package/dist/cjs/commands/build.js +81 -0
- package/dist/cjs/commands/codemod.js +55 -0
- package/dist/cjs/commands/gendoc.js +53 -0
- package/dist/cjs/commands/lint.js +95 -0
- package/dist/cjs/commands/pack.js +98 -0
- package/dist/cjs/commands/start.js +76 -0
- package/dist/cjs/commands/storybook.js +71 -0
- package/dist/cjs/commands/test.js +100 -0
- package/dist/cjs/commands/tscheck.js +82 -0
- package/dist/cjs/commands/utils.js +157 -0
- package/dist/cjs/commands/version.js +77 -0
- package/dist/cjs/commands/vitest.js +93 -0
- package/dist/cjs/dummy.js +1 -0
- package/dist/cjs/index.cjs +25 -0
- package/dist/cjs/index.js +42 -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 +41 -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 +58 -0
- package/dist/cjs/monorepo/set-registry-version.js +49 -0
- package/dist/cjs/monorepo/set-workspace-version.js +56 -0
- package/{lib/monorepo/utils.js → dist/cjs/monorepo/utils.cjs} +17 -2
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/pui-config.js +44 -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 +94 -0
- package/dist/cjs/server/index.js +34 -0
- package/dist/cjs/server/logger.js +58 -0
- package/dist/cjs/server/middlewares.js +75 -0
- package/dist/cjs/server/utils.js +39 -0
- package/{lib/testing/jest.config.js → dist/cjs/testing/jest.config.cjs} +10 -10
- package/{lib/testing/jest.node.config.js → dist/cjs/testing/jest.node.config.cjs} +1 -1
- package/dist/cjs/testing/mocks/axios.js +38 -0
- package/dist/cjs/testing/mocks/cssModule.js +24 -0
- package/dist/cjs/testing/mocks/html.js +24 -0
- package/dist/cjs/testing/mocks/image.js +24 -0
- package/dist/cjs/testing/mocks/matchMedia.js +44 -0
- package/dist/cjs/testing/mocks/pui-app-loader.js +25 -0
- package/dist/cjs/testing/mocks/pui-diagnostics.js +69 -0
- package/dist/cjs/testing/mocks/pui-user-monitoring.js +31 -0
- package/dist/cjs/testing/mocks/retry-axios.js +28 -0
- package/dist/cjs/testing/mocks/svg.js +33 -0
- package/dist/cjs/testing/mocks/webpack-hmr.js +25 -0
- package/{lib/testing/resolver.js → dist/cjs/testing/resolver.cjs} +0 -0
- package/dist/cjs/testing/setup-react-env.js +22 -0
- package/dist/cjs/testing/setup-test-env.js +23 -0
- package/dist/cjs/testing/setup-tests.js +69 -0
- package/dist/cjs/testing/vitest.config.js +52 -0
- package/{lib → dist/cjs}/transpile/.swcrc +0 -0
- package/dist/cjs/transpile/esbuild.js +134 -0
- package/dist/cjs/transpile/react-shim.js +30 -0
- package/{lib/transpile/swcrc.config.js → dist/cjs/transpile/swcrc.config.cjs} +1 -1
- package/dist/cjs/typedoc.cjs +12 -0
- 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 +37 -0
- package/dist/cjs/utils.cjs +23 -0
- package/dist/cjs/webpack/helpers.js +237 -0
- package/dist/cjs/webpack/webpack.base.babel.js +256 -0
- package/dist/cjs/webpack/webpack.dev.babel.js +144 -0
- package/dist/cjs/webpack/webpack.lib.base.babel.js +212 -0
- package/dist/cjs/webpack/webpack.lib.dev.babel.js +93 -0
- package/dist/cjs/webpack/webpack.lib.prod.babel.js +103 -0
- package/dist/cjs/webpack/webpack.prod.babel.js +145 -0
- package/dist/cjs/webpack/webpack.storybook.js +111 -0
- package/dist/esm/babel.config.cjs +97 -0
- package/dist/esm/cli.js +33 -0
- package/dist/esm/commands/build.js +61 -0
- package/dist/esm/commands/codemod.js +29 -0
- package/dist/esm/commands/gendoc.js +26 -0
- package/dist/esm/commands/lint.js +69 -0
- package/dist/esm/commands/pack.js +71 -0
- package/dist/esm/commands/start.js +49 -0
- package/dist/esm/commands/storybook.js +45 -0
- package/dist/esm/commands/test.js +74 -0
- package/dist/esm/commands/tscheck.js +56 -0
- package/dist/esm/commands/utils.js +143 -0
- package/dist/esm/commands/version.js +51 -0
- package/dist/esm/commands/vitest.js +66 -0
- package/{lib/dummy.ts → 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 +23 -0
- package/dist/esm/monorepo/set-workspace-version.js +30 -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 +68 -0
- package/dist/esm/server/index.js +18 -0
- package/dist/esm/server/logger.js +32 -0
- package/dist/esm/server/middlewares.js +49 -0
- package/dist/esm/server/utils.js +13 -0
- package/dist/esm/testing/jest.config.cjs +103 -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-test-env.js +4 -0
- package/dist/esm/testing/setup-tests.js +50 -0
- package/dist/esm/testing/vitest.config.js +25 -0
- package/dist/esm/transpile/.swcrc +11 -0
- package/{lib → dist/esm}/transpile/esbuild.js +35 -44
- package/dist/esm/transpile/react-shim.js +4 -0
- package/dist/esm/transpile/swcrc.config.cjs +13 -0
- package/dist/esm/typedoc.cjs +12 -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 +211 -0
- package/dist/esm/webpack/webpack.base.babel.js +236 -0
- package/dist/esm/webpack/webpack.dev.babel.js +121 -0
- package/dist/esm/webpack/webpack.lib.base.babel.js +192 -0
- package/dist/esm/webpack/webpack.lib.dev.babel.js +67 -0
- package/dist/esm/webpack/webpack.lib.prod.babel.js +77 -0
- package/dist/esm/webpack/webpack.prod.babel.js +124 -0
- package/dist/esm/webpack/webpack.storybook.js +85 -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 +39 -0
- package/dist/types/commands/tscheck.d.ts +14 -0
- package/dist/types/commands/utils.d.ts +16 -0
- package/dist/types/commands/version.d.ts +30 -0
- package/dist/types/commands/vitest.d.ts +35 -0
- package/{lib/testing/vitest.setup.ts → 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 +39 -0
- package/dist/types/testing/jest.node.config.d.cts +39 -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-test-env.d.ts +2 -0
- package/dist/types/testing/setup-tests.d.ts +1 -0
- package/dist/types/testing/vitest.config.d.ts +2 -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/typedoc.d.cts +3 -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 +108 -0
- package/dist/types/webpack/webpack.lib.dev.babel.d.ts +108 -0
- package/dist/types/webpack/webpack.lib.prod.babel.d.ts +108 -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 +156 -141
- 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/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/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 -139
- 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,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var webpack_lib_prod_babel_exports = {};
|
|
26
|
+
__export(webpack_lib_prod_babel_exports, {
|
|
27
|
+
default: () => webpack_lib_prod_babel_default
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(webpack_lib_prod_babel_exports);
|
|
30
|
+
var import_node_path = __toESM(require("node:path"), 1);
|
|
31
|
+
var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
32
|
+
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
33
|
+
var import_html_webpack_plugin = __toESM(require("html-webpack-plugin"), 1);
|
|
34
|
+
var import_webpack_bundle_analyzer = require("webpack-bundle-analyzer");
|
|
35
|
+
var import_esbuild_loader = require("esbuild-loader");
|
|
36
|
+
var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
|
|
37
|
+
var import_helpers = require("./helpers.js");
|
|
38
|
+
var import_webpack_lib_base_babel = require("./webpack.lib.base.babel.js");
|
|
39
|
+
const libraryName = process.env.LIBRARY_FILE_NAME || (0, import_helpers.getLibraryName)();
|
|
40
|
+
const getHtmlWebpackPlugins = () => {
|
|
41
|
+
const htmlTemplateFiles = import_fast_glob.default.sync([import_node_path.default.join(process.cwd(), "lib/*.html")]);
|
|
42
|
+
return htmlTemplateFiles.map(
|
|
43
|
+
(htmlTemplateFile) => new import_html_webpack_plugin.default({
|
|
44
|
+
template: htmlTemplateFile,
|
|
45
|
+
filename: import_node_path.default.basename(htmlTemplateFile),
|
|
46
|
+
libraryName,
|
|
47
|
+
inject: true,
|
|
48
|
+
minify: {
|
|
49
|
+
removeComments: true,
|
|
50
|
+
collapseWhitespace: true,
|
|
51
|
+
removeRedundantAttributes: true,
|
|
52
|
+
useShortDoctype: true,
|
|
53
|
+
removeEmptyAttributes: true,
|
|
54
|
+
removeStyleLinkTypeAttributes: true,
|
|
55
|
+
keepClosingSlash: true,
|
|
56
|
+
minifyJS: true,
|
|
57
|
+
minifyCSS: true,
|
|
58
|
+
minifyURLs: true
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
var webpack_lib_prod_babel_default = (0, import_webpack_lib_base_babel.baseConfig)({
|
|
64
|
+
mode: "production",
|
|
65
|
+
output: {
|
|
66
|
+
filename: `js/${libraryName}.[chunkhash].js`,
|
|
67
|
+
chunkFilename: `js/${libraryName}.[chunkhash].chunk.js`,
|
|
68
|
+
assetModuleFilename: "assets/[name].[hash][ext][query]"
|
|
69
|
+
},
|
|
70
|
+
optimization: {
|
|
71
|
+
moduleIds: "deterministic",
|
|
72
|
+
minimize: true,
|
|
73
|
+
minimizer: [
|
|
74
|
+
new import_esbuild_loader.ESBuildMinifyPlugin({
|
|
75
|
+
target: (0, import_browserslist_to_esbuild.default)(),
|
|
76
|
+
css: true
|
|
77
|
+
})
|
|
78
|
+
],
|
|
79
|
+
nodeEnv: "production",
|
|
80
|
+
sideEffects: true,
|
|
81
|
+
concatenateModules: true,
|
|
82
|
+
splitChunks: {
|
|
83
|
+
chunks: "all"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
plugins: [
|
|
87
|
+
...getHtmlWebpackPlugins(),
|
|
88
|
+
new import_mini_css_extract_plugin.default({
|
|
89
|
+
filename: `css/${libraryName}.[contenthash].css`,
|
|
90
|
+
chunkFilename: `css/${libraryName}.[contenthash].chunk.css`
|
|
91
|
+
}),
|
|
92
|
+
...(0, import_helpers.getCompressionPlugins)(true),
|
|
93
|
+
new import_webpack_bundle_analyzer.BundleAnalyzerPlugin({
|
|
94
|
+
analyzerMode: "static",
|
|
95
|
+
reportFilename: import_node_path.default.join(process.cwd(), "reports/bundle-stats.html"),
|
|
96
|
+
openAnalyzer: false
|
|
97
|
+
})
|
|
98
|
+
],
|
|
99
|
+
devtool: "source-map",
|
|
100
|
+
performance: {
|
|
101
|
+
assetFilter: (assetFilename) => !/(\.map$)|(^(main\.|favicon\.))/.test(assetFilename)
|
|
102
|
+
}
|
|
103
|
+
});
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var webpack_prod_babel_exports = {};
|
|
26
|
+
__export(webpack_prod_babel_exports, {
|
|
27
|
+
default: () => webpack_prod_babel_default
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(webpack_prod_babel_exports);
|
|
30
|
+
var import_node_path = __toESM(require("node:path"), 1);
|
|
31
|
+
var import_html_webpack_plugin = __toESM(require("html-webpack-plugin"), 1);
|
|
32
|
+
var import_workbox_webpack_plugin = require("workbox-webpack-plugin");
|
|
33
|
+
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
34
|
+
var import_webpack_bundle_analyzer = require("webpack-bundle-analyzer");
|
|
35
|
+
var import_esbuild_loader = require("esbuild-loader");
|
|
36
|
+
var import_speed_measure_webpack_plugin = __toESM(require("speed-measure-webpack-plugin"), 1);
|
|
37
|
+
var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
|
|
38
|
+
var import_webpack_base_babel = require("./webpack.base.babel.js");
|
|
39
|
+
var import_helpers = require("./helpers.js");
|
|
40
|
+
const getProdConfig = ({ latestVersion = true } = {}) => {
|
|
41
|
+
const { buildPath } = (0, import_helpers.getPaths)(latestVersion);
|
|
42
|
+
return {
|
|
43
|
+
mode: "production",
|
|
44
|
+
entry: {
|
|
45
|
+
app: import_node_path.default.join(process.cwd(), "app/index")
|
|
46
|
+
},
|
|
47
|
+
output: {
|
|
48
|
+
path: buildPath,
|
|
49
|
+
publicPath: "auto",
|
|
50
|
+
filename: "latest/js/[name].[contenthash].js",
|
|
51
|
+
chunkFilename: "latest/js/[name].[contenthash].chunk.js",
|
|
52
|
+
assetModuleFilename: "latest/assets/[name].[hash][ext][query]"
|
|
53
|
+
},
|
|
54
|
+
optimization: {
|
|
55
|
+
moduleIds: "deterministic",
|
|
56
|
+
minimizer: [
|
|
57
|
+
new import_esbuild_loader.ESBuildMinifyPlugin({
|
|
58
|
+
target: (0, import_browserslist_to_esbuild.default)(),
|
|
59
|
+
css: true
|
|
60
|
+
})
|
|
61
|
+
],
|
|
62
|
+
runtimeChunk: true,
|
|
63
|
+
splitChunks: {
|
|
64
|
+
chunks: "all",
|
|
65
|
+
cacheGroups: {
|
|
66
|
+
emui: {
|
|
67
|
+
name: "emui",
|
|
68
|
+
test: /[\\/]node_modules[\\/](@elliemae)[\\/]/,
|
|
69
|
+
priority: 1
|
|
70
|
+
},
|
|
71
|
+
vendors: {
|
|
72
|
+
name: "vendors",
|
|
73
|
+
test: /[\\/]node_modules[\\/]/
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
plugins: [
|
|
79
|
+
...(0, import_helpers.getCompressionPlugins)(),
|
|
80
|
+
new import_webpack_bundle_analyzer.BundleAnalyzerPlugin({
|
|
81
|
+
analyzerMode: "static",
|
|
82
|
+
reportFilename: import_node_path.default.join(process.cwd(), "reports/bundle-stats.html"),
|
|
83
|
+
openAnalyzer: false
|
|
84
|
+
}),
|
|
85
|
+
new import_workbox_webpack_plugin.GenerateSW({
|
|
86
|
+
swDest: "sw.js",
|
|
87
|
+
clientsClaim: true,
|
|
88
|
+
skipWaiting: true
|
|
89
|
+
})
|
|
90
|
+
],
|
|
91
|
+
devtool: "source-map",
|
|
92
|
+
performance: {
|
|
93
|
+
assetFilter: (assetFilename) => !/(\.map$)|(^(main\.|favicon\.))/.test(assetFilename)
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
const {
|
|
98
|
+
userMonScriptPath,
|
|
99
|
+
globalScriptPath,
|
|
100
|
+
appLoaderScriptPath,
|
|
101
|
+
diagnosticsScriptPath,
|
|
102
|
+
encwLoaderScriptPath,
|
|
103
|
+
basePath
|
|
104
|
+
} = (0, import_helpers.getPaths)();
|
|
105
|
+
const htmlWebpackPlugin = new import_html_webpack_plugin.default({
|
|
106
|
+
inject: !(0, import_helpers.isAppLoaderEnabled)(),
|
|
107
|
+
template: !(0, import_helpers.isAppLoaderEnabled)() ? "app/index.html" : "app/index-app-loader.html",
|
|
108
|
+
minify: {
|
|
109
|
+
removeComments: true,
|
|
110
|
+
collapseWhitespace: true,
|
|
111
|
+
removeRedundantAttributes: true,
|
|
112
|
+
useShortDoctype: true,
|
|
113
|
+
removeEmptyAttributes: true,
|
|
114
|
+
removeStyleLinkTypeAttributes: true,
|
|
115
|
+
keepClosingSlash: true,
|
|
116
|
+
minifyJS: true,
|
|
117
|
+
minifyCSS: true,
|
|
118
|
+
minifyURLs: true
|
|
119
|
+
},
|
|
120
|
+
emui: {
|
|
121
|
+
appVersion: "latest",
|
|
122
|
+
basePath,
|
|
123
|
+
globalScriptPath,
|
|
124
|
+
userMonScriptPath,
|
|
125
|
+
appLoaderScriptPath,
|
|
126
|
+
diagnosticsScriptPath,
|
|
127
|
+
encwLoaderScriptPath,
|
|
128
|
+
googleTagManager: (0, import_helpers.isGoogleTagManagerEnabled)()
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
const config = (0, import_webpack_base_babel.baseConfig)(getProdConfig());
|
|
132
|
+
config.plugins.push(htmlWebpackPlugin);
|
|
133
|
+
const addSMPPlugin = (webpackConfig) => {
|
|
134
|
+
const smpConfig = new import_speed_measure_webpack_plugin.default({
|
|
135
|
+
disable: !process.env.MEASURE
|
|
136
|
+
}).wrap(webpackConfig);
|
|
137
|
+
smpConfig.plugins.push(
|
|
138
|
+
new import_mini_css_extract_plugin.default({
|
|
139
|
+
filename: "latest/css/[name].[contenthash].css",
|
|
140
|
+
chunkFilename: "latest/css/[name].[contenthash].chunk.css"
|
|
141
|
+
})
|
|
142
|
+
);
|
|
143
|
+
return smpConfig;
|
|
144
|
+
};
|
|
145
|
+
var webpack_prod_babel_default = addSMPPlugin(config);
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var webpack_storybook_exports = {};
|
|
26
|
+
__export(webpack_storybook_exports, {
|
|
27
|
+
managerWebpack: () => managerWebpack,
|
|
28
|
+
webpackFinal: () => webpackFinal
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(webpack_storybook_exports);
|
|
31
|
+
var import_webpack = __toESM(require("webpack"), 1);
|
|
32
|
+
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
33
|
+
var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
|
|
34
|
+
var import_resolve_typescript_plugin = __toESM(require("resolve-typescript-plugin"), 1);
|
|
35
|
+
var import_helpers = require("./helpers.js");
|
|
36
|
+
var import_utils = require("../utils.cjs");
|
|
37
|
+
const IS_APP = (0, import_utils.isApp)();
|
|
38
|
+
const CWD = process.cwd();
|
|
39
|
+
const getAdditionalPlugins = () => [
|
|
40
|
+
new import_webpack.default.EnvironmentPlugin({
|
|
41
|
+
IS_APP,
|
|
42
|
+
CWD
|
|
43
|
+
}),
|
|
44
|
+
new import_mini_css_extract_plugin.default({
|
|
45
|
+
filename: "[name].[contenthash].css",
|
|
46
|
+
chunkFilename: "[name].[contenthash].chunk.css"
|
|
47
|
+
}),
|
|
48
|
+
new import_copy_webpack_plugin.default({
|
|
49
|
+
patterns: [
|
|
50
|
+
{
|
|
51
|
+
from: "lib/app.config.json",
|
|
52
|
+
to: "app.config.json",
|
|
53
|
+
noErrorOnMissing: true
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
from: "app/app.config.json",
|
|
57
|
+
to: "app.config.json",
|
|
58
|
+
noErrorOnMissing: true
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
from: "public",
|
|
62
|
+
noErrorOnMissing: true
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
})
|
|
66
|
+
];
|
|
67
|
+
const getModuleRules = () => [
|
|
68
|
+
{
|
|
69
|
+
type: "asset",
|
|
70
|
+
resourceQuery: /url/
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
test: /\.svg$/i,
|
|
74
|
+
issuer: /\.[jt]sx?$/,
|
|
75
|
+
resourceQuery: /^((?!url).)*$/,
|
|
76
|
+
use: ["@svgr/webpack"]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
resourceQuery: /resource/,
|
|
80
|
+
type: "asset/resource"
|
|
81
|
+
}
|
|
82
|
+
];
|
|
83
|
+
const webpackFinal = async (config, { configType }) => {
|
|
84
|
+
const isProd = configType === "PRODUCTION";
|
|
85
|
+
const fileLoaderRule = config.module.rules.find(
|
|
86
|
+
(rule) => rule.test?.test?.(".svg")
|
|
87
|
+
);
|
|
88
|
+
fileLoaderRule.exclude = /\.svg$/i;
|
|
89
|
+
config.module.rules.unshift(...getModuleRules());
|
|
90
|
+
config.plugins.push(...getAdditionalPlugins());
|
|
91
|
+
if (isProd) {
|
|
92
|
+
config.plugins = config.plugins.concat((0, import_helpers.getCompressionPlugins)());
|
|
93
|
+
}
|
|
94
|
+
config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
|
|
95
|
+
config.resolve.fallback = { ...config.resolve.fallback, crypto: false };
|
|
96
|
+
config.resolve.extensions.push(".svg");
|
|
97
|
+
config.resolve.plugins = [
|
|
98
|
+
...config.resolve.plugins || [],
|
|
99
|
+
new import_resolve_typescript_plugin.default({})
|
|
100
|
+
];
|
|
101
|
+
config.externals = config.externals || {};
|
|
102
|
+
config.externals["@elliemae/pui-user-monitoring"] = "emuiUserMonitoring";
|
|
103
|
+
config.externals["@elliemae/pui-app-loader"] = "emuiAppLoader";
|
|
104
|
+
config.externals["@elliemae/pui-diagnostics"] = "emuiDiagnostics";
|
|
105
|
+
return config;
|
|
106
|
+
};
|
|
107
|
+
const managerWebpack = async (config) => {
|
|
108
|
+
config.plugins = config.plugins.concat((0, import_helpers.getCompressionPlugins)());
|
|
109
|
+
config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
|
|
110
|
+
return config;
|
|
111
|
+
};
|
|
@@ -0,0 +1,97 @@
|
|
|
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.22', 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 (
|
|
80
|
+
process.env.STORYBOOK_BUILD !== 'true' &&
|
|
81
|
+
process.env.TARGET_ENV !== 'node'
|
|
82
|
+
) {
|
|
83
|
+
config.env?.development?.plugins?.push?.('react-refresh/babel');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// 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
|
|
87
|
+
if (process.env.ES_MODULES === 'false') {
|
|
88
|
+
config.plugins.push([
|
|
89
|
+
'babel-plugin-transform-strip-block',
|
|
90
|
+
{
|
|
91
|
+
requireDirective: true,
|
|
92
|
+
identifiers: [{ start: 'block:start', end: 'block:end' }],
|
|
93
|
+
},
|
|
94
|
+
]);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
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,61 @@
|
|
|
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(
|
|
17
|
+
`cross-env NODE_ENV=production webpack --config ${path.resolve(
|
|
18
|
+
__dirname,
|
|
19
|
+
"../webpack/webpack.prod.babel.js"
|
|
20
|
+
)} --color`
|
|
21
|
+
);
|
|
22
|
+
await copyBuildAssetsToVersionedFolder();
|
|
23
|
+
await writeAppInfo();
|
|
24
|
+
};
|
|
25
|
+
const buildService = async () => {
|
|
26
|
+
await exec("rimraf ./build");
|
|
27
|
+
await esBuild({
|
|
28
|
+
srcdir: "./app",
|
|
29
|
+
outdir: "build",
|
|
30
|
+
esmOnly: true,
|
|
31
|
+
target: TARGETS.node,
|
|
32
|
+
injectReactShim: false,
|
|
33
|
+
skipNestedPackageJSON: true
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const buildCmd = {
|
|
37
|
+
handler: async ({ service = false }) => {
|
|
38
|
+
try {
|
|
39
|
+
logInfo("Build in progress...");
|
|
40
|
+
if (service)
|
|
41
|
+
await buildService();
|
|
42
|
+
else
|
|
43
|
+
await buildWebApp();
|
|
44
|
+
logSuccess("Build completed");
|
|
45
|
+
} catch (err) {
|
|
46
|
+
logError("Build failed", err);
|
|
47
|
+
yargs().exit(-1, err);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
command: "build",
|
|
51
|
+
describe: "builds front end application or NodeJS service",
|
|
52
|
+
builder: {
|
|
53
|
+
service: {
|
|
54
|
+
type: "boolean",
|
|
55
|
+
default: false
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
buildCmd
|
|
61
|
+
};
|
|
@@ -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,26 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import yargs from "yargs";
|
|
4
|
+
import { exec, logInfo, logSuccess, logError } from "./utils.js";
|
|
5
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const generateDocs = async () => {
|
|
7
|
+
logInfo("Documentation Generation in-progress...");
|
|
8
|
+
await exec(`typedoc --options ${path.resolve(__dirname, "../typedoc.cjs")}`);
|
|
9
|
+
};
|
|
10
|
+
const gendocCmd = {
|
|
11
|
+
handler: async () => {
|
|
12
|
+
try {
|
|
13
|
+
await generateDocs();
|
|
14
|
+
logSuccess("Document generation completed. ");
|
|
15
|
+
} catch (err) {
|
|
16
|
+
logError("Document generation failed", err);
|
|
17
|
+
yargs().exit(-1, err);
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
command: "gendoc",
|
|
21
|
+
describe: "Builds documentation from source files",
|
|
22
|
+
builder: {}
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
gendocCmd
|
|
26
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
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(
|
|
9
|
+
`stylelint ./{lib,app}/**/*.{js,jsx,ts,tsx} ${fixIssues} ${!CI ? "--color" : ""} --allow-empty-input --config ${path.join(
|
|
10
|
+
process.cwd(),
|
|
11
|
+
"stylelint.config.cjs"
|
|
12
|
+
)}`
|
|
13
|
+
);
|
|
14
|
+
};
|
|
15
|
+
const lintJS = async (fix = false) => {
|
|
16
|
+
const fixIssues = fix ? "--fix" : "";
|
|
17
|
+
await exec(`eslint ${!CI ? "--color" : ""} ${fixIssues} .`);
|
|
18
|
+
};
|
|
19
|
+
const lintCmd = {
|
|
20
|
+
handler: async (argv) => {
|
|
21
|
+
if (argv.js) {
|
|
22
|
+
if (isTypeScriptEnabled())
|
|
23
|
+
await exec("tsc --noEmit --emitDeclarationOnly false");
|
|
24
|
+
try {
|
|
25
|
+
await exec("rimraf ./reports/eslint.json");
|
|
26
|
+
await lintJS(argv.fix);
|
|
27
|
+
logSuccess("JS linting completed");
|
|
28
|
+
} catch (err) {
|
|
29
|
+
logError("JS linting failed");
|
|
30
|
+
yargs().exit(-1, err);
|
|
31
|
+
return -1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (argv.css) {
|
|
35
|
+
try {
|
|
36
|
+
await exec("rimraf ./reports/stylelint.json");
|
|
37
|
+
await lintCSS(argv.fix);
|
|
38
|
+
logSuccess("CSS linting completed");
|
|
39
|
+
} catch (err) {
|
|
40
|
+
logError("CSS linting failed");
|
|
41
|
+
yargs().exit(-1, err);
|
|
42
|
+
return -1;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return 0;
|
|
46
|
+
},
|
|
47
|
+
command: "lint [options]",
|
|
48
|
+
describe: "lints application code",
|
|
49
|
+
builder: {
|
|
50
|
+
css: {
|
|
51
|
+
alias: "css",
|
|
52
|
+
type: "boolean",
|
|
53
|
+
default: true
|
|
54
|
+
},
|
|
55
|
+
js: {
|
|
56
|
+
alias: "js",
|
|
57
|
+
type: "boolean",
|
|
58
|
+
default: true
|
|
59
|
+
},
|
|
60
|
+
fix: {
|
|
61
|
+
alias: "fix",
|
|
62
|
+
type: "boolean",
|
|
63
|
+
default: false
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
lintCmd
|
|
69
|
+
};
|