@elliemae/pui-cli 7.27.0-beta.2 → 7.27.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/README.md +1 -0
- package/dist/cjs/cli.js +12 -14
- package/dist/cjs/commands/build.js +8 -9
- package/dist/cjs/commands/codemod.js +9 -7
- package/dist/cjs/commands/gendoc.js +2 -2
- package/dist/cjs/commands/lint.js +23 -21
- package/dist/cjs/commands/pack.js +20 -25
- package/dist/cjs/commands/start.js +10 -11
- package/dist/cjs/commands/storybook.js +18 -19
- package/dist/cjs/commands/test.js +31 -37
- package/dist/cjs/commands/tscheck.js +8 -9
- package/dist/cjs/commands/utils.js +6 -11
- package/dist/cjs/commands/version.js +19 -21
- package/dist/cjs/commands/vitest.js +28 -32
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.js +2 -2
- 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/server/app-routes.cjs +42 -0
- package/dist/cjs/server/csp.js +4 -3
- package/dist/cjs/server/index.js +11 -13
- package/dist/cjs/server/middlewares.js +4 -7
- package/dist/cjs/server/utils.js +1 -1
- package/dist/cjs/testing/setup-tests.js +4 -2
- package/dist/cjs/webpack/helpers.js +3 -3
- package/dist/cjs/webpack/webpack.base.babel.js +10 -3
- package/dist/cjs/webpack/webpack.dev.babel.js +10 -13
- package/dist/cjs/webpack/webpack.lib.base.babel.js +5 -4
- package/dist/cjs/webpack/webpack.lib.dev.babel.js +0 -1
- package/dist/cjs/webpack/webpack.prod.babel.js +15 -7
- package/dist/cjs/webpack/webpack.storybook.js +20 -27
- package/dist/esm/cli.js +12 -14
- package/dist/esm/commands/build.js +8 -9
- package/dist/esm/commands/codemod.js +9 -7
- package/dist/esm/commands/gendoc.js +2 -2
- package/dist/esm/commands/lint.js +23 -27
- package/dist/esm/commands/pack.js +20 -32
- package/dist/esm/commands/start.js +10 -11
- package/dist/esm/commands/storybook.js +18 -19
- package/dist/esm/commands/test.js +31 -37
- package/dist/esm/commands/tscheck.js +8 -9
- package/dist/esm/commands/utils.js +5 -10
- package/dist/esm/commands/version.js +19 -21
- package/dist/esm/commands/vitest.js +28 -32
- package/dist/esm/index.cjs +2 -0
- package/dist/esm/index.js +1 -1
- 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/server/app-routes.cjs +42 -0
- package/dist/esm/server/csp.js +4 -3
- package/dist/esm/server/index.js +11 -13
- package/dist/esm/server/middlewares.js +4 -7
- package/dist/esm/server/utils.js +1 -1
- package/dist/esm/testing/setup-tests.js +4 -2
- package/dist/esm/webpack/helpers.js +3 -3
- package/dist/esm/webpack/webpack.base.babel.js +10 -3
- package/dist/esm/webpack/webpack.dev.babel.js +10 -13
- package/dist/esm/webpack/webpack.lib.base.babel.js +5 -4
- package/dist/esm/webpack/webpack.lib.dev.babel.js +0 -1
- package/dist/esm/webpack/webpack.prod.babel.js +15 -7
- package/dist/esm/webpack/webpack.storybook.js +20 -27
- package/dist/types/commands/build.d.ts +13 -13
- package/dist/types/commands/codemod.d.ts +6 -13
- package/dist/types/commands/gendoc.d.ts +6 -7
- package/dist/types/commands/lint.d.ts +29 -29
- package/dist/types/commands/pack.d.ts +26 -29
- package/dist/types/commands/start.d.ts +13 -17
- package/dist/types/commands/storybook.d.ts +27 -28
- package/dist/types/commands/test.d.ts +39 -47
- package/dist/types/commands/tscheck.d.ts +14 -16
- package/dist/types/commands/utils.d.ts +11 -11
- package/dist/types/commands/version.d.ts +28 -31
- package/dist/types/commands/vitest.d.ts +35 -41
- package/dist/types/index.d.cts +2 -1
- package/dist/types/index.d.ts +11 -11
- 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/server/app-routes.d.cts +1 -0
- package/dist/types/server/csp.d.ts +9 -12
- package/dist/types/server/logger.d.ts +4 -7
- package/dist/types/server/middlewares.d.ts +2 -6
- 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/webpack/helpers.d.ts +18 -19
- package/dist/types/webpack/webpack.base.babel.d.ts +106 -3
- package/dist/types/webpack/webpack.dev.babel.d.ts +1 -2
- package/dist/types/webpack/webpack.lib.base.babel.d.ts +102 -3
- package/dist/types/webpack/webpack.lib.dev.babel.d.ts +101 -3
- package/dist/types/webpack/webpack.lib.prod.babel.d.ts +101 -2
- package/dist/types/webpack/webpack.prod.babel.d.ts +2 -3
- package/dist/types/webpack/webpack.storybook.d.ts +4 -5
- package/package.json +52 -66
- package/dist/cjs/monorepo/utils.js +0 -54
- package/dist/cjs/server/appRoutes.js +0 -74
- package/dist/cjs/utils.js +0 -50
- package/dist/esm/monorepo/utils.js +0 -24
- package/dist/esm/server/appRoutes.js +0 -44
- package/dist/esm/utils.js +0 -20
- package/dist/types/monorepo/utils.d.ts +0 -1
- package/dist/types/server/appRoutes.d.ts +0 -2
- package/dist/types/utils.d.ts +0 -4
package/dist/cjs/index.cjs
CHANGED
|
@@ -10,6 +10,7 @@ const { prettierConfig } = require('./lint-config/prettier.config.cjs');
|
|
|
10
10
|
const { commitlintConfig } = require('./lint-config/commitlint.config.cjs');
|
|
11
11
|
const { jestConfig } = require('./testing/jest.config.cjs');
|
|
12
12
|
const { jestNodeConfig } = require('./testing/jest.node.config.cjs');
|
|
13
|
+
const { loadRoutes } = require('./server/app-routes.cjs');
|
|
13
14
|
|
|
14
15
|
module.exports = {
|
|
15
16
|
babelConfig,
|
|
@@ -20,4 +21,5 @@ module.exports = {
|
|
|
20
21
|
commitlintConfig,
|
|
21
22
|
jestConfig,
|
|
22
23
|
jestNodeConfig,
|
|
24
|
+
loadRoutes,
|
|
23
25
|
};
|
package/dist/cjs/index.js
CHANGED
|
@@ -25,7 +25,7 @@ __export(lib_exports, {
|
|
|
25
25
|
jestConfig: () => import_jest_config.jestConfig,
|
|
26
26
|
jestNodeConfig: () => import_jest_node_config.jestNodeConfig,
|
|
27
27
|
lintStagedConfig: () => import_lint_staged_config.lintStagedConfig,
|
|
28
|
-
loadRoutes: () =>
|
|
28
|
+
loadRoutes: () => import_app_routes.loadRoutes,
|
|
29
29
|
prettierConfig: () => import_prettier_config.prettierConfig,
|
|
30
30
|
stylelintConfig: () => import_stylelint_config.stylelintConfig,
|
|
31
31
|
vitestConfig: () => import_vitest_config.vitestConfig
|
|
@@ -41,4 +41,4 @@ var import_jest_config = require("./testing/jest.config.cjs");
|
|
|
41
41
|
var import_vitest_config = require("./testing/vitest.config.js");
|
|
42
42
|
var import_jest_node_config = require("./testing/jest.node.config.cjs");
|
|
43
43
|
var import_lint_staged_config = require("./lint-config/lint-staged.config.js");
|
|
44
|
-
var
|
|
44
|
+
var import_app_routes = require("./server/app-routes.cjs");
|
|
@@ -40,7 +40,7 @@ const deleteTags = (cmd, filter) => {
|
|
|
40
40
|
const tags = result.toString().split("\n").join(" ");
|
|
41
41
|
(0, import_child_process.execSync)(`git tag -d ${filter ? filter(tags) : tags}`, { cwd });
|
|
42
42
|
};
|
|
43
|
-
const tagsFromOtherBranches = (tags) => {
|
|
43
|
+
const tagsFromOtherBranches = (tags = []) => {
|
|
44
44
|
const regex = branchTags[branchName] || branchTags.master;
|
|
45
45
|
return tags.split(" ").filter((tagName) => isSemVersion(tagName) && !regex.test(tagName)).join(" ");
|
|
46
46
|
};
|
|
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(set_registry_version_exports);
|
|
|
34
34
|
var import_promises = require("node:fs/promises");
|
|
35
35
|
var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
36
36
|
var import_normalize_path = __toESM(require("normalize-path"), 1);
|
|
37
|
-
var import_utils = require("./utils.
|
|
37
|
+
var import_utils = require("./utils.cjs");
|
|
38
38
|
const monorepoRoot = (0, import_normalize_path.default)((0, import_utils.findMonoRepoRoot)() || "");
|
|
39
39
|
const setRegistryVersion = async () => {
|
|
40
40
|
const files = await (0, import_fast_glob.default)([
|
|
@@ -42,7 +42,7 @@ const setRegistryVersion = async () => {
|
|
|
42
42
|
`${monorepoRoot}/apps/*/package.json`,
|
|
43
43
|
`${monorepoRoot}/package.json`
|
|
44
44
|
]);
|
|
45
|
-
|
|
45
|
+
Promise.all(
|
|
46
46
|
files.map(async (file) => {
|
|
47
47
|
let pkgJSONData = await (0, import_promises.readFile)(file, "utf8");
|
|
48
48
|
const pkgVersion = JSON.parse(pkgJSONData).version;
|
|
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(set_workspace_version_exports);
|
|
|
34
34
|
var import_promises = require("node:fs/promises");
|
|
35
35
|
var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
36
36
|
var import_normalize_path = __toESM(require("normalize-path"), 1);
|
|
37
|
-
var import_utils = require("./utils.
|
|
37
|
+
var import_utils = require("./utils.cjs");
|
|
38
38
|
const monorepoRoot = (0, import_normalize_path.default)((0, import_utils.findMonoRepoRoot)() || "");
|
|
39
39
|
const setWorkspaceVersion = async () => {
|
|
40
40
|
const files = await (0, import_fast_glob.default)([
|
|
@@ -42,7 +42,7 @@ const setWorkspaceVersion = async () => {
|
|
|
42
42
|
`${monorepoRoot}/apps/*/package.json`,
|
|
43
43
|
`${monorepoRoot}/package.json`
|
|
44
44
|
]);
|
|
45
|
-
|
|
45
|
+
Promise.all(
|
|
46
46
|
files.map(async (file) => {
|
|
47
47
|
let pkgJSONData = await (0, import_promises.readFile)(file, "utf8");
|
|
48
48
|
const pkgVersion = JSON.parse(pkgJSONData).version;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
const allJS = /\.js$/;
|
|
5
|
+
|
|
6
|
+
const serviceEndpoints = /\.endpoint\.js$/;
|
|
7
|
+
|
|
8
|
+
const getFilesMatching = (filePattern) => {
|
|
9
|
+
const getFiles = (dir) => {
|
|
10
|
+
let routeFiles = [];
|
|
11
|
+
if (!fs.existsSync(dir)) return routeFiles;
|
|
12
|
+
fs.readdirSync(dir).forEach((file) => {
|
|
13
|
+
const fullPath = path.join(dir, file);
|
|
14
|
+
if (fs.lstatSync(fullPath).isDirectory()) {
|
|
15
|
+
routeFiles = routeFiles.concat(getFiles(fullPath));
|
|
16
|
+
} else if (filePattern.test(fullPath)) routeFiles.push(fullPath);
|
|
17
|
+
});
|
|
18
|
+
return routeFiles;
|
|
19
|
+
};
|
|
20
|
+
return getFiles;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const getServerRouteFiles = getFilesMatching(allJS);
|
|
24
|
+
const getServiceEndpoints = getFilesMatching(serviceEndpoints);
|
|
25
|
+
|
|
26
|
+
exports.loadRoutes = (app) => {
|
|
27
|
+
const routeFiles = getServerRouteFiles(
|
|
28
|
+
path.join(process.cwd(), 'server/routes'),
|
|
29
|
+
);
|
|
30
|
+
routeFiles.push(...getServiceEndpoints(path.join(process.cwd(), 'app')));
|
|
31
|
+
routeFiles.push(...getServiceEndpoints(path.join(process.cwd(), 'lib')));
|
|
32
|
+
routeFiles.forEach((routeFile) => {
|
|
33
|
+
// eslint-disable-next-line global-require
|
|
34
|
+
const init = require(routeFile);
|
|
35
|
+
try {
|
|
36
|
+
init(app);
|
|
37
|
+
} catch (err) {
|
|
38
|
+
// eslint-disable-next-line no-console
|
|
39
|
+
console.error(`unable to load routes from ${routeFile}. ${err.message}`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
};
|
package/dist/cjs/server/csp.js
CHANGED
|
@@ -62,13 +62,14 @@ const sendFileWithCSPNonce = ({
|
|
|
62
62
|
res.sendStatus(404);
|
|
63
63
|
} else {
|
|
64
64
|
res.set("Content-Type", "text/html");
|
|
65
|
-
res.send(html.replace(nonceRegex, res.locals.cspNonce));
|
|
65
|
+
res.send(html.replace(nonceRegex, (res.locals || {}).cspNonce));
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
};
|
|
69
69
|
const getScriptSrc = () => {
|
|
70
|
-
const
|
|
71
|
-
|
|
70
|
+
const scriptSrc = sources.concat([
|
|
71
|
+
(req, res) => `'nonce-${res.locals.cspNonce}'`
|
|
72
|
+
]);
|
|
72
73
|
return true ? scriptSrc.concat(["'unsafe-eval'"]) : scriptSrc;
|
|
73
74
|
};
|
|
74
75
|
const csp = (app) => {
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -25,16 +25,14 @@ var import_express = __toESM(require("express"), 1);
|
|
|
25
25
|
var import_logger = require("./logger.js");
|
|
26
26
|
var import_middlewares = require("./middlewares.js");
|
|
27
27
|
var import_utils = require("./utils.js");
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
import_logger.logger.
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
})();
|
|
28
|
+
var import_app_routes = require("./app-routes.cjs");
|
|
29
|
+
const app = (0, import_express.default)();
|
|
30
|
+
(0, import_middlewares.setupDefaultMiddlewares)(app);
|
|
31
|
+
(0, import_app_routes.loadRoutes)(app);
|
|
32
|
+
(0, import_middlewares.setupAdditionalMiddlewars)(app);
|
|
33
|
+
app.listen(import_utils.port, import_utils.host, async (err) => {
|
|
34
|
+
if (err) {
|
|
35
|
+
return import_logger.logger.error(err.message);
|
|
36
|
+
}
|
|
37
|
+
import_logger.logger.appStarted(import_utils.port, import_utils.host || "localhost");
|
|
38
|
+
});
|
|
@@ -36,12 +36,12 @@ var import_express = __toESM(require("express"), 1);
|
|
|
36
36
|
var import_cors = __toESM(require("cors"), 1);
|
|
37
37
|
var import_compression = __toESM(require("compression"), 1);
|
|
38
38
|
var import_express_static_gzip = __toESM(require("express-static-gzip"), 1);
|
|
39
|
-
var
|
|
39
|
+
var import_express_pino_logger = __toESM(require("express-pino-logger"), 1);
|
|
40
40
|
var import_csp = require("./csp.js");
|
|
41
41
|
var import_helpers = require("../webpack/helpers.js");
|
|
42
42
|
const paths = (0, import_helpers.getPaths)();
|
|
43
43
|
const setupDefaultMiddlewares = (app) => {
|
|
44
|
-
const pino = (0,
|
|
44
|
+
const pino = (0, import_express_pino_logger.default)({
|
|
45
45
|
transport: {
|
|
46
46
|
target: "pino-pretty",
|
|
47
47
|
options: {
|
|
@@ -72,10 +72,7 @@ const setupAdditionalMiddlewars = (app, options = {}) => {
|
|
|
72
72
|
orderPreference: ["br"]
|
|
73
73
|
})
|
|
74
74
|
);
|
|
75
|
-
app.use((0, import_express_static_gzip.default)("cdn"
|
|
76
|
-
app.get(
|
|
77
|
-
"*",
|
|
78
|
-
(req, res) => (0, import_csp.sendFileWithCSPNonce)({ buildPath, res })
|
|
79
|
-
);
|
|
75
|
+
app.use((0, import_express_static_gzip.default)("cdn"));
|
|
76
|
+
app.get("*", (req, res) => (0, import_csp.sendFileWithCSPNonce)({ buildPath, res }));
|
|
80
77
|
return app;
|
|
81
78
|
};
|
package/dist/cjs/server/utils.js
CHANGED
|
@@ -68,5 +68,7 @@ const addRootElement = (id) => {
|
|
|
68
68
|
addRootElement("root");
|
|
69
69
|
(0, import_matchMedia.addMatchMedia)();
|
|
70
70
|
window.ResizeObserver = import_resize_observer_polyfill.default;
|
|
71
|
-
window.emui = {
|
|
72
|
-
|
|
71
|
+
window.emui = {
|
|
72
|
+
logger: (0, import_pui_diagnostics.logger)(),
|
|
73
|
+
_BASE_PATH: new URL(document.baseURI).pathname
|
|
74
|
+
};
|
|
@@ -51,8 +51,8 @@ var import_node_fs = __toESM(require("node:fs"), 1);
|
|
|
51
51
|
var import_lodash = __toESM(require("lodash"), 1);
|
|
52
52
|
var import_compression_webpack_plugin = __toESM(require("compression-webpack-plugin"), 1);
|
|
53
53
|
var import_zlib = __toESM(require("zlib"), 1);
|
|
54
|
-
var import_utils = require("../monorepo/utils.
|
|
55
|
-
var import_utils2 = require("../utils.
|
|
54
|
+
var import_utils = require("../monorepo/utils.cjs");
|
|
55
|
+
var import_utils2 = require("../utils.cjs");
|
|
56
56
|
let pathSep = import_node_path.default.sep;
|
|
57
57
|
if (pathSep === "\\")
|
|
58
58
|
pathSep = "\\\\";
|
|
@@ -74,7 +74,7 @@ const excludeNodeModulesExcept = (modules) => {
|
|
|
74
74
|
};
|
|
75
75
|
const getLibraryName = () => {
|
|
76
76
|
const packageJson = JSON.parse(
|
|
77
|
-
import_node_fs.default.readFileSync(import_node_path.default.join(process.cwd(), "package.json"))
|
|
77
|
+
import_node_fs.default.readFileSync(import_node_path.default.join(process.cwd(), "package.json"))
|
|
78
78
|
);
|
|
79
79
|
const libraryName = packageJson ? packageJson.name : process.env.LIBRARY_NAME || "mylibrary";
|
|
80
80
|
const modifiedLibName = `emui-${libraryName.replace("@elliemae/", "").replace("pui-", "")}`;
|
|
@@ -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");
|
|
37
36
|
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
38
37
|
var import_postcss_preset_env = __toESM(require("postcss-preset-env"), 1);
|
|
39
38
|
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,6 +140,7 @@ const plugins = [
|
|
|
140
140
|
}
|
|
141
141
|
])
|
|
142
142
|
}),
|
|
143
|
+
new import_duplicate_package_checker_webpack_plugin.default(),
|
|
143
144
|
new import_moment_locales_webpack_plugin.default({ localesToKeep: ["es-us"] }),
|
|
144
145
|
new import_webpack_manifest_plugin.WebpackManifestPlugin({
|
|
145
146
|
fileName: "./latest/manifest.json",
|
|
@@ -153,7 +154,13 @@ const plugins = [
|
|
|
153
154
|
outputPath: "./latest/assets",
|
|
154
155
|
logo: "./app/view/images/favicon.png",
|
|
155
156
|
favicons: {
|
|
156
|
-
developerName: "ICE MT"
|
|
157
|
+
developerName: "ICE MT",
|
|
158
|
+
developerURL: null,
|
|
159
|
+
// prevent retrieving from the nearest package.json
|
|
160
|
+
icons: {
|
|
161
|
+
coast: false,
|
|
162
|
+
yandex: false
|
|
163
|
+
}
|
|
157
164
|
}
|
|
158
165
|
})
|
|
159
166
|
];
|
|
@@ -259,7 +266,7 @@ const baseConfig = (options) => ({
|
|
|
259
266
|
}
|
|
260
267
|
]
|
|
261
268
|
},
|
|
262
|
-
plugins:
|
|
269
|
+
plugins: plugins.concat(options.plugins),
|
|
263
270
|
resolve: {
|
|
264
271
|
modules: [
|
|
265
272
|
"node_modules",
|
|
@@ -38,13 +38,14 @@ 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
|
|
41
|
+
var import_speed_measure_webpack_plugin = __toESM(require("speed-measure-webpack-plugin"), 1);
|
|
42
42
|
var import_middlewares = require("../server/middlewares.js");
|
|
43
|
-
var
|
|
43
|
+
var import_app_routes = require("../server/app-routes.cjs");
|
|
44
44
|
var import_helpers = require("./helpers.js");
|
|
45
45
|
var import_webpack_base_babel = require("./webpack.base.babel.js");
|
|
46
46
|
const import_meta = {};
|
|
47
47
|
const __filename = (0, import_node_url.fileURLToPath)(import_meta.url);
|
|
48
|
+
const smp = new import_speed_measure_webpack_plugin.default({ disable: !process.env.MEASURE });
|
|
48
49
|
const {
|
|
49
50
|
appVersion,
|
|
50
51
|
buildPath,
|
|
@@ -138,23 +139,19 @@ const devConfig = {
|
|
|
138
139
|
devMiddleware: {
|
|
139
140
|
publicPath: basePath
|
|
140
141
|
},
|
|
141
|
-
historyApiFallback:
|
|
142
|
+
historyApiFallback: {
|
|
143
|
+
index: `${basePath}index.html`
|
|
144
|
+
},
|
|
142
145
|
hot: true,
|
|
143
146
|
open: [basePath],
|
|
144
147
|
port: process.env.PORT || "auto",
|
|
145
148
|
setupMiddlewares: (middlewares, devServer) => {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
devServer.app.use((0, import_express_static_gzip.default)("cdn", {}));
|
|
149
|
-
(0, import_appRoutes.loadRoutes)(devServer.app).then(() => {
|
|
150
|
-
}).catch((err) => {
|
|
151
|
-
console.error(err);
|
|
152
|
-
});
|
|
153
|
-
}
|
|
149
|
+
(0, import_middlewares.setupDefaultMiddlewares)(devServer.app);
|
|
150
|
+
(0, import_app_routes.loadRoutes)(devServer.app);
|
|
154
151
|
return middlewares;
|
|
155
152
|
}
|
|
156
153
|
}
|
|
157
154
|
};
|
|
158
|
-
const config = (0, import_webpack_base_babel.baseConfig)(devConfig);
|
|
159
|
-
config.plugins = config.plugins
|
|
155
|
+
const config = smp.wrap((0, import_webpack_base_babel.baseConfig)(devConfig));
|
|
156
|
+
config.plugins = config.plugins.concat([new import_react_refresh_webpack_plugin.default({})]);
|
|
160
157
|
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");
|
|
37
36
|
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
38
37
|
var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
|
|
39
38
|
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.cjs");
|
|
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)(true)
|
|
68
68
|
}),
|
|
69
69
|
/* eslint-disable indent */
|
|
70
70
|
...copyPluginPatterns.length > 0 ? [
|
|
@@ -73,6 +73,7 @@ const plugins = [
|
|
|
73
73
|
})
|
|
74
74
|
] : [],
|
|
75
75
|
/* eslint-enable indent */
|
|
76
|
+
new import_duplicate_package_checker_webpack_plugin.default(),
|
|
76
77
|
new import_webpack.default.optimize.LimitChunkCountPlugin({
|
|
77
78
|
maxChunks: 1
|
|
78
79
|
}),
|
|
@@ -190,7 +191,7 @@ const baseConfig = (options) => ({
|
|
|
190
191
|
}
|
|
191
192
|
]
|
|
192
193
|
},
|
|
193
|
-
plugins:
|
|
194
|
+
plugins: plugins.concat(options.plugins || []),
|
|
194
195
|
resolve: {
|
|
195
196
|
modules: [
|
|
196
197
|
"node_modules",
|
|
@@ -33,7 +33,6 @@ __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");
|
|
37
36
|
var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
38
37
|
var import_circular_dependency_plugin = __toESM(require("circular-dependency-plugin"), 1);
|
|
39
38
|
var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
|
|
@@ -37,6 +37,7 @@ 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);
|
|
40
41
|
var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
|
|
41
42
|
var import_webpack_base_babel = require("./webpack.base.babel.js");
|
|
42
43
|
var import_helpers = require("./helpers.js");
|
|
@@ -81,10 +82,6 @@ const getProdConfig = ({ latestVersion = true } = {}) => {
|
|
|
81
82
|
},
|
|
82
83
|
plugins: [
|
|
83
84
|
...(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
|
-
}),
|
|
88
85
|
new import_webpack_bundle_analyzer.BundleAnalyzerPlugin({
|
|
89
86
|
analyzerMode: "static",
|
|
90
87
|
reportFilename: import_node_path.default.join(process.cwd(), "reports/bundle-stats.html"),
|
|
@@ -137,6 +134,17 @@ const htmlWebpackPlugin = new import_html_webpack_plugin.default({
|
|
|
137
134
|
}
|
|
138
135
|
});
|
|
139
136
|
const config = (0, import_webpack_base_babel.baseConfig)(getProdConfig());
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
config.plugins.push(htmlWebpackPlugin);
|
|
138
|
+
const addSMPPlugin = (webpackConfig) => {
|
|
139
|
+
const smpConfig = new import_speed_measure_webpack_plugin.default({
|
|
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);
|
|
@@ -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.cjs");
|
|
41
41
|
const IS_APP = (0, import_utils.isApp)();
|
|
42
42
|
const CWD = process.cwd();
|
|
43
43
|
const getAdditionalPlugins = () => [
|
|
@@ -84,39 +84,32 @@ const getModuleRules = () => [
|
|
|
84
84
|
type: "asset/resource"
|
|
85
85
|
}
|
|
86
86
|
];
|
|
87
|
-
const webpackFinal = (config, { configType }) => {
|
|
87
|
+
const webpackFinal = async (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
|
-
|
|
93
|
-
|
|
94
|
-
config
|
|
95
|
-
config?.plugins?.push(...getAdditionalPlugins());
|
|
92
|
+
fileLoaderRule.exclude = /\.svg$/i;
|
|
93
|
+
config.module.rules.unshift(...getModuleRules());
|
|
94
|
+
config.plugins.push(...getAdditionalPlugins());
|
|
96
95
|
if (isProd) {
|
|
97
|
-
config.plugins = config
|
|
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
|
-
];
|
|
96
|
+
config.plugins = config.plugins.concat((0, import_helpers.getCompressionPlugins)());
|
|
107
97
|
}
|
|
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
|
+
];
|
|
108
105
|
config.externals = config.externals || {};
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
config.externals["@elliemae/pui-diagnostics"] = "emuiDiagnostics";
|
|
113
|
-
}
|
|
106
|
+
config.externals["@elliemae/pui-user-monitoring"] = "emuiUserMonitoring";
|
|
107
|
+
config.externals["@elliemae/pui-app-loader"] = "emuiAppLoader";
|
|
108
|
+
config.externals["@elliemae/pui-diagnostics"] = "emuiDiagnostics";
|
|
114
109
|
return config;
|
|
115
110
|
};
|
|
116
|
-
const managerWebpack = (config) => {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if (config.resolve)
|
|
120
|
-
config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
|
|
111
|
+
const managerWebpack = async (config) => {
|
|
112
|
+
config.plugins = config.plugins.concat((0, import_helpers.getCompressionPlugins)());
|
|
113
|
+
config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
|
|
121
114
|
return config;
|
|
122
115
|
};
|
package/dist/esm/cli.js
CHANGED
|
@@ -19,17 +19,15 @@ 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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
await notifyUpdates();
|
|
35
|
-
})();
|
|
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();
|
|
@@ -30,17 +30,11 @@ const buildService = async () => {
|
|
|
30
30
|
srcdir: "./app",
|
|
31
31
|
outdir: "build",
|
|
32
32
|
esmOnly: true,
|
|
33
|
-
target:
|
|
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
|
-
};
|
|
44
38
|
const buildCmd = {
|
|
45
39
|
handler: async ({ service = false }) => {
|
|
46
40
|
try {
|
|
@@ -56,8 +50,13 @@ const buildCmd = {
|
|
|
56
50
|
}
|
|
57
51
|
},
|
|
58
52
|
command: "build",
|
|
59
|
-
|
|
60
|
-
builder:
|
|
53
|
+
describe: "builds front end application or NodeJS service",
|
|
54
|
+
builder: {
|
|
55
|
+
service: {
|
|
56
|
+
type: "boolean",
|
|
57
|
+
default: false
|
|
58
|
+
}
|
|
59
|
+
}
|
|
61
60
|
};
|
|
62
61
|
export {
|
|
63
62
|
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
|
-
|
|
5
|
+
exec(`jscodeshift --ignore-file=.gitignore -t ${argv.transform} .`);
|
|
6
6
|
};
|
|
7
7
|
const codemodCmd = {
|
|
8
8
|
handler: async (argv) => {
|
|
@@ -15,12 +15,14 @@ const codemodCmd = {
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
command: "codemod <transform>",
|
|
18
|
-
|
|
19
|
-
builder: (yargsRef) =>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
+
}
|
|
24
26
|
};
|
|
25
27
|
export {
|
|
26
28
|
codemodCmd
|