@elliemae/pui-cli 9.0.0-next.5 → 9.0.0-next.50

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 (204) hide show
  1. package/app.tsconfig.json +1 -1
  2. package/dist/cjs/babel.config.cjs +1 -1
  3. package/dist/cjs/cli.js +2 -2
  4. package/dist/cjs/commands/build.js +4 -6
  5. package/dist/cjs/commands/codemod.js +1 -1
  6. package/dist/cjs/commands/gendoc.js +2 -2
  7. package/dist/cjs/commands/lint.js +28 -11
  8. package/dist/cjs/commands/pack.js +3 -4
  9. package/dist/cjs/commands/start.js +3 -3
  10. package/dist/cjs/commands/storybook.js +1 -1
  11. package/dist/cjs/commands/test.js +46 -23
  12. package/dist/cjs/commands/tscheck.js +3 -3
  13. package/dist/cjs/commands/utils.js +37 -10
  14. package/dist/cjs/commands/version.js +1 -1
  15. package/dist/cjs/commands/vitest.js +6 -11
  16. package/dist/cjs/index.cjs +0 -2
  17. package/dist/cjs/index.js +4 -2
  18. package/dist/cjs/lint-config/eslint/common.cjs +3 -2
  19. package/dist/cjs/lint-config/eslint/typescript/common.cjs +3 -3
  20. package/dist/cjs/lint-config/lint-staged.config.js +2 -2
  21. package/dist/cjs/lint-config/stylelint.config.js +45 -0
  22. package/dist/cjs/monorepo/delete-merged-tags.js +2 -3
  23. package/dist/cjs/monorepo/set-registry-version.js +3 -3
  24. package/dist/cjs/monorepo/set-workspace-version.js +3 -3
  25. package/dist/cjs/monorepo/utils.js +1 -1
  26. package/dist/cjs/pui-config.js +5 -6
  27. package/dist/cjs/release.config.js +46 -0
  28. package/dist/cjs/server/appRoutes.js +5 -8
  29. package/dist/cjs/server/csp.js +6 -5
  30. package/dist/cjs/server/index.js +6 -1
  31. package/dist/cjs/server/logger.js +2 -2
  32. package/dist/cjs/server/middlewares.js +5 -5
  33. package/dist/cjs/server/utils.js +12 -5
  34. package/dist/cjs/server/wsServer.js +125 -0
  35. package/dist/cjs/testing/ExtendedJSDomEnv.cjs +27 -0
  36. package/dist/cjs/testing/extended/axe-core/getMessageAndPass.js +36 -0
  37. package/dist/cjs/testing/extended/axe-core/index.js +24 -0
  38. package/dist/cjs/testing/extended/axe-core/reporter.js +50 -0
  39. package/dist/cjs/testing/extended/axe-core/shouldIgnoreNodeViolation.js +31 -0
  40. package/dist/cjs/testing/extended/axe-core/toHaveNoViolations.js +42 -0
  41. package/dist/cjs/testing/jest.config.cjs +6 -2
  42. package/dist/cjs/testing/jest.polyfills.cjs +30 -0
  43. package/dist/cjs/testing/mocks/svg.js +1 -1
  44. package/dist/cjs/testing/setup-react-env.js +1 -1
  45. package/dist/cjs/testing/setup-test-env.js +0 -2
  46. package/dist/cjs/testing/setup-tests.js +30 -12
  47. package/dist/cjs/testing/vitest.config.js +10 -10
  48. package/dist/cjs/transpile/.swcrc +1 -1
  49. package/dist/cjs/transpile/esbuild.js +48 -15
  50. package/dist/cjs/transpile/react-shim.js +1 -1
  51. package/dist/cjs/update-notifier.js +3 -3
  52. package/dist/cjs/utils.js +4 -5
  53. package/dist/cjs/webpack/helpers.js +29 -23
  54. package/dist/cjs/webpack/webpack.base.babel.js +21 -35
  55. package/dist/cjs/webpack/webpack.dev.babel.js +20 -10
  56. package/dist/cjs/webpack/webpack.lib.base.babel.js +22 -13
  57. package/dist/cjs/webpack/webpack.lib.dev.babel.js +14 -18
  58. package/dist/cjs/webpack/webpack.lib.prod.babel.js +12 -11
  59. package/dist/cjs/webpack/webpack.prod.babel.js +8 -8
  60. package/dist/cjs/webpack/webpack.storybook.js +15 -17
  61. package/dist/esm/babel.config.cjs +1 -1
  62. package/dist/esm/commands/build.js +2 -4
  63. package/dist/esm/commands/lint.js +27 -9
  64. package/dist/esm/commands/pack.js +1 -2
  65. package/dist/esm/commands/start.js +1 -1
  66. package/dist/esm/commands/test.js +45 -22
  67. package/dist/esm/commands/utils.js +33 -6
  68. package/dist/esm/commands/vitest.js +5 -10
  69. package/dist/esm/index.cjs +0 -2
  70. package/dist/esm/index.js +4 -2
  71. package/dist/esm/lint-config/eslint/common.cjs +3 -2
  72. package/dist/esm/lint-config/eslint/typescript/common.cjs +3 -3
  73. package/dist/esm/lint-config/stylelint.config.js +25 -0
  74. package/dist/esm/monorepo/delete-merged-tags.js +2 -3
  75. package/dist/esm/monorepo/set-registry-version.js +1 -1
  76. package/dist/esm/monorepo/set-workspace-version.js +1 -1
  77. package/dist/esm/pui-config.js +2 -3
  78. package/dist/esm/release.config.js +26 -0
  79. package/dist/esm/server/appRoutes.js +3 -6
  80. package/dist/esm/server/csp.js +2 -1
  81. package/dist/esm/server/index.js +6 -1
  82. package/dist/esm/server/utils.js +11 -4
  83. package/dist/esm/server/wsServer.js +95 -0
  84. package/dist/esm/testing/ExtendedJSDomEnv.cjs +27 -0
  85. package/dist/esm/testing/extended/axe-core/getMessageAndPass.js +16 -0
  86. package/dist/esm/testing/extended/axe-core/index.js +4 -0
  87. package/dist/esm/testing/extended/axe-core/reporter.js +30 -0
  88. package/dist/esm/testing/extended/axe-core/shouldIgnoreNodeViolation.js +11 -0
  89. package/dist/esm/testing/extended/axe-core/toHaveNoViolations.js +22 -0
  90. package/dist/esm/testing/jest.config.cjs +6 -2
  91. package/dist/esm/testing/jest.polyfills.cjs +30 -0
  92. package/dist/esm/testing/setup-test-env.js +0 -2
  93. package/dist/esm/testing/setup-tests.js +29 -11
  94. package/dist/esm/testing/vitest.config.js +8 -8
  95. package/dist/esm/transpile/.swcrc +1 -1
  96. package/dist/esm/transpile/esbuild.js +45 -12
  97. package/dist/esm/update-notifier.js +1 -1
  98. package/dist/esm/utils.js +2 -3
  99. package/dist/esm/webpack/helpers.js +25 -19
  100. package/dist/esm/webpack/webpack.base.babel.js +13 -27
  101. package/dist/esm/webpack/webpack.dev.babel.js +13 -3
  102. package/dist/esm/webpack/webpack.lib.base.babel.js +14 -5
  103. package/dist/esm/webpack/webpack.lib.dev.babel.js +9 -13
  104. package/dist/esm/webpack/webpack.lib.prod.babel.js +12 -7
  105. package/dist/esm/webpack/webpack.prod.babel.js +4 -4
  106. package/dist/esm/webpack/webpack.storybook.js +12 -14
  107. package/dist/types/docusaurus.config.d.ts +2 -0
  108. package/dist/types/{babel.config.d.cts → lib/babel.config.d.cts} +7 -7
  109. package/dist/types/{commands → lib/commands}/build.d.ts +2 -2
  110. package/dist/types/{commands → lib/commands}/codemod.d.ts +2 -2
  111. package/dist/types/{commands → lib/commands}/lint.d.ts +3 -2
  112. package/dist/types/{commands → lib/commands}/pack.d.ts +2 -2
  113. package/dist/types/{commands → lib/commands}/start.d.ts +2 -2
  114. package/dist/types/{commands → lib/commands}/storybook.d.ts +2 -2
  115. package/dist/types/{commands → lib/commands}/test.d.ts +4 -2
  116. package/dist/types/{commands → lib/commands}/tscheck.d.ts +2 -2
  117. package/dist/types/lib/commands/utils.d.ts +39 -0
  118. package/dist/types/{commands → lib/commands}/version.d.ts +2 -2
  119. package/dist/types/{commands → lib/commands}/vitest.d.ts +2 -2
  120. package/dist/types/{index.d.cts → lib/index.d.cts} +1 -2
  121. package/dist/types/{index.d.ts → lib/index.d.ts} +3 -1
  122. package/dist/types/{lint-config → lib/lint-config}/commitlint.config.d.cts +1 -1
  123. package/dist/types/{lint-config → lib/lint-config}/eslint/common.d.cts +18 -12
  124. package/dist/types/{lint-config → lib/lint-config}/eslint/non-react.d.cts +8 -1
  125. package/dist/types/{lint-config → lib/lint-config}/eslint/react.d.cts +8 -1
  126. package/dist/types/{lint-config → lib/lint-config}/eslint/typescript/common.d.cts +6 -6
  127. package/dist/types/{lint-config → lib/lint-config}/eslint/typescript/non-react.d.cts +9 -2
  128. package/dist/types/{lint-config → lib/lint-config}/eslint/typescript/react.d.cts +9 -2
  129. package/dist/types/lib/lint-config/lint-staged.config.d.ts +5 -0
  130. package/dist/types/lib/lint-config/prettier.config.d.cts +8 -0
  131. package/dist/types/lib/lint-config/stylelint.config.d.ts +13 -0
  132. package/dist/types/lib/release.config.d.ts +10 -0
  133. package/dist/types/{server → lib/server}/csp.d.ts +2 -2
  134. package/dist/types/{server → lib/server}/utils.d.ts +1 -0
  135. package/dist/types/lib/server/wsServer.d.ts +13 -0
  136. package/dist/types/lib/testing/ExtendedJSDomEnv.d.cts +5 -0
  137. package/dist/types/lib/testing/extended/axe-core/getMessageAndPass.d.ts +8 -0
  138. package/dist/types/lib/testing/extended/axe-core/index.d.ts +1 -0
  139. package/dist/types/lib/testing/extended/axe-core/reporter.d.ts +2 -0
  140. package/dist/types/lib/testing/extended/axe-core/shouldIgnoreNodeViolation.d.ts +2 -0
  141. package/dist/types/lib/testing/extended/axe-core/toHaveNoViolations.d.ts +12 -0
  142. package/dist/types/lib/testing/jest.config.d.cts +45 -0
  143. package/dist/types/{testing → lib/testing}/jest.node.config.d.cts +4 -0
  144. package/dist/types/lib/testing/mocks/axios.d.ts +17 -0
  145. package/dist/types/{testing → lib/testing}/mocks/pui-diagnostics.d.ts +13 -13
  146. package/dist/types/lib/testing/setup-tests.d.ts +1 -0
  147. package/dist/types/lib/testing/vitest.config.d.ts +1 -0
  148. package/dist/types/lib/tests/basic.test.d.ts +0 -0
  149. package/dist/types/{transpile → lib/transpile}/esbuild.d.ts +3 -3
  150. package/dist/types/lib/typedoc.d.cts +3 -0
  151. package/dist/types/{webpack → lib/webpack}/helpers.d.ts +4 -1
  152. package/dist/types/{webpack → lib/webpack}/webpack.storybook.d.ts +0 -1
  153. package/nx.json +97 -0
  154. package/package.json +209 -193
  155. package/dist/cjs/lint-config/stylelint.config.cjs +0 -19
  156. package/dist/cjs/release.config.cjs +0 -24
  157. package/dist/esm/lint-config/stylelint.config.cjs +0 -19
  158. package/dist/esm/release.config.cjs +0 -24
  159. package/dist/types/commands/utils.d.ts +0 -17
  160. package/dist/types/lint-config/lint-staged.config.d.ts +0 -5
  161. package/dist/types/lint-config/prettier.config.d.cts +0 -8
  162. package/dist/types/lint-config/stylelint.config.d.cts +0 -10
  163. package/dist/types/release.config.d.cts +0 -7
  164. package/dist/types/testing/jest.config.d.cts +0 -41
  165. package/dist/types/testing/mocks/axios.d.ts +0 -17
  166. package/dist/types/testing/vitest.config.d.ts +0 -1
  167. package/dist/types/typedoc.d.cts +0 -3
  168. /package/dist/types/{cli.d.ts → lib/cli.d.ts} +0 -0
  169. /package/dist/types/{commands → lib/commands}/gendoc.d.ts +0 -0
  170. /package/dist/types/{dummy.d.ts → lib/dummy.d.ts} +0 -0
  171. /package/dist/types/{monorepo → lib/monorepo}/delete-merged-tags.d.ts +0 -0
  172. /package/dist/types/{monorepo → lib/monorepo}/set-registry-version.d.ts +0 -0
  173. /package/dist/types/{monorepo → lib/monorepo}/set-workspace-version.d.ts +0 -0
  174. /package/dist/types/{monorepo → lib/monorepo}/utils.d.cts +0 -0
  175. /package/dist/types/{monorepo → lib/monorepo}/utils.d.ts +0 -0
  176. /package/dist/types/{pui-config.d.ts → lib/pui-config.d.ts} +0 -0
  177. /package/dist/types/{server → lib/server}/appRoutes.d.ts +0 -0
  178. /package/dist/types/{server → lib/server}/index.d.ts +0 -0
  179. /package/dist/types/{server → lib/server}/logger.d.ts +0 -0
  180. /package/dist/types/{server → lib/server}/middlewares.d.ts +0 -0
  181. /package/dist/types/{testing/setup-react-env.d.ts → lib/testing/jest.polyfills.d.cts} +0 -0
  182. /package/dist/types/{testing → lib/testing}/mocks/cssModule.d.ts +0 -0
  183. /package/dist/types/{testing → lib/testing}/mocks/html.d.ts +0 -0
  184. /package/dist/types/{testing → lib/testing}/mocks/image.d.ts +0 -0
  185. /package/dist/types/{testing → lib/testing}/mocks/matchMedia.d.ts +0 -0
  186. /package/dist/types/{testing → lib/testing}/mocks/pui-app-loader.d.ts +0 -0
  187. /package/dist/types/{testing → lib/testing}/mocks/pui-user-monitoring.d.ts +0 -0
  188. /package/dist/types/{testing → lib/testing}/mocks/retry-axios.d.ts +0 -0
  189. /package/dist/types/{testing → lib/testing}/mocks/svg.d.ts +0 -0
  190. /package/dist/types/{testing → lib/testing}/mocks/webpack-hmr.d.ts +0 -0
  191. /package/dist/types/{testing → lib/testing}/resolver.d.cts +0 -0
  192. /package/dist/types/{testing/setup-test-env.d.ts → lib/testing/setup-react-env.d.ts} +0 -0
  193. /package/dist/types/{testing/setup-tests.d.ts → lib/testing/setup-test-env.d.ts} +0 -0
  194. /package/dist/types/{transpile → lib/transpile}/react-shim.d.ts +0 -0
  195. /package/dist/types/{transpile → lib/transpile}/swcrc.config.d.cts +0 -0
  196. /package/dist/types/{update-notifier.d.ts → lib/update-notifier.d.ts} +0 -0
  197. /package/dist/types/{utils.d.cts → lib/utils.d.cts} +0 -0
  198. /package/dist/types/{utils.d.ts → lib/utils.d.ts} +0 -0
  199. /package/dist/types/{webpack → lib/webpack}/webpack.base.babel.d.ts +0 -0
  200. /package/dist/types/{webpack → lib/webpack}/webpack.dev.babel.d.ts +0 -0
  201. /package/dist/types/{webpack → lib/webpack}/webpack.lib.base.babel.d.ts +0 -0
  202. /package/dist/types/{webpack → lib/webpack}/webpack.lib.dev.babel.d.ts +0 -0
  203. /package/dist/types/{webpack → lib/webpack}/webpack.lib.prod.babel.d.ts +0 -0
  204. /package/dist/types/{webpack → lib/webpack}/webpack.prod.babel.d.ts +0 -0
@@ -21,6 +21,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
22
  mod
23
23
  ));
24
- var React = __toESM(require("react"), 1);
24
+ var React = __toESM(require("react"));
25
25
  var import_jest_styled_components = require("jest-styled-components");
26
26
  global.React = React;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  var import_vitest = require("vitest");
3
- var import_jest_styled_components = require("jest-styled-components");
4
3
  var import_react = require("@testing-library/react");
5
- var import_extend_expect = require("@testing-library/jest-dom/extend-expect");
6
4
  (0, import_vitest.afterEach)(() => {
7
5
  (0, import_react.cleanup)();
8
6
  });
@@ -21,11 +21,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
22
  mod
23
23
  ));
24
- var import_stable = require("core-js/stable");
25
24
  var import_runtime = require("regenerator-runtime/runtime");
26
- var import_extend_expect = require("@testing-library/jest-dom/extend-expect");
27
- var import_jest_axe = __toESM(require("jest-axe"), 1);
28
- var import_resize_observer_polyfill = __toESM(require("resize-observer-polyfill"), 1);
25
+ var import_jest_globals = require("@testing-library/jest-dom/jest-globals");
26
+ var import_resize_observer_polyfill = __toESM(require("resize-observer-polyfill"));
27
+ var import_axe_core = require("./extended/axe-core");
29
28
  var import_matchMedia = require("./mocks/matchMedia.js");
30
29
  var import_pui_diagnostics = require("./mocks/pui-diagnostics.js");
31
30
  const originalError = console.error;
@@ -47,23 +46,19 @@ console.error = (...args) => {
47
46
  return false;
48
47
  return originalError(...args);
49
48
  };
50
- if (expect)
51
- expect.extend(import_jest_axe.default.toHaveNoViolations);
49
+ if (expect) expect.extend(import_axe_core.toHaveNoViolations);
52
50
  const addElementToBody = (element) => {
53
51
  const documentEle = (window || {}).document;
54
- if (!documentEle)
55
- return null;
52
+ if (!documentEle) return null;
56
53
  const bodyEle = documentEle.body;
57
54
  const newEle = documentEle.createElement(...element);
58
- if (!newEle)
59
- return null;
55
+ if (!newEle) return null;
60
56
  bodyEle.appendChild(newEle);
61
57
  return newEle;
62
58
  };
63
59
  const addRootElement = (id) => {
64
60
  const rootEle = addElementToBody("div");
65
- if (rootEle)
66
- rootEle.id = id;
61
+ if (rootEle) rootEle.id = id;
67
62
  };
68
63
  addRootElement("root");
69
64
  (0, import_matchMedia.addMatchMedia)();
@@ -72,3 +67,26 @@ window.emui = {
72
67
  logger: (0, import_pui_diagnostics.logger)(),
73
68
  _BASE_PATH: new URL(document.baseURI).pathname
74
69
  };
70
+ let showCorejsWarn = false;
71
+ afterAll(() => {
72
+ if (showCorejsWarn) {
73
+ console.warn(
74
+ `IMPORTANT: Try importing core-js/stable in your failed test files and retrying.
75
+ Some tests might have failed because of it`
76
+ );
77
+ }
78
+ });
79
+ const originalTest = global.test;
80
+ global.it = (name, fn, timeout = void 0) => {
81
+ const fnWrapper = async () => {
82
+ try {
83
+ await fn();
84
+ } catch (error) {
85
+ showCorejsWarn = true;
86
+ throw error;
87
+ }
88
+ };
89
+ originalTest(name, fnWrapper, timeout);
90
+ };
91
+ global.it.skip = originalTest.skip;
92
+ global.it.only = originalTest.only;
@@ -31,31 +31,31 @@ __export(vitest_config_exports, {
31
31
  vitestConfig: () => vitestConfig
32
32
  });
33
33
  module.exports = __toCommonJS(vitest_config_exports);
34
- var import_node_path = __toESM(require("node:path"), 1);
34
+ var import_node_path = __toESM(require("node:path"));
35
35
  var import_node_url = require("node:url");
36
36
  var import_config = require("vitest/config");
37
- var import_plugin_react = __toESM(require("@vitejs/plugin-react"), 1);
37
+ var import_plugin_react = __toESM(require("@vitejs/plugin-react"));
38
+ var import_vite_tsconfig_paths = __toESM(require("vite-tsconfig-paths"));
38
39
  const import_meta = {};
39
40
  const __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
40
41
  const vitestConfig = (0, import_config.defineConfig)({
41
- plugins: [(0, import_plugin_react.default)()],
42
+ plugins: [(0, import_plugin_react.default)(), (0, import_vite_tsconfig_paths.default)()],
42
43
  test: {
43
44
  globals: true,
44
45
  root: process.cwd(),
45
- environment: "jsdom",
46
+ environment: "happy-dom",
46
47
  setupFiles: [import_node_path.default.resolve(__dirname, "./setup-test-env.js")],
47
48
  include: ["./{app,lib}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
48
49
  exclude: [...import_config.configDefaults.exclude, ".idea", ".git", ".cache", "e2e"],
49
- // watchIgnore: [
50
- // '.*\\/node_modules\\/.*',
51
- // '.*\\/build\\/.*',
52
- // '.*\\/dist\\/.*',
53
- // ],
54
50
  coverage: {
55
51
  reportsDirectory: "./reports/coverage"
56
52
  },
57
53
  deps: {
58
- inline: [/app.config.json/]
54
+ optimizer: {
55
+ web: {
56
+ include: ["app.config.json", "@elliemae/pui-app-sdk"]
57
+ }
58
+ }
59
59
  }
60
60
  }
61
61
  });
@@ -6,6 +6,6 @@
6
6
  "tsx": true,
7
7
  "dynamicImport": true
8
8
  },
9
- "target": "es2020"
9
+ "target": "es2022"
10
10
  }
11
11
  }
@@ -32,19 +32,44 @@ __export(esbuild_exports, {
32
32
  esBuild: () => esBuild
33
33
  });
34
34
  module.exports = __toCommonJS(esbuild_exports);
35
- var import_node_path = __toESM(require("node:path"), 1);
35
+ var import_node_path = __toESM(require("node:path"));
36
36
  var import_node_url = require("node:url");
37
- var import_fast_glob = __toESM(require("fast-glob"), 1);
38
- var import_esbuild = require("esbuild");
39
37
  var import_promises = require("node:fs/promises");
40
- var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
41
- var import_esbuild_plugin_lodash = __toESM(require("esbuild-plugin-lodash"), 1);
38
+ var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"));
39
+ var import_fast_glob = __toESM(require("fast-glob"));
40
+ var import_esbuild = require("esbuild");
41
+ var import_esbuild_plugin_lodash = __toESM(require("esbuild-plugin-lodash"));
42
42
  const import_meta = {};
43
+ const readPkgJson = async () => {
44
+ const pkgJsonPath = import_node_path.default.join(process.cwd(), "package.json");
45
+ const pkgJson = JSON.parse(await (0, import_promises.readFile)(pkgJsonPath, "utf8"));
46
+ return pkgJson;
47
+ };
48
+ const writePkgJson = async (pkgJson) => {
49
+ const pkgJsonPath = import_node_path.default.join(process.cwd(), "package.json");
50
+ await (0, import_promises.writeFile)(pkgJsonPath, JSON.stringify(pkgJson, null, 2));
51
+ };
52
+ const removeModuleType = async () => {
53
+ const pkgJson = await readPkgJson();
54
+ const prevModuleType = pkgJson.type;
55
+ if (pkgJson.type) {
56
+ delete pkgJson.type;
57
+ await writePkgJson(pkgJson);
58
+ }
59
+ return prevModuleType;
60
+ };
61
+ const restoreModuleType = async (typeValue) => {
62
+ if (typeValue) {
63
+ const pkgJson = await readPkgJson();
64
+ pkgJson.type = typeValue;
65
+ await writePkgJson(pkgJson);
66
+ }
67
+ };
43
68
  const __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
44
69
  const TARGETS = {
45
70
  browserslist: (0, import_browserslist_to_esbuild.default)(),
46
- web: "es2020",
47
- node: "node18"
71
+ web: "es2022",
72
+ node: "node20"
48
73
  };
49
74
  const ESBUILD_FORMAT = {
50
75
  CJS: "cjs",
@@ -112,16 +137,24 @@ const esBuild = async ({
112
137
  if (!esmOnly) {
113
138
  const cjsOutdir = `${outdir}/cjs`;
114
139
  const commonJSEntryPoints = await (0, import_fast_glob.default)(inputFiles);
115
- await (0, import_esbuild.build)({
116
- entryPoints: commonJSEntryPoints,
117
- ...getCommonConfig({ injectReactShim }),
140
+ const typeValue = await removeModuleType();
141
+ try {
142
+ await (0, import_esbuild.build)({
143
+ entryPoints: commonJSEntryPoints,
144
+ ...getCommonConfig({ injectReactShim }),
145
+ outdir: cjsOutdir,
146
+ format: ESBUILD_FORMAT.CJS,
147
+ target,
148
+ plugins: [(0, import_esbuild_plugin_lodash.default)()]
149
+ });
150
+ } finally {
151
+ await restoreModuleType(typeValue);
152
+ }
153
+ await copyFiles({ srcdir, outdir: cjsOutdir });
154
+ await createPackageJson({
118
155
  outdir: cjsOutdir,
119
- format: ESBUILD_FORMAT.CJS,
120
- target,
121
- plugins: [(0, import_esbuild_plugin_lodash.default)()]
156
+ type: NODE_MODULE_TYPES.CJS
122
157
  });
123
- await copyFiles({ srcdir, outdir: cjsOutdir });
124
- await createPackageJson({ outdir: cjsOutdir, type: NODE_MODULE_TYPES.CJS });
125
158
  }
126
159
  const esmOutdir = esmOnly ? outdir : `${outdir}/esm`;
127
160
  const entryPoints = await (0, import_fast_glob.default)(
@@ -31,4 +31,4 @@ __export(react_shim_exports, {
31
31
  React: () => React
32
32
  });
33
33
  module.exports = __toCommonJS(react_shim_exports);
34
- var React = __toESM(require("react"), 1);
34
+ var React = __toESM(require("react"));
@@ -31,9 +31,9 @@ __export(update_notifier_exports, {
31
31
  notifyUpdates: () => notifyUpdates
32
32
  });
33
33
  module.exports = __toCommonJS(update_notifier_exports);
34
- var import_update_notifier = __toESM(require("update-notifier"), 1);
35
- var import_node_path = __toESM(require("node:path"), 1);
36
- var import_promises = __toESM(require("node:fs/promises"), 1);
34
+ var import_node_path = __toESM(require("node:path"));
35
+ var import_promises = __toESM(require("node:fs/promises"));
36
+ var import_update_notifier = __toESM(require("update-notifier"));
37
37
  const notifyUpdates = async () => {
38
38
  const pkgFile = await import_promises.default.readFile(import_node_path.default.join(process.cwd(), "./package.json"));
39
39
  const pkg = JSON.parse(pkgFile);
package/dist/cjs/utils.js CHANGED
@@ -33,9 +33,9 @@ __export(utils_exports, {
33
33
  isApp: () => isApp
34
34
  });
35
35
  module.exports = __toCommonJS(utils_exports);
36
- var import_node_fs = __toESM(require("node:fs"), 1);
37
- var import_node_path = __toESM(require("node:path"), 1);
38
- const basePath = (process.env.BASE_PATH || "/").replace(/\/?$/, "/");
36
+ var import_node_fs = __toESM(require("node:fs"));
37
+ var import_node_path = __toESM(require("node:path"));
38
+ const basePath = (process.env.BASE_PATH ?? "/").replace(/\/?$/, "/");
39
39
  const isApp = () => import_node_fs.default.existsSync(import_node_path.default.join(process.cwd(), "app"));
40
40
  const getAppConfig = () => {
41
41
  const appConfigPath = import_node_path.default.join(
@@ -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
  };
@@ -34,6 +34,7 @@ __export(helpers_exports, {
34
34
  getAlias: () => getAlias,
35
35
  getAppVersion: () => getAppVersion,
36
36
  getCompressionPlugins: () => getCompressionPlugins,
37
+ getLibraryAlias: () => getLibraryAlias,
37
38
  getLibraryName: () => getLibraryName,
38
39
  getLibraryVariableName: () => getLibraryVariableName,
39
40
  getMediaPath: () => getMediaPath,
@@ -46,11 +47,11 @@ __export(helpers_exports, {
46
47
  resolveExtensions: () => resolveExtensions
47
48
  });
48
49
  module.exports = __toCommonJS(helpers_exports);
49
- var import_node_path = __toESM(require("node:path"), 1);
50
- var import_node_fs = __toESM(require("node:fs"), 1);
51
- var import_lodash = __toESM(require("lodash"), 1);
52
- var import_compression_webpack_plugin = __toESM(require("compression-webpack-plugin"), 1);
53
- var import_zlib = __toESM(require("zlib"), 1);
50
+ var import_node_path = __toESM(require("node:path"));
51
+ var import_node_fs = __toESM(require("node:fs"));
52
+ var import_zlib = __toESM(require("zlib"));
53
+ var import_lodash = __toESM(require("lodash"));
54
+ var import_compression_webpack_plugin = __toESM(require("compression-webpack-plugin"));
54
55
  var import_utils = require("../monorepo/utils.js");
55
56
  var import_utils2 = require("../utils.js");
56
57
  let pathSep = import_node_path.default.sep;
@@ -64,9 +65,8 @@ const excludeNodeModulesExcept = (modules) => {
64
65
  const moduleRegExps = getNodeModulesRegEx(modules);
65
66
  return function(modulePath) {
66
67
  if (/node_modules/.test(modulePath)) {
67
- for (let i = 0; i < moduleRegExps.length; i += 1)
68
- if (moduleRegExps[i].test(modulePath))
69
- return false;
68
+ for (const moduleRegExp of moduleRegExps)
69
+ if (moduleRegExp.test(modulePath)) return false;
70
70
  return true;
71
71
  }
72
72
  return false;
@@ -80,7 +80,7 @@ const getLibraryName = () => {
80
80
  const modifiedLibName = `emui-${libraryName.replace("@elliemae/", "").replace("pui-", "")}`;
81
81
  return import_lodash.default.camelCase(modifiedLibName);
82
82
  };
83
- const getLibraryVariableName = () => (process.env.LIBRARY_VARIABLE_NAME || getLibraryName()).split(".");
83
+ const getLibraryVariableName = () => (process.env.LIBRARY_VARIABLE_NAME ?? getLibraryName()).split(".");
84
84
  const mapToFolder = (dependencies, folder) => dependencies.reduce(
85
85
  (acc, dependency) => ({
86
86
  [dependency]: import_node_path.default.resolve(`${folder}/${dependency.replace("$", "")}`),
@@ -89,7 +89,7 @@ const mapToFolder = (dependencies, folder) => dependencies.reduce(
89
89
  {}
90
90
  );
91
91
  const getAlias = () => {
92
- const monorepoRoot = (0, import_utils.findMonoRepoRoot)(process.cwd()) || "";
92
+ const monorepoRoot = (0, import_utils.findMonoRepoRoot)(process.cwd()) ?? "";
93
93
  return mapToFolder(
94
94
  [
95
95
  "@babel/runtime",
@@ -103,6 +103,8 @@ const getAlias = () => {
103
103
  "styled-components",
104
104
  "immer",
105
105
  "react-dates",
106
+ "react-select",
107
+ "react-spring",
106
108
  "react-transition-group",
107
109
  "@elliemae/pui-cli",
108
110
  "@elliemae/pui-app-sdk$",
@@ -111,6 +113,15 @@ const getAlias = () => {
111
113
  import_node_path.default.join(monorepoRoot, "./node_modules")
112
114
  );
113
115
  };
116
+ const getLibraryAlias = (name, alias) => {
117
+ const monorepoRoot = (0, import_utils.findMonoRepoRoot)(process.cwd()) ?? "";
118
+ const aliasPath = import_node_path.default.resolve(
119
+ `${import_node_path.default.join(monorepoRoot, "./node_modules")}/${alias}`
120
+ );
121
+ return {
122
+ [name]: aliasPath
123
+ };
124
+ };
114
125
  const modulesToTranspile = [
115
126
  "@elliemae/pui-*",
116
127
  "@elliemae/ds-*",
@@ -123,8 +134,7 @@ const getUserMonitoringFileName = () => {
123
134
  process.cwd(),
124
135
  "node_modules/@elliemae/pui-user-monitoring/dist/public/js"
125
136
  );
126
- if (!import_node_fs.default.existsSync(userMonLibPath))
127
- return `${libName}.js`;
137
+ if (!import_node_fs.default.existsSync(userMonLibPath)) return `${libName}.js`;
128
138
  const distJSFiles = import_node_fs.default.readdirSync(userMonLibPath);
129
139
  return distJSFiles.filter(
130
140
  (fName) => fName.match(/emuiUserMonitoring+((?!chunk).)*\.js$/)
@@ -136,8 +146,7 @@ const getAppLoaderFileName = () => {
136
146
  process.cwd(),
137
147
  "node_modules/@elliemae/pui-app-loader/dist/public/js"
138
148
  );
139
- if (!import_node_fs.default.existsSync(appLoaderLibPath))
140
- return `${libName}.js`;
149
+ if (!import_node_fs.default.existsSync(appLoaderLibPath)) return `${libName}.js`;
141
150
  const distJSFiles = import_node_fs.default.readdirSync(appLoaderLibPath);
142
151
  return distJSFiles.filter(
143
152
  (fName) => fName.match(/emuiAppLoader+((?!chunk).)*\.js$/)
@@ -149,8 +158,7 @@ const getDiagnosticsFileName = () => {
149
158
  process.cwd(),
150
159
  "node_modules/@elliemae/pui-diagnostics/dist/public/js"
151
160
  );
152
- if (!import_node_fs.default.existsSync(libPath))
153
- return `${libName}.js`;
161
+ if (!import_node_fs.default.existsSync(libPath)) return `${libName}.js`;
154
162
  const distJSFiles = import_node_fs.default.readdirSync(libPath);
155
163
  return distJSFiles.filter(
156
164
  (fName) => fName.match(/emuiDiagnostics+((?!chunk).)*\.js$/)
@@ -162,18 +170,16 @@ const getENCWLoaderFileName = () => {
162
170
  process.cwd(),
163
171
  "node_modules/@elliemae/encw-loader/dist/public/js"
164
172
  );
165
- if (!import_node_fs.default.existsSync(appLoaderLibPath))
166
- return `${libName}.js`;
173
+ if (!import_node_fs.default.existsSync(appLoaderLibPath)) return `${libName}.js`;
167
174
  const distJSFiles = import_node_fs.default.readdirSync(appLoaderLibPath);
168
175
  return distJSFiles.filter(
169
176
  (fName) => fName.match(/emuiEncwLoader+((?!chunk).)*\.js$/)
170
177
  )[0];
171
178
  };
172
179
  const getAppVersion = () => {
173
- if (!process.env.APP_VERSION)
174
- return LATEST_VERSION;
180
+ if (!process.env.APP_VERSION) return LATEST_VERSION;
175
181
  const match = process.env.APP_VERSION.match(/^v?(\d+\.\d+)\..*$/);
176
- return match && match[1] || LATEST_VERSION;
182
+ return match?.[1] ?? LATEST_VERSION;
177
183
  };
178
184
  const getPaths = (latestVersion = true) => {
179
185
  const version = latestVersion ? LATEST_VERSION : getAppVersion();
@@ -208,9 +214,9 @@ const getCompressionPlugins = (isLibrary = false) => {
208
214
  ];
209
215
  const commonConfig = {
210
216
  test: /\.(js|css)$/,
211
- exclude: !isLibrary ? excludeList : [],
212
217
  // we are compressing all files since in aws cloudfront edge lambda, we don't want to whitelist files that are not compressed due to below limits
213
- minRatio: Infinity
218
+ minRatio: Infinity,
219
+ ...!isLibrary ? { exclude: excludeList } : {}
214
220
  };
215
221
  return [
216
222
  new import_compression_webpack_plugin.default({
@@ -31,16 +31,16 @@ __export(webpack_base_babel_exports, {
31
31
  baseConfig: () => baseConfig
32
32
  });
33
33
  module.exports = __toCommonJS(webpack_base_babel_exports);
34
- var import_node_path = __toESM(require("node:path"), 1);
35
- var import_webpack = __toESM(require("webpack"), 1);
34
+ var import_node_path = __toESM(require("node:path"));
35
+ var import_webpack = __toESM(require("webpack"));
36
36
  var import_webpack_dev_server = require("webpack-dev-server");
37
- var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
38
- var import_postcss_preset_env = __toESM(require("postcss-preset-env"), 1);
39
- var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
40
- var import_moment_locales_webpack_plugin = __toESM(require("moment-locales-webpack-plugin"), 1);
37
+ var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"));
38
+ var import_postcss_preset_env = __toESM(require("postcss-preset-env"));
39
+ var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"));
40
+ var import_moment_locales_webpack_plugin = __toESM(require("moment-locales-webpack-plugin"));
41
41
  var import_webpack_manifest_plugin = require("webpack-manifest-plugin");
42
- var import_favicons_webpack_plugin = __toESM(require("favicons-webpack-plugin"), 1);
43
- var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
42
+ var import_favicons_webpack_plugin = __toESM(require("favicons-webpack-plugin"));
43
+ var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"));
44
44
  var import_helpers = require("./helpers.js");
45
45
  const minicssLoader = {
46
46
  loader: import_mini_css_extract_plugin.default.loader,
@@ -129,14 +129,16 @@ const plugins = [
129
129
  noErrorOnMissing: true,
130
130
  globOptions: {
131
131
  ignore: ["readme.md"]
132
- }
132
+ },
133
+ info: { minimized: true }
133
134
  },
134
135
  {
135
136
  from: "webroot",
136
137
  noErrorOnMissing: true,
137
138
  globOptions: {
138
139
  ignore: ["readme.md"]
139
- }
140
+ },
141
+ info: { minimized: true }
140
142
  }
141
143
  ])
142
144
  }),
@@ -145,7 +147,7 @@ const plugins = [
145
147
  fileName: "./latest/manifest.json",
146
148
  publicPath: "",
147
149
  map: (file) => {
148
- file.name = file.name.replace(/^latest\//, "");
150
+ file.name = file.name.replace(/^latest(\/|\\)/, "");
149
151
  return file;
150
152
  }
151
153
  }),
@@ -284,34 +286,18 @@ const baseConfig = (options) => ({
284
286
  mainFields: ["browser", "module", "main"],
285
287
  alias: {
286
288
  ...(0, import_helpers.getAlias)(),
287
- ...(options.resolve || {}).alias || {}
289
+ ...options.resolve?.alias ?? {}
288
290
  }
289
291
  },
292
+ externalsPresets: {
293
+ web: true
294
+ },
290
295
  externals: {
291
296
  "@elliemae/pui-user-monitoring": "emuiUserMonitoring",
292
297
  "@elliemae/pui-app-loader": "emuiAppLoader",
293
- "@elliemae/pui-diagnostics": "emuiDiagnostics",
294
- react: "emuiAppReactDependencies.react",
295
- "react-dom": "emuiAppReactDependencies.reactDOM",
296
- "@reduxjs/toolkit": "emuiAppReactDependencies.rtk",
297
- axios: "emuiAppReactDependencies.axios.default",
298
- dompurify: "emuiAppReactDependencies.dompurify",
299
- history: "emuiAppReactDependencies.history",
300
- immer: "emuiAppReactDependencies.immer",
301
- invariant: "emuiAppReactDependencies.invariant",
302
- "pubsub-js": "emuiAppReactDependencies.pubsubjs",
303
- "react-aria-live": "emuiAppReactDependencies.reactAriaLive",
304
- "react-helmet": "emuiAppReactDependencies.reactHelmet",
305
- "react-hook-form": "emuiAppReactDependencies.reactHookForm",
306
- "react-redux": "emuiAppReactDependencies.reactRedux",
307
- "react-router-dom": "emuiAppReactDependencies.reactRouterDOM",
308
- reduxInjectors: "emuiAppReactDependencies.reduxInjectors",
309
- reselect: "emuiAppReactDependencies.reselect",
310
- // "styled-components": "emuiAppReactDependencies.styledComponents",
311
- "styled-system": "emuiAppReactDependencies.styledSystem"
312
- // "@xstyled/styled-components": "emuiAppReactDependencies.xstyled",
298
+ "@elliemae/pui-diagnostics": "emuiDiagnostics"
313
299
  },
314
- devtool: options.devtool || "eval-source-map",
315
- performance: options.performance || {},
316
- devServer: options.devServer || {}
300
+ devtool: options.devtool ?? "eval-source-map",
301
+ performance: options.performance ?? {},
302
+ devServer: options.devServer ?? {}
317
303
  });
@@ -31,18 +31,20 @@ __export(webpack_dev_babel_exports, {
31
31
  default: () => webpack_dev_babel_default
32
32
  });
33
33
  module.exports = __toCommonJS(webpack_dev_babel_exports);
34
- var import_node_path = __toESM(require("node:path"), 1);
34
+ var import_node_path = __toESM(require("node:path"));
35
35
  var import_node_url = require("node:url");
36
- var import_webpack = __toESM(require("webpack"), 1);
37
- var import_html_webpack_plugin = __toESM(require("html-webpack-plugin"), 1);
38
- var import_circular_dependency_plugin = __toESM(require("circular-dependency-plugin"), 1);
39
- var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
40
- var import_react_refresh_webpack_plugin = __toESM(require("@pmmmwh/react-refresh-webpack-plugin"), 1);
41
- var import_express_static_gzip = __toESM(require("express-static-gzip"), 1);
36
+ var import_webpack = __toESM(require("webpack"));
37
+ var import_html_webpack_plugin = __toESM(require("html-webpack-plugin"));
38
+ var import_circular_dependency_plugin = __toESM(require("circular-dependency-plugin"));
39
+ var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"));
40
+ var import_react_refresh_webpack_plugin = __toESM(require("@pmmmwh/react-refresh-webpack-plugin"));
41
+ var import_express_static_gzip = __toESM(require("express-static-gzip"));
42
42
  var import_middlewares = require("../server/middlewares.js");
43
43
  var import_appRoutes = require("../server/appRoutes.js");
44
44
  var import_helpers = require("./helpers.js");
45
45
  var import_webpack_base_babel = require("./webpack.base.babel.js");
46
+ var import_utils = require("../server/utils.js");
47
+ var import_wsServer = require("../server/wsServer.js");
46
48
  const import_meta = {};
47
49
  const __filename = (0, import_node_url.fileURLToPath)(import_meta.url);
48
50
  const {
@@ -98,7 +100,7 @@ const devConfig = {
98
100
  // Add development plugins
99
101
  plugins: [
100
102
  new import_html_webpack_plugin.default({
101
- inject: !(0, import_helpers.isAppLoaderEnabled)(),
103
+ inject: !(0, import_helpers.isAppLoaderEnabled)() ? "head" : false,
102
104
  // Inject all files that are generated by webpack, e.g. bundle.js
103
105
  template: !(0, import_helpers.isAppLoaderEnabled)() ? "app/index.html" : "app/index-app-loader.html",
104
106
  emui: {
@@ -110,7 +112,8 @@ const devConfig = {
110
112
  diagnosticsScriptPath,
111
113
  encwLoaderScriptPath,
112
114
  googleTagManager: (0, import_helpers.isGoogleTagManagerEnabled)()
113
- }
115
+ },
116
+ scriptLoading: "defer"
114
117
  }),
115
118
  new import_circular_dependency_plugin.default({
116
119
  exclude: /a\.(js|ts|jsx|tsx)|node_modules/,
@@ -143,7 +146,7 @@ const devConfig = {
143
146
  },
144
147
  hot: true,
145
148
  open: [basePath],
146
- port: process.env.PORT || "auto",
149
+ port: process.env.PORT ?? "auto",
147
150
  setupMiddlewares: (middlewares, devServer) => {
148
151
  if (devServer.app) {
149
152
  (0, import_middlewares.setupDefaultMiddlewares)(devServer.app);
@@ -160,6 +163,13 @@ const devConfig = {
160
163
  }
161
164
  next();
162
165
  });
166
+ (0, import_wsServer.createWSServer)({
167
+ port: import_utils.wsPort
168
+ }).then(({ wsServer }) => {
169
+ if (devServer.app) devServer.app.locals.wsServer = wsServer;
170
+ }).catch((err) => {
171
+ console.error(err);
172
+ });
163
173
  }
164
174
  return middlewares;
165
175
  }
@@ -31,15 +31,15 @@ __export(webpack_lib_base_babel_exports, {
31
31
  baseConfig: () => baseConfig
32
32
  });
33
33
  module.exports = __toCommonJS(webpack_lib_base_babel_exports);
34
- var import_node_path = __toESM(require("node:path"), 1);
35
- var import_webpack = __toESM(require("webpack"), 1);
34
+ var import_node_path = __toESM(require("node:path"));
35
+ var import_webpack = __toESM(require("webpack"));
36
36
  var import_webpack_dev_server = require("webpack-dev-server");
37
- var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
38
- var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
39
- var import_postcss_preset_env = __toESM(require("postcss-preset-env"), 1);
40
- var import_moment_locales_webpack_plugin = __toESM(require("moment-locales-webpack-plugin"), 1);
41
- var import_resolve_typescript_plugin = __toESM(require("resolve-typescript-plugin"), 1);
42
- var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
37
+ var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"));
38
+ var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"));
39
+ var import_postcss_preset_env = __toESM(require("postcss-preset-env"));
40
+ var import_moment_locales_webpack_plugin = __toESM(require("moment-locales-webpack-plugin"));
41
+ var import_resolve_typescript_plugin = __toESM(require("resolve-typescript-plugin"));
42
+ var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"));
43
43
  var import_helpers = require("./helpers.js");
44
44
  var import_utils = require("../utils.js");
45
45
  const minicssLoader = {
@@ -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: "umd"
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: [
@@ -139,6 +147,7 @@ const baseConfig = (options) => ({
139
147
  loader: "postcss-loader",
140
148
  options: {
141
149
  postcssOptions: {
150
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
142
151
  plugins: [(0, import_postcss_preset_env.default)({ autoprefixer: { grid: true } })]
143
152
  },
144
153
  sourceMap: true
@@ -204,7 +213,7 @@ const baseConfig = (options) => ({
204
213
  mainFields: ["browser", "module", "main"],
205
214
  alias: {
206
215
  ...(0, import_helpers.getAlias)(),
207
- ...(options.resolve || {}).alias || {}
216
+ ...options.resolve?.alias ?? {}
208
217
  },
209
218
  plugins: [new import_resolve_typescript_plugin.default({})]
210
219
  },
@@ -213,7 +222,7 @@ const baseConfig = (options) => ({
213
222
  "@elliemae/pui-app-loader": "emuiAppLoader",
214
223
  "@elliemae/pui-diagnostics": "emuiDiagnostics"
215
224
  },
216
- devtool: options.devtool || "eval-source-map",
217
- performance: options.performance || {},
218
- devServer: options.devServer || {}
225
+ devtool: options.devtool ?? "eval-source-map",
226
+ performance: options.performance ?? {},
227
+ devServer: options.devServer ?? {}
219
228
  });