@elliemae/pui-cli 9.0.0-next.46 → 9.0.0-next.48
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/build.js +2 -4
- package/dist/cjs/commands/lint.js +2 -4
- package/dist/cjs/commands/pack.js +1 -2
- package/dist/cjs/commands/test.js +6 -12
- package/dist/cjs/commands/utils.js +6 -12
- package/dist/cjs/commands/vitest.js +5 -10
- package/dist/cjs/monorepo/delete-merged-tags.js +1 -2
- package/dist/cjs/pui-config.js +1 -2
- package/dist/cjs/server/appRoutes.js +3 -6
- package/dist/cjs/server/wsServer.js +4 -8
- package/dist/cjs/testing/extended/axe-core/getMessageAndPass.js +1 -2
- package/dist/cjs/testing/extended/axe-core/reporter.js +1 -2
- package/dist/cjs/testing/extended/axe-core/toHaveNoViolations.js +1 -2
- package/dist/cjs/testing/setup-tests.js +4 -8
- package/dist/cjs/utils.js +1 -2
- package/dist/cjs/webpack/helpers.js +6 -12
- package/dist/cjs/webpack/webpack.dev.babel.js +1 -2
- package/dist/cjs/webpack/webpack.prod.babel.js +1 -2
- package/dist/cjs/webpack/webpack.storybook.js +1 -2
- package/dist/esm/commands/build.js +2 -4
- package/dist/esm/commands/lint.js +2 -4
- package/dist/esm/commands/pack.js +1 -2
- package/dist/esm/commands/test.js +6 -12
- package/dist/esm/commands/utils.js +6 -12
- package/dist/esm/commands/vitest.js +5 -10
- package/dist/esm/monorepo/delete-merged-tags.js +1 -2
- package/dist/esm/pui-config.js +1 -2
- package/dist/esm/server/appRoutes.js +3 -6
- package/dist/esm/server/wsServer.js +4 -8
- package/dist/esm/testing/extended/axe-core/getMessageAndPass.js +1 -2
- package/dist/esm/testing/extended/axe-core/reporter.js +1 -2
- package/dist/esm/testing/extended/axe-core/toHaveNoViolations.js +1 -2
- package/dist/esm/testing/setup-tests.js +4 -8
- package/dist/esm/utils.js +1 -2
- package/dist/esm/webpack/helpers.js +6 -12
- package/dist/esm/webpack/webpack.dev.babel.js +1 -2
- package/dist/esm/webpack/webpack.prod.babel.js +1 -2
- package/dist/esm/webpack/webpack.storybook.js +1 -2
- package/package.json +49 -42
|
@@ -71,10 +71,8 @@ const buildCmd = {
|
|
|
71
71
|
handler: async ({ service = false }) => {
|
|
72
72
|
try {
|
|
73
73
|
(0, import_utils.logInfo)("Build in progress...");
|
|
74
|
-
if (service)
|
|
75
|
-
|
|
76
|
-
else
|
|
77
|
-
await buildWebApp();
|
|
74
|
+
if (service) await buildService();
|
|
75
|
+
else await buildWebApp();
|
|
78
76
|
(0, import_utils.logSuccess)("Build completed");
|
|
79
77
|
} catch (err) {
|
|
80
78
|
(0, import_utils.logError)("Build failed", err);
|
|
@@ -92,8 +92,7 @@ const lintCmd = {
|
|
|
92
92
|
(0, import_utils.logSuccess)("JS linting completed");
|
|
93
93
|
} catch (err) {
|
|
94
94
|
(0, import_utils.logError)("JS linting failed");
|
|
95
|
-
if (argv.debug)
|
|
96
|
-
(0, import_utils.logError)(err);
|
|
95
|
+
if (argv.debug) (0, import_utils.logError)(err);
|
|
97
96
|
(0, import_yargs.default)().exit(-1, err);
|
|
98
97
|
return;
|
|
99
98
|
}
|
|
@@ -105,8 +104,7 @@ const lintCmd = {
|
|
|
105
104
|
(0, import_utils.logSuccess)("CSS linting completed");
|
|
106
105
|
} catch (err) {
|
|
107
106
|
(0, import_utils.logError)("CSS linting failed");
|
|
108
|
-
if (argv.debug)
|
|
109
|
-
(0, import_utils.logError)(err);
|
|
107
|
+
if (argv.debug) (0, import_utils.logError)(err);
|
|
110
108
|
(0, import_yargs.default)().exit(-1, err);
|
|
111
109
|
}
|
|
112
110
|
}
|
|
@@ -69,8 +69,7 @@ const pack = async ({
|
|
|
69
69
|
if ((0, import_utils.isTypeScriptEnabled)()) {
|
|
70
70
|
await compileTypeScript();
|
|
71
71
|
}
|
|
72
|
-
if (target !== "node")
|
|
73
|
-
await webBuild(production);
|
|
72
|
+
if (target !== "node") await webBuild(production);
|
|
74
73
|
if (target !== "web") {
|
|
75
74
|
(0, import_utils.logInfo)("Building source files for nodejs environment...");
|
|
76
75
|
await (0, import_esbuild.esBuild)({ srcdir: srcPath });
|
|
@@ -92,18 +92,12 @@ const getJestFlags = (argv) => {
|
|
|
92
92
|
flagsArray.push("--coverage");
|
|
93
93
|
break;
|
|
94
94
|
}
|
|
95
|
-
if (argv.fix)
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (argv.
|
|
100
|
-
|
|
101
|
-
if (argv.findReleatedTests)
|
|
102
|
-
flagsArray.push("--bail --findRelatedTests");
|
|
103
|
-
if (argv.silent)
|
|
104
|
-
flagsArray.push("--silent");
|
|
105
|
-
if (isCi)
|
|
106
|
-
flagsArray.push("--ci --no-colors");
|
|
95
|
+
if (argv.fix) flagsArray.push("-u");
|
|
96
|
+
else if (argv.watch) flagsArray.push("--watchAll");
|
|
97
|
+
if (argv.passWithNoTests) flagsArray.push("--passWithNoTests");
|
|
98
|
+
if (argv.findReleatedTests) flagsArray.push("--bail --findRelatedTests");
|
|
99
|
+
if (argv.silent) flagsArray.push("--silent");
|
|
100
|
+
if (isCi) flagsArray.push("--ci --no-colors");
|
|
107
101
|
return flagsArray.join(" ");
|
|
108
102
|
};
|
|
109
103
|
const test = async (argv) => {
|
|
@@ -83,8 +83,7 @@ const getSupportedBrowsers = async () => {
|
|
|
83
83
|
});
|
|
84
84
|
const browserVersions = stdout?.toString()?.split("\n") || [];
|
|
85
85
|
return browserVersions.reduce((acc, nameVersion) => {
|
|
86
|
-
if (!nameVersion)
|
|
87
|
-
return acc;
|
|
86
|
+
if (!nameVersion) return acc;
|
|
88
87
|
const [name, version] = nameVersion.split(" ");
|
|
89
88
|
const versionRange = version.split("-");
|
|
90
89
|
acc[browsersMapping[name]] = versionRange?.[0] ?? version;
|
|
@@ -160,8 +159,7 @@ const updateRuntimeFile = async (src, dest, version) => {
|
|
|
160
159
|
const results = await (0, import_fast_glob.default)([
|
|
161
160
|
import_node_path.default.join(src, "runtime~app.*.js").replace(/\\/g, "/")
|
|
162
161
|
]);
|
|
163
|
-
if (!results?.length)
|
|
164
|
-
throw new Error("Runtime file not found");
|
|
162
|
+
if (!results?.length) throw new Error("Runtime file not found");
|
|
165
163
|
const runtimeFilePath = results[0];
|
|
166
164
|
const runtimeFileName = import_node_path.default.basename(runtimeFilePath);
|
|
167
165
|
const destRuntimeFilePath = import_node_path.default.join(dest, runtimeFileName);
|
|
@@ -190,8 +188,7 @@ const updateRuntimeFile = async (src, dest, version) => {
|
|
|
190
188
|
const copyBuildAssetsToVersionedFolder = async () => {
|
|
191
189
|
const appVersion = (0, import_helpers.getAppVersion)();
|
|
192
190
|
const isVersionedApp = (0, import_helpers.isAppLoaderEnabled)() && appVersion !== import_helpers.LATEST_VERSION;
|
|
193
|
-
if (!isVersionedApp)
|
|
194
|
-
return;
|
|
191
|
+
if (!isVersionedApp) return;
|
|
195
192
|
const src = import_node_path.default.resolve(process.cwd(), "build/public/latest");
|
|
196
193
|
const dest = import_node_path.default.resolve(process.cwd(), `build/public/${appVersion}`);
|
|
197
194
|
await copyDir(src, dest);
|
|
@@ -224,15 +221,12 @@ const getUnspecifiedOptions = (options, command) => {
|
|
|
224
221
|
const expectedOptionsMap = /* @__PURE__ */ new Map();
|
|
225
222
|
Object.entries(options).forEach(([key, value]) => {
|
|
226
223
|
expectedOptionsMap.set(key, value);
|
|
227
|
-
if (value.alias)
|
|
228
|
-
expectedOptionsMap.set(value.alias, value);
|
|
224
|
+
if (value.alias) expectedOptionsMap.set(value.alias, value);
|
|
229
225
|
});
|
|
230
226
|
const unspecifiedOptions = {};
|
|
231
227
|
rawArgsMap.forEach((value, key) => {
|
|
232
|
-
if (key === command)
|
|
233
|
-
|
|
234
|
-
if (key === "")
|
|
235
|
-
return;
|
|
228
|
+
if (key === command) return;
|
|
229
|
+
if (key === "") return;
|
|
236
230
|
if (!expectedOptionsMap.has(key)) {
|
|
237
231
|
unspecifiedOptions[key] = value;
|
|
238
232
|
}
|
|
@@ -67,16 +67,11 @@ const vitestCmd = {
|
|
|
67
67
|
// eslint-disable-next-line max-statements
|
|
68
68
|
handler: async (argv) => {
|
|
69
69
|
let commandOptions = "--coverage";
|
|
70
|
-
if (argv.fix)
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (argv.
|
|
75
|
-
commandOptions += " --passWithNoTests";
|
|
76
|
-
if (argv.findReleatedTests)
|
|
77
|
-
commandOptions += " --related";
|
|
78
|
-
if (argv.silent)
|
|
79
|
-
commandOptions += " --silent";
|
|
70
|
+
if (argv.fix) commandOptions = "-u";
|
|
71
|
+
else if (argv.watch) commandOptions = "--watch";
|
|
72
|
+
if (argv.passWithNoTests) commandOptions += " --passWithNoTests";
|
|
73
|
+
if (argv.findReleatedTests) commandOptions += " --related";
|
|
74
|
+
if (argv.silent) commandOptions += " --silent";
|
|
80
75
|
try {
|
|
81
76
|
if ((0, import_utils.getCIEnv)()) {
|
|
82
77
|
await (0, import_utils.exec)("rimraf ./reports");
|
|
@@ -35,8 +35,7 @@ const branchTags = {
|
|
|
35
35
|
};
|
|
36
36
|
const deleteTags = (cmd, filter) => {
|
|
37
37
|
const result = (0, import_child_process.execSync)(cmd, { cwd });
|
|
38
|
-
if (!result)
|
|
39
|
-
return;
|
|
38
|
+
if (!result) return;
|
|
40
39
|
const tags = result.toString().split("\n").join(" ");
|
|
41
40
|
(0, import_child_process.execSync)(`git tag -d ${filter ? filter(tags) : tags}`, { cwd });
|
|
42
41
|
};
|
package/dist/cjs/pui-config.js
CHANGED
|
@@ -41,8 +41,7 @@ const baseConfig = {
|
|
|
41
41
|
};
|
|
42
42
|
const getPUIConfig = () => {
|
|
43
43
|
const configPath = import_node_path.default.resolve(process.cwd(), "./pui.config.js");
|
|
44
|
-
if (!import_node_fs.default.existsSync(configPath))
|
|
45
|
-
return baseConfig;
|
|
44
|
+
if (!import_node_fs.default.existsSync(configPath)) return baseConfig;
|
|
46
45
|
const config = JSON.parse(import_node_fs.default.readFileSync(configPath, "utf8"));
|
|
47
46
|
return (0, import_merge.default)(baseConfig, config);
|
|
48
47
|
};
|
|
@@ -39,14 +39,12 @@ const serviceEndpoints = /\.endpoint\.js$/;
|
|
|
39
39
|
const getFilesMatching = (filePattern) => {
|
|
40
40
|
const getFiles = (dir) => {
|
|
41
41
|
let routeFiles = [];
|
|
42
|
-
if (!import_node_fs.default.existsSync(dir))
|
|
43
|
-
return routeFiles;
|
|
42
|
+
if (!import_node_fs.default.existsSync(dir)) return routeFiles;
|
|
44
43
|
import_node_fs.default.readdirSync(dir).forEach((file) => {
|
|
45
44
|
const fullPath = import_node_path.default.join(dir, file);
|
|
46
45
|
if (import_node_fs.default.lstatSync(fullPath).isDirectory()) {
|
|
47
46
|
routeFiles = routeFiles.concat(getFiles(fullPath));
|
|
48
|
-
} else if (filePattern.test(fullPath))
|
|
49
|
-
routeFiles.push(fullPath);
|
|
47
|
+
} else if (filePattern.test(fullPath)) routeFiles.push(fullPath);
|
|
50
48
|
});
|
|
51
49
|
return routeFiles;
|
|
52
50
|
};
|
|
@@ -65,8 +63,7 @@ const loadRoutes = async (app) => {
|
|
|
65
63
|
const routeFileURL = (0, import_node_url.pathToFileURL)(routeFile).href;
|
|
66
64
|
const { default: init } = await import(routeFileURL);
|
|
67
65
|
try {
|
|
68
|
-
if (typeof init === "function")
|
|
69
|
-
init(app);
|
|
66
|
+
if (typeof init === "function") init(app);
|
|
70
67
|
} catch (err) {
|
|
71
68
|
console.error(
|
|
72
69
|
`unable to load routes from ${routeFile}. ${err.message}`
|
|
@@ -39,17 +39,14 @@ const onSocketError = (err) => {
|
|
|
39
39
|
console.error(err);
|
|
40
40
|
};
|
|
41
41
|
const authenticate = (token, cb) => {
|
|
42
|
-
if (!token)
|
|
43
|
-
|
|
44
|
-
else
|
|
45
|
-
cb();
|
|
42
|
+
if (!token) cb(4401);
|
|
43
|
+
else cb();
|
|
46
44
|
};
|
|
47
45
|
const getAuthToken = (protocols) => {
|
|
48
46
|
const authProtocol = protocols.find(
|
|
49
47
|
(protocol) => protocol.startsWith("auth--")
|
|
50
48
|
);
|
|
51
|
-
if (!authProtocol)
|
|
52
|
-
return "";
|
|
49
|
+
if (!authProtocol) return "";
|
|
53
50
|
return authProtocol.split("--")[1]?.trim?.();
|
|
54
51
|
};
|
|
55
52
|
const createWSServer = ({
|
|
@@ -111,8 +108,7 @@ const createWSServer = ({
|
|
|
111
108
|
});
|
|
112
109
|
const interval = setInterval(() => {
|
|
113
110
|
wsServer.clients.forEach((ws) => {
|
|
114
|
-
if (isAlive === false)
|
|
115
|
-
ws.terminate();
|
|
111
|
+
if (isAlive === false) ws.terminate();
|
|
116
112
|
isAlive = false;
|
|
117
113
|
ws.ping();
|
|
118
114
|
});
|
|
@@ -26,8 +26,7 @@ var import_reporter = require("./reporter.js");
|
|
|
26
26
|
const getMessageAndPass = (violations) => {
|
|
27
27
|
const formatedViolations = (0, import_reporter.reporter)(violations);
|
|
28
28
|
const pass = formatedViolations.length === 0;
|
|
29
|
-
if (pass)
|
|
30
|
-
return { message: () => "", pass };
|
|
29
|
+
if (pass) return { message: () => "", pass };
|
|
31
30
|
return {
|
|
32
31
|
message: () => `${(0, import_jest_matcher_utils.matcherHint)(".toHaveNoViolations")}
|
|
33
32
|
|
|
@@ -26,8 +26,7 @@ const colorYellow = (arg) => `\x1B[93m ${arg ?? ""} \x1B[0m`;
|
|
|
26
26
|
const colorGrey = (arg) => `\x1B[90m ${arg ?? ""} \x1B[0m`;
|
|
27
27
|
const colorBlue = (arg) => `\x1B[34m ${arg ?? ""} \x1B[0m`;
|
|
28
28
|
const reporter = (violToFormat) => {
|
|
29
|
-
if (violToFormat.length === 0)
|
|
30
|
-
return "";
|
|
29
|
+
if (violToFormat.length === 0) return "";
|
|
31
30
|
const lineBreak = "\n\n";
|
|
32
31
|
const horizontalLine = "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500";
|
|
33
32
|
return violToFormat.map((violation) => {
|
|
@@ -31,8 +31,7 @@ const toHaveNoViolations = {
|
|
|
31
31
|
const { nodes } = violation;
|
|
32
32
|
const newNodes = [];
|
|
33
33
|
nodes.forEach((node) => {
|
|
34
|
-
if (!(0, import_shouldIgnoreNodeViolation.shouldIgnoreNodeViolation)(node, violation))
|
|
35
|
-
newNodes.push(node);
|
|
34
|
+
if (!(0, import_shouldIgnoreNodeViolation.shouldIgnoreNodeViolation)(node, violation)) newNodes.push(node);
|
|
36
35
|
});
|
|
37
36
|
if (newNodes.length > 0) {
|
|
38
37
|
finalViolations.push({ ...violation, nodes: newNodes });
|
|
@@ -46,23 +46,19 @@ console.error = (...args) => {
|
|
|
46
46
|
return false;
|
|
47
47
|
return originalError(...args);
|
|
48
48
|
};
|
|
49
|
-
if (expect)
|
|
50
|
-
expect.extend(import_axe_core.toHaveNoViolations);
|
|
49
|
+
if (expect) expect.extend(import_axe_core.toHaveNoViolations);
|
|
51
50
|
const addElementToBody = (element) => {
|
|
52
51
|
const documentEle = (window || {}).document;
|
|
53
|
-
if (!documentEle)
|
|
54
|
-
return null;
|
|
52
|
+
if (!documentEle) return null;
|
|
55
53
|
const bodyEle = documentEle.body;
|
|
56
54
|
const newEle = documentEle.createElement(...element);
|
|
57
|
-
if (!newEle)
|
|
58
|
-
return null;
|
|
55
|
+
if (!newEle) return null;
|
|
59
56
|
bodyEle.appendChild(newEle);
|
|
60
57
|
return newEle;
|
|
61
58
|
};
|
|
62
59
|
const addRootElement = (id) => {
|
|
63
60
|
const rootEle = addElementToBody("div");
|
|
64
|
-
if (rootEle)
|
|
65
|
-
rootEle.id = id;
|
|
61
|
+
if (rootEle) rootEle.id = id;
|
|
66
62
|
};
|
|
67
63
|
addRootElement("root");
|
|
68
64
|
(0, import_matchMedia.addMatchMedia)();
|
package/dist/cjs/utils.js
CHANGED
|
@@ -43,8 +43,7 @@ const getAppConfig = () => {
|
|
|
43
43
|
isApp() ? "app" : "lib",
|
|
44
44
|
"app.config.json"
|
|
45
45
|
);
|
|
46
|
-
if (!import_node_fs.default.existsSync(appConfigPath))
|
|
47
|
-
return "{}";
|
|
46
|
+
if (!import_node_fs.default.existsSync(appConfigPath)) return "{}";
|
|
48
47
|
const appConfig = import_node_fs.default.readFileSync(appConfigPath);
|
|
49
48
|
return appConfig || "{}";
|
|
50
49
|
};
|
|
@@ -66,8 +66,7 @@ const excludeNodeModulesExcept = (modules) => {
|
|
|
66
66
|
return function(modulePath) {
|
|
67
67
|
if (/node_modules/.test(modulePath)) {
|
|
68
68
|
for (const moduleRegExp of moduleRegExps)
|
|
69
|
-
if (moduleRegExp.test(modulePath))
|
|
70
|
-
return false;
|
|
69
|
+
if (moduleRegExp.test(modulePath)) return false;
|
|
71
70
|
return true;
|
|
72
71
|
}
|
|
73
72
|
return false;
|
|
@@ -135,8 +134,7 @@ const getUserMonitoringFileName = () => {
|
|
|
135
134
|
process.cwd(),
|
|
136
135
|
"node_modules/@elliemae/pui-user-monitoring/dist/public/js"
|
|
137
136
|
);
|
|
138
|
-
if (!import_node_fs.default.existsSync(userMonLibPath))
|
|
139
|
-
return `${libName}.js`;
|
|
137
|
+
if (!import_node_fs.default.existsSync(userMonLibPath)) return `${libName}.js`;
|
|
140
138
|
const distJSFiles = import_node_fs.default.readdirSync(userMonLibPath);
|
|
141
139
|
return distJSFiles.filter(
|
|
142
140
|
(fName) => fName.match(/emuiUserMonitoring+((?!chunk).)*\.js$/)
|
|
@@ -148,8 +146,7 @@ const getAppLoaderFileName = () => {
|
|
|
148
146
|
process.cwd(),
|
|
149
147
|
"node_modules/@elliemae/pui-app-loader/dist/public/js"
|
|
150
148
|
);
|
|
151
|
-
if (!import_node_fs.default.existsSync(appLoaderLibPath))
|
|
152
|
-
return `${libName}.js`;
|
|
149
|
+
if (!import_node_fs.default.existsSync(appLoaderLibPath)) return `${libName}.js`;
|
|
153
150
|
const distJSFiles = import_node_fs.default.readdirSync(appLoaderLibPath);
|
|
154
151
|
return distJSFiles.filter(
|
|
155
152
|
(fName) => fName.match(/emuiAppLoader+((?!chunk).)*\.js$/)
|
|
@@ -161,8 +158,7 @@ const getDiagnosticsFileName = () => {
|
|
|
161
158
|
process.cwd(),
|
|
162
159
|
"node_modules/@elliemae/pui-diagnostics/dist/public/js"
|
|
163
160
|
);
|
|
164
|
-
if (!import_node_fs.default.existsSync(libPath))
|
|
165
|
-
return `${libName}.js`;
|
|
161
|
+
if (!import_node_fs.default.existsSync(libPath)) return `${libName}.js`;
|
|
166
162
|
const distJSFiles = import_node_fs.default.readdirSync(libPath);
|
|
167
163
|
return distJSFiles.filter(
|
|
168
164
|
(fName) => fName.match(/emuiDiagnostics+((?!chunk).)*\.js$/)
|
|
@@ -174,16 +170,14 @@ const getENCWLoaderFileName = () => {
|
|
|
174
170
|
process.cwd(),
|
|
175
171
|
"node_modules/@elliemae/encw-loader/dist/public/js"
|
|
176
172
|
);
|
|
177
|
-
if (!import_node_fs.default.existsSync(appLoaderLibPath))
|
|
178
|
-
return `${libName}.js`;
|
|
173
|
+
if (!import_node_fs.default.existsSync(appLoaderLibPath)) return `${libName}.js`;
|
|
179
174
|
const distJSFiles = import_node_fs.default.readdirSync(appLoaderLibPath);
|
|
180
175
|
return distJSFiles.filter(
|
|
181
176
|
(fName) => fName.match(/emuiEncwLoader+((?!chunk).)*\.js$/)
|
|
182
177
|
)[0];
|
|
183
178
|
};
|
|
184
179
|
const getAppVersion = () => {
|
|
185
|
-
if (!process.env.APP_VERSION)
|
|
186
|
-
return LATEST_VERSION;
|
|
180
|
+
if (!process.env.APP_VERSION) return LATEST_VERSION;
|
|
187
181
|
const match = process.env.APP_VERSION.match(/^v?(\d+\.\d+)\..*$/);
|
|
188
182
|
return match?.[1] ?? LATEST_VERSION;
|
|
189
183
|
};
|
|
@@ -166,8 +166,7 @@ const devConfig = {
|
|
|
166
166
|
(0, import_wsServer.createWSServer)({
|
|
167
167
|
port: import_utils.wsPort
|
|
168
168
|
}).then(({ wsServer }) => {
|
|
169
|
-
if (devServer.app)
|
|
170
|
-
devServer.app.locals.wsServer = wsServer;
|
|
169
|
+
if (devServer.app) devServer.app.locals.wsServer = wsServer;
|
|
171
170
|
}).catch((err) => {
|
|
172
171
|
console.error(err);
|
|
173
172
|
});
|
|
@@ -138,6 +138,5 @@ const htmlWebpackPlugin = new import_html_webpack_plugin.default({
|
|
|
138
138
|
scriptLoading: "defer"
|
|
139
139
|
});
|
|
140
140
|
const config = (0, import_webpack_base_babel.baseConfig)(getProdConfig());
|
|
141
|
-
if (config.plugins)
|
|
142
|
-
config.plugins.push(htmlWebpackPlugin);
|
|
141
|
+
if (config.plugins) config.plugins.push(htmlWebpackPlugin);
|
|
143
142
|
var webpack_prod_babel_default = config;
|
|
@@ -88,8 +88,7 @@ const webpackFinal = (config, { configType }) => {
|
|
|
88
88
|
const fileLoaderRule = config?.module?.rules?.find?.(
|
|
89
89
|
(rule) => rule.test?.test?.(".svg")
|
|
90
90
|
);
|
|
91
|
-
if (fileLoaderRule)
|
|
92
|
-
fileLoaderRule.exclude = /\.svg$/i;
|
|
91
|
+
if (fileLoaderRule) fileLoaderRule.exclude = /\.svg$/i;
|
|
93
92
|
config?.module?.rules?.unshift(...getModuleRules());
|
|
94
93
|
config?.plugins?.push(...getAdditionalPlugins());
|
|
95
94
|
if (isProd) {
|
|
@@ -45,10 +45,8 @@ const buildCmd = {
|
|
|
45
45
|
handler: async ({ service = false }) => {
|
|
46
46
|
try {
|
|
47
47
|
logInfo("Build in progress...");
|
|
48
|
-
if (service)
|
|
49
|
-
|
|
50
|
-
else
|
|
51
|
-
await buildWebApp();
|
|
48
|
+
if (service) await buildService();
|
|
49
|
+
else await buildWebApp();
|
|
52
50
|
logSuccess("Build completed");
|
|
53
51
|
} catch (err) {
|
|
54
52
|
logError("Build failed", err);
|
|
@@ -66,8 +66,7 @@ const lintCmd = {
|
|
|
66
66
|
logSuccess("JS linting completed");
|
|
67
67
|
} catch (err) {
|
|
68
68
|
logError("JS linting failed");
|
|
69
|
-
if (argv.debug)
|
|
70
|
-
logError(err);
|
|
69
|
+
if (argv.debug) logError(err);
|
|
71
70
|
yargs().exit(-1, err);
|
|
72
71
|
return;
|
|
73
72
|
}
|
|
@@ -79,8 +78,7 @@ const lintCmd = {
|
|
|
79
78
|
logSuccess("CSS linting completed");
|
|
80
79
|
} catch (err) {
|
|
81
80
|
logError("CSS linting failed");
|
|
82
|
-
if (argv.debug)
|
|
83
|
-
logError(err);
|
|
81
|
+
if (argv.debug) logError(err);
|
|
84
82
|
yargs().exit(-1, err);
|
|
85
83
|
}
|
|
86
84
|
}
|
|
@@ -42,8 +42,7 @@ const pack = async ({
|
|
|
42
42
|
if (isTypeScriptEnabled()) {
|
|
43
43
|
await compileTypeScript();
|
|
44
44
|
}
|
|
45
|
-
if (target !== "node")
|
|
46
|
-
await webBuild(production);
|
|
45
|
+
if (target !== "node") await webBuild(production);
|
|
47
46
|
if (target !== "web") {
|
|
48
47
|
logInfo("Building source files for nodejs environment...");
|
|
49
48
|
await esBuild({ srcdir: srcPath });
|
|
@@ -59,18 +59,12 @@ const getJestFlags = (argv) => {
|
|
|
59
59
|
flagsArray.push("--coverage");
|
|
60
60
|
break;
|
|
61
61
|
}
|
|
62
|
-
if (argv.fix)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (argv.
|
|
67
|
-
|
|
68
|
-
if (argv.findReleatedTests)
|
|
69
|
-
flagsArray.push("--bail --findRelatedTests");
|
|
70
|
-
if (argv.silent)
|
|
71
|
-
flagsArray.push("--silent");
|
|
72
|
-
if (isCi)
|
|
73
|
-
flagsArray.push("--ci --no-colors");
|
|
62
|
+
if (argv.fix) flagsArray.push("-u");
|
|
63
|
+
else if (argv.watch) flagsArray.push("--watchAll");
|
|
64
|
+
if (argv.passWithNoTests) flagsArray.push("--passWithNoTests");
|
|
65
|
+
if (argv.findReleatedTests) flagsArray.push("--bail --findRelatedTests");
|
|
66
|
+
if (argv.silent) flagsArray.push("--silent");
|
|
67
|
+
if (isCi) flagsArray.push("--ci --no-colors");
|
|
74
68
|
return flagsArray.join(" ");
|
|
75
69
|
};
|
|
76
70
|
const test = async (argv) => {
|
|
@@ -51,8 +51,7 @@ const getSupportedBrowsers = async () => {
|
|
|
51
51
|
});
|
|
52
52
|
const browserVersions = stdout?.toString()?.split("\n") || [];
|
|
53
53
|
return browserVersions.reduce((acc, nameVersion) => {
|
|
54
|
-
if (!nameVersion)
|
|
55
|
-
return acc;
|
|
54
|
+
if (!nameVersion) return acc;
|
|
56
55
|
const [name, version] = nameVersion.split(" ");
|
|
57
56
|
const versionRange = version.split("-");
|
|
58
57
|
acc[browsersMapping[name]] = versionRange?.[0] ?? version;
|
|
@@ -128,8 +127,7 @@ const updateRuntimeFile = async (src, dest, version) => {
|
|
|
128
127
|
const results = await fg([
|
|
129
128
|
path.join(src, "runtime~app.*.js").replace(/\\/g, "/")
|
|
130
129
|
]);
|
|
131
|
-
if (!results?.length)
|
|
132
|
-
throw new Error("Runtime file not found");
|
|
130
|
+
if (!results?.length) throw new Error("Runtime file not found");
|
|
133
131
|
const runtimeFilePath = results[0];
|
|
134
132
|
const runtimeFileName = path.basename(runtimeFilePath);
|
|
135
133
|
const destRuntimeFilePath = path.join(dest, runtimeFileName);
|
|
@@ -158,8 +156,7 @@ const updateRuntimeFile = async (src, dest, version) => {
|
|
|
158
156
|
const copyBuildAssetsToVersionedFolder = async () => {
|
|
159
157
|
const appVersion = getAppVersion();
|
|
160
158
|
const isVersionedApp = isAppLoaderEnabled() && appVersion !== LATEST_VERSION;
|
|
161
|
-
if (!isVersionedApp)
|
|
162
|
-
return;
|
|
159
|
+
if (!isVersionedApp) return;
|
|
163
160
|
const src = path.resolve(process.cwd(), "build/public/latest");
|
|
164
161
|
const dest = path.resolve(process.cwd(), `build/public/${appVersion}`);
|
|
165
162
|
await copyDir(src, dest);
|
|
@@ -192,15 +189,12 @@ const getUnspecifiedOptions = (options, command) => {
|
|
|
192
189
|
const expectedOptionsMap = /* @__PURE__ */ new Map();
|
|
193
190
|
Object.entries(options).forEach(([key, value]) => {
|
|
194
191
|
expectedOptionsMap.set(key, value);
|
|
195
|
-
if (value.alias)
|
|
196
|
-
expectedOptionsMap.set(value.alias, value);
|
|
192
|
+
if (value.alias) expectedOptionsMap.set(value.alias, value);
|
|
197
193
|
});
|
|
198
194
|
const unspecifiedOptions = {};
|
|
199
195
|
rawArgsMap.forEach((value, key) => {
|
|
200
|
-
if (key === command)
|
|
201
|
-
|
|
202
|
-
if (key === "")
|
|
203
|
-
return;
|
|
196
|
+
if (key === command) return;
|
|
197
|
+
if (key === "") return;
|
|
204
198
|
if (!expectedOptionsMap.has(key)) {
|
|
205
199
|
unspecifiedOptions[key] = value;
|
|
206
200
|
}
|
|
@@ -34,16 +34,11 @@ const vitestCmd = {
|
|
|
34
34
|
// eslint-disable-next-line max-statements
|
|
35
35
|
handler: async (argv) => {
|
|
36
36
|
let commandOptions = "--coverage";
|
|
37
|
-
if (argv.fix)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (argv.
|
|
42
|
-
commandOptions += " --passWithNoTests";
|
|
43
|
-
if (argv.findReleatedTests)
|
|
44
|
-
commandOptions += " --related";
|
|
45
|
-
if (argv.silent)
|
|
46
|
-
commandOptions += " --silent";
|
|
37
|
+
if (argv.fix) commandOptions = "-u";
|
|
38
|
+
else if (argv.watch) commandOptions = "--watch";
|
|
39
|
+
if (argv.passWithNoTests) commandOptions += " --passWithNoTests";
|
|
40
|
+
if (argv.findReleatedTests) commandOptions += " --related";
|
|
41
|
+
if (argv.silent) commandOptions += " --silent";
|
|
47
42
|
try {
|
|
48
43
|
if (getCIEnv()) {
|
|
49
44
|
await exec("rimraf ./reports");
|
|
@@ -12,8 +12,7 @@ const branchTags = {
|
|
|
12
12
|
};
|
|
13
13
|
const deleteTags = (cmd, filter) => {
|
|
14
14
|
const result = execSync(cmd, { cwd });
|
|
15
|
-
if (!result)
|
|
16
|
-
return;
|
|
15
|
+
if (!result) return;
|
|
17
16
|
const tags = result.toString().split("\n").join(" ");
|
|
18
17
|
execSync(`git tag -d ${filter ? filter(tags) : tags}`, { cwd });
|
|
19
18
|
};
|
package/dist/esm/pui-config.js
CHANGED
|
@@ -8,8 +8,7 @@ const baseConfig = {
|
|
|
8
8
|
};
|
|
9
9
|
const getPUIConfig = () => {
|
|
10
10
|
const configPath = path.resolve(process.cwd(), "./pui.config.js");
|
|
11
|
-
if (!fs.existsSync(configPath))
|
|
12
|
-
return baseConfig;
|
|
11
|
+
if (!fs.existsSync(configPath)) return baseConfig;
|
|
13
12
|
const config = JSON.parse(fs.readFileSync(configPath, "utf8"));
|
|
14
13
|
return merge(baseConfig, config);
|
|
15
14
|
};
|
|
@@ -6,14 +6,12 @@ const serviceEndpoints = /\.endpoint\.js$/;
|
|
|
6
6
|
const getFilesMatching = (filePattern) => {
|
|
7
7
|
const getFiles = (dir) => {
|
|
8
8
|
let routeFiles = [];
|
|
9
|
-
if (!fs.existsSync(dir))
|
|
10
|
-
return routeFiles;
|
|
9
|
+
if (!fs.existsSync(dir)) return routeFiles;
|
|
11
10
|
fs.readdirSync(dir).forEach((file) => {
|
|
12
11
|
const fullPath = path.join(dir, file);
|
|
13
12
|
if (fs.lstatSync(fullPath).isDirectory()) {
|
|
14
13
|
routeFiles = routeFiles.concat(getFiles(fullPath));
|
|
15
|
-
} else if (filePattern.test(fullPath))
|
|
16
|
-
routeFiles.push(fullPath);
|
|
14
|
+
} else if (filePattern.test(fullPath)) routeFiles.push(fullPath);
|
|
17
15
|
});
|
|
18
16
|
return routeFiles;
|
|
19
17
|
};
|
|
@@ -32,8 +30,7 @@ const loadRoutes = async (app) => {
|
|
|
32
30
|
const routeFileURL = pathToFileURL(routeFile).href;
|
|
33
31
|
const { default: init } = await import(routeFileURL);
|
|
34
32
|
try {
|
|
35
|
-
if (typeof init === "function")
|
|
36
|
-
init(app);
|
|
33
|
+
if (typeof init === "function") init(app);
|
|
37
34
|
} catch (err) {
|
|
38
35
|
console.error(
|
|
39
36
|
`unable to load routes from ${routeFile}. ${err.message}`
|
|
@@ -6,17 +6,14 @@ const onSocketError = (err) => {
|
|
|
6
6
|
console.error(err);
|
|
7
7
|
};
|
|
8
8
|
const authenticate = (token, cb) => {
|
|
9
|
-
if (!token)
|
|
10
|
-
|
|
11
|
-
else
|
|
12
|
-
cb();
|
|
9
|
+
if (!token) cb(4401);
|
|
10
|
+
else cb();
|
|
13
11
|
};
|
|
14
12
|
const getAuthToken = (protocols) => {
|
|
15
13
|
const authProtocol = protocols.find(
|
|
16
14
|
(protocol) => protocol.startsWith("auth--")
|
|
17
15
|
);
|
|
18
|
-
if (!authProtocol)
|
|
19
|
-
return "";
|
|
16
|
+
if (!authProtocol) return "";
|
|
20
17
|
return authProtocol.split("--")[1]?.trim?.();
|
|
21
18
|
};
|
|
22
19
|
const createWSServer = ({
|
|
@@ -78,8 +75,7 @@ const createWSServer = ({
|
|
|
78
75
|
});
|
|
79
76
|
const interval = setInterval(() => {
|
|
80
77
|
wsServer.clients.forEach((ws) => {
|
|
81
|
-
if (isAlive === false)
|
|
82
|
-
ws.terminate();
|
|
78
|
+
if (isAlive === false) ws.terminate();
|
|
83
79
|
isAlive = false;
|
|
84
80
|
ws.ping();
|
|
85
81
|
});
|
|
@@ -3,8 +3,7 @@ import { reporter } from "./reporter.js";
|
|
|
3
3
|
const getMessageAndPass = (violations) => {
|
|
4
4
|
const formatedViolations = reporter(violations);
|
|
5
5
|
const pass = formatedViolations.length === 0;
|
|
6
|
-
if (pass)
|
|
7
|
-
return { message: () => "", pass };
|
|
6
|
+
if (pass) return { message: () => "", pass };
|
|
8
7
|
return {
|
|
9
8
|
message: () => `${matcherHint(".toHaveNoViolations")}
|
|
10
9
|
|
|
@@ -3,8 +3,7 @@ const colorYellow = (arg) => `\x1B[93m ${arg ?? ""} \x1B[0m`;
|
|
|
3
3
|
const colorGrey = (arg) => `\x1B[90m ${arg ?? ""} \x1B[0m`;
|
|
4
4
|
const colorBlue = (arg) => `\x1B[34m ${arg ?? ""} \x1B[0m`;
|
|
5
5
|
const reporter = (violToFormat) => {
|
|
6
|
-
if (violToFormat.length === 0)
|
|
7
|
-
return "";
|
|
6
|
+
if (violToFormat.length === 0) return "";
|
|
8
7
|
const lineBreak = "\n\n";
|
|
9
8
|
const horizontalLine = "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500";
|
|
10
9
|
return violToFormat.map((violation) => {
|
|
@@ -8,8 +8,7 @@ const toHaveNoViolations = {
|
|
|
8
8
|
const { nodes } = violation;
|
|
9
9
|
const newNodes = [];
|
|
10
10
|
nodes.forEach((node) => {
|
|
11
|
-
if (!shouldIgnoreNodeViolation(node, violation))
|
|
12
|
-
newNodes.push(node);
|
|
11
|
+
if (!shouldIgnoreNodeViolation(node, violation)) newNodes.push(node);
|
|
13
12
|
});
|
|
14
13
|
if (newNodes.length > 0) {
|
|
15
14
|
finalViolations.push({ ...violation, nodes: newNodes });
|
|
@@ -23,23 +23,19 @@ console.error = (...args) => {
|
|
|
23
23
|
return false;
|
|
24
24
|
return originalError(...args);
|
|
25
25
|
};
|
|
26
|
-
if (expect)
|
|
27
|
-
expect.extend(toHaveNoViolations);
|
|
26
|
+
if (expect) expect.extend(toHaveNoViolations);
|
|
28
27
|
const addElementToBody = (element) => {
|
|
29
28
|
const documentEle = (window || {}).document;
|
|
30
|
-
if (!documentEle)
|
|
31
|
-
return null;
|
|
29
|
+
if (!documentEle) return null;
|
|
32
30
|
const bodyEle = documentEle.body;
|
|
33
31
|
const newEle = documentEle.createElement(...element);
|
|
34
|
-
if (!newEle)
|
|
35
|
-
return null;
|
|
32
|
+
if (!newEle) return null;
|
|
36
33
|
bodyEle.appendChild(newEle);
|
|
37
34
|
return newEle;
|
|
38
35
|
};
|
|
39
36
|
const addRootElement = (id) => {
|
|
40
37
|
const rootEle = addElementToBody("div");
|
|
41
|
-
if (rootEle)
|
|
42
|
-
rootEle.id = id;
|
|
38
|
+
if (rootEle) rootEle.id = id;
|
|
43
39
|
};
|
|
44
40
|
addRootElement("root");
|
|
45
41
|
addMatchMedia();
|
package/dist/esm/utils.js
CHANGED
|
@@ -8,8 +8,7 @@ const getAppConfig = () => {
|
|
|
8
8
|
isApp() ? "app" : "lib",
|
|
9
9
|
"app.config.json"
|
|
10
10
|
);
|
|
11
|
-
if (!fs.existsSync(appConfigPath))
|
|
12
|
-
return "{}";
|
|
11
|
+
if (!fs.existsSync(appConfigPath)) return "{}";
|
|
13
12
|
const appConfig = fs.readFileSync(appConfigPath);
|
|
14
13
|
return appConfig || "{}";
|
|
15
14
|
};
|
|
@@ -17,8 +17,7 @@ const excludeNodeModulesExcept = (modules) => {
|
|
|
17
17
|
return function(modulePath) {
|
|
18
18
|
if (/node_modules/.test(modulePath)) {
|
|
19
19
|
for (const moduleRegExp of moduleRegExps)
|
|
20
|
-
if (moduleRegExp.test(modulePath))
|
|
21
|
-
return false;
|
|
20
|
+
if (moduleRegExp.test(modulePath)) return false;
|
|
22
21
|
return true;
|
|
23
22
|
}
|
|
24
23
|
return false;
|
|
@@ -86,8 +85,7 @@ const getUserMonitoringFileName = () => {
|
|
|
86
85
|
process.cwd(),
|
|
87
86
|
"node_modules/@elliemae/pui-user-monitoring/dist/public/js"
|
|
88
87
|
);
|
|
89
|
-
if (!fs.existsSync(userMonLibPath))
|
|
90
|
-
return `${libName}.js`;
|
|
88
|
+
if (!fs.existsSync(userMonLibPath)) return `${libName}.js`;
|
|
91
89
|
const distJSFiles = fs.readdirSync(userMonLibPath);
|
|
92
90
|
return distJSFiles.filter(
|
|
93
91
|
(fName) => fName.match(/emuiUserMonitoring+((?!chunk).)*\.js$/)
|
|
@@ -99,8 +97,7 @@ const getAppLoaderFileName = () => {
|
|
|
99
97
|
process.cwd(),
|
|
100
98
|
"node_modules/@elliemae/pui-app-loader/dist/public/js"
|
|
101
99
|
);
|
|
102
|
-
if (!fs.existsSync(appLoaderLibPath))
|
|
103
|
-
return `${libName}.js`;
|
|
100
|
+
if (!fs.existsSync(appLoaderLibPath)) return `${libName}.js`;
|
|
104
101
|
const distJSFiles = fs.readdirSync(appLoaderLibPath);
|
|
105
102
|
return distJSFiles.filter(
|
|
106
103
|
(fName) => fName.match(/emuiAppLoader+((?!chunk).)*\.js$/)
|
|
@@ -112,8 +109,7 @@ const getDiagnosticsFileName = () => {
|
|
|
112
109
|
process.cwd(),
|
|
113
110
|
"node_modules/@elliemae/pui-diagnostics/dist/public/js"
|
|
114
111
|
);
|
|
115
|
-
if (!fs.existsSync(libPath))
|
|
116
|
-
return `${libName}.js`;
|
|
112
|
+
if (!fs.existsSync(libPath)) return `${libName}.js`;
|
|
117
113
|
const distJSFiles = fs.readdirSync(libPath);
|
|
118
114
|
return distJSFiles.filter(
|
|
119
115
|
(fName) => fName.match(/emuiDiagnostics+((?!chunk).)*\.js$/)
|
|
@@ -125,16 +121,14 @@ const getENCWLoaderFileName = () => {
|
|
|
125
121
|
process.cwd(),
|
|
126
122
|
"node_modules/@elliemae/encw-loader/dist/public/js"
|
|
127
123
|
);
|
|
128
|
-
if (!fs.existsSync(appLoaderLibPath))
|
|
129
|
-
return `${libName}.js`;
|
|
124
|
+
if (!fs.existsSync(appLoaderLibPath)) return `${libName}.js`;
|
|
130
125
|
const distJSFiles = fs.readdirSync(appLoaderLibPath);
|
|
131
126
|
return distJSFiles.filter(
|
|
132
127
|
(fName) => fName.match(/emuiEncwLoader+((?!chunk).)*\.js$/)
|
|
133
128
|
)[0];
|
|
134
129
|
};
|
|
135
130
|
const getAppVersion = () => {
|
|
136
|
-
if (!process.env.APP_VERSION)
|
|
137
|
-
return LATEST_VERSION;
|
|
131
|
+
if (!process.env.APP_VERSION) return LATEST_VERSION;
|
|
138
132
|
const match = process.env.APP_VERSION.match(/^v?(\d+\.\d+)\..*$/);
|
|
139
133
|
return match?.[1] ?? LATEST_VERSION;
|
|
140
134
|
};
|
|
@@ -136,8 +136,7 @@ const devConfig = {
|
|
|
136
136
|
createWSServer({
|
|
137
137
|
port: wsPort
|
|
138
138
|
}).then(({ wsServer }) => {
|
|
139
|
-
if (devServer.app)
|
|
140
|
-
devServer.app.locals.wsServer = wsServer;
|
|
139
|
+
if (devServer.app) devServer.app.locals.wsServer = wsServer;
|
|
141
140
|
}).catch((err) => {
|
|
142
141
|
console.error(err);
|
|
143
142
|
});
|
|
@@ -110,8 +110,7 @@ const htmlWebpackPlugin = new HtmlWebpackPlugin({
|
|
|
110
110
|
scriptLoading: "defer"
|
|
111
111
|
});
|
|
112
112
|
const config = baseConfig(getProdConfig());
|
|
113
|
-
if (config.plugins)
|
|
114
|
-
config.plugins.push(htmlWebpackPlugin);
|
|
113
|
+
if (config.plugins) config.plugins.push(htmlWebpackPlugin);
|
|
115
114
|
var webpack_prod_babel_default = config;
|
|
116
115
|
export {
|
|
117
116
|
webpack_prod_babel_default as default
|
|
@@ -55,8 +55,7 @@ const webpackFinal = (config, { configType }) => {
|
|
|
55
55
|
const fileLoaderRule = config?.module?.rules?.find?.(
|
|
56
56
|
(rule) => rule.test?.test?.(".svg")
|
|
57
57
|
);
|
|
58
|
-
if (fileLoaderRule)
|
|
59
|
-
fileLoaderRule.exclude = /\.svg$/i;
|
|
58
|
+
if (fileLoaderRule) fileLoaderRule.exclude = /\.svg$/i;
|
|
60
59
|
config?.module?.rules?.unshift(...getModuleRules());
|
|
61
60
|
config?.plugins?.push(...getAdditionalPlugins());
|
|
62
61
|
if (isProd) {
|
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.48",
|
|
4
4
|
"description": "ICE MT UI Platform CLI",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/cjs/index.cjs",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"docs:build": "pui-doc-gen build",
|
|
60
60
|
"docs:version": "pui-doc-gen version",
|
|
61
61
|
"docs:serve": "pui-doc-gen serve",
|
|
62
|
-
"lint": "
|
|
62
|
+
"lint": "exit 0",
|
|
63
63
|
"lint:fix": "tsx ./lib/cli.ts lint --fix",
|
|
64
64
|
"prettify": "prettier --write",
|
|
65
65
|
"release": "semantic-release",
|
|
@@ -99,35 +99,37 @@
|
|
|
99
99
|
"@commitlint/cli": "~19.3.0",
|
|
100
100
|
"@commitlint/config-conventional": "~19.2.2",
|
|
101
101
|
"@elliemae/browserslist-config-elliemae-latest-browsers": "~1.9.0",
|
|
102
|
+
"@eslint/eslintrc": "~3.0.2",
|
|
103
|
+
"@eslint/js": "~9.2.0",
|
|
102
104
|
"@faker-js/faker": "8.4.1",
|
|
103
|
-
"@nx/workspace": "
|
|
105
|
+
"@nx/workspace": "19.0.0",
|
|
104
106
|
"@pmmmwh/react-refresh-webpack-plugin": "~0.5.13",
|
|
105
107
|
"@semantic-release/changelog": "~6.0.3",
|
|
106
108
|
"@semantic-release/exec": "~6.0.3",
|
|
107
109
|
"@semantic-release/git": "~10.0.1",
|
|
108
|
-
"@storybook/addon-a11y": "~
|
|
109
|
-
"@storybook/addon-essentials": "~
|
|
110
|
+
"@storybook/addon-a11y": "~8.0.10",
|
|
111
|
+
"@storybook/addon-essentials": "~8.0.10",
|
|
110
112
|
"@storybook/addon-events": "~6.2.9",
|
|
111
|
-
"@storybook/addon-interactions": "~
|
|
112
|
-
"@storybook/addon-links": "~
|
|
113
|
-
"@storybook/addon-storysource": "~
|
|
114
|
-
"@storybook/blocks": "~
|
|
115
|
-
"@storybook/builder-vite": "~
|
|
116
|
-
"@storybook/builder-webpack5": "~
|
|
113
|
+
"@storybook/addon-interactions": "~8.0.10",
|
|
114
|
+
"@storybook/addon-links": "~8.0.10",
|
|
115
|
+
"@storybook/addon-storysource": "~8.0.10",
|
|
116
|
+
"@storybook/blocks": "~8.0.10",
|
|
117
|
+
"@storybook/builder-vite": "~8.0.10",
|
|
118
|
+
"@storybook/builder-webpack5": "~8.0.10",
|
|
117
119
|
"@storybook/jest": "~0.2.3",
|
|
118
120
|
"@storybook/manager-webpack5": "~6.5.16",
|
|
119
|
-
"@storybook/react": "~
|
|
120
|
-
"@storybook/react-vite": "~
|
|
121
|
-
"@storybook/react-webpack5": "~
|
|
121
|
+
"@storybook/react": "~8.0.10",
|
|
122
|
+
"@storybook/react-vite": "~8.0.10",
|
|
123
|
+
"@storybook/react-webpack5": "~8.0.10",
|
|
122
124
|
"@storybook/testing-library": "~0.2.2",
|
|
123
|
-
"@storybook/theming": "~
|
|
125
|
+
"@storybook/theming": "~8.0.10",
|
|
124
126
|
"@stylelint/postcss-css-in-js": "~0.38.0",
|
|
125
127
|
"@svgr/webpack": "~8.1.0",
|
|
126
128
|
"@swc/cli": "~0.3.12",
|
|
127
|
-
"@swc/core": "~1.
|
|
129
|
+
"@swc/core": "~1.5.3",
|
|
128
130
|
"@swc/jest": "~0.2.36",
|
|
129
|
-
"@testing-library/jest-dom": "~6.4.
|
|
130
|
-
"@testing-library/react": "~
|
|
131
|
+
"@testing-library/jest-dom": "~6.4.5",
|
|
132
|
+
"@testing-library/react": "~15.0.7",
|
|
131
133
|
"@testing-library/react-hooks": "~8.0.1",
|
|
132
134
|
"@testing-library/user-event": "~14.5.2",
|
|
133
135
|
"@types/circular-dependency-plugin": "~5.0.8",
|
|
@@ -138,9 +140,8 @@
|
|
|
138
140
|
"@types/jest": "~29.5.12",
|
|
139
141
|
"@types/jest-axe": "~3.5.9",
|
|
140
142
|
"@types/moment-locales-webpack-plugin": "~1.2.6",
|
|
141
|
-
"@types/node": "~20.12.
|
|
143
|
+
"@types/node": "~20.12.10",
|
|
142
144
|
"@types/normalize-path": "~3.0.2",
|
|
143
|
-
"@types/postcss-preset-env": "~8.0.0",
|
|
144
145
|
"@types/rimraf": "~4.0.5",
|
|
145
146
|
"@types/speed-measure-webpack-plugin": "~1.3.6",
|
|
146
147
|
"@types/supertest": "~6.0.2",
|
|
@@ -151,8 +152,9 @@
|
|
|
151
152
|
"@typescript-eslint/parser": "~7.8.0",
|
|
152
153
|
"@vitejs/plugin-react": "~4.2.1",
|
|
153
154
|
"@vitest/coverage-c8": "~0.33.0",
|
|
155
|
+
"acorn": "~8.11.3",
|
|
154
156
|
"autoprefixer": "~10.4.19",
|
|
155
|
-
"axe-core": "~4.9.
|
|
157
|
+
"axe-core": "~4.9.1",
|
|
156
158
|
"babel-plugin-date-fns": "~2.0.0",
|
|
157
159
|
"babel-plugin-dynamic-import-node": "~2.3.3",
|
|
158
160
|
"babel-plugin-import-remove-resource-query": "~1.0.0",
|
|
@@ -173,35 +175,38 @@
|
|
|
173
175
|
"copy-webpack-plugin": "~12.0.2",
|
|
174
176
|
"cors": "~2.8.5",
|
|
175
177
|
"cross-env": "~7.0.3",
|
|
176
|
-
"css-loader": "~
|
|
177
|
-
"css-minimizer-webpack-plugin": "~
|
|
178
|
+
"css-loader": "~7.1.1",
|
|
179
|
+
"css-minimizer-webpack-plugin": "~7.0.0",
|
|
178
180
|
"depcheck": "~1.4.7",
|
|
179
181
|
"docdash": "~2.0.2",
|
|
180
182
|
"dotenv": "~16.4.5",
|
|
181
183
|
"dotenv-webpack": "~8.1.0",
|
|
182
184
|
"duplicate-package-checker-webpack-plugin": "~3.0.0",
|
|
183
|
-
"enhanced-resolve": "5.16.
|
|
184
|
-
"esbuild": "~0.
|
|
185
|
+
"enhanced-resolve": "5.16.1",
|
|
186
|
+
"esbuild": "~0.21.1",
|
|
185
187
|
"esbuild-loader": "~4.1.0",
|
|
186
188
|
"esbuild-plugin-lodash": "~1.2.0",
|
|
187
189
|
"esbuild-plugin-svgr": "~2.1.0",
|
|
188
|
-
"eslint": "~
|
|
190
|
+
"eslint": "~9.2.0",
|
|
189
191
|
"eslint-config-airbnb": "~19.0.4",
|
|
190
192
|
"eslint-config-airbnb-base": "~15.0.0",
|
|
191
193
|
"eslint-config-airbnb-typescript": "~18.0.0",
|
|
192
194
|
"eslint-config-prettier": "~9.1.0",
|
|
193
195
|
"eslint-config-react-app": "~7.0.1",
|
|
196
|
+
"eslint-config-standard-with-typescript": "~43.0.1",
|
|
194
197
|
"eslint-import-resolver-babel-module": "~5.3.2",
|
|
195
198
|
"eslint-import-resolver-typescript": "~3.6.1",
|
|
196
199
|
"eslint-import-resolver-webpack": "~0.13.8",
|
|
197
200
|
"eslint-plugin-compat": "~4.2.0",
|
|
198
201
|
"eslint-plugin-eslint-comments": "~3.2.0",
|
|
199
202
|
"eslint-plugin-import": "~2.29.1",
|
|
200
|
-
"eslint-plugin-jest": "~
|
|
203
|
+
"eslint-plugin-jest": "~28.5.0",
|
|
201
204
|
"eslint-plugin-jsdoc": "~48.2.3",
|
|
202
205
|
"eslint-plugin-jsx-a11y": "~6.8.0",
|
|
203
206
|
"eslint-plugin-mdx": "~3.1.5",
|
|
207
|
+
"eslint-plugin-n": "~17.5.1",
|
|
204
208
|
"eslint-plugin-prettier": "~5.1.3",
|
|
209
|
+
"eslint-plugin-promise": "~6.1.1",
|
|
205
210
|
"eslint-plugin-react": "~7.34.1",
|
|
206
211
|
"eslint-plugin-react-hooks": "~4.6.2",
|
|
207
212
|
"eslint-plugin-redux-saga": "~1.3.2",
|
|
@@ -216,7 +221,8 @@
|
|
|
216
221
|
"fast-glob": "~3.3.2",
|
|
217
222
|
"find-up": "~7.0.0",
|
|
218
223
|
"find-up-cli": "~6.0.0",
|
|
219
|
-
"
|
|
224
|
+
"globals": "~15.1.0",
|
|
225
|
+
"happy-dom": "~14.10.1",
|
|
220
226
|
"helmet-csp": "~3.4.0",
|
|
221
227
|
"html-loader": "~5.0.0",
|
|
222
228
|
"html-webpack-plugin": "~5.6.0",
|
|
@@ -232,7 +238,7 @@
|
|
|
232
238
|
"jest-styled-components": "~7.2.0",
|
|
233
239
|
"jest-watch-typeahead": "~2.2.2",
|
|
234
240
|
"jscodeshift": "~0.15.2",
|
|
235
|
-
"jsdoc": "~4.0.
|
|
241
|
+
"jsdoc": "~4.0.3",
|
|
236
242
|
"lerna": "~8.1.2",
|
|
237
243
|
"lint-staged": "~15.2.2",
|
|
238
244
|
"mini-css-extract-plugin": "~2.9.0",
|
|
@@ -246,17 +252,17 @@
|
|
|
246
252
|
"nodemon": "~3.1.0",
|
|
247
253
|
"normalize-path": "~3.0.0",
|
|
248
254
|
"npm-check-updates": "16.14.20",
|
|
249
|
-
"nx": "~
|
|
250
|
-
"pino": "~
|
|
251
|
-
"pino-http": "~
|
|
252
|
-
"pino-pretty": "~
|
|
255
|
+
"nx": "~19.0.0",
|
|
256
|
+
"pino": "~9.0.0",
|
|
257
|
+
"pino-http": "~10.1.0",
|
|
258
|
+
"pino-pretty": "~11.0.0",
|
|
253
259
|
"plop": "~4.0.1",
|
|
254
260
|
"postcss": "~8.4.38",
|
|
255
261
|
"postcss-html": "~1.6.0",
|
|
256
262
|
"postcss-jsx": "~0.36.4",
|
|
257
263
|
"postcss-loader": "~8.1.1",
|
|
258
264
|
"postcss-markdown": "~1.2.0",
|
|
259
|
-
"postcss-preset-env": "9.
|
|
265
|
+
"postcss-preset-env": "~9.5.11",
|
|
260
266
|
"postcss-styled-syntax": "0.6.4",
|
|
261
267
|
"postcss-syntax": "~0.36.2",
|
|
262
268
|
"prettier": "~3.2.5",
|
|
@@ -273,26 +279,27 @@
|
|
|
273
279
|
"semantic-release": "~23.0.8",
|
|
274
280
|
"slackify-markdown": "~4.4.0",
|
|
275
281
|
"speed-measure-webpack-plugin": "~1.5.0",
|
|
276
|
-
"storybook": "~
|
|
282
|
+
"storybook": "~8.0.10",
|
|
277
283
|
"storybook-addon-turbo-build": "~2.0.1",
|
|
278
284
|
"storybook-react-router": "~1.0.8",
|
|
279
|
-
"style-loader": "~
|
|
280
|
-
"stylelint": "~16.
|
|
285
|
+
"style-loader": "~4.0.0",
|
|
286
|
+
"stylelint": "~16.5.0",
|
|
281
287
|
"stylelint-config-standard": "~36.0.0",
|
|
282
|
-
"supertest": "~
|
|
288
|
+
"supertest": "~7.0.0",
|
|
283
289
|
"swc-loader": "~0.2.6",
|
|
284
290
|
"tsconfig-paths-webpack-plugin": "~4.1.0",
|
|
285
291
|
"ts-node": "~10.9.2",
|
|
286
292
|
"tsc-alias": "~1.8.8",
|
|
287
|
-
"tsx": "~4.
|
|
293
|
+
"tsx": "~4.9.3",
|
|
288
294
|
"typedoc": "~0.25.13",
|
|
289
295
|
"typescript": "~5.4.5",
|
|
290
|
-
"
|
|
296
|
+
"typescript-eslint": "~7.8.0",
|
|
297
|
+
"undici": "~6.16.0",
|
|
291
298
|
"update-notifier": "~7.0.0",
|
|
292
299
|
"url-loader": "~4.1.1",
|
|
293
300
|
"uuid": "~9.0.1",
|
|
294
|
-
"vite": "~5.2.
|
|
295
|
-
"vitest": "~1.
|
|
301
|
+
"vite": "~5.2.11",
|
|
302
|
+
"vitest": "~1.6.0",
|
|
296
303
|
"vite-tsconfig-paths": "~4.3.2",
|
|
297
304
|
"webpack": "~5.91.0",
|
|
298
305
|
"webpack-bundle-analyzer": "~4.10.2",
|