@elliemae/pui-cli 9.0.0-next.1 → 9.0.0-next.11
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/commands/start.js +1 -1
- package/dist/cjs/commands/storybook.js +2 -2
- package/dist/cjs/commands/utils.js +41 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/pui-config.js +2 -2
- package/dist/cjs/transpile/esbuild.js +3 -1
- package/dist/cjs/webpack/helpers.js +1 -1
- package/dist/cjs/webpack/webpack.base.babel.js +24 -2
- package/dist/cjs/webpack/webpack.dev.babel.js +3 -2
- package/dist/cjs/webpack/webpack.lib.base.babel.js +9 -1
- package/dist/cjs/webpack/webpack.lib.dev.babel.js +3 -10
- package/dist/cjs/webpack/webpack.lib.prod.babel.js +3 -5
- package/dist/cjs/webpack/webpack.prod.babel.js +3 -2
- package/dist/cjs/webpack/webpack.storybook.js +0 -8
- package/dist/esm/commands/start.js +1 -1
- package/dist/esm/commands/storybook.js +2 -2
- package/dist/esm/commands/utils.js +42 -2
- package/dist/esm/index.js +3 -1
- package/dist/esm/transpile/esbuild.js +3 -1
- package/dist/esm/webpack/helpers.js +1 -1
- package/dist/esm/webpack/webpack.base.babel.js +24 -2
- package/dist/esm/webpack/webpack.dev.babel.js +3 -2
- package/dist/esm/webpack/webpack.lib.base.babel.js +9 -1
- package/dist/esm/webpack/webpack.lib.dev.babel.js +3 -10
- package/dist/esm/webpack/webpack.lib.prod.babel.js +3 -5
- package/dist/esm/webpack/webpack.prod.babel.js +3 -2
- package/dist/esm/webpack/webpack.storybook.js +0 -8
- package/dist/types/index.d.ts +1 -0
- package/dist/types/webpack/webpack.storybook.d.ts +0 -1
- package/package.json +107 -95
|
@@ -39,7 +39,7 @@ const import_meta = {};
|
|
|
39
39
|
const __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
|
|
40
40
|
const startProdServer = async () => {
|
|
41
41
|
await (0, import_utils.exec)(
|
|
42
|
-
`cross-env NODE_ENV=production ts-node
|
|
42
|
+
`cross-env NODE_ENV=production node --no-warnings=ExperimentalWarning --loader ts-node/esm ${import_node_path.default.resolve(
|
|
43
43
|
__dirname,
|
|
44
44
|
"../server/index.js"
|
|
45
45
|
)} --color always`
|
|
@@ -36,12 +36,12 @@ var import_utils = require("./utils.js");
|
|
|
36
36
|
const buildStoryBook = async (outputDir = "demo", isDoc = false) => {
|
|
37
37
|
const additionalParams = isDoc ? `--docs -o ${outputDir}/docs` : `-o ${outputDir}`;
|
|
38
38
|
await (0, import_utils.exec)(
|
|
39
|
-
`cross-env NODE_ENV=production
|
|
39
|
+
`cross-env NODE_ENV=production storybook build --quiet ${additionalParams}`
|
|
40
40
|
);
|
|
41
41
|
};
|
|
42
42
|
const startStoryBook = async (isDoc = false) => {
|
|
43
43
|
await (0, import_utils.exec)(
|
|
44
|
-
`cross-env
|
|
44
|
+
`cross-env STORYBOOK_BUILD=true storybook dev ${isDoc ? "--docs" : ""} -p 11000 --quiet`
|
|
45
45
|
);
|
|
46
46
|
};
|
|
47
47
|
const cmdArgs = {
|
|
@@ -42,9 +42,13 @@ __export(utils_exports, {
|
|
|
42
42
|
module.exports = __toCommonJS(utils_exports);
|
|
43
43
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
44
44
|
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
45
|
-
var import_promises = require("fs/promises");
|
|
45
|
+
var import_promises = require("node:fs/promises");
|
|
46
|
+
var import_node_zlib = require("node:zlib");
|
|
47
|
+
var import_node_stream = require("node:stream");
|
|
48
|
+
var import_node_util = require("node:util");
|
|
46
49
|
var import_execa = require("execa");
|
|
47
50
|
var import_chalk = __toESM(require("chalk"), 1);
|
|
51
|
+
var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
48
52
|
var import_helpers = require("../webpack/helpers.js");
|
|
49
53
|
const browsersMapping = {
|
|
50
54
|
and_chr: "Chrome for Android",
|
|
@@ -145,6 +149,37 @@ const updateManifestWithVersionInfo = async (dest) => {
|
|
|
145
149
|
manifestData = manifestData.replace(/latest\//g, `${(0, import_helpers.getAppVersion)()}/`);
|
|
146
150
|
await (0, import_promises.writeFile)(manifestFile, manifestData);
|
|
147
151
|
};
|
|
152
|
+
const updateRuntimeFile = async (src, dest, version) => {
|
|
153
|
+
const latestJSFolder = "latest/js";
|
|
154
|
+
const pipe = (0, import_node_util.promisify)(import_node_stream.pipeline);
|
|
155
|
+
const results = await (0, import_fast_glob.default)([import_node_path.default.join(src, "runtime~app.*.js")]);
|
|
156
|
+
if (!results?.length)
|
|
157
|
+
throw new Error("Runtime file not found");
|
|
158
|
+
const runtimeFilePath = results[0];
|
|
159
|
+
const runtimeFileName = import_node_path.default.basename(runtimeFilePath);
|
|
160
|
+
const destRuntimeFilePath = import_node_path.default.join(dest, runtimeFileName);
|
|
161
|
+
const runtimeFileData = await (0, import_promises.readFile)(runtimeFilePath, "utf8");
|
|
162
|
+
if (runtimeFileData.includes(latestJSFolder)) {
|
|
163
|
+
await (0, import_promises.writeFile)(
|
|
164
|
+
destRuntimeFilePath,
|
|
165
|
+
runtimeFileData.replace(latestJSFolder, `${version}/js`)
|
|
166
|
+
);
|
|
167
|
+
const sourceMapFile = `${runtimeFilePath}.map`;
|
|
168
|
+
const sourcemap = await (0, import_promises.readFile)(sourceMapFile, "utf8");
|
|
169
|
+
await (0, import_promises.writeFile)(
|
|
170
|
+
`${destRuntimeFilePath}.map`,
|
|
171
|
+
sourcemap.replace(latestJSFolder, `${version}/js`)
|
|
172
|
+
);
|
|
173
|
+
const gzip = (0, import_node_zlib.createGzip)();
|
|
174
|
+
let source = (0, import_node_fs.createReadStream)(destRuntimeFilePath);
|
|
175
|
+
let destination = (0, import_node_fs.createWriteStream)(`${destRuntimeFilePath}.gz`);
|
|
176
|
+
await pipe(source, gzip, destination);
|
|
177
|
+
const brotli = (0, import_node_zlib.createBrotliCompress)();
|
|
178
|
+
source = (0, import_node_fs.createReadStream)(destRuntimeFilePath);
|
|
179
|
+
destination = (0, import_node_fs.createWriteStream)(`${destRuntimeFilePath}.br`);
|
|
180
|
+
await pipe(source, brotli, destination);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
148
183
|
const copyBuildAssetsToVersionedFolder = async () => {
|
|
149
184
|
const appVersion = (0, import_helpers.getAppVersion)();
|
|
150
185
|
const isVersionedApp = (0, import_helpers.isAppLoaderEnabled)() && appVersion !== import_helpers.LATEST_VERSION;
|
|
@@ -154,6 +189,11 @@ const copyBuildAssetsToVersionedFolder = async () => {
|
|
|
154
189
|
const dest = import_node_path.default.resolve(process.cwd(), `build/public/${appVersion}`);
|
|
155
190
|
await copyDir(src, dest);
|
|
156
191
|
await updateManifestWithVersionInfo(dest);
|
|
192
|
+
await updateRuntimeFile(
|
|
193
|
+
import_node_path.default.join(src, "js"),
|
|
194
|
+
import_node_path.default.join(dest, "js"),
|
|
195
|
+
appVersion
|
|
196
|
+
);
|
|
157
197
|
};
|
|
158
198
|
const isPathExist = async (pathToCheck) => {
|
|
159
199
|
try {
|
package/dist/cjs/index.js
CHANGED
|
@@ -28,7 +28,8 @@ __export(lib_exports, {
|
|
|
28
28
|
loadRoutes: () => import_appRoutes.loadRoutes,
|
|
29
29
|
prettierConfig: () => import_prettier_config.prettierConfig,
|
|
30
30
|
stylelintConfig: () => import_stylelint_config.stylelintConfig,
|
|
31
|
-
vitestConfig: () => import_vitest_config.vitestConfig
|
|
31
|
+
vitestConfig: () => import_vitest_config.vitestConfig,
|
|
32
|
+
webpackFinal: () => import_webpack_storybook.webpackFinal
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(lib_exports);
|
|
34
35
|
var import_babel_config = require("./babel.config.cjs");
|
|
@@ -42,3 +43,4 @@ var import_vitest_config = require("./testing/vitest.config.js");
|
|
|
42
43
|
var import_jest_node_config = require("./testing/jest.node.config.cjs");
|
|
43
44
|
var import_lint_staged_config = require("./lint-config/lint-staged.config.js");
|
|
44
45
|
var import_appRoutes = require("./server/appRoutes.js");
|
|
46
|
+
var import_webpack_storybook = require("./webpack/webpack.storybook.js");
|
package/dist/cjs/pui-config.js
CHANGED
|
@@ -33,7 +33,7 @@ __export(pui_config_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(pui_config_exports);
|
|
34
34
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
35
35
|
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
36
|
-
var
|
|
36
|
+
var import_merge = __toESM(require("lodash/merge"), 1);
|
|
37
37
|
const baseConfig = {
|
|
38
38
|
esBuild: {
|
|
39
39
|
target: "es2020"
|
|
@@ -44,5 +44,5 @@ const getPUIConfig = () => {
|
|
|
44
44
|
if (!import_node_fs.default.existsSync(configPath))
|
|
45
45
|
return baseConfig;
|
|
46
46
|
const config = JSON.parse(import_node_fs.default.readFileSync(configPath, "utf8"));
|
|
47
|
-
return (0,
|
|
47
|
+
return (0, import_merge.default)(baseConfig, config);
|
|
48
48
|
};
|
|
@@ -38,6 +38,7 @@ var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
|
38
38
|
var import_esbuild = require("esbuild");
|
|
39
39
|
var import_promises = require("node:fs/promises");
|
|
40
40
|
var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
|
|
41
|
+
var import_esbuild_plugin_lodash = __toESM(require("esbuild-plugin-lodash"), 1);
|
|
41
42
|
const import_meta = {};
|
|
42
43
|
const __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
|
|
43
44
|
const TARGETS = {
|
|
@@ -116,7 +117,8 @@ const esBuild = async ({
|
|
|
116
117
|
...getCommonConfig({ injectReactShim }),
|
|
117
118
|
outdir: cjsOutdir,
|
|
118
119
|
format: ESBUILD_FORMAT.CJS,
|
|
119
|
-
target
|
|
120
|
+
target,
|
|
121
|
+
plugins: [(0, import_esbuild_plugin_lodash.default)()]
|
|
120
122
|
});
|
|
121
123
|
await copyFiles({ srcdir, outdir: cjsOutdir });
|
|
122
124
|
await createPackageJson({ outdir: cjsOutdir, type: NODE_MODULE_TYPES.CJS });
|
|
@@ -76,7 +76,7 @@ const getLibraryName = () => {
|
|
|
76
76
|
const packageJson = JSON.parse(
|
|
77
77
|
import_node_fs.default.readFileSync(import_node_path.default.join(process.cwd(), "package.json")).toString()
|
|
78
78
|
);
|
|
79
|
-
const libraryName =
|
|
79
|
+
const libraryName = process.env.LIBRARY_NAME ?? packageJson?.name;
|
|
80
80
|
const modifiedLibName = `emui-${libraryName.replace("@elliemae/", "").replace("pui-", "")}`;
|
|
81
81
|
return import_lodash.default.camelCase(modifiedLibName);
|
|
82
82
|
};
|
|
@@ -254,7 +254,7 @@ const baseConfig = (options) => ({
|
|
|
254
254
|
resourceQuery: /resource/,
|
|
255
255
|
type: "asset/resource",
|
|
256
256
|
generator: {
|
|
257
|
-
filename: "latest/[name].[hash][ext]
|
|
257
|
+
filename: "latest/[name].[hash][ext]"
|
|
258
258
|
},
|
|
259
259
|
exclude: (0, import_helpers.excludeNodeModulesExcept)(import_helpers.modulesToTranspile)
|
|
260
260
|
},
|
|
@@ -287,10 +287,32 @@ const baseConfig = (options) => ({
|
|
|
287
287
|
...(options.resolve || {}).alias || {}
|
|
288
288
|
}
|
|
289
289
|
},
|
|
290
|
+
externalsPresets: {
|
|
291
|
+
web: true
|
|
292
|
+
},
|
|
290
293
|
externals: {
|
|
291
294
|
"@elliemae/pui-user-monitoring": "emuiUserMonitoring",
|
|
292
295
|
"@elliemae/pui-app-loader": "emuiAppLoader",
|
|
293
|
-
"@elliemae/pui-diagnostics": "emuiDiagnostics"
|
|
296
|
+
"@elliemae/pui-diagnostics": "emuiDiagnostics",
|
|
297
|
+
react: "emuiAppReactDependencies.react",
|
|
298
|
+
"react-dom": "emuiAppReactDependencies.reactDOM",
|
|
299
|
+
"@reduxjs/toolkit": "emuiAppReactDependencies.rtk",
|
|
300
|
+
axios: "emuiAppReactDependencies.axios.default",
|
|
301
|
+
dompurify: "emuiAppReactDependencies.dompurify",
|
|
302
|
+
history: "emuiAppReactDependencies.history",
|
|
303
|
+
immer: "emuiAppReactDependencies.immer",
|
|
304
|
+
invariant: "emuiAppReactDependencies.invariant",
|
|
305
|
+
"pubsub-js": "emuiAppReactDependencies.pubsubjs",
|
|
306
|
+
"react-aria-live": "emuiAppReactDependencies.reactAriaLive",
|
|
307
|
+
"react-helmet": "emuiAppReactDependencies.reactHelmet",
|
|
308
|
+
"react-hook-form": "emuiAppReactDependencies.reactHookForm",
|
|
309
|
+
"react-redux": "emuiAppReactDependencies.reactRedux",
|
|
310
|
+
"react-router-dom": "emuiAppReactDependencies.reactRouterDOM",
|
|
311
|
+
reduxInjectors: "emuiAppReactDependencies.reduxInjectors",
|
|
312
|
+
reselect: "emuiAppReactDependencies.reselect",
|
|
313
|
+
// "styled-components": "emuiAppReactDependencies.styledComponents",
|
|
314
|
+
"styled-system": "emuiAppReactDependencies.styledSystem"
|
|
315
|
+
// "@xstyled/styled-components": "emuiAppReactDependencies.xstyled",
|
|
294
316
|
},
|
|
295
317
|
devtool: options.devtool || "eval-source-map",
|
|
296
318
|
performance: options.performance || {},
|
|
@@ -98,7 +98,7 @@ const devConfig = {
|
|
|
98
98
|
// Add development plugins
|
|
99
99
|
plugins: [
|
|
100
100
|
new import_html_webpack_plugin.default({
|
|
101
|
-
inject: !(0, import_helpers.isAppLoaderEnabled)(),
|
|
101
|
+
inject: !(0, import_helpers.isAppLoaderEnabled)() ? "head" : false,
|
|
102
102
|
// Inject all files that are generated by webpack, e.g. bundle.js
|
|
103
103
|
template: !(0, import_helpers.isAppLoaderEnabled)() ? "app/index.html" : "app/index-app-loader.html",
|
|
104
104
|
emui: {
|
|
@@ -110,7 +110,8 @@ const devConfig = {
|
|
|
110
110
|
diagnosticsScriptPath,
|
|
111
111
|
encwLoaderScriptPath,
|
|
112
112
|
googleTagManager: (0, import_helpers.isGoogleTagManagerEnabled)()
|
|
113
|
-
}
|
|
113
|
+
},
|
|
114
|
+
scriptLoading: "defer"
|
|
114
115
|
}),
|
|
115
116
|
new import_circular_dependency_plugin.default({
|
|
116
117
|
exclude: /a\.(js|ts|jsx|tsx)|node_modules/,
|
|
@@ -84,14 +84,22 @@ const baseConfig = (options) => ({
|
|
|
84
84
|
output: {
|
|
85
85
|
clean: true,
|
|
86
86
|
path: import_node_path.default.resolve(process.cwd(), "dist/umd"),
|
|
87
|
+
filename: "[name].js",
|
|
88
|
+
chunkFilename: "[name].[chunkhash].chunk.js",
|
|
89
|
+
assetModuleFilename: "assets/[name].[hash][ext][query]",
|
|
87
90
|
publicPath: "auto",
|
|
88
91
|
library: {
|
|
89
92
|
name: (0, import_helpers.getLibraryVariableName)(),
|
|
90
|
-
type: "
|
|
93
|
+
type: "var"
|
|
94
|
+
// type: 'module',
|
|
91
95
|
},
|
|
96
|
+
// module: true,
|
|
92
97
|
...options.output
|
|
93
98
|
},
|
|
94
99
|
// Merge with env dependent settings
|
|
100
|
+
// experiments: {
|
|
101
|
+
// outputModule: true,
|
|
102
|
+
// },
|
|
95
103
|
optimization: options.optimization,
|
|
96
104
|
module: {
|
|
97
105
|
rules: [
|
|
@@ -47,17 +47,13 @@ const getHtmlWebpackPlugins = () => {
|
|
|
47
47
|
(htmlTemplateFile) => new import_html_webpack_plugin.default({
|
|
48
48
|
template: htmlTemplateFile,
|
|
49
49
|
filename: import_node_path.default.basename(htmlTemplateFile),
|
|
50
|
-
inject:
|
|
50
|
+
inject: "head",
|
|
51
|
+
scriptLoading: "defer"
|
|
51
52
|
})
|
|
52
53
|
);
|
|
53
54
|
};
|
|
54
55
|
var webpack_lib_dev_babel_default = (0, import_webpack_lib_base_babel.baseConfig)({
|
|
55
56
|
mode: "development",
|
|
56
|
-
// output: {
|
|
57
|
-
// filename: `js/${libraryName}.js`,
|
|
58
|
-
// chunkFilename: `js/${libraryName}.chunk.js`,
|
|
59
|
-
// assetModuleFilename: '[name][ext][query]',
|
|
60
|
-
// },
|
|
61
57
|
optimization: {
|
|
62
58
|
splitChunks: {
|
|
63
59
|
chunks: "all"
|
|
@@ -74,10 +70,7 @@ var webpack_lib_dev_babel_default = (0, import_webpack_lib_base_babel.baseConfig
|
|
|
74
70
|
failOnError: false
|
|
75
71
|
// show a warning when there is a circular dependency
|
|
76
72
|
}),
|
|
77
|
-
new import_mini_css_extract_plugin.default({
|
|
78
|
-
// filename: `css/${libraryName}.css`,
|
|
79
|
-
// chunkFilename: `css/${libraryName}.chunk.css`,
|
|
80
|
-
}),
|
|
73
|
+
new import_mini_css_extract_plugin.default({}),
|
|
81
74
|
new import_webpack.default.ProgressPlugin()
|
|
82
75
|
],
|
|
83
76
|
devtool: "eval-source-map",
|
|
@@ -46,7 +46,8 @@ const getHtmlWebpackPlugins = () => {
|
|
|
46
46
|
(htmlTemplateFile) => new import_html_webpack_plugin.default({
|
|
47
47
|
template: htmlTemplateFile,
|
|
48
48
|
filename: import_node_path.default.basename(htmlTemplateFile),
|
|
49
|
-
inject:
|
|
49
|
+
inject: "head",
|
|
50
|
+
scriptLoading: "defer",
|
|
50
51
|
minify: {
|
|
51
52
|
removeComments: true,
|
|
52
53
|
collapseWhitespace: true,
|
|
@@ -82,10 +83,7 @@ const prodConfig = {
|
|
|
82
83
|
},
|
|
83
84
|
plugins: [
|
|
84
85
|
...getHtmlWebpackPlugins(),
|
|
85
|
-
new import_mini_css_extract_plugin.default({
|
|
86
|
-
// filename: `css/${libraryName}.[contenthash].css`,
|
|
87
|
-
// chunkFilename: `css/${libraryName}.[contenthash].chunk.css`,
|
|
88
|
-
}),
|
|
86
|
+
new import_mini_css_extract_plugin.default({}),
|
|
89
87
|
...(0, import_helpers.getCompressionPlugins)(true),
|
|
90
88
|
new import_webpack_bundle_analyzer.BundleAnalyzerPlugin({
|
|
91
89
|
analyzerMode: "static",
|
|
@@ -111,7 +111,7 @@ const {
|
|
|
111
111
|
basePath
|
|
112
112
|
} = (0, import_helpers.getPaths)();
|
|
113
113
|
const htmlWebpackPlugin = new import_html_webpack_plugin.default({
|
|
114
|
-
inject: !(0, import_helpers.isAppLoaderEnabled)(),
|
|
114
|
+
inject: !(0, import_helpers.isAppLoaderEnabled)() ? "head" : false,
|
|
115
115
|
template: !(0, import_helpers.isAppLoaderEnabled)() ? "app/index.html" : "app/index-app-loader.html",
|
|
116
116
|
minify: {
|
|
117
117
|
removeComments: true,
|
|
@@ -134,7 +134,8 @@ const htmlWebpackPlugin = new import_html_webpack_plugin.default({
|
|
|
134
134
|
diagnosticsScriptPath,
|
|
135
135
|
encwLoaderScriptPath,
|
|
136
136
|
googleTagManager: (0, import_helpers.isGoogleTagManagerEnabled)()
|
|
137
|
-
}
|
|
137
|
+
},
|
|
138
|
+
scriptLoading: "defer"
|
|
138
139
|
});
|
|
139
140
|
const config = (0, import_webpack_base_babel.baseConfig)(getProdConfig());
|
|
140
141
|
if (config.plugins)
|
|
@@ -28,7 +28,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var webpack_storybook_exports = {};
|
|
30
30
|
__export(webpack_storybook_exports, {
|
|
31
|
-
managerWebpack: () => managerWebpack,
|
|
32
31
|
webpackFinal: () => webpackFinal
|
|
33
32
|
});
|
|
34
33
|
module.exports = __toCommonJS(webpack_storybook_exports);
|
|
@@ -113,10 +112,3 @@ const webpackFinal = (config, { configType }) => {
|
|
|
113
112
|
}
|
|
114
113
|
return config;
|
|
115
114
|
};
|
|
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)() };
|
|
121
|
-
return config;
|
|
122
|
-
};
|
|
@@ -5,7 +5,7 @@ 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
|
|
8
|
+
`cross-env NODE_ENV=production node --no-warnings=ExperimentalWarning --loader ts-node/esm ${path.resolve(
|
|
9
9
|
__dirname,
|
|
10
10
|
"../server/index.js"
|
|
11
11
|
)} --color always`
|
|
@@ -3,12 +3,12 @@ import { exec, logInfo, logError, logSuccess } from "./utils.js";
|
|
|
3
3
|
const buildStoryBook = async (outputDir = "demo", isDoc = false) => {
|
|
4
4
|
const additionalParams = isDoc ? `--docs -o ${outputDir}/docs` : `-o ${outputDir}`;
|
|
5
5
|
await exec(
|
|
6
|
-
`cross-env NODE_ENV=production
|
|
6
|
+
`cross-env NODE_ENV=production storybook build --quiet ${additionalParams}`
|
|
7
7
|
);
|
|
8
8
|
};
|
|
9
9
|
const startStoryBook = async (isDoc = false) => {
|
|
10
10
|
await exec(
|
|
11
|
-
`cross-env
|
|
11
|
+
`cross-env STORYBOOK_BUILD=true storybook dev ${isDoc ? "--docs" : ""} -p 11000 --quiet`
|
|
12
12
|
);
|
|
13
13
|
};
|
|
14
14
|
const cmdArgs = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import fs, { constants } from "node:fs";
|
|
2
|
+
import fs, { constants, createReadStream, createWriteStream } from "node:fs";
|
|
3
3
|
import {
|
|
4
4
|
readFile,
|
|
5
5
|
writeFile,
|
|
@@ -7,9 +7,13 @@ import {
|
|
|
7
7
|
readdir,
|
|
8
8
|
copyFile,
|
|
9
9
|
access
|
|
10
|
-
} from "fs/promises";
|
|
10
|
+
} from "node:fs/promises";
|
|
11
|
+
import { createGzip, createBrotliCompress } from "node:zlib";
|
|
12
|
+
import { pipeline } from "node:stream";
|
|
13
|
+
import { promisify } from "node:util";
|
|
11
14
|
import { execaCommand } from "execa";
|
|
12
15
|
import chalk from "chalk";
|
|
16
|
+
import fg from "fast-glob";
|
|
13
17
|
import {
|
|
14
18
|
getPaths,
|
|
15
19
|
isAppLoaderEnabled,
|
|
@@ -115,6 +119,37 @@ const updateManifestWithVersionInfo = async (dest) => {
|
|
|
115
119
|
manifestData = manifestData.replace(/latest\//g, `${getAppVersion()}/`);
|
|
116
120
|
await writeFile(manifestFile, manifestData);
|
|
117
121
|
};
|
|
122
|
+
const updateRuntimeFile = async (src, dest, version) => {
|
|
123
|
+
const latestJSFolder = "latest/js";
|
|
124
|
+
const pipe = promisify(pipeline);
|
|
125
|
+
const results = await fg([path.join(src, "runtime~app.*.js")]);
|
|
126
|
+
if (!results?.length)
|
|
127
|
+
throw new Error("Runtime file not found");
|
|
128
|
+
const runtimeFilePath = results[0];
|
|
129
|
+
const runtimeFileName = path.basename(runtimeFilePath);
|
|
130
|
+
const destRuntimeFilePath = path.join(dest, runtimeFileName);
|
|
131
|
+
const runtimeFileData = await readFile(runtimeFilePath, "utf8");
|
|
132
|
+
if (runtimeFileData.includes(latestJSFolder)) {
|
|
133
|
+
await writeFile(
|
|
134
|
+
destRuntimeFilePath,
|
|
135
|
+
runtimeFileData.replace(latestJSFolder, `${version}/js`)
|
|
136
|
+
);
|
|
137
|
+
const sourceMapFile = `${runtimeFilePath}.map`;
|
|
138
|
+
const sourcemap = await readFile(sourceMapFile, "utf8");
|
|
139
|
+
await writeFile(
|
|
140
|
+
`${destRuntimeFilePath}.map`,
|
|
141
|
+
sourcemap.replace(latestJSFolder, `${version}/js`)
|
|
142
|
+
);
|
|
143
|
+
const gzip = createGzip();
|
|
144
|
+
let source = createReadStream(destRuntimeFilePath);
|
|
145
|
+
let destination = createWriteStream(`${destRuntimeFilePath}.gz`);
|
|
146
|
+
await pipe(source, gzip, destination);
|
|
147
|
+
const brotli = createBrotliCompress();
|
|
148
|
+
source = createReadStream(destRuntimeFilePath);
|
|
149
|
+
destination = createWriteStream(`${destRuntimeFilePath}.br`);
|
|
150
|
+
await pipe(source, brotli, destination);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
118
153
|
const copyBuildAssetsToVersionedFolder = async () => {
|
|
119
154
|
const appVersion = getAppVersion();
|
|
120
155
|
const isVersionedApp = isAppLoaderEnabled() && appVersion !== LATEST_VERSION;
|
|
@@ -124,6 +159,11 @@ const copyBuildAssetsToVersionedFolder = async () => {
|
|
|
124
159
|
const dest = path.resolve(process.cwd(), `build/public/${appVersion}`);
|
|
125
160
|
await copyDir(src, dest);
|
|
126
161
|
await updateManifestWithVersionInfo(dest);
|
|
162
|
+
await updateRuntimeFile(
|
|
163
|
+
path.join(src, "js"),
|
|
164
|
+
path.join(dest, "js"),
|
|
165
|
+
appVersion
|
|
166
|
+
);
|
|
127
167
|
};
|
|
128
168
|
const isPathExist = async (pathToCheck) => {
|
|
129
169
|
try {
|
package/dist/esm/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { vitestConfig } from "./testing/vitest.config.js";
|
|
|
9
9
|
import { jestNodeConfig } from "./testing/jest.node.config.cjs";
|
|
10
10
|
import { lintStagedConfig } from "./lint-config/lint-staged.config.js";
|
|
11
11
|
import { loadRoutes } from "./server/appRoutes.js";
|
|
12
|
+
import { webpackFinal } from "./webpack/webpack.storybook.js";
|
|
12
13
|
export {
|
|
13
14
|
babelConfig,
|
|
14
15
|
commitlintConfig,
|
|
@@ -20,5 +21,6 @@ export {
|
|
|
20
21
|
loadRoutes,
|
|
21
22
|
prettierConfig,
|
|
22
23
|
stylelintConfig,
|
|
23
|
-
vitestConfig
|
|
24
|
+
vitestConfig,
|
|
25
|
+
webpackFinal
|
|
24
26
|
};
|
|
@@ -4,6 +4,7 @@ import fg from "fast-glob";
|
|
|
4
4
|
import { build } from "esbuild";
|
|
5
5
|
import { writeFile, copyFile, readFile, mkdir } from "node:fs/promises";
|
|
6
6
|
import browserslistToEsbuild from "browserslist-to-esbuild";
|
|
7
|
+
import lodashTransformer from "esbuild-plugin-lodash";
|
|
7
8
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
9
|
const TARGETS = {
|
|
9
10
|
browserslist: browserslistToEsbuild(),
|
|
@@ -81,7 +82,8 @@ const esBuild = async ({
|
|
|
81
82
|
...getCommonConfig({ injectReactShim }),
|
|
82
83
|
outdir: cjsOutdir,
|
|
83
84
|
format: ESBUILD_FORMAT.CJS,
|
|
84
|
-
target
|
|
85
|
+
target,
|
|
86
|
+
plugins: [lodashTransformer()]
|
|
85
87
|
});
|
|
86
88
|
await copyFiles({ srcdir, outdir: cjsOutdir });
|
|
87
89
|
await createPackageJson({ outdir: cjsOutdir, type: NODE_MODULE_TYPES.CJS });
|
|
@@ -28,7 +28,7 @@ const getLibraryName = () => {
|
|
|
28
28
|
const packageJson = JSON.parse(
|
|
29
29
|
fs.readFileSync(path.join(process.cwd(), "package.json")).toString()
|
|
30
30
|
);
|
|
31
|
-
const libraryName =
|
|
31
|
+
const libraryName = process.env.LIBRARY_NAME ?? packageJson?.name;
|
|
32
32
|
const modifiedLibName = `emui-${libraryName.replace("@elliemae/", "").replace("pui-", "")}`;
|
|
33
33
|
return _.camelCase(modifiedLibName);
|
|
34
34
|
};
|
|
@@ -227,7 +227,7 @@ const baseConfig = (options) => ({
|
|
|
227
227
|
resourceQuery: /resource/,
|
|
228
228
|
type: "asset/resource",
|
|
229
229
|
generator: {
|
|
230
|
-
filename: "latest/[name].[hash][ext]
|
|
230
|
+
filename: "latest/[name].[hash][ext]"
|
|
231
231
|
},
|
|
232
232
|
exclude: excludeNodeModulesExcept(modulesToTranspile)
|
|
233
233
|
},
|
|
@@ -260,10 +260,32 @@ const baseConfig = (options) => ({
|
|
|
260
260
|
...(options.resolve || {}).alias || {}
|
|
261
261
|
}
|
|
262
262
|
},
|
|
263
|
+
externalsPresets: {
|
|
264
|
+
web: true
|
|
265
|
+
},
|
|
263
266
|
externals: {
|
|
264
267
|
"@elliemae/pui-user-monitoring": "emuiUserMonitoring",
|
|
265
268
|
"@elliemae/pui-app-loader": "emuiAppLoader",
|
|
266
|
-
"@elliemae/pui-diagnostics": "emuiDiagnostics"
|
|
269
|
+
"@elliemae/pui-diagnostics": "emuiDiagnostics",
|
|
270
|
+
react: "emuiAppReactDependencies.react",
|
|
271
|
+
"react-dom": "emuiAppReactDependencies.reactDOM",
|
|
272
|
+
"@reduxjs/toolkit": "emuiAppReactDependencies.rtk",
|
|
273
|
+
axios: "emuiAppReactDependencies.axios.default",
|
|
274
|
+
dompurify: "emuiAppReactDependencies.dompurify",
|
|
275
|
+
history: "emuiAppReactDependencies.history",
|
|
276
|
+
immer: "emuiAppReactDependencies.immer",
|
|
277
|
+
invariant: "emuiAppReactDependencies.invariant",
|
|
278
|
+
"pubsub-js": "emuiAppReactDependencies.pubsubjs",
|
|
279
|
+
"react-aria-live": "emuiAppReactDependencies.reactAriaLive",
|
|
280
|
+
"react-helmet": "emuiAppReactDependencies.reactHelmet",
|
|
281
|
+
"react-hook-form": "emuiAppReactDependencies.reactHookForm",
|
|
282
|
+
"react-redux": "emuiAppReactDependencies.reactRedux",
|
|
283
|
+
"react-router-dom": "emuiAppReactDependencies.reactRouterDOM",
|
|
284
|
+
reduxInjectors: "emuiAppReactDependencies.reduxInjectors",
|
|
285
|
+
reselect: "emuiAppReactDependencies.reselect",
|
|
286
|
+
// "styled-components": "emuiAppReactDependencies.styledComponents",
|
|
287
|
+
"styled-system": "emuiAppReactDependencies.styledSystem"
|
|
288
|
+
// "@xstyled/styled-components": "emuiAppReactDependencies.xstyled",
|
|
267
289
|
},
|
|
268
290
|
devtool: options.devtool || "eval-source-map",
|
|
269
291
|
performance: options.performance || {},
|
|
@@ -68,7 +68,7 @@ const devConfig = {
|
|
|
68
68
|
// Add development plugins
|
|
69
69
|
plugins: [
|
|
70
70
|
new HtmlWebpackPlugin({
|
|
71
|
-
inject: !isAppLoaderEnabled(),
|
|
71
|
+
inject: !isAppLoaderEnabled() ? "head" : false,
|
|
72
72
|
// Inject all files that are generated by webpack, e.g. bundle.js
|
|
73
73
|
template: !isAppLoaderEnabled() ? "app/index.html" : "app/index-app-loader.html",
|
|
74
74
|
emui: {
|
|
@@ -80,7 +80,8 @@ const devConfig = {
|
|
|
80
80
|
diagnosticsScriptPath,
|
|
81
81
|
encwLoaderScriptPath,
|
|
82
82
|
googleTagManager: isGoogleTagManagerEnabled()
|
|
83
|
-
}
|
|
83
|
+
},
|
|
84
|
+
scriptLoading: "defer"
|
|
84
85
|
}),
|
|
85
86
|
new CircularDependencyPlugin({
|
|
86
87
|
exclude: /a\.(js|ts|jsx|tsx)|node_modules/,
|
|
@@ -57,14 +57,22 @@ const baseConfig = (options) => ({
|
|
|
57
57
|
output: {
|
|
58
58
|
clean: true,
|
|
59
59
|
path: path.resolve(process.cwd(), "dist/umd"),
|
|
60
|
+
filename: "[name].js",
|
|
61
|
+
chunkFilename: "[name].[chunkhash].chunk.js",
|
|
62
|
+
assetModuleFilename: "assets/[name].[hash][ext][query]",
|
|
60
63
|
publicPath: "auto",
|
|
61
64
|
library: {
|
|
62
65
|
name: getLibraryVariableName(),
|
|
63
|
-
type: "
|
|
66
|
+
type: "var"
|
|
67
|
+
// type: 'module',
|
|
64
68
|
},
|
|
69
|
+
// module: true,
|
|
65
70
|
...options.output
|
|
66
71
|
},
|
|
67
72
|
// Merge with env dependent settings
|
|
73
|
+
// experiments: {
|
|
74
|
+
// outputModule: true,
|
|
75
|
+
// },
|
|
68
76
|
optimization: options.optimization,
|
|
69
77
|
module: {
|
|
70
78
|
rules: [
|
|
@@ -14,17 +14,13 @@ const getHtmlWebpackPlugins = () => {
|
|
|
14
14
|
(htmlTemplateFile) => new HtmlWebpackPlugin({
|
|
15
15
|
template: htmlTemplateFile,
|
|
16
16
|
filename: path.basename(htmlTemplateFile),
|
|
17
|
-
inject:
|
|
17
|
+
inject: "head",
|
|
18
|
+
scriptLoading: "defer"
|
|
18
19
|
})
|
|
19
20
|
);
|
|
20
21
|
};
|
|
21
22
|
var webpack_lib_dev_babel_default = baseConfig({
|
|
22
23
|
mode: "development",
|
|
23
|
-
// output: {
|
|
24
|
-
// filename: `js/${libraryName}.js`,
|
|
25
|
-
// chunkFilename: `js/${libraryName}.chunk.js`,
|
|
26
|
-
// assetModuleFilename: '[name][ext][query]',
|
|
27
|
-
// },
|
|
28
24
|
optimization: {
|
|
29
25
|
splitChunks: {
|
|
30
26
|
chunks: "all"
|
|
@@ -41,10 +37,7 @@ var webpack_lib_dev_babel_default = baseConfig({
|
|
|
41
37
|
failOnError: false
|
|
42
38
|
// show a warning when there is a circular dependency
|
|
43
39
|
}),
|
|
44
|
-
new MiniCssExtractPlugin({
|
|
45
|
-
// filename: `css/${libraryName}.css`,
|
|
46
|
-
// chunkFilename: `css/${libraryName}.chunk.css`,
|
|
47
|
-
}),
|
|
40
|
+
new MiniCssExtractPlugin({}),
|
|
48
41
|
new webpack.ProgressPlugin()
|
|
49
42
|
],
|
|
50
43
|
devtool: "eval-source-map",
|
|
@@ -13,7 +13,8 @@ const getHtmlWebpackPlugins = () => {
|
|
|
13
13
|
(htmlTemplateFile) => new HtmlWebpackPlugin({
|
|
14
14
|
template: htmlTemplateFile,
|
|
15
15
|
filename: path.basename(htmlTemplateFile),
|
|
16
|
-
inject:
|
|
16
|
+
inject: "head",
|
|
17
|
+
scriptLoading: "defer",
|
|
17
18
|
minify: {
|
|
18
19
|
removeComments: true,
|
|
19
20
|
collapseWhitespace: true,
|
|
@@ -49,10 +50,7 @@ const prodConfig = {
|
|
|
49
50
|
},
|
|
50
51
|
plugins: [
|
|
51
52
|
...getHtmlWebpackPlugins(),
|
|
52
|
-
new MiniCssExtractPlugin({
|
|
53
|
-
// filename: `css/${libraryName}.[contenthash].css`,
|
|
54
|
-
// chunkFilename: `css/${libraryName}.[contenthash].chunk.css`,
|
|
55
|
-
}),
|
|
53
|
+
new MiniCssExtractPlugin({}),
|
|
56
54
|
...getCompressionPlugins(true),
|
|
57
55
|
new BundleAnalyzerPlugin({
|
|
58
56
|
analyzerMode: "static",
|
|
@@ -83,7 +83,7 @@ const {
|
|
|
83
83
|
basePath
|
|
84
84
|
} = getPaths();
|
|
85
85
|
const htmlWebpackPlugin = new HtmlWebpackPlugin({
|
|
86
|
-
inject: !isAppLoaderEnabled(),
|
|
86
|
+
inject: !isAppLoaderEnabled() ? "head" : false,
|
|
87
87
|
template: !isAppLoaderEnabled() ? "app/index.html" : "app/index-app-loader.html",
|
|
88
88
|
minify: {
|
|
89
89
|
removeComments: true,
|
|
@@ -106,7 +106,8 @@ const htmlWebpackPlugin = new HtmlWebpackPlugin({
|
|
|
106
106
|
diagnosticsScriptPath,
|
|
107
107
|
encwLoaderScriptPath,
|
|
108
108
|
googleTagManager: isGoogleTagManagerEnabled()
|
|
109
|
-
}
|
|
109
|
+
},
|
|
110
|
+
scriptLoading: "defer"
|
|
110
111
|
});
|
|
111
112
|
const config = baseConfig(getProdConfig());
|
|
112
113
|
if (config.plugins)
|
|
@@ -79,14 +79,6 @@ const webpackFinal = (config, { configType }) => {
|
|
|
79
79
|
}
|
|
80
80
|
return config;
|
|
81
81
|
};
|
|
82
|
-
const managerWebpack = (config) => {
|
|
83
|
-
if (config.plugins)
|
|
84
|
-
config.plugins = config.plugins.concat(getCompressionPlugins());
|
|
85
|
-
if (config.resolve)
|
|
86
|
-
config.resolve.alias = { ...config.resolve.alias, ...getAlias() };
|
|
87
|
-
return config;
|
|
88
|
-
};
|
|
89
82
|
export {
|
|
90
|
-
managerWebpack,
|
|
91
83
|
webpackFinal
|
|
92
84
|
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -9,3 +9,4 @@ export { vitestConfig } from './testing/vitest.config.js';
|
|
|
9
9
|
export { jestNodeConfig } from './testing/jest.node.config.cjs';
|
|
10
10
|
export { lintStagedConfig } from './lint-config/lint-staged.config.js';
|
|
11
11
|
export { loadRoutes } from './server/appRoutes.js';
|
|
12
|
+
export { webpackFinal } from './webpack/webpack.storybook.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/pui-cli",
|
|
3
|
-
"version": "9.0.0-next.
|
|
3
|
+
"version": "9.0.0-next.11",
|
|
4
4
|
"description": "ICE MT UI Platform CLI",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -19,11 +19,16 @@
|
|
|
19
19
|
"require": "./dist/cjs/release.config.cjs"
|
|
20
20
|
},
|
|
21
21
|
"./storybook": {
|
|
22
|
+
"import": "./dist/esm/webpack/webpack.storybook.js",
|
|
22
23
|
"require": "./dist/cjs/webpack/webpack.storybook.js"
|
|
23
24
|
},
|
|
24
25
|
"./vitest": {
|
|
25
26
|
"import": "./dist/esm/testing/vitest.config.js"
|
|
26
27
|
},
|
|
28
|
+
"./server/routes": {
|
|
29
|
+
"import": "./dist/esm/server/appRoutes.js",
|
|
30
|
+
"require": "./dist/cjs/server/appRoutes.js"
|
|
31
|
+
},
|
|
27
32
|
"./app.tsconfig.json": "./app.tsconfig.json",
|
|
28
33
|
"./library.tsconfig.json": "./library.tsconfig.json"
|
|
29
34
|
},
|
|
@@ -40,27 +45,27 @@
|
|
|
40
45
|
"url": "https://git.elliemae.io/platform-ui/pui-cli.git"
|
|
41
46
|
},
|
|
42
47
|
"engines": {
|
|
43
|
-
"pnpm": ">=
|
|
44
|
-
"node": ">=
|
|
48
|
+
"pnpm": ">=8",
|
|
49
|
+
"node": ">=18"
|
|
45
50
|
},
|
|
46
51
|
"author": "ICE MT",
|
|
47
52
|
"license": "MIT",
|
|
48
53
|
"scripts": {
|
|
49
|
-
"build": "ts-node
|
|
50
|
-
"build:dev": "ts-node
|
|
54
|
+
"build": "node --no-warnings=ExperimentalWarning --loader ts-node/esm ./lib/cli.ts pack -p -t node",
|
|
55
|
+
"build:dev": "node --no-warnings=ExperimentalWarning --loader ts-node/esm ./lib/cli.ts pack -t node",
|
|
51
56
|
"docs:start": "docusaurus start",
|
|
52
57
|
"docs:build": "docusaurus build --out-dir build/docs",
|
|
53
58
|
"docs:version": "docusaurus docs:version",
|
|
54
59
|
"docs:serve": "docusaurus serve",
|
|
55
|
-
"lint": "ts-node
|
|
56
|
-
"lint:fix": "ts-node
|
|
60
|
+
"lint": "node --no-warnings=ExperimentalWarning --loader ts-node/esm ./lib/cli.ts lint",
|
|
61
|
+
"lint:fix": "node --no-warnings=ExperimentalWarning --loader ts-node/esm ./lib/cli.ts lint --fix",
|
|
57
62
|
"prettify": "prettier --write",
|
|
58
63
|
"release": "semantic-release",
|
|
59
64
|
"storybook:build": "exit 0",
|
|
60
65
|
"storybook:docs:build": "exit 0",
|
|
61
|
-
"test": "ts-node
|
|
66
|
+
"test": "node --no-warnings=ExperimentalWarning --loader ts-node/esm ./lib/cli.ts test -p",
|
|
62
67
|
"test:staged": "jest --coverage --passWithNoTests --bail --findRelatedTests",
|
|
63
|
-
"tscheck": "ts-node
|
|
68
|
+
"tscheck": "node --no-warnings=ExperimentalWarning --loader ts-node/esm ./lib/cli.ts tscheck --files",
|
|
64
69
|
"setup": "rimraf node_modules && rimraf pnpm-lock.yaml && pnpm i",
|
|
65
70
|
"upgrade": "ncu -u && npm run setup",
|
|
66
71
|
"prepare": "[ -n \"$CI\" ] || husky install"
|
|
@@ -72,51 +77,56 @@
|
|
|
72
77
|
"sonar56x": true
|
|
73
78
|
},
|
|
74
79
|
"dependencies": {
|
|
75
|
-
"@axe-core/react": "~4.
|
|
76
|
-
"@babel/cli": "~7.21.
|
|
77
|
-
"@babel/core": "~7.21.
|
|
78
|
-
"@babel/eslint-parser": "~7.21.
|
|
80
|
+
"@axe-core/react": "~4.7.0",
|
|
81
|
+
"@babel/cli": "~7.21.5",
|
|
82
|
+
"@babel/core": "~7.21.8",
|
|
83
|
+
"@babel/eslint-parser": "~7.21.8",
|
|
79
84
|
"@babel/node": "~7.20.7",
|
|
80
85
|
"@babel/plugin-proposal-class-properties": "~7.18.6",
|
|
81
86
|
"@babel/plugin-proposal-export-default-from": "~7.18.10",
|
|
82
87
|
"@babel/plugin-syntax-dynamic-import": "~7.8.3",
|
|
83
88
|
"@babel/plugin-syntax-import-assertions": "~7.20.0",
|
|
84
|
-
"@babel/plugin-transform-modules-commonjs": "~7.21.
|
|
89
|
+
"@babel/plugin-transform-modules-commonjs": "~7.21.5",
|
|
85
90
|
"@babel/plugin-transform-react-constant-elements": "~7.21.3",
|
|
86
91
|
"@babel/plugin-transform-react-inline-elements": "~7.21.0",
|
|
87
92
|
"@babel/plugin-transform-react-jsx-source": "~7.19.6",
|
|
88
|
-
"@babel/plugin-transform-runtime": "~7.21.
|
|
89
|
-
"@babel/preset-env": "~7.
|
|
93
|
+
"@babel/plugin-transform-runtime": "~7.21.4",
|
|
94
|
+
"@babel/preset-env": "~7.21.5",
|
|
90
95
|
"@babel/preset-react": "~7.18.6",
|
|
91
|
-
"@babel/preset-typescript": "~7.21.
|
|
92
|
-
"@babel/runtime": "~7.21.
|
|
93
|
-
"@commitlint/cli": "~17.
|
|
94
|
-
"@commitlint/config-conventional": "~17.
|
|
95
|
-
"@elliemae/browserslist-config-elliemae-latest-browsers": "~1.
|
|
96
|
-
"@faker-js/faker": "
|
|
97
|
-
"@nrwl/cli": "15.
|
|
98
|
-
"@nrwl/tao": "
|
|
99
|
-
"@nrwl/workspace": "
|
|
96
|
+
"@babel/preset-typescript": "~7.21.5",
|
|
97
|
+
"@babel/runtime": "~7.21.5",
|
|
98
|
+
"@commitlint/cli": "~17.6.3",
|
|
99
|
+
"@commitlint/config-conventional": "~17.6.3",
|
|
100
|
+
"@elliemae/browserslist-config-elliemae-latest-browsers": "~1.7.0",
|
|
101
|
+
"@faker-js/faker": "8.0.1",
|
|
102
|
+
"@nrwl/cli": "15.9.3",
|
|
103
|
+
"@nrwl/tao": "16.1.4",
|
|
104
|
+
"@nrwl/workspace": "16.1.4",
|
|
100
105
|
"@pmmmwh/react-refresh-webpack-plugin": "~0.5.10",
|
|
101
|
-
"@semantic-release/changelog": "~6.0.
|
|
106
|
+
"@semantic-release/changelog": "~6.0.3",
|
|
102
107
|
"@semantic-release/exec": "~6.0.3",
|
|
103
108
|
"@semantic-release/git": "~10.0.1",
|
|
104
|
-
"@storybook/addon-a11y": "~
|
|
105
|
-
"@storybook/addon-essentials": "~
|
|
109
|
+
"@storybook/addon-a11y": "~7.0.12",
|
|
110
|
+
"@storybook/addon-essentials": "~7.0.12",
|
|
106
111
|
"@storybook/addon-events": "~6.2.9",
|
|
107
|
-
"@storybook/addon-interactions": "~
|
|
108
|
-
"@storybook/addon-links": "~
|
|
109
|
-
"@storybook/addon-storysource": "~
|
|
110
|
-
"@storybook/
|
|
111
|
-
"@storybook/builder-
|
|
112
|
+
"@storybook/addon-interactions": "~7.0.12",
|
|
113
|
+
"@storybook/addon-links": "~7.0.12",
|
|
114
|
+
"@storybook/addon-storysource": "~7.0.12",
|
|
115
|
+
"@storybook/blocks": "~7.0.12",
|
|
116
|
+
"@storybook/builder-vite": "~7.0.12",
|
|
117
|
+
"@storybook/builder-webpack5": "~7.0.12",
|
|
118
|
+
"@storybook/jest": "~0.1.0",
|
|
112
119
|
"@storybook/manager-webpack5": "~6.5.16",
|
|
113
|
-
"@storybook/react": "~
|
|
114
|
-
"@storybook/
|
|
120
|
+
"@storybook/react": "~7.0.12",
|
|
121
|
+
"@storybook/react-vite": "~7.0.12",
|
|
122
|
+
"@storybook/react-webpack5": "~7.0.12",
|
|
123
|
+
"@storybook/testing-library": "~0.1.0",
|
|
124
|
+
"@storybook/theming": "~7.0.12",
|
|
115
125
|
"@stylelint/postcss-css-in-js": "~0.38.0",
|
|
116
|
-
"@svgr/webpack": "~
|
|
126
|
+
"@svgr/webpack": "~8.0.1",
|
|
117
127
|
"@swc/cli": "~0.1.62",
|
|
118
|
-
"@swc/core": "~1.3.
|
|
119
|
-
"@swc/jest": "~0.2.
|
|
128
|
+
"@swc/core": "~1.3.58",
|
|
129
|
+
"@swc/jest": "~0.2.26",
|
|
120
130
|
"@testing-library/jest-dom": "~5.16.5",
|
|
121
131
|
"@testing-library/react": "~14.0.0",
|
|
122
132
|
"@testing-library/react-hooks": "~8.0.1",
|
|
@@ -126,31 +136,31 @@
|
|
|
126
136
|
"@types/compression": "~1.7.2",
|
|
127
137
|
"@types/duplicate-package-checker-webpack-plugin": "~2.1.2",
|
|
128
138
|
"@types/ip": "~1.1.0",
|
|
129
|
-
"@types/jest": "~29.5.
|
|
139
|
+
"@types/jest": "~29.5.1",
|
|
130
140
|
"@types/jest-axe": "~3.5.5",
|
|
131
141
|
"@types/moment-locales-webpack-plugin": "~1.2.3",
|
|
132
|
-
"@types/node": "~
|
|
142
|
+
"@types/node": "~20.1.4",
|
|
133
143
|
"@types/normalize-path": "~3.0.0",
|
|
134
|
-
"@types/postcss-preset-env": "~
|
|
135
|
-
"@types/rimraf": "~
|
|
144
|
+
"@types/postcss-preset-env": "~8.0.0",
|
|
145
|
+
"@types/rimraf": "~4.0.5",
|
|
136
146
|
"@types/speed-measure-webpack-plugin": "~1.3.4",
|
|
137
147
|
"@types/supertest": "~2.0.12",
|
|
138
148
|
"@types/uuid": "~9.0.1",
|
|
139
149
|
"@types/testing-library__jest-dom": "~5.14.5",
|
|
140
150
|
"@types/webpack-bundle-analyzer": "~4.6.0",
|
|
141
|
-
"@typescript-eslint/eslint-plugin": "~5.
|
|
142
|
-
"@typescript-eslint/parser": "~5.
|
|
143
|
-
"@vitejs/plugin-react": "~
|
|
144
|
-
"@vitest/coverage-c8": "~0.
|
|
151
|
+
"@typescript-eslint/eslint-plugin": "~5.59.5",
|
|
152
|
+
"@typescript-eslint/parser": "~5.59.5",
|
|
153
|
+
"@vitejs/plugin-react": "~4.0.0",
|
|
154
|
+
"@vitest/coverage-c8": "~0.31.0",
|
|
145
155
|
"autoprefixer": "~10.4.14",
|
|
146
|
-
"axe-core": "~4.
|
|
156
|
+
"axe-core": "~4.7.1",
|
|
147
157
|
"babel-plugin-date-fns": "~2.0.0",
|
|
148
158
|
"babel-plugin-dynamic-import-node": "~2.3.3",
|
|
149
159
|
"babel-plugin-import-remove-resource-query": "~1.0.0",
|
|
150
160
|
"babel-plugin-lodash": "~3.3.4",
|
|
151
161
|
"babel-plugin-module-resolver": "~5.0.0",
|
|
152
162
|
"babel-plugin-source-map-support": "~2.2.0",
|
|
153
|
-
"babel-plugin-styled-components": "~2.
|
|
163
|
+
"babel-plugin-styled-components": "~2.1.1",
|
|
154
164
|
"babel-plugin-transform-react-remove-prop-types": "~0.4.24",
|
|
155
165
|
"babel-plugin-transform-remove-console": "~6.9.4",
|
|
156
166
|
"babel-plugin-transform-strip-block": "~0.0.5",
|
|
@@ -165,90 +175,91 @@
|
|
|
165
175
|
"cors": "~2.8.5",
|
|
166
176
|
"cross-env": "~7.0.3",
|
|
167
177
|
"css-loader": "~6.7.3",
|
|
168
|
-
"css-minimizer-webpack-plugin": "~
|
|
178
|
+
"css-minimizer-webpack-plugin": "~5.0.0",
|
|
169
179
|
"depcheck": "~1.4.3",
|
|
170
180
|
"docdash": "~2.0.1",
|
|
171
181
|
"dotenv": "~16.0.3",
|
|
172
182
|
"dotenv-webpack": "~8.0.1",
|
|
173
183
|
"duplicate-package-checker-webpack-plugin": "~3.0.0",
|
|
174
|
-
"enhanced-resolve": "5.
|
|
175
|
-
"esbuild": "~0.17.
|
|
184
|
+
"enhanced-resolve": "5.14.0",
|
|
185
|
+
"esbuild": "~0.17.19",
|
|
176
186
|
"esbuild-loader": "~3.0.1",
|
|
177
|
-
"esbuild-plugin-
|
|
178
|
-
"
|
|
187
|
+
"esbuild-plugin-lodash": "~1.2.0",
|
|
188
|
+
"esbuild-plugin-svgr": "~1.1.0",
|
|
189
|
+
"eslint": "~8.40.0",
|
|
179
190
|
"eslint-config-airbnb": "~19.0.4",
|
|
180
191
|
"eslint-config-airbnb-base": "~15.0.0",
|
|
181
192
|
"eslint-config-airbnb-typescript": "~17.0.0",
|
|
182
|
-
"eslint-config-prettier": "~8.
|
|
193
|
+
"eslint-config-prettier": "~8.8.0",
|
|
183
194
|
"eslint-config-react-app": "~7.0.1",
|
|
184
195
|
"eslint-import-resolver-babel-module": "~5.3.2",
|
|
185
|
-
"eslint-import-resolver-typescript": "~3.5.
|
|
196
|
+
"eslint-import-resolver-typescript": "~3.5.5",
|
|
186
197
|
"eslint-import-resolver-webpack": "~0.13.2",
|
|
187
|
-
"eslint-plugin-compat": "~4.1.
|
|
198
|
+
"eslint-plugin-compat": "~4.1.4",
|
|
188
199
|
"eslint-plugin-eslint-comments": "~3.2.0",
|
|
189
200
|
"eslint-plugin-import": "~2.27.5",
|
|
190
201
|
"eslint-plugin-jest": "~27.2.1",
|
|
191
|
-
"eslint-plugin-jsdoc": "~
|
|
202
|
+
"eslint-plugin-jsdoc": "~44.2.4",
|
|
192
203
|
"eslint-plugin-jsx-a11y": "~6.7.1",
|
|
193
|
-
"eslint-plugin-mdx": "~2.0
|
|
204
|
+
"eslint-plugin-mdx": "~2.1.0",
|
|
194
205
|
"eslint-plugin-prettier": "~4.2.1",
|
|
195
206
|
"eslint-plugin-react": "~7.32.2",
|
|
196
207
|
"eslint-plugin-react-hooks": "~4.6.0",
|
|
197
208
|
"eslint-plugin-redux-saga": "~1.3.2",
|
|
198
|
-
"eslint-plugin-storybook": "~0.6.
|
|
199
|
-
"eslint-plugin-testing-library": "~5.
|
|
200
|
-
"eslint-plugin-wdio": "~8.
|
|
209
|
+
"eslint-plugin-storybook": "~0.6.12",
|
|
210
|
+
"eslint-plugin-testing-library": "~5.11.0",
|
|
211
|
+
"eslint-plugin-wdio": "~8.8.7",
|
|
201
212
|
"execa": "~7.1.1",
|
|
202
213
|
"express": "~4.18.2",
|
|
203
214
|
"express-static-gzip": "~2.1.7",
|
|
204
|
-
"favicons": "~7.1.
|
|
215
|
+
"favicons": "~7.1.2",
|
|
205
216
|
"favicons-webpack-plugin": "~6.0.0",
|
|
206
217
|
"fast-glob": "~3.2.12",
|
|
207
218
|
"find-up": "~6.3.0",
|
|
208
219
|
"find-up-cli": "~5.0.0",
|
|
209
|
-
"happy-dom": "~
|
|
220
|
+
"happy-dom": "~9.18.3",
|
|
210
221
|
"helmet-csp": "~3.4.0",
|
|
211
222
|
"html-loader": "~4.2.0",
|
|
212
|
-
"html-webpack-plugin": "~5.5.
|
|
223
|
+
"html-webpack-plugin": "~5.5.1",
|
|
213
224
|
"http-server": "~14.1.1",
|
|
214
225
|
"husky": "~8.0.3",
|
|
215
226
|
"husky-init": "~8.0.0",
|
|
216
227
|
"imports-loader": "~4.0.1",
|
|
217
228
|
"ip": "~1.1.8",
|
|
218
|
-
"jest-axe": "~7.0.
|
|
229
|
+
"jest-axe": "~7.0.1",
|
|
219
230
|
"jest-cli": "~29.5.0",
|
|
220
231
|
"jest-environment-jsdom": "~29.5.0",
|
|
221
232
|
"jest-sonar-reporter": "~2.0.0",
|
|
222
233
|
"jest-styled-components": "~7.1.1",
|
|
223
234
|
"jest-watch-typeahead": "~2.2.2",
|
|
224
|
-
"jscodeshift": "~0.
|
|
235
|
+
"jscodeshift": "~0.15.0",
|
|
225
236
|
"jsdoc": "~4.0.2",
|
|
226
|
-
"lerna": "~6.
|
|
227
|
-
"lint-staged": "~13.2.
|
|
228
|
-
"mini-css-extract-plugin": "~2.7.
|
|
237
|
+
"lerna": "~6.6.2",
|
|
238
|
+
"lint-staged": "~13.2.2",
|
|
239
|
+
"mini-css-extract-plugin": "~2.7.5",
|
|
229
240
|
"minimist": "~1.2.8",
|
|
230
241
|
"moment": "~2.29.4",
|
|
231
242
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
232
|
-
"msw": "~1.1
|
|
243
|
+
"msw": "~1.2.1",
|
|
233
244
|
"npm-run-all": "~4.1.5",
|
|
234
245
|
"node-gyp": "~9.3.1",
|
|
235
246
|
"node-plop": "~0.31.1",
|
|
236
|
-
"nodemon": "~2.0.
|
|
247
|
+
"nodemon": "~2.0.22",
|
|
237
248
|
"normalize-path": "~3.0.0",
|
|
238
|
-
"npm-check-updates": "16.
|
|
239
|
-
"pino": "~8.
|
|
249
|
+
"npm-check-updates": "16.10.12",
|
|
250
|
+
"pino": "~8.14.1",
|
|
240
251
|
"pino-http": "~8.3.3",
|
|
241
252
|
"pino-pretty": "~10.0.0",
|
|
242
253
|
"plop": "~3.1.2",
|
|
243
|
-
"postcss": "~8.4.
|
|
254
|
+
"postcss": "~8.4.23",
|
|
244
255
|
"postcss-html": "~1.5.0",
|
|
245
256
|
"postcss-jsx": "~0.36.4",
|
|
246
|
-
"postcss-loader": "~7.
|
|
257
|
+
"postcss-loader": "~7.3.0",
|
|
247
258
|
"postcss-markdown": "~1.2.0",
|
|
248
|
-
"postcss-preset-env": "~8.
|
|
259
|
+
"postcss-preset-env": "~8.3.2",
|
|
249
260
|
"postcss-syntax": "~0.36.2",
|
|
250
|
-
"prettier": "~2.8.
|
|
251
|
-
"prisma": "~4.
|
|
261
|
+
"prettier": "~2.8.8",
|
|
262
|
+
"prisma": "~4.14.0",
|
|
252
263
|
"pug": "~3.0.2",
|
|
253
264
|
"pug-loader": "~2.4.0",
|
|
254
265
|
"raf": "~3.4.1",
|
|
@@ -257,44 +268,45 @@
|
|
|
257
268
|
"react-test-renderer": "~18.2.0",
|
|
258
269
|
"resize-observer-polyfill": "~1.5.1",
|
|
259
270
|
"resolve-typescript-plugin": "~2.0.1",
|
|
260
|
-
"rimraf": "~
|
|
261
|
-
"semantic-release": "~
|
|
271
|
+
"rimraf": "~5.0.0",
|
|
272
|
+
"semantic-release": "~21.0.2",
|
|
262
273
|
"slackify-markdown": "~4.3.1",
|
|
263
274
|
"speed-measure-webpack-plugin": "~1.5.0",
|
|
264
|
-
"storybook
|
|
275
|
+
"storybook": "~7.0.12",
|
|
276
|
+
"storybook-addon-turbo-build": "~2.0.1",
|
|
265
277
|
"storybook-react-router": "~1.0.8",
|
|
266
278
|
"style-loader": "~3.3.2",
|
|
267
|
-
"stylelint": "~15.
|
|
268
|
-
"stylelint-config-recommended": "~
|
|
279
|
+
"stylelint": "~15.6.1",
|
|
280
|
+
"stylelint-config-recommended": "~12.0.0",
|
|
269
281
|
"stylelint-config-styled-components": "~0.1.1",
|
|
270
282
|
"supertest": "~6.3.3",
|
|
271
283
|
"swc-loader": "~0.2.3",
|
|
272
284
|
"ts-node": "~10.9.1",
|
|
273
|
-
"tsc-alias": "~1.8.
|
|
274
|
-
"typedoc": "~0.
|
|
275
|
-
"typescript": "~5.0.
|
|
285
|
+
"tsc-alias": "~1.8.6",
|
|
286
|
+
"typedoc": "~0.24.7",
|
|
287
|
+
"typescript": "~5.0.4",
|
|
276
288
|
"update-notifier": "~6.0.2",
|
|
277
289
|
"url-loader": "~4.1.1",
|
|
278
290
|
"uuid": "~9.0.0",
|
|
279
|
-
"vite": "~4.
|
|
280
|
-
"vitest": "~0.
|
|
281
|
-
"vite-tsconfig-paths": "~4.0
|
|
282
|
-
"webpack": "~5.
|
|
291
|
+
"vite": "~4.3.6",
|
|
292
|
+
"vitest": "~0.31.0",
|
|
293
|
+
"vite-tsconfig-paths": "~4.2.0",
|
|
294
|
+
"webpack": "~5.82.1",
|
|
283
295
|
"webpack-bundle-analyzer": "~4.8.0",
|
|
284
|
-
"webpack-cli": "~5.
|
|
285
|
-
"webpack-dev-server": "~4.
|
|
296
|
+
"webpack-cli": "~5.1.1",
|
|
297
|
+
"webpack-dev-server": "~4.15.0",
|
|
286
298
|
"webpack-manifest-plugin": "~5.0.0",
|
|
287
299
|
"webpack-merge": "~5.8.0",
|
|
288
300
|
"whatwg-fetch": "~3.6.2",
|
|
289
301
|
"workbox-webpack-plugin": "~6.5.4",
|
|
290
|
-
"yargs": "~17.7.
|
|
302
|
+
"yargs": "~17.7.2"
|
|
291
303
|
},
|
|
292
304
|
"devDependencies": {
|
|
293
305
|
"@elliemae/pui-doc-gen": "~1.6.4",
|
|
294
306
|
"react": "~18.2.0",
|
|
295
307
|
"react-dom": "~18.2.0",
|
|
296
308
|
"redux": "~4.2.1",
|
|
297
|
-
"redux-saga": "~1.2.
|
|
298
|
-
"styled-components": "~5.3.
|
|
309
|
+
"redux-saga": "~1.2.3",
|
|
310
|
+
"styled-components": "~5.3.10"
|
|
299
311
|
}
|
|
300
312
|
}
|