@elliemae/pui-cli 7.0.0-beta.9 → 7.2.0

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 (283) hide show
  1. package/README.md +4 -0
  2. package/{lib/babel/babel.config.js → dist/cjs/babel.config.cjs} +3 -7
  3. package/dist/cjs/cli.js +53 -0
  4. package/dist/cjs/commands/build.js +81 -0
  5. package/dist/cjs/commands/codemod.js +55 -0
  6. package/dist/cjs/commands/gendoc.js +53 -0
  7. package/dist/cjs/commands/lint.js +95 -0
  8. package/dist/cjs/commands/pack.js +98 -0
  9. package/dist/cjs/commands/start.js +76 -0
  10. package/dist/cjs/commands/storybook.js +71 -0
  11. package/dist/cjs/commands/test.js +100 -0
  12. package/dist/cjs/commands/tscheck.js +82 -0
  13. package/dist/cjs/commands/utils.js +157 -0
  14. package/dist/cjs/commands/version.js +77 -0
  15. package/dist/cjs/commands/vitest.js +93 -0
  16. package/dist/cjs/dummy.js +1 -0
  17. package/dist/cjs/index.cjs +25 -0
  18. package/dist/cjs/index.js +42 -0
  19. package/dist/cjs/jsdoc.conf.json +17 -0
  20. package/dist/cjs/lint-config/commitlint.config.cjs +1 -0
  21. package/{lib/lint/eslint/common.js → dist/cjs/lint-config/eslint/common.cjs} +5 -5
  22. package/{lib/lint/eslint/non-react.js → dist/cjs/lint-config/eslint/non-react.cjs} +2 -2
  23. package/{lib/lint/eslint/react.js → dist/cjs/lint-config/eslint/react.cjs} +2 -2
  24. package/{lib/lint/eslint/typescript/common.js → dist/cjs/lint-config/eslint/typescript/common.cjs} +1 -1
  25. package/{lib/lint/eslint/typescript/non-react.js → dist/cjs/lint-config/eslint/typescript/non-react.cjs} +2 -2
  26. package/{lib/lint/eslint/typescript/react.js → dist/cjs/lint-config/eslint/typescript/react.cjs} +2 -2
  27. package/dist/cjs/lint-config/lint-staged.config.js +40 -0
  28. package/{lib/lint/prettier.config.js → dist/cjs/lint-config/prettier.config.cjs} +1 -1
  29. package/{lib/lint/stylelint.config.js → dist/cjs/lint-config/stylelint.config.cjs} +2 -2
  30. package/dist/cjs/monorepo/delete-merged-tags.js +58 -0
  31. package/dist/cjs/monorepo/set-registry-version.js +49 -0
  32. package/dist/cjs/monorepo/set-workspace-version.js +56 -0
  33. package/{lib/monorepo/utils.js → dist/cjs/monorepo/utils.cjs} +17 -2
  34. package/dist/cjs/package.json +4 -0
  35. package/dist/cjs/pui-config.js +44 -0
  36. package/{lib/release/release.config.js → dist/cjs/release.config.cjs} +0 -0
  37. package/{lib/server/util/index.js → dist/cjs/server/app-routes.cjs} +5 -15
  38. package/dist/cjs/server/csp.js +94 -0
  39. package/dist/cjs/server/index.js +34 -0
  40. package/dist/cjs/server/logger.js +58 -0
  41. package/dist/cjs/server/middlewares.js +75 -0
  42. package/dist/cjs/server/utils.js +39 -0
  43. package/{lib/testing/jest.config.js → dist/cjs/testing/jest.config.cjs} +10 -10
  44. package/{lib/testing/jest.node.config.js → dist/cjs/testing/jest.node.config.cjs} +1 -1
  45. package/dist/cjs/testing/mocks/axios.js +38 -0
  46. package/dist/cjs/testing/mocks/cssModule.js +24 -0
  47. package/dist/cjs/testing/mocks/html.js +24 -0
  48. package/dist/cjs/testing/mocks/image.js +24 -0
  49. package/dist/cjs/testing/mocks/matchMedia.js +44 -0
  50. package/dist/cjs/testing/mocks/pui-app-loader.js +25 -0
  51. package/dist/cjs/testing/mocks/pui-diagnostics.js +69 -0
  52. package/dist/cjs/testing/mocks/pui-user-monitoring.js +31 -0
  53. package/dist/cjs/testing/mocks/retry-axios.js +28 -0
  54. package/dist/cjs/testing/mocks/svg.js +33 -0
  55. package/dist/cjs/testing/mocks/webpack-hmr.js +25 -0
  56. package/{lib/testing/resolver.js → dist/cjs/testing/resolver.cjs} +0 -0
  57. package/dist/cjs/testing/setup-react-env.js +22 -0
  58. package/dist/cjs/testing/setup-test-env.js +23 -0
  59. package/dist/cjs/testing/setup-tests.js +69 -0
  60. package/dist/cjs/testing/vitest.config.js +52 -0
  61. package/{lib → dist/cjs}/transpile/.swcrc +0 -0
  62. package/dist/cjs/transpile/esbuild.js +134 -0
  63. package/dist/cjs/transpile/react-shim.js +30 -0
  64. package/{lib/transpile/swcrc.config.js → dist/cjs/transpile/swcrc.config.cjs} +1 -1
  65. package/dist/cjs/typedoc.cjs +12 -0
  66. package/{lib → dist/cjs}/typescript/app.tsconfig.json +0 -0
  67. package/{lib → dist/cjs}/typescript/library.tsconfig.json +0 -0
  68. package/dist/cjs/update-notifier.js +37 -0
  69. package/dist/cjs/utils.cjs +23 -0
  70. package/dist/cjs/webpack/helpers.js +237 -0
  71. package/dist/cjs/webpack/webpack.base.babel.js +280 -0
  72. package/dist/cjs/webpack/webpack.dev.babel.js +144 -0
  73. package/dist/cjs/webpack/webpack.lib.base.babel.js +212 -0
  74. package/dist/cjs/webpack/webpack.lib.dev.babel.js +93 -0
  75. package/dist/cjs/webpack/webpack.lib.prod.babel.js +95 -0
  76. package/dist/cjs/webpack/webpack.prod.babel.js +145 -0
  77. package/dist/cjs/webpack/webpack.storybook.js +111 -0
  78. package/dist/esm/babel.config.cjs +97 -0
  79. package/dist/esm/cli.js +33 -0
  80. package/dist/esm/commands/build.js +61 -0
  81. package/dist/esm/commands/codemod.js +29 -0
  82. package/dist/esm/commands/gendoc.js +26 -0
  83. package/dist/esm/commands/lint.js +69 -0
  84. package/dist/esm/commands/pack.js +71 -0
  85. package/dist/esm/commands/start.js +49 -0
  86. package/dist/esm/commands/storybook.js +45 -0
  87. package/dist/esm/commands/test.js +74 -0
  88. package/dist/esm/commands/tscheck.js +56 -0
  89. package/dist/esm/commands/utils.js +143 -0
  90. package/dist/esm/commands/version.js +51 -0
  91. package/dist/esm/commands/vitest.js +66 -0
  92. package/{lib/dummy.ts → dist/esm/dummy.js} +0 -0
  93. package/dist/esm/index.cjs +25 -0
  94. package/dist/esm/index.js +22 -0
  95. package/dist/esm/jsdoc.conf.json +17 -0
  96. package/dist/esm/lint-config/commitlint.config.cjs +1 -0
  97. package/dist/esm/lint-config/eslint/common.cjs +160 -0
  98. package/dist/esm/lint-config/eslint/non-react.cjs +14 -0
  99. package/dist/esm/lint-config/eslint/react.cjs +26 -0
  100. package/dist/esm/lint-config/eslint/typescript/common.cjs +43 -0
  101. package/dist/esm/lint-config/eslint/typescript/non-react.cjs +12 -0
  102. package/dist/esm/lint-config/eslint/typescript/react.cjs +19 -0
  103. package/dist/esm/lint-config/lint-staged.config.js +14 -0
  104. package/dist/esm/lint-config/prettier.config.cjs +8 -0
  105. package/dist/esm/lint-config/stylelint.config.cjs +19 -0
  106. package/dist/esm/monorepo/delete-merged-tags.js +38 -0
  107. package/dist/esm/monorepo/set-registry-version.js +23 -0
  108. package/dist/esm/monorepo/set-workspace-version.js +30 -0
  109. package/dist/esm/monorepo/utils.cjs +30 -0
  110. package/dist/esm/package.json +4 -0
  111. package/dist/esm/pui-config.js +18 -0
  112. package/dist/esm/release.config.cjs +31 -0
  113. package/dist/esm/server/app-routes.cjs +42 -0
  114. package/dist/esm/server/csp.js +68 -0
  115. package/dist/esm/server/index.js +18 -0
  116. package/dist/esm/server/logger.js +32 -0
  117. package/dist/esm/server/middlewares.js +49 -0
  118. package/dist/esm/server/utils.js +13 -0
  119. package/dist/esm/testing/jest.config.cjs +103 -0
  120. package/dist/esm/testing/jest.node.config.cjs +8 -0
  121. package/{lib → dist/esm}/testing/mocks/axios.js +8 -5
  122. package/dist/esm/testing/mocks/cssModule.js +4 -0
  123. package/dist/esm/testing/mocks/html.js +4 -0
  124. package/dist/esm/testing/mocks/image.js +4 -0
  125. package/dist/esm/testing/mocks/matchMedia.js +24 -0
  126. package/dist/esm/testing/mocks/pui-app-loader.js +5 -0
  127. package/dist/esm/testing/mocks/pui-diagnostics.js +49 -0
  128. package/dist/esm/testing/mocks/pui-user-monitoring.js +11 -0
  129. package/dist/esm/testing/mocks/retry-axios.js +8 -0
  130. package/dist/esm/testing/mocks/svg.js +7 -0
  131. package/dist/esm/testing/mocks/webpack-hmr.js +5 -0
  132. package/dist/esm/testing/resolver.cjs +47 -0
  133. package/dist/esm/testing/setup-react-env.js +3 -0
  134. package/dist/esm/testing/setup-test-env.js +4 -0
  135. package/dist/esm/testing/setup-tests.js +50 -0
  136. package/dist/esm/testing/vitest.config.js +25 -0
  137. package/dist/esm/transpile/.swcrc +11 -0
  138. package/{lib → dist/esm}/transpile/esbuild.js +35 -44
  139. package/dist/esm/transpile/react-shim.js +4 -0
  140. package/dist/esm/transpile/swcrc.config.cjs +13 -0
  141. package/dist/esm/typedoc.cjs +12 -0
  142. package/dist/esm/typescript/app.tsconfig.json +23 -0
  143. package/dist/esm/typescript/library.tsconfig.json +23 -0
  144. package/dist/esm/update-notifier.js +11 -0
  145. package/dist/esm/utils.cjs +23 -0
  146. package/dist/esm/webpack/helpers.js +211 -0
  147. package/dist/esm/webpack/webpack.base.babel.js +260 -0
  148. package/dist/esm/webpack/webpack.dev.babel.js +121 -0
  149. package/dist/esm/webpack/webpack.lib.base.babel.js +192 -0
  150. package/dist/esm/webpack/webpack.lib.dev.babel.js +67 -0
  151. package/dist/esm/webpack/webpack.lib.prod.babel.js +69 -0
  152. package/dist/esm/webpack/webpack.prod.babel.js +124 -0
  153. package/dist/esm/webpack/webpack.storybook.js +85 -0
  154. package/dist/types/babel.config.d.cts +59 -0
  155. package/dist/types/cli.d.ts +2 -0
  156. package/dist/types/commands/build.d.ts +14 -0
  157. package/dist/types/commands/codemod.d.ts +6 -0
  158. package/dist/types/commands/gendoc.d.ts +6 -0
  159. package/dist/types/commands/lint.d.ts +29 -0
  160. package/dist/types/commands/pack.d.ts +26 -0
  161. package/dist/types/commands/start.d.ts +13 -0
  162. package/dist/types/commands/storybook.d.ts +19 -0
  163. package/dist/types/commands/test.d.ts +39 -0
  164. package/dist/types/commands/tscheck.d.ts +14 -0
  165. package/dist/types/commands/utils.d.ts +16 -0
  166. package/dist/types/commands/version.d.ts +30 -0
  167. package/dist/types/commands/vitest.d.ts +35 -0
  168. package/{lib/testing/vitest.setup.ts → dist/types/dummy.d.ts} +0 -0
  169. package/dist/types/index.d.cts +10 -0
  170. package/dist/types/index.d.ts +10 -0
  171. package/dist/types/lint-config/commitlint.config.d.cts +4 -0
  172. package/dist/types/lint-config/eslint/common.d.cts +127 -0
  173. package/dist/types/lint-config/eslint/non-react.d.cts +93 -0
  174. package/dist/types/lint-config/eslint/react.d.cts +123 -0
  175. package/dist/types/lint-config/eslint/typescript/common.d.cts +37 -0
  176. package/dist/types/lint-config/eslint/typescript/non-react.d.cts +87 -0
  177. package/dist/types/lint-config/eslint/typescript/react.d.cts +118 -0
  178. package/dist/types/lint-config/lint-staged.config.d.ts +5 -0
  179. package/dist/types/lint-config/prettier.config.d.cts +8 -0
  180. package/dist/types/lint-config/stylelint.config.d.cts +11 -0
  181. package/dist/types/monorepo/delete-merged-tags.d.ts +1 -0
  182. package/dist/types/monorepo/set-registry-version.d.ts +1 -0
  183. package/dist/types/monorepo/set-workspace-version.d.ts +1 -0
  184. package/dist/types/monorepo/utils.d.cts +1 -0
  185. package/dist/types/pui-config.d.ts +1 -0
  186. package/dist/types/release.config.d.cts +9 -0
  187. package/dist/types/server/app-routes.d.cts +1 -0
  188. package/dist/types/server/csp.d.ts +10 -0
  189. package/dist/types/server/index.d.ts +1 -0
  190. package/dist/types/server/logger.d.ts +4 -0
  191. package/dist/types/server/middlewares.d.ts +2 -0
  192. package/dist/types/server/utils.d.ts +3 -0
  193. package/dist/types/testing/jest.config.d.cts +39 -0
  194. package/dist/types/testing/jest.node.config.d.cts +39 -0
  195. package/dist/types/testing/mocks/axios.d.ts +17 -0
  196. package/dist/types/testing/mocks/cssModule.d.ts +2 -0
  197. package/dist/types/testing/mocks/html.d.ts +2 -0
  198. package/dist/types/testing/mocks/image.d.ts +2 -0
  199. package/dist/types/testing/mocks/matchMedia.d.ts +1 -0
  200. package/dist/types/testing/mocks/pui-app-loader.d.ts +1 -0
  201. package/dist/types/testing/mocks/pui-diagnostics.d.ts +28 -0
  202. package/dist/types/testing/mocks/pui-user-monitoring.d.ts +3 -0
  203. package/dist/types/testing/mocks/retry-axios.d.ts +3 -0
  204. package/dist/types/testing/mocks/svg.d.ts +3 -0
  205. package/dist/types/testing/mocks/webpack-hmr.d.ts +1 -0
  206. package/dist/types/testing/resolver.d.cts +2 -0
  207. package/dist/types/testing/setup-react-env.d.ts +1 -0
  208. package/dist/types/testing/setup-test-env.d.ts +2 -0
  209. package/dist/types/testing/setup-tests.d.ts +1 -0
  210. package/dist/types/testing/vitest.config.d.ts +2 -0
  211. package/dist/types/transpile/esbuild.d.ts +13 -0
  212. package/dist/types/transpile/react-shim.d.ts +2 -0
  213. package/dist/types/transpile/swcrc.config.d.cts +1 -0
  214. package/dist/types/typedoc.d.cts +3 -0
  215. package/dist/types/update-notifier.d.ts +1 -0
  216. package/dist/types/utils.d.cts +4 -0
  217. package/dist/types/webpack/helpers.d.ts +28 -0
  218. package/dist/types/webpack/webpack.base.babel.d.ts +90 -0
  219. package/dist/types/webpack/webpack.dev.babel.d.ts +2 -0
  220. package/dist/types/webpack/webpack.lib.base.babel.d.ts +110 -0
  221. package/dist/types/webpack/webpack.lib.dev.babel.d.ts +110 -0
  222. package/dist/types/webpack/webpack.lib.prod.babel.d.ts +110 -0
  223. package/dist/types/webpack/webpack.prod.babel.d.ts +2 -0
  224. package/dist/types/webpack/webpack.storybook.d.ts +4 -0
  225. package/package.json +159 -144
  226. package/lib/cli-commands/build.js +0 -60
  227. package/lib/cli-commands/codemod.js +0 -31
  228. package/lib/cli-commands/gendoc.js +0 -36
  229. package/lib/cli-commands/lint.js +0 -75
  230. package/lib/cli-commands/pack.js +0 -67
  231. package/lib/cli-commands/start.js +0 -49
  232. package/lib/cli-commands/storybook.js +0 -53
  233. package/lib/cli-commands/test.js +0 -63
  234. package/lib/cli-commands/tsc.js +0 -103
  235. package/lib/cli-commands/utils.js +0 -135
  236. package/lib/cli-commands/version.js +0 -53
  237. package/lib/cli-commands/vitest.js +0 -66
  238. package/lib/cli.js +0 -33
  239. package/lib/docgen/jsdoc.config.js +0 -17
  240. package/lib/index.js +0 -25
  241. package/lib/lint/commitlint.config.js +0 -1
  242. package/lib/lint/lint-staged.config.js +0 -16
  243. package/lib/monorepo/delete-merged-tags.js +0 -48
  244. package/lib/monorepo/set-registry-version.js +0 -22
  245. package/lib/monorepo/set-workspace-version.js +0 -29
  246. package/lib/pui-config/index.js +0 -18
  247. package/lib/scripts/helpers/checkmark.js +0 -15
  248. package/lib/scripts/helpers/get-npm-config.js +0 -3
  249. package/lib/scripts/helpers/progress.js +0 -19
  250. package/lib/scripts/helpers/xmark.js +0 -13
  251. package/lib/scripts/npmcheckversion.js +0 -8
  252. package/lib/scripts/update-notifier.js +0 -7
  253. package/lib/server/csp.js +0 -74
  254. package/lib/server/index.js +0 -37
  255. package/lib/server/logger.js +0 -42
  256. package/lib/server/middlewares/addDevMiddlewares.js +0 -39
  257. package/lib/server/middlewares/addProdMiddlewares.js +0 -30
  258. package/lib/server/middlewares/index.js +0 -37
  259. package/lib/testing/mocks/cssModule.js +0 -1
  260. package/lib/testing/mocks/html.js +0 -1
  261. package/lib/testing/mocks/image.js +0 -1
  262. package/lib/testing/mocks/matchMedia.js +0 -24
  263. package/lib/testing/mocks/pui-app-loader.js +0 -1
  264. package/lib/testing/mocks/pui-diagnostics.js +0 -28
  265. package/lib/testing/mocks/pui-user-monitoring.js +0 -3
  266. package/lib/testing/mocks/retry-axios.js +0 -3
  267. package/lib/testing/mocks/svg.js +0 -5
  268. package/lib/testing/mocks/webpack-hmr.js +0 -1
  269. package/lib/testing/setup-react-env.js +0 -3
  270. package/lib/testing/setup-tests.js +0 -58
  271. package/lib/testing/vitest.config.ts +0 -16
  272. package/lib/transpile/react-shim.js +0 -2
  273. package/lib/typescript/tsc-files/index.js +0 -66
  274. package/lib/typescript/tsc-files/utils.js +0 -16
  275. package/lib/typescript/util.js +0 -5
  276. package/lib/webpack/helpers.js +0 -252
  277. package/lib/webpack/webpack.base.babel.js +0 -242
  278. package/lib/webpack/webpack.dev.babel.js +0 -139
  279. package/lib/webpack/webpack.lib.base.babel.js +0 -205
  280. package/lib/webpack/webpack.lib.dev.babel.js +0 -49
  281. package/lib/webpack/webpack.lib.prod.babel.js +0 -77
  282. package/lib/webpack/webpack.prod.babel.js +0 -142
  283. package/lib/webpack/webpack.storybook.js +0 -87
@@ -1 +0,0 @@
1
- module.exports = 'CSS_MODULE';
@@ -1 +0,0 @@
1
- module.exports = 'HTML_MODULE';
@@ -1 +0,0 @@
1
- module.exports = 'IMAGE_MOCK';
@@ -1,24 +0,0 @@
1
- /**
2
- *
3
- */
4
- export default () => {
5
- Object.defineProperty(window, 'matchMedia', {
6
- writable: true,
7
- value: jest.fn().mockImplementation((query) => ({
8
- matches: false,
9
- media: query,
10
- onchange: null,
11
- addListener: jest.fn(), // Deprecated
12
- removeListener: jest.fn(), // Deprecated
13
- addEventListener: jest.fn(),
14
- removeEventListener: jest.fn(),
15
- dispatchEvent: jest.fn(),
16
- })),
17
- });
18
-
19
- Object.defineProperty(window, 'getComputedStyle', {
20
- value: () => ({
21
- getPropertyValue: () => {},
22
- }),
23
- });
24
- };
@@ -1 +0,0 @@
1
- export const load = () => {};
@@ -1,28 +0,0 @@
1
- export const logger = () => ({
2
- setLogLevel() {},
3
- setOptions() {},
4
- info() {},
5
- warn() {},
6
- error() {},
7
- trace() {},
8
- debug() {},
9
- audit() {},
10
- fatal() {},
11
- });
12
- export const LogLevel = {
13
- info: 'info',
14
- debug: 'debug',
15
- trace: 'trace',
16
- warn: 'warn',
17
- error: 'error',
18
- audit: 'audit',
19
- fatal: 'fatal',
20
- };
21
- export const Console = () => ({
22
- log: () => {},
23
- });
24
- export const http = () => ({
25
- log() {},
26
- });
27
- export const webvitals = () => {};
28
- export const logUnhandledErrors = () => {};
@@ -1,3 +0,0 @@
1
- export const setCustomUserData = () => {};
2
- export const setCustomVirtualPageName = () => {};
3
- export const startVirtualPageMonitoringWithAutoEnd = () => {};
@@ -1,3 +0,0 @@
1
- export const attach = jest.fn();
2
- export const detach = jest.fn();
3
- export const getConfig = jest.fn();
@@ -1,5 +0,0 @@
1
- // eslint-disable-next-line no-unused-vars
2
- import * as React from 'react';
3
-
4
- export default 'SvgrURL';
5
- export const ReactComponent = 'div';
@@ -1 +0,0 @@
1
- exports.enableHotReloading = () => {};
@@ -1,3 +0,0 @@
1
- import * as React from 'react';
2
- import 'jest-styled-components';
3
- global.React = React;
@@ -1,58 +0,0 @@
1
- // needed for regenerator-runtime
2
- // (ES7 generator support is required by redux-saga)
3
- import 'core-js/stable';
4
- import 'regenerator-runtime/runtime';
5
- import '@testing-library/jest-dom/extend-expect';
6
- import jestAxe from 'jest-axe';
7
- import ResizeObserver from 'resize-observer-polyfill';
8
- import addMatchMedia from './mocks/matchMedia.js';
9
- import { logger } from './mocks/pui-diagnostics.js';
10
-
11
- // eslint-disable-next-line no-console
12
- const originalError = console.error;
13
- // eslint-disable-next-line no-console
14
- console.error = (...args) => {
15
- const ignoreList = [
16
- `Warning: Can't perform a React state update on an unmounted component`,
17
- `Warning: Function components cannot be given refs`,
18
- `Warning: Failed %s type:`,
19
- `Warning: Invalid DOM property`,
20
- `Warning: Each child in a list should have a unique`,
21
- 'Warning: Received `%s` for a non-boolean attribute',
22
- 'Warning: <%s /> is using incorrect casing.',
23
- 'Warning: The tag <%s> is unrecognized in this browser',
24
- 'Warning: Invalid arguments supplied to oneOf',
25
- ];
26
- if (
27
- ignoreList.find(
28
- (ignoreMsg) => !!args.find((arg) => arg?.includes?.(ignoreMsg)),
29
- )
30
- )
31
- return false;
32
- return originalError(...args);
33
- };
34
-
35
- if (expect) expect.extend(jestAxe.toHaveNoViolations);
36
- jest.setTimeout(60000);
37
-
38
- const addElementToBody = (element) => {
39
- const documentEle = (window || {}).document;
40
- if (!documentEle) return null;
41
- const bodyEle = documentEle.body;
42
- const newEle = documentEle.createElement(...element);
43
- if (!newEle) return null;
44
- bodyEle.appendChild(newEle);
45
- return newEle;
46
- };
47
-
48
- const addRootElement = (id) => {
49
- const rootEle = addElementToBody('div');
50
- if (rootEle) rootEle.id = id;
51
- };
52
-
53
- addRootElement('root');
54
-
55
- addMatchMedia();
56
- window.ResizeObserver = ResizeObserver;
57
- window.emui = {};
58
- window.emui.logger = logger();
@@ -1,16 +0,0 @@
1
- /// <reference types="vitest" />
2
- import { defineConfig } from 'vite';
3
- import path from 'path';
4
-
5
- export default defineConfig({
6
- test: {
7
- globals: true,
8
- root: process.cwd(),
9
- exclude: ['node_modules', 'dist', '.idea', '.git', '.cache', 'e2e'],
10
- setupFiles: [path.resolve(__dirname, './vitest.setup.ts')],
11
- coverage: {
12
- reportsDirectory: './reports/coverage',
13
- },
14
- environment: 'happy-dom',
15
- },
16
- });
@@ -1,2 +0,0 @@
1
- import * as React from 'react';
2
- export { React };
@@ -1,66 +0,0 @@
1
- const execa = require('execa');
2
- const fs = require('fs');
3
- const path = require('path');
4
-
5
- const { randomChars, resolveFromRoot } = require('./utils');
6
-
7
- const args = process.argv.slice(2);
8
- const argsProjectIndex = args.findIndex((arg) =>
9
- ['-p', '--project'].includes(arg),
10
- );
11
- const argsProjectValue =
12
- argsProjectIndex !== -1 ? args[argsProjectIndex + 1] : undefined;
13
-
14
- const files = args.filter((file) => /\.(ts|tsx)$/.test(file));
15
- if (files.length === 0) {
16
- process.exit(0);
17
- }
18
-
19
- const remainingArgsToForward = args
20
- .slice()
21
- .filter((arg) => !files.includes(arg));
22
-
23
- if (argsProjectIndex !== -1) {
24
- remainingArgsToForward.splice(argsProjectIndex, 2);
25
- }
26
-
27
- // Load existing config
28
- const tsconfigPath = argsProjectValue || resolveFromRoot('tsconfig.json');
29
- const tsconfigContent = fs.readFileSync(tsconfigPath).toString();
30
- // Use 'eval' to read the JSON as regular JavaScript syntax so that comments are allowed
31
- // eslint-disable-next-line prefer-const
32
- let tsconfig = {};
33
- // eslint-disable-next-line no-eval
34
- eval(`tsconfig = ${tsconfigContent}`);
35
-
36
- // Write a temp config file
37
- const tmpTsconfigPath = resolveFromRoot(`tsconfig.${randomChars()}.json`);
38
- const tmpTsconfig = {
39
- ...tsconfig,
40
- compilerOptions: {
41
- ...tsconfig.compilerOptions,
42
- skipLibCheck: true,
43
- },
44
- files,
45
- include: ['app', 'lib'],
46
- };
47
- fs.writeFileSync(tmpTsconfigPath, JSON.stringify(tmpTsconfig, null, 2));
48
-
49
- // Type-check our files
50
- let status = 0;
51
- try {
52
- execa.sync(
53
- path.resolve(
54
- process.cwd(),
55
- `./node_modules/.bin/tsc${process.platform === 'win32' ? '.cmd' : ''}`,
56
- ),
57
- ['-p', tmpTsconfigPath, ...remainingArgsToForward],
58
- { stdio: 'inherit' },
59
- );
60
- } catch (ex) {
61
- status = ex.exitCode;
62
- }
63
-
64
- // Delete temp config file
65
- fs.unlinkSync(tmpTsconfigPath);
66
- process.exit(status);
@@ -1,16 +0,0 @@
1
- const { dirname, join } = require('path');
2
-
3
- const randomChars = () => Math.random().toString(36).slice(2);
4
-
5
- const resolveFromModule = (moduleName, ...paths) => {
6
- const modulePath = dirname(require.resolve(`${moduleName}/package.json`));
7
- return join(modulePath, ...paths);
8
- };
9
-
10
- const resolveFromRoot = (...paths) => join(process.cwd(), ...paths);
11
-
12
- module.exports = {
13
- randomChars,
14
- resolveFromModule,
15
- resolveFromRoot,
16
- };
@@ -1,5 +0,0 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
-
4
- exports.isTypeScriptEnabled = () =>
5
- fs.existsSync(path.join(process.cwd(), 'tsconfig.json'));
@@ -1,252 +0,0 @@
1
- /* eslint-disable max-lines */
2
- const path = require('path');
3
- const fs = require('fs');
4
- const _ = require('lodash');
5
- const CompressionPlugin = require('compression-webpack-plugin');
6
- const zlib = require('zlib');
7
- const { findMonoRepoRoot } = require('../monorepo/utils');
8
-
9
- let pathSep = path.sep;
10
- if (pathSep === '\\')
11
- // must be quoted for use in a regexp:
12
- pathSep = '\\\\';
13
-
14
- const LATEST_VERSION = 'latest';
15
-
16
- const getNodeModulesRegEx = (modules) =>
17
- modules.map(
18
- (modName) =>
19
- new RegExp(`node_modules${pathSep}${modName.replace('/', pathSep)}`),
20
- );
21
-
22
- const excludeNodeModulesExcept = (modules) => {
23
- const moduleRegExps = getNodeModulesRegEx(modules);
24
-
25
- // eslint-disable-next-line func-names
26
- return function (modulePath) {
27
- if (/node_modules/.test(modulePath)) {
28
- for (let i = 0; i < moduleRegExps.length; i += 1)
29
- if (moduleRegExps[i].test(modulePath)) return false;
30
- return true;
31
- }
32
- return false;
33
- };
34
- };
35
-
36
- const getLibraryName = () => {
37
- // eslint-disable-next-line global-require
38
- const packageJson = require(path.join(process.cwd(), 'package.json'));
39
- const libraryName = packageJson
40
- ? packageJson.name
41
- : process.env.LIBRARY_NAME || 'mylibrary';
42
- const modifiedLibName = `emui-${libraryName
43
- .replace('@elliemae/', '')
44
- .replace('pui-', '')}`;
45
- return _.camelCase(modifiedLibName);
46
- };
47
-
48
- const getAppConfig = () => {
49
- const appConfigPath = path.join(
50
- process.cwd(),
51
- isApp() ? 'app' : 'lib',
52
- 'app.config.json',
53
- );
54
-
55
- if (!fs.existsSync(appConfigPath)) return '{}';
56
- // eslint-disable-next-line global-require
57
- const appConfig = require(appConfigPath);
58
- return appConfig ? JSON.stringify(appConfig) : '{}';
59
- };
60
-
61
- const mapToFolder = (dependencies, folder) =>
62
- dependencies.reduce(
63
- (acc, dependency) => ({
64
- [dependency]: path.resolve(`${folder}/${dependency.replace('$', '')}`),
65
- ...acc,
66
- }),
67
- {},
68
- );
69
-
70
- const getAlias = () => {
71
- const monorepoRoot = findMonoRepoRoot(process.cwd()) || '';
72
- return mapToFolder(
73
- [
74
- '@babel/runtime',
75
- 'react',
76
- 'react-dom',
77
- 'react-redux',
78
- 'redux',
79
- 'redux-saga',
80
- 'moment',
81
- 'lodash',
82
- 'styled-components',
83
- 'immer',
84
- 'react-dates',
85
- 'react-transition-group',
86
- '@elliemae/pui-cli',
87
- '@elliemae/pui-app-sdk$',
88
- '@elliemae/pui-theme$',
89
- ],
90
- path.join(monorepoRoot, './node_modules'),
91
- );
92
- };
93
-
94
- const modulesToTranspile = [
95
- '@elliemae/pui-*',
96
- '@elliemae/ds-*',
97
- '@dnd-kit/*',
98
- '@elliemae/em-platform-document-viewer',
99
- ];
100
-
101
- const getUserMonitoringFileName = () => {
102
- const libName = 'emuiUserMonitoring';
103
- const userMonLibPath = path.join(
104
- process.cwd(),
105
- 'node_modules/@elliemae/pui-user-monitoring/dist/public/js',
106
- );
107
- if (!fs.existsSync(userMonLibPath)) return `${libName}.js`;
108
- const distJSFiles = fs.readdirSync(userMonLibPath);
109
- return distJSFiles.filter((fName) =>
110
- fName.match(/emuiUserMonitoring+((?!chunk).)*\.js$/),
111
- )[0];
112
- };
113
-
114
- const getAppLoaderFileName = () => {
115
- const libName = 'emuiAppLoader';
116
- const appLoaderLibPath = path.join(
117
- process.cwd(),
118
- 'node_modules/@elliemae/pui-app-loader/dist/public/js',
119
- );
120
- if (!fs.existsSync(appLoaderLibPath)) return `${libName}.js`;
121
- const distJSFiles = fs.readdirSync(appLoaderLibPath);
122
- return distJSFiles.filter((fName) =>
123
- fName.match(/emuiAppLoader+((?!chunk).)*\.js$/),
124
- )[0];
125
- };
126
-
127
- const getDiagnosticsFileName = () => {
128
- const libName = 'emuiDiagnostics';
129
- const libPath = path.join(
130
- process.cwd(),
131
- 'node_modules/@elliemae/pui-diagnostics/dist/public/js',
132
- );
133
- if (!fs.existsSync(libPath)) return `${libName}.js`;
134
- const distJSFiles = fs.readdirSync(libPath);
135
- return distJSFiles.filter((fName) =>
136
- fName.match(/emuiDiagnostics+((?!chunk).)*\.js$/),
137
- )[0];
138
- };
139
-
140
- const getENCWLoaderFileName = () => {
141
- const libName = 'emuiEncwLoader';
142
- const appLoaderLibPath = path.join(
143
- process.cwd(),
144
- 'node_modules/@elliemae/encw-loader/dist/public/js',
145
- );
146
- if (!fs.existsSync(appLoaderLibPath)) return `${libName}.js`;
147
- const distJSFiles = fs.readdirSync(appLoaderLibPath);
148
- return distJSFiles.filter((fName) =>
149
- fName.match(/emuiEncwLoader+((?!chunk).)*\.js$/),
150
- )[0];
151
- };
152
-
153
- const getAppVersion = () => {
154
- if (!process.env.APP_VERSION) return LATEST_VERSION;
155
- const match = process.env.APP_VERSION.match(/^v?(\d+\.\d+)\..*$/);
156
- return (match && match[1]) || LATEST_VERSION;
157
- };
158
-
159
- const getPaths = (latestVersion = true) => {
160
- const version = latestVersion ? LATEST_VERSION : getAppVersion();
161
- const publicPath = `${version}/`;
162
- const timeStampQuery =
163
- process.env.PUI_PIPELINE !== 'true' ? `?timeStamp=${Date.now()}` : '';
164
- return {
165
- appVersion: version,
166
- buildPath: path.resolve(process.cwd(), `build/public/`),
167
- basePath: (process.env.BASE_PATH || '/').replace(/\/?$/, '/'),
168
- publicPath,
169
- userMonScriptPath: `latest/js/${getUserMonitoringFileName()}`,
170
- appLoaderScriptPath: `latest/js/${getAppLoaderFileName()}`,
171
- diagnosticsScriptPath: `latest/js/${getDiagnosticsFileName()}`,
172
- globalScriptPath: `latest/js/global.js${timeStampQuery}`,
173
- encwLoaderScriptPath: `latest/js/${getENCWLoaderFileName()}`,
174
- };
175
- };
176
-
177
- const isApp = () => fs.existsSync(path.join(process.cwd(), 'app'));
178
-
179
- const isAppLoaderEnabled = () => process.env.APP_LOADER === 'true';
180
-
181
- const getMediaPath = () => `assets/[name].[contenthash].[ext]`;
182
-
183
- const isGoogleTagManagerEnabled = () => {
184
- const appConfig = JSON.parse(getAppConfig());
185
- return !!appConfig?.googleTagManager;
186
- };
187
-
188
- const getCompressionPlugins = (isLibrary = false) => {
189
- const excludeList = [
190
- /\/adrum-ext/,
191
- /\/emuiUserMonitoring/,
192
- /\/emuiDiagnostics/,
193
- /\/emuiAppLoader/,
194
- /\/encwLoader/,
195
- ];
196
- const commonConfig = {
197
- test: /\.(js|css)$/,
198
- exclude: !isLibrary ? excludeList : [],
199
- // 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
200
- minRatio: Infinity,
201
- };
202
- return [
203
- new CompressionPlugin({
204
- filename: '[path][base].gz',
205
- algorithm: 'gzip',
206
- ...commonConfig,
207
- }),
208
- new CompressionPlugin({
209
- filename: '[path][base].br',
210
- algorithm: 'brotliCompress',
211
- ...commonConfig,
212
- compressionOptions: {
213
- params: {
214
- [zlib.constants.BROTLI_PARAM_QUALITY]: 11,
215
- },
216
- },
217
- }),
218
- ];
219
- };
220
-
221
- const filterByFilePresence = (patterns) =>
222
- patterns.filter(
223
- ({ from, noErrorOnMissing }) =>
224
- !noErrorOnMissing || fs.existsSync(path.resolve(process.cwd(), from)),
225
- );
226
-
227
- exports.LATEST_VERSION = LATEST_VERSION;
228
- exports.excludeNodeModulesExcept = excludeNodeModulesExcept;
229
- exports.getLibraryName = getLibraryName;
230
- exports.getAppConfig = getAppConfig;
231
- exports.mapToFolder = mapToFolder;
232
- exports.isApp = isApp;
233
- exports.getAlias = getAlias;
234
- exports.getAppVersion = getAppVersion;
235
- exports.modulesToTranspile = modulesToTranspile;
236
- exports.isAppLoaderEnabled = isAppLoaderEnabled;
237
- exports.LATEST_VERSION = LATEST_VERSION;
238
- exports.getPaths = getPaths;
239
- exports.getMediaPath = getMediaPath;
240
- exports.resolveExtensions = [
241
- '.wasm',
242
- '.mjs',
243
- '.ts',
244
- '.tsx',
245
- '.js',
246
- '.jsx',
247
- '.json',
248
- ];
249
- exports.mainFields = ['browser', 'module', 'main'];
250
- exports.isGoogleTagManagerEnabled = isGoogleTagManagerEnabled;
251
- exports.getCompressionPlugins = getCompressionPlugins;
252
- exports.filterByFilePresence = filterByFilePresence;