@elliemae/pui-cli 9.0.0-next.45 → 9.0.0-next.47

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.
Files changed (39) hide show
  1. package/dist/cjs/commands/build.js +2 -4
  2. package/dist/cjs/commands/lint.js +2 -4
  3. package/dist/cjs/commands/pack.js +1 -2
  4. package/dist/cjs/commands/test.js +6 -12
  5. package/dist/cjs/commands/utils.js +6 -12
  6. package/dist/cjs/commands/vitest.js +5 -10
  7. package/dist/cjs/monorepo/delete-merged-tags.js +1 -2
  8. package/dist/cjs/pui-config.js +1 -2
  9. package/dist/cjs/server/appRoutes.js +3 -6
  10. package/dist/cjs/server/wsServer.js +4 -8
  11. package/dist/cjs/testing/extended/axe-core/getMessageAndPass.js +1 -2
  12. package/dist/cjs/testing/extended/axe-core/reporter.js +1 -2
  13. package/dist/cjs/testing/extended/axe-core/toHaveNoViolations.js +1 -2
  14. package/dist/cjs/testing/setup-tests.js +4 -8
  15. package/dist/cjs/utils.js +1 -2
  16. package/dist/cjs/webpack/helpers.js +6 -12
  17. package/dist/cjs/webpack/webpack.dev.babel.js +1 -2
  18. package/dist/cjs/webpack/webpack.prod.babel.js +1 -2
  19. package/dist/cjs/webpack/webpack.storybook.js +1 -2
  20. package/dist/esm/commands/build.js +2 -4
  21. package/dist/esm/commands/lint.js +2 -4
  22. package/dist/esm/commands/pack.js +1 -2
  23. package/dist/esm/commands/test.js +6 -12
  24. package/dist/esm/commands/utils.js +6 -12
  25. package/dist/esm/commands/vitest.js +5 -10
  26. package/dist/esm/monorepo/delete-merged-tags.js +1 -2
  27. package/dist/esm/pui-config.js +1 -2
  28. package/dist/esm/server/appRoutes.js +3 -6
  29. package/dist/esm/server/wsServer.js +4 -8
  30. package/dist/esm/testing/extended/axe-core/getMessageAndPass.js +1 -2
  31. package/dist/esm/testing/extended/axe-core/reporter.js +1 -2
  32. package/dist/esm/testing/extended/axe-core/toHaveNoViolations.js +1 -2
  33. package/dist/esm/testing/setup-tests.js +4 -8
  34. package/dist/esm/utils.js +1 -2
  35. package/dist/esm/webpack/helpers.js +6 -12
  36. package/dist/esm/webpack/webpack.dev.babel.js +1 -2
  37. package/dist/esm/webpack/webpack.prod.babel.js +1 -2
  38. package/dist/esm/webpack/webpack.storybook.js +1 -2
  39. package/package.json +49 -48
@@ -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
- await buildService();
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
- flagsArray.push("-u");
97
- else if (argv.watch)
98
- flagsArray.push("--watchAll");
99
- if (argv.passWithNoTests)
100
- flagsArray.push("--passWithNoTests");
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
- return;
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
- commandOptions = "-u";
72
- else if (argv.watch)
73
- commandOptions = "--watch";
74
- if (argv.passWithNoTests)
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
  };
@@ -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
- cb(4401);
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
- await buildService();
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
- flagsArray.push("-u");
64
- else if (argv.watch)
65
- flagsArray.push("--watchAll");
66
- if (argv.passWithNoTests)
67
- flagsArray.push("--passWithNoTests");
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
- return;
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
- commandOptions = "-u";
39
- else if (argv.watch)
40
- commandOptions = "--watch";
41
- if (argv.passWithNoTests)
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
  };
@@ -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
- cb(4401);
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.45",
3
+ "version": "9.0.0-next.47",
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": "tsx ./lib/cli.ts 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",
@@ -79,9 +79,9 @@
79
79
  },
80
80
  "dependencies": {
81
81
  "@axe-core/react": "~4.9.0",
82
- "@babel/cli": "~7.24.1",
83
- "@babel/core": "~7.24.4",
84
- "@babel/eslint-parser": "~7.24.1",
82
+ "@babel/cli": "~7.24.5",
83
+ "@babel/core": "~7.24.5",
84
+ "@babel/eslint-parser": "~7.24.5",
85
85
  "@babel/node": "~7.23.9",
86
86
  "@babel/plugin-proposal-class-properties": "~7.18.6",
87
87
  "@babel/plugin-proposal-export-default-from": "~7.24.1",
@@ -92,42 +92,43 @@
92
92
  "@babel/plugin-transform-react-inline-elements": "~7.24.1",
93
93
  "@babel/plugin-transform-react-jsx-source": "~7.24.1",
94
94
  "@babel/plugin-transform-runtime": "~7.24.3",
95
- "@babel/preset-env": "~7.24.4",
95
+ "@babel/preset-env": "~7.24.5",
96
96
  "@babel/preset-react": "~7.24.1",
97
97
  "@babel/preset-typescript": "~7.24.1",
98
- "@babel/runtime": "~7.24.4",
98
+ "@babel/runtime": "~7.24.5",
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/js": "~9.2.0",
102
103
  "@faker-js/faker": "8.4.1",
103
- "@nx/workspace": "18.3.4",
104
+ "@nx/workspace": "19.0.0",
104
105
  "@pmmmwh/react-refresh-webpack-plugin": "~0.5.13",
105
106
  "@semantic-release/changelog": "~6.0.3",
106
107
  "@semantic-release/exec": "~6.0.3",
107
108
  "@semantic-release/git": "~10.0.1",
108
- "@storybook/addon-a11y": "~7.6.18",
109
- "@storybook/addon-essentials": "~7.6.18",
109
+ "@storybook/addon-a11y": "~8.0.10",
110
+ "@storybook/addon-essentials": "~8.0.10",
110
111
  "@storybook/addon-events": "~6.2.9",
111
- "@storybook/addon-interactions": "~7.6.18",
112
- "@storybook/addon-links": "~7.6.18",
113
- "@storybook/addon-storysource": "~7.6.18",
114
- "@storybook/blocks": "~7.6.18",
115
- "@storybook/builder-vite": "~7.6.18",
116
- "@storybook/builder-webpack5": "~7.6.18",
112
+ "@storybook/addon-interactions": "~8.0.10",
113
+ "@storybook/addon-links": "~8.0.10",
114
+ "@storybook/addon-storysource": "~8.0.10",
115
+ "@storybook/blocks": "~8.0.10",
116
+ "@storybook/builder-vite": "~8.0.10",
117
+ "@storybook/builder-webpack5": "~8.0.10",
117
118
  "@storybook/jest": "~0.2.3",
118
119
  "@storybook/manager-webpack5": "~6.5.16",
119
- "@storybook/react": "~7.6.18",
120
- "@storybook/react-vite": "~7.6.18",
121
- "@storybook/react-webpack5": "~7.6.18",
120
+ "@storybook/react": "~8.0.10",
121
+ "@storybook/react-vite": "~8.0.10",
122
+ "@storybook/react-webpack5": "~8.0.10",
122
123
  "@storybook/testing-library": "~0.2.2",
123
- "@storybook/theming": "~7.6.18",
124
+ "@storybook/theming": "~8.0.10",
124
125
  "@stylelint/postcss-css-in-js": "~0.38.0",
125
126
  "@svgr/webpack": "~8.1.0",
126
127
  "@swc/cli": "~0.3.12",
127
- "@swc/core": "~1.4.17",
128
+ "@swc/core": "~1.5.3",
128
129
  "@swc/jest": "~0.2.36",
129
- "@testing-library/jest-dom": "~6.4.2",
130
- "@testing-library/react": "~14.3.1",
130
+ "@testing-library/jest-dom": "~6.4.5",
131
+ "@testing-library/react": "~15.0.7",
131
132
  "@testing-library/react-hooks": "~8.0.1",
132
133
  "@testing-library/user-event": "~14.5.2",
133
134
  "@types/circular-dependency-plugin": "~5.0.8",
@@ -138,9 +139,8 @@
138
139
  "@types/jest": "~29.5.12",
139
140
  "@types/jest-axe": "~3.5.9",
140
141
  "@types/moment-locales-webpack-plugin": "~1.2.6",
141
- "@types/node": "~20.12.7",
142
+ "@types/node": "~20.12.10",
142
143
  "@types/normalize-path": "~3.0.2",
143
- "@types/postcss-preset-env": "~8.0.0",
144
144
  "@types/rimraf": "~4.0.5",
145
145
  "@types/speed-measure-webpack-plugin": "~1.3.6",
146
146
  "@types/supertest": "~6.0.2",
@@ -152,7 +152,7 @@
152
152
  "@vitejs/plugin-react": "~4.2.1",
153
153
  "@vitest/coverage-c8": "~0.33.0",
154
154
  "autoprefixer": "~10.4.19",
155
- "axe-core": "~4.9.0",
155
+ "axe-core": "~4.9.1",
156
156
  "babel-plugin-date-fns": "~2.0.0",
157
157
  "babel-plugin-dynamic-import-node": "~2.3.3",
158
158
  "babel-plugin-import-remove-resource-query": "~1.0.0",
@@ -173,19 +173,19 @@
173
173
  "copy-webpack-plugin": "~12.0.2",
174
174
  "cors": "~2.8.5",
175
175
  "cross-env": "~7.0.3",
176
- "css-loader": "~6.11.0",
177
- "css-minimizer-webpack-plugin": "~6.0.0",
176
+ "css-loader": "~7.1.1",
177
+ "css-minimizer-webpack-plugin": "~7.0.0",
178
178
  "depcheck": "~1.4.7",
179
179
  "docdash": "~2.0.2",
180
180
  "dotenv": "~16.4.5",
181
181
  "dotenv-webpack": "~8.1.0",
182
182
  "duplicate-package-checker-webpack-plugin": "~3.0.0",
183
- "enhanced-resolve": "5.16.0",
184
- "esbuild": "~0.20.2",
183
+ "enhanced-resolve": "5.16.1",
184
+ "esbuild": "~0.21.1",
185
185
  "esbuild-loader": "~4.1.0",
186
186
  "esbuild-plugin-lodash": "~1.2.0",
187
187
  "esbuild-plugin-svgr": "~2.1.0",
188
- "eslint": "~8.57.0",
188
+ "eslint": "~9.2.0",
189
189
  "eslint-config-airbnb": "~19.0.4",
190
190
  "eslint-config-airbnb-base": "~15.0.0",
191
191
  "eslint-config-airbnb-typescript": "~18.0.0",
@@ -197,7 +197,7 @@
197
197
  "eslint-plugin-compat": "~4.2.0",
198
198
  "eslint-plugin-eslint-comments": "~3.2.0",
199
199
  "eslint-plugin-import": "~2.29.1",
200
- "eslint-plugin-jest": "~27.9.0",
200
+ "eslint-plugin-jest": "~28.5.0",
201
201
  "eslint-plugin-jsdoc": "~48.2.3",
202
202
  "eslint-plugin-jsx-a11y": "~6.8.0",
203
203
  "eslint-plugin-mdx": "~3.1.5",
@@ -216,7 +216,7 @@
216
216
  "fast-glob": "~3.3.2",
217
217
  "find-up": "~7.0.0",
218
218
  "find-up-cli": "~6.0.0",
219
- "happy-dom": "~13.10.1",
219
+ "happy-dom": "~14.10.1",
220
220
  "helmet-csp": "~3.4.0",
221
221
  "html-loader": "~5.0.0",
222
222
  "html-webpack-plugin": "~5.6.0",
@@ -232,7 +232,7 @@
232
232
  "jest-styled-components": "~7.2.0",
233
233
  "jest-watch-typeahead": "~2.2.2",
234
234
  "jscodeshift": "~0.15.2",
235
- "jsdoc": "~4.0.2",
235
+ "jsdoc": "~4.0.3",
236
236
  "lerna": "~8.1.2",
237
237
  "lint-staged": "~15.2.2",
238
238
  "mini-css-extract-plugin": "~2.9.0",
@@ -246,17 +246,17 @@
246
246
  "nodemon": "~3.1.0",
247
247
  "normalize-path": "~3.0.0",
248
248
  "npm-check-updates": "16.14.20",
249
- "nx": "~18.3.4",
250
- "pino": "~8.21.0",
251
- "pino-http": "~9.0.0",
252
- "pino-pretty": "~10.3.1",
249
+ "nx": "~19.0.0",
250
+ "pino": "~9.0.0",
251
+ "pino-http": "~10.1.0",
252
+ "pino-pretty": "~11.0.0",
253
253
  "plop": "~4.0.1",
254
254
  "postcss": "~8.4.38",
255
255
  "postcss-html": "~1.6.0",
256
256
  "postcss-jsx": "~0.36.4",
257
257
  "postcss-loader": "~8.1.1",
258
258
  "postcss-markdown": "~1.2.0",
259
- "postcss-preset-env": "9.3.0",
259
+ "postcss-preset-env": "~9.5.11",
260
260
  "postcss-styled-syntax": "0.6.4",
261
261
  "postcss-syntax": "~0.36.2",
262
262
  "prettier": "~3.2.5",
@@ -273,26 +273,27 @@
273
273
  "semantic-release": "~23.0.8",
274
274
  "slackify-markdown": "~4.4.0",
275
275
  "speed-measure-webpack-plugin": "~1.5.0",
276
- "storybook": "~7.6.18",
276
+ "storybook": "~8.0.10",
277
277
  "storybook-addon-turbo-build": "~2.0.1",
278
278
  "storybook-react-router": "~1.0.8",
279
- "style-loader": "~3.3.4",
280
- "stylelint": "~16.4.0",
279
+ "style-loader": "~4.0.0",
280
+ "stylelint": "~16.5.0",
281
281
  "stylelint-config-standard": "~36.0.0",
282
- "supertest": "~6.3.4",
282
+ "supertest": "~7.0.0",
283
283
  "swc-loader": "~0.2.6",
284
284
  "tsconfig-paths-webpack-plugin": "~4.1.0",
285
285
  "ts-node": "~10.9.2",
286
286
  "tsc-alias": "~1.8.8",
287
- "tsx": "~4.7.3",
287
+ "tsx": "~4.9.3",
288
288
  "typedoc": "~0.25.13",
289
289
  "typescript": "~5.4.5",
290
- "undici": "~6.15.0",
290
+ "typescript-eslint": "~7.8.0",
291
+ "undici": "~6.16.0",
291
292
  "update-notifier": "~7.0.0",
292
293
  "url-loader": "~4.1.1",
293
294
  "uuid": "~9.0.1",
294
- "vite": "~5.2.10",
295
- "vitest": "~1.5.2",
295
+ "vite": "~5.2.11",
296
+ "vitest": "~1.6.0",
296
297
  "vite-tsconfig-paths": "~4.3.2",
297
298
  "webpack": "~5.91.0",
298
299
  "webpack-bundle-analyzer": "~4.10.2",
@@ -311,7 +312,7 @@
311
312
  "react-dom": "~18.3.1",
312
313
  "redux": "~5.0.1",
313
314
  "redux-saga": "~1.3.0",
314
- "styled-components": "~6.1.8"
315
+ "styled-components": "~6.1.9"
315
316
  },
316
317
  "type": "module"
317
318
  }