@elliemae/pui-cli 8.28.0 → 8.29.1

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 (130) hide show
  1. package/dist/cjs/commands/utils.js +3 -1
  2. package/dist/cjs/monorepo/set-registry-version.js +3 -3
  3. package/dist/cjs/monorepo/set-workspace-version.js +3 -3
  4. package/dist/cjs/transpile/esbuild.js +3 -3
  5. package/dist/cjs/webpack/webpack.lib.dev.babel.js +3 -1
  6. package/dist/cjs/webpack/webpack.lib.prod.babel.js +3 -1
  7. package/dist/esm/commands/utils.js +3 -1
  8. package/dist/esm/monorepo/set-registry-version.js +3 -3
  9. package/dist/esm/monorepo/set-workspace-version.js +3 -3
  10. package/dist/esm/transpile/esbuild.js +3 -3
  11. package/dist/esm/webpack/webpack.lib.dev.babel.js +3 -1
  12. package/dist/esm/webpack/webpack.lib.prod.babel.js +3 -1
  13. package/dist/types/docusaurus.config.d.ts +2 -0
  14. package/dist/types/{index.d.ts → lib/index.d.ts} +1 -0
  15. package/package.json +39 -39
  16. package/dist/cjs/babel.config.cjs +0 -97
  17. package/dist/cjs/index.cjs +0 -23
  18. package/dist/cjs/jsdoc.conf.json +0 -17
  19. package/dist/cjs/lint-config/commitlint.config.cjs +0 -1
  20. package/dist/cjs/lint-config/eslint/common.cjs +0 -164
  21. package/dist/cjs/lint-config/eslint/non-react.cjs +0 -14
  22. package/dist/cjs/lint-config/eslint/react.cjs +0 -26
  23. package/dist/cjs/lint-config/eslint/typescript/common.cjs +0 -49
  24. package/dist/cjs/lint-config/eslint/typescript/non-react.cjs +0 -12
  25. package/dist/cjs/lint-config/eslint/typescript/react.cjs +0 -19
  26. package/dist/cjs/lint-config/prettier.config.cjs +0 -8
  27. package/dist/cjs/lint-config/stylelint.config.cjs +0 -20
  28. package/dist/cjs/monorepo/utils.cjs +0 -30
  29. package/dist/cjs/release.config.cjs +0 -24
  30. package/dist/cjs/testing/jest.config.cjs +0 -110
  31. package/dist/cjs/testing/jest.node.config.cjs +0 -8
  32. package/dist/cjs/testing/resolver.cjs +0 -47
  33. package/dist/cjs/transpile/.swcrc +0 -11
  34. package/dist/cjs/transpile/swcrc.config.cjs +0 -13
  35. package/dist/cjs/typedoc.cjs +0 -12
  36. package/dist/cjs/utils.cjs +0 -23
  37. package/dist/esm/babel.config.cjs +0 -97
  38. package/dist/esm/index.cjs +0 -23
  39. package/dist/esm/jsdoc.conf.json +0 -17
  40. package/dist/esm/lint-config/commitlint.config.cjs +0 -1
  41. package/dist/esm/lint-config/eslint/common.cjs +0 -164
  42. package/dist/esm/lint-config/eslint/non-react.cjs +0 -14
  43. package/dist/esm/lint-config/eslint/react.cjs +0 -26
  44. package/dist/esm/lint-config/eslint/typescript/common.cjs +0 -49
  45. package/dist/esm/lint-config/eslint/typescript/non-react.cjs +0 -12
  46. package/dist/esm/lint-config/eslint/typescript/react.cjs +0 -19
  47. package/dist/esm/lint-config/prettier.config.cjs +0 -8
  48. package/dist/esm/lint-config/stylelint.config.cjs +0 -20
  49. package/dist/esm/monorepo/utils.cjs +0 -30
  50. package/dist/esm/release.config.cjs +0 -24
  51. package/dist/esm/testing/jest.config.cjs +0 -110
  52. package/dist/esm/testing/jest.node.config.cjs +0 -8
  53. package/dist/esm/testing/resolver.cjs +0 -47
  54. package/dist/esm/transpile/.swcrc +0 -11
  55. package/dist/esm/transpile/swcrc.config.cjs +0 -13
  56. package/dist/esm/typedoc.cjs +0 -12
  57. package/dist/esm/utils.cjs +0 -23
  58. /package/dist/types/{babel.config.d.cts → lib/babel.config.d.cts} +0 -0
  59. /package/dist/types/{cli.d.ts → lib/cli.d.ts} +0 -0
  60. /package/dist/types/{commands → lib/commands}/build.d.ts +0 -0
  61. /package/dist/types/{commands → lib/commands}/codemod.d.ts +0 -0
  62. /package/dist/types/{commands → lib/commands}/gendoc.d.ts +0 -0
  63. /package/dist/types/{commands → lib/commands}/lint.d.ts +0 -0
  64. /package/dist/types/{commands → lib/commands}/pack.d.ts +0 -0
  65. /package/dist/types/{commands → lib/commands}/start.d.ts +0 -0
  66. /package/dist/types/{commands → lib/commands}/storybook.d.ts +0 -0
  67. /package/dist/types/{commands → lib/commands}/test.d.ts +0 -0
  68. /package/dist/types/{commands → lib/commands}/tscheck.d.ts +0 -0
  69. /package/dist/types/{commands → lib/commands}/utils.d.ts +0 -0
  70. /package/dist/types/{commands → lib/commands}/version.d.ts +0 -0
  71. /package/dist/types/{commands → lib/commands}/vitest.d.ts +0 -0
  72. /package/dist/types/{dummy.d.ts → lib/dummy.d.ts} +0 -0
  73. /package/dist/types/{index.d.cts → lib/index.d.cts} +0 -0
  74. /package/dist/types/{lint-config → lib/lint-config}/commitlint.config.d.cts +0 -0
  75. /package/dist/types/{lint-config → lib/lint-config}/eslint/common.d.cts +0 -0
  76. /package/dist/types/{lint-config → lib/lint-config}/eslint/non-react.d.cts +0 -0
  77. /package/dist/types/{lint-config → lib/lint-config}/eslint/react.d.cts +0 -0
  78. /package/dist/types/{lint-config → lib/lint-config}/eslint/typescript/common.d.cts +0 -0
  79. /package/dist/types/{lint-config → lib/lint-config}/eslint/typescript/non-react.d.cts +0 -0
  80. /package/dist/types/{lint-config → lib/lint-config}/eslint/typescript/react.d.cts +0 -0
  81. /package/dist/types/{lint-config → lib/lint-config}/lint-staged.config.d.ts +0 -0
  82. /package/dist/types/{lint-config → lib/lint-config}/prettier.config.d.cts +0 -0
  83. /package/dist/types/{lint-config → lib/lint-config}/stylelint.config.d.cts +0 -0
  84. /package/dist/types/{monorepo → lib/monorepo}/delete-merged-tags.d.ts +0 -0
  85. /package/dist/types/{monorepo → lib/monorepo}/set-registry-version.d.ts +0 -0
  86. /package/dist/types/{monorepo → lib/monorepo}/set-workspace-version.d.ts +0 -0
  87. /package/dist/types/{monorepo → lib/monorepo}/utils.d.cts +0 -0
  88. /package/dist/types/{monorepo → lib/monorepo}/utils.d.ts +0 -0
  89. /package/dist/types/{pui-config.d.ts → lib/pui-config.d.ts} +0 -0
  90. /package/dist/types/{release.config.d.cts → lib/release.config.d.cts} +0 -0
  91. /package/dist/types/{server → lib/server}/appRoutes.d.ts +0 -0
  92. /package/dist/types/{server → lib/server}/csp.d.ts +0 -0
  93. /package/dist/types/{server → lib/server}/index.d.ts +0 -0
  94. /package/dist/types/{server → lib/server}/logger.d.ts +0 -0
  95. /package/dist/types/{server → lib/server}/middlewares.d.ts +0 -0
  96. /package/dist/types/{server → lib/server}/utils.d.ts +0 -0
  97. /package/dist/types/{server → lib/server}/wsServer.d.ts +0 -0
  98. /package/dist/types/{testing → lib/testing}/jest.config.d.cts +0 -0
  99. /package/dist/types/{testing → lib/testing}/jest.node.config.d.cts +0 -0
  100. /package/dist/types/{testing → lib/testing}/mocks/axios.d.ts +0 -0
  101. /package/dist/types/{testing → lib/testing}/mocks/cssModule.d.ts +0 -0
  102. /package/dist/types/{testing → lib/testing}/mocks/html.d.ts +0 -0
  103. /package/dist/types/{testing → lib/testing}/mocks/image.d.ts +0 -0
  104. /package/dist/types/{testing → lib/testing}/mocks/matchMedia.d.ts +0 -0
  105. /package/dist/types/{testing → lib/testing}/mocks/pui-app-loader.d.ts +0 -0
  106. /package/dist/types/{testing → lib/testing}/mocks/pui-diagnostics.d.ts +0 -0
  107. /package/dist/types/{testing → lib/testing}/mocks/pui-user-monitoring.d.ts +0 -0
  108. /package/dist/types/{testing → lib/testing}/mocks/retry-axios.d.ts +0 -0
  109. /package/dist/types/{testing → lib/testing}/mocks/svg.d.ts +0 -0
  110. /package/dist/types/{testing → lib/testing}/mocks/webpack-hmr.d.ts +0 -0
  111. /package/dist/types/{testing → lib/testing}/resolver.d.cts +0 -0
  112. /package/dist/types/{testing → lib/testing}/setup-react-env.d.ts +0 -0
  113. /package/dist/types/{testing → lib/testing}/setup-test-env.d.ts +0 -0
  114. /package/dist/types/{testing → lib/testing}/setup-tests.d.ts +0 -0
  115. /package/dist/types/{testing → lib/testing}/vitest.config.d.ts +0 -0
  116. /package/dist/types/{transpile → lib/transpile}/esbuild.d.ts +0 -0
  117. /package/dist/types/{transpile → lib/transpile}/react-shim.d.ts +0 -0
  118. /package/dist/types/{transpile → lib/transpile}/swcrc.config.d.cts +0 -0
  119. /package/dist/types/{typedoc.d.cts → lib/typedoc.d.cts} +0 -0
  120. /package/dist/types/{update-notifier.d.ts → lib/update-notifier.d.ts} +0 -0
  121. /package/dist/types/{utils.d.cts → lib/utils.d.cts} +0 -0
  122. /package/dist/types/{utils.d.ts → lib/utils.d.ts} +0 -0
  123. /package/dist/types/{webpack → lib/webpack}/helpers.d.ts +0 -0
  124. /package/dist/types/{webpack → lib/webpack}/webpack.base.babel.d.ts +0 -0
  125. /package/dist/types/{webpack → lib/webpack}/webpack.dev.babel.d.ts +0 -0
  126. /package/dist/types/{webpack → lib/webpack}/webpack.lib.base.babel.d.ts +0 -0
  127. /package/dist/types/{webpack → lib/webpack}/webpack.lib.dev.babel.d.ts +0 -0
  128. /package/dist/types/{webpack → lib/webpack}/webpack.lib.prod.babel.d.ts +0 -0
  129. /package/dist/types/{webpack → lib/webpack}/webpack.prod.babel.d.ts +0 -0
  130. /package/dist/types/{webpack → lib/webpack}/webpack.storybook.d.ts +0 -0
@@ -1,164 +0,0 @@
1
- /* eslint-disable max-lines */
2
- const prettierOptions = require("../prettier.config.cjs");
3
- // const webpackConfig = require('../../webpack/webpack.prod.babel');
4
-
5
- exports.baseExtends = [
6
- "plugin:eslint-comments/recommended",
7
- "plugin:import/recommended",
8
- "plugin:prettier/recommended",
9
- "plugin:jest/recommended",
10
- "plugin:jsdoc/recommended",
11
- "plugin:wdio/recommended",
12
- "plugin:testing-library/dom",
13
- "plugin:storybook/recommended",
14
- ];
15
-
16
- const basePlugins = ["testing-library", "jest", "jsdoc", "wdio", "import"];
17
- exports.basePlugins = basePlugins;
18
-
19
- exports.baseOverrides = [
20
- {
21
- files: ["*.func.spec.js", "*.visual.spec.js"],
22
- rules: {
23
- "jest/valid-expect": "off",
24
- },
25
- },
26
- ];
27
-
28
- const baseRules = {
29
- "prettier/prettier": ["error", prettierOptions],
30
- "arrow-body-style": [2, "as-needed"],
31
- "class-methods-use-this": 0,
32
- "import/imports-first": 0,
33
- "import/newline-after-import": 0,
34
- "import/no-dynamic-require": 0,
35
- "import/no-extraneous-dependencies": 0,
36
- "import/no-named-as-default": 0,
37
- "import/no-unresolved": [
38
- 2,
39
- { caseSensitive: true, caseSensitiveStrict: true },
40
- ], // Tip: https://github.com/import-js/eslint-plugin-import/issues/1868
41
- "import/no-webpack-loader-syntax": 0,
42
- "import/prefer-default-export": 0,
43
- "import/extensions": [
44
- 2,
45
- "never",
46
- {
47
- json: "ignorePackages",
48
- js: "ignorePackages",
49
- },
50
- ],
51
- indent: [
52
- 2,
53
- 2,
54
- {
55
- SwitchCase: 1,
56
- },
57
- ],
58
- "max-lines": ["error", { max: 120, skipComments: true }],
59
- complexity: ["error", { max: 10 }],
60
- "max-depth": ["error", { max: 4 }],
61
- "max-lines-per-function": 0,
62
- "max-nested-callbacks": ["error", { max: 3 }],
63
- "max-params": ["error", { max: 3 }],
64
- "max-statements": ["error", { max: 20 }],
65
- "max-len": 0,
66
- "newline-per-chained-call": 0,
67
- "no-confusing-arrow": 0,
68
- "no-console": 1,
69
- "no-param-reassign": ["error", { props: false }],
70
- "no-unused-vars": 2,
71
- "no-use-before-define": 0,
72
- "prefer-template": 2,
73
- "require-yield": 0,
74
- "jsdoc/require-jsdoc": 0,
75
- "eslint-comments/disable-enable-pair": 0,
76
- };
77
-
78
- exports.baseRules = baseRules;
79
-
80
- const reactRules = {
81
- "jsx-a11y/aria-props": 2,
82
- "jsx-a11y/heading-has-content": 0,
83
- "jsx-a11y/label-has-associated-control": [
84
- 2,
85
- {
86
- // NOTE: If this error triggers, either disable it or add
87
- // your custom components, labels and attributes via these options
88
- // See https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/label-has-associated-control.md
89
- controlComponents: ["Input"],
90
- },
91
- ],
92
- "jsx-a11y/label-has-for": 0,
93
- "jsx-a11y/mouse-events-have-key-events": 2,
94
- "jsx-a11y/role-has-required-aria-props": 2,
95
- "jsx-a11y/role-supports-aria-props": 2,
96
- "react/destructuring-assignment": 0,
97
- "react-hooks/rules-of-hooks": "error",
98
- "react/jsx-closing-tag-location": 0,
99
- "react/forbid-prop-types": 0,
100
- "react/jsx-first-prop-new-line": [2, "multiline"],
101
- "react/jsx-no-target-blank": 0,
102
- "react/jsx-props-no-spreading": 0,
103
- "react/jsx-uses-vars": 2,
104
- "react/require-default-props": 0,
105
- "react/require-extension": 0,
106
- "react/self-closing-comp": 0,
107
- "react/sort-comp": 0,
108
- "react/react-in-jsx-scope": 0,
109
- "react/jsx-filename-extension": [
110
- 1,
111
- { extensions: [".js", ".jsx", ".tsx", ".mdx"] },
112
- ],
113
- "react/function-component-definition": [
114
- 2,
115
- { namedComponents: "arrow-function" },
116
- ],
117
- "redux-saga/no-yield-in-race": 2,
118
- "redux-saga/yield-effects": 2,
119
- };
120
- exports.reactRules = reactRules;
121
-
122
- exports.baseConfig = {
123
- parser: "@babel/eslint-parser",
124
- plugins: basePlugins,
125
- env: {
126
- jest: true,
127
- browser: true,
128
- node: true,
129
- es2021: true,
130
- },
131
- parserOptions: {
132
- sourceType: "module",
133
- ecmaFeatures: {
134
- jsx: true,
135
- },
136
- babelOptions: {
137
- plugins: ["@babel/plugin-syntax-import-assertions"],
138
- },
139
- },
140
- settings: {
141
- react: {
142
- version: "detect",
143
- },
144
- jest: {
145
- version: 28,
146
- },
147
- "import/resolver": {
148
- node: {
149
- extensions: [".js", ".jsx", ".ts", ".tsx"],
150
- },
151
- },
152
- },
153
- ignorePatterns: [
154
- "/build/**/*",
155
- "/node_modules/**/*",
156
- "/dist/**/*",
157
- "/reports/**/*",
158
- "/coverage/**/*",
159
- "/demo/**/*",
160
- "/docs/**/*",
161
- "/temp/**/*",
162
- "**/vendor/*.js",
163
- ],
164
- };
@@ -1,14 +0,0 @@
1
- const {
2
- baseExtends,
3
- baseRules,
4
- baseOverrides,
5
- baseConfig,
6
- } = require('./common.cjs');
7
- const { tsConfig } = require('./typescript/non-react.cjs');
8
-
9
- exports.esConfig = {
10
- ...baseConfig,
11
- extends: ['airbnb-base'].concat(baseExtends),
12
- rules: baseRules,
13
- overrides: baseOverrides.concat([tsConfig]),
14
- };
@@ -1,26 +0,0 @@
1
- const {
2
- baseExtends,
3
- baseRules,
4
- baseOverrides,
5
- baseConfig,
6
- reactRules,
7
- } = require('./common.cjs');
8
- const { tsReactConfig } = require('./typescript/react.cjs');
9
-
10
- exports.esReactConfig = {
11
- ...baseConfig,
12
- extends: ['airbnb', 'airbnb/hooks', 'plugin:redux-saga/recommended'].concat(
13
- baseExtends,
14
- ),
15
- rules: {
16
- ...baseRules,
17
- ...reactRules,
18
- },
19
- overrides: baseOverrides.concat([
20
- tsReactConfig,
21
- {
22
- files: '*.mdx',
23
- extends: 'plugin:mdx/recommended',
24
- },
25
- ]),
26
- };
@@ -1,49 +0,0 @@
1
- const { baseExtends, basePlugins } = require('../common.cjs');
2
-
3
- exports.tsBaseExtends = [
4
- 'plugin:@typescript-eslint/recommended',
5
- 'plugin:import/typescript',
6
- 'plugin:@typescript-eslint/recommended-requiring-type-checking',
7
- ].concat(baseExtends);
8
-
9
- exports.tsBaseRules = {
10
- '@typescript-eslint/explicit-module-boundary-types': 'off',
11
- '@typescript-eslint/explicit-function-return-type': 'off',
12
- '@typescript-eslint/no-use-before-define': [
13
- 'error',
14
- { functions: false, classes: true, variables: true, typedefs: true },
15
- ],
16
- 'max-lines': ['error', { max: 200, skipComments: true }],
17
- '@typescript-eslint/unbound-method': [
18
- 'error',
19
- {
20
- ignoreStatic: true,
21
- },
22
- ],
23
- '@typescript-eslint/no-floating-promises': [
24
- 'error',
25
- {
26
- ignoreIIFE: true,
27
- },
28
- ],
29
- };
30
-
31
- exports.tsBaseConfig = {
32
- files: ['*.ts', '*.tsx'],
33
- parser: '@typescript-eslint/parser',
34
- plugins: ['@typescript-eslint'].concat(basePlugins),
35
- parserOptions: {
36
- tsconfigRootDir: process.cwd(),
37
- project: 'tsconfig.json',
38
- },
39
- settings: {
40
- 'import/resolver': {
41
- typescript: {
42
- alwaysTryTypes: true,
43
- },
44
- },
45
- 'import/parsers': {
46
- '@typescript-eslint/parser': ['.ts', '.tsx'],
47
- },
48
- },
49
- };
@@ -1,12 +0,0 @@
1
- /* eslint-disable max-lines */
2
- const { baseRules } = require('../common.cjs');
3
- const { tsBaseExtends, tsBaseRules, tsBaseConfig } = require('./common.cjs');
4
-
5
- exports.tsConfig = {
6
- ...tsBaseConfig,
7
- extends: ['airbnb-base', 'airbnb-typescript/base'].concat(tsBaseExtends),
8
- rules: {
9
- ...baseRules,
10
- ...tsBaseRules,
11
- },
12
- };
@@ -1,19 +0,0 @@
1
- /* eslint-disable max-lines */
2
- const { baseRules, reactRules } = require('../common.cjs');
3
- const { tsBaseExtends, tsBaseRules, tsBaseConfig } = require('./common.cjs');
4
-
5
- exports.tsReactConfig = {
6
- ...tsBaseConfig,
7
- extends: [
8
- 'airbnb',
9
- 'airbnb/hooks',
10
- 'plugin:redux-saga/recommended',
11
- 'airbnb-typescript',
12
- ].concat(tsBaseExtends),
13
- rules: {
14
- ...baseRules,
15
- ...tsBaseRules,
16
- ...reactRules,
17
- 'react/prop-types': 0,
18
- },
19
- };
@@ -1,8 +0,0 @@
1
- exports.prettierConfig = {
2
- printWidth: 80,
3
- tabWidth: 2,
4
- useTabs: false,
5
- semi: true,
6
- singleQuote: true,
7
- trailingComma: 'all',
8
- };
@@ -1,20 +0,0 @@
1
- exports.stylelintConfig = {
2
- ignoreFiles: [
3
- "/dist/**/*",
4
- "/coverage/**/*",
5
- "/build/**/*",
6
- "/reports/**/*",
7
- "/temp/**/*",
8
- "/docs/**/*",
9
- "/demo/**/*",
10
- "/node_modules/**/*",
11
- "/vendor/**/*",
12
- ],
13
- customSyntax: "@stylelint/postcss-css-in-js",
14
- // customSyntax: "postcss-styled-components", // '@stylelint/postcss-css-in-js' is deprecated, this may be a replacement?
15
- extends: [
16
- "stylelint-config-recommended",
17
- "stylelint-config-styled-components",
18
- ],
19
- rules: { "selector-type-no-unknown": null, "function-no-unknown": null },
20
- };
@@ -1,30 +0,0 @@
1
- const path = require('path');
2
- const { execSync } = require('child_process');
3
-
4
- const WORKSPACE_DIR_ENV_VAR = 'NPM_CONFIG_WORKSPACE_DIR';
5
- const WORKSPACE_MANIFEST_FILENAME = 'pnpm-workspace.yaml';
6
-
7
- const getPNPMWorkspaceLocation = (cwd) => {
8
- let location = null;
9
- // eslint-disable-next-line no-restricted-syntax
10
- for (const fileName of [WORKSPACE_MANIFEST_FILENAME, 'pnpm-workspace.yml']) {
11
- try {
12
- const result = execSync(`npx find-up ${fileName}`, { cwd });
13
- location = result.toString().trim();
14
- break;
15
- } catch (err) {
16
- // ignore
17
- }
18
- }
19
- return location;
20
- };
21
-
22
- exports.findMonoRepoRoot = (cwd = process.cwd()) => {
23
- const workspaceManifestDirEnvVar =
24
- process.env[WORKSPACE_DIR_ENV_VAR] ??
25
- process.env[WORKSPACE_DIR_ENV_VAR.toLowerCase()];
26
- const workspaceManifestLocation = workspaceManifestDirEnvVar
27
- ? path.join(workspaceManifestDirEnvVar, 'pnpm-workspace.yaml')
28
- : getPNPMWorkspaceLocation(cwd);
29
- return workspaceManifestLocation && path.dirname(workspaceManifestLocation);
30
- };
@@ -1,24 +0,0 @@
1
- module.exports = {
2
- branches: [
3
- '+([0-9])?(.{+([0-9]),x}).x',
4
- 'master',
5
- 'next-major',
6
- { name: 'beta', prerelease: true },
7
- { name: 'alpha', prerelease: true },
8
- { name: 'hotfix', prerelease: true },
9
- { name: 'next', prerelease: true },
10
- ],
11
- plugins: [
12
- '@semantic-release/commit-analyzer',
13
- '@semantic-release/release-notes-generator',
14
- [
15
- '@semantic-release/changelog',
16
- {
17
- changelogTitle:
18
- '# Changelog\n\nAll notable changes to this project will be documented in this file. See\n[Conventional Commits](https://conventionalcommits.org) for commit guidelines.',
19
- },
20
- ],
21
- '@semantic-release/npm',
22
- '@semantic-release/github',
23
- ],
24
- };
@@ -1,110 +0,0 @@
1
- const path = require('path');
2
- const normalizePath = require('normalize-path');
3
- const { getAppConfig, basePath } = require('../utils.cjs');
4
- const { swcrcConfig } = require('../transpile/swcrc.config.cjs');
5
- const { findMonoRepoRoot } = require('../monorepo/utils.cjs');
6
-
7
- let isReactModule = true;
8
- try {
9
- /* eslint-disable global-require, import/no-unresolved */
10
- require('react');
11
- require('styled-components');
12
- /* eslint-enable global-require, import/no-unresolved */
13
- } catch (err) {
14
- isReactModule = false;
15
- }
16
-
17
- const getMockFilePath = (fileName) =>
18
- normalizePath(path.resolve(__dirname, './mocks', fileName));
19
-
20
- const getNodeModulesPath = (fileName) => {
21
- const monorepoRoot = findMonoRepoRoot(process.cwd());
22
- return normalizePath(
23
- monorepoRoot
24
- ? path.join(monorepoRoot, 'node_modules', fileName)
25
- : `<rootDir>/node_modules/${fileName}`,
26
- );
27
- };
28
-
29
- const jestConfig = {
30
- collectCoverageFrom: [
31
- 'app/**/*.{js,ts,jsx,tsx}',
32
- 'lib/**/*.{js,ts,jsx,tsx}',
33
- '!app/**/*.d.ts',
34
- '!lib/**/*.d.ts',
35
- '!app/**/*.test.{js,ts,jsx,tsx}',
36
- '!lib/**/*.test.{js,ts,jsx,tsx}',
37
- '!app/**/*.stories.{js,ts,jsx,tsx}',
38
- '!lib/**/*.stories.{js,ts,jsx,tsx}',
39
- '!app/**/*.endpoint.{js,ts,jsx,tsx}',
40
- '!lib/**/*.endpoint.{js,ts,jsx,tsx}',
41
- '!app/*/RbGenerated*/*.{js,ts,jsx,tsx}',
42
- '!app/index.{js,ts,jsx,tsx}',
43
- '!app/global-styles.{js,ts,jsx,tsx}',
44
- '!app/**/loadable.{js,ts,jsx,tsx}',
45
- '!lib/**/loadable.{js,ts,jsx,tsx}',
46
- ],
47
- coverageThreshold: {
48
- // Todo: enable the coverage threshold later
49
- // global: {
50
- // statements: 95,
51
- // branches: 90,
52
- // functions: 95,
53
- // lines: 95,
54
- // },
55
- },
56
- coverageDirectory: 'reports',
57
- coverageReporters: ['lcov', 'html', 'text-summary'],
58
- moduleDirectories: ['node_modules', 'app', 'lib'],
59
- moduleNameMapper: {
60
- d3: '<rootDir>/node_modules/d3/dist/d3.min.js',
61
- '^d3-(.*)$': '<rootDir>/node_modules/d3-$1/dist/d3-$1.min.js',
62
- '.*\\webpack-hmr(.[t|j]s)?$': getMockFilePath('webpack-hmr.js'),
63
- '.*\\.(css|scss)$': getMockFilePath('cssModule.js'),
64
- '.*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$':
65
- getMockFilePath('image.js'),
66
- '.*\\.svg(?:\\?[a-zA-Z]+)?$': getMockFilePath('svg.js'),
67
- '.*\\.html(?:\\?[a-zA-Z]+)?$': getMockFilePath('html.js'),
68
- '@elliemae/pui-user-monitoring': getMockFilePath('pui-user-monitoring.js'),
69
- '@elliemae/pui-app-loader': getMockFilePath('pui-app-loader.js'),
70
- '@elliemae/pui-diagnostics': getMockFilePath('pui-diagnostics.js'),
71
- 'react-spring/web': getNodeModulesPath('react-spring/web.cjs.js'),
72
- 'react-spring/renderprops': getNodeModulesPath(
73
- 'react-spring/renderprops.cjs.js',
74
- ),
75
- },
76
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
77
- setupFilesAfterEnv: [path.resolve(__dirname, './setup-tests.js')],
78
- setupFiles: ['raf/polyfill', 'whatwg-fetch'],
79
- testRegex: '(app|lib).*/tests/.*\\.test\\.[jt]sx?$',
80
- snapshotSerializers: [],
81
- testResultsProcessor: 'jest-sonar-reporter',
82
- resolver: path.resolve(__dirname, './resolver.cjs'),
83
- transform: {
84
- '^.+\\.[jt]sx?$': ['@swc/jest', swcrcConfig],
85
- },
86
- transformIgnorePatterns: [
87
- 'node_modules/(?!(.*@elliemae/pui-cli|lodash-es|react-select|react-dates|d3|internmap|delaunator|robust-predicates)/)',
88
- ],
89
- globals: {
90
- APP_CONFIG: getAppConfig(),
91
- __webpack_public_path__: '/',
92
- },
93
- testEnvironmentOptions: {
94
- url: `http://localhost:3111${basePath}`,
95
- resources: 'usable',
96
- },
97
- testEnvironment: 'jsdom',
98
- watchPlugins: [
99
- 'jest-watch-typeahead/filename',
100
- 'jest-watch-typeahead/testname',
101
- ],
102
- testTimeout: 5000,
103
- };
104
-
105
- if (isReactModule && jestConfig.setupFilesAfterEnv)
106
- jestConfig.setupFilesAfterEnv.push(
107
- path.resolve(__dirname, './setup-react-env.js'),
108
- );
109
-
110
- exports.jestConfig = jestConfig;
@@ -1,8 +0,0 @@
1
- const { jestConfig } = require('./jest.config.cjs');
2
- exports.jestNodeConfig = {
3
- ...jestConfig,
4
- testEnvironment: 'node',
5
- transformIgnorePatterns: [],
6
- setupFiles: [],
7
- setupFilesAfterEnv: [],
8
- };
@@ -1,47 +0,0 @@
1
- const resolutions = [
2
- {
3
- matcher: /\.jsx?$/i,
4
- extensions: ['.tsx', '.ts'],
5
- },
6
- {
7
- matcher: /\.mjs$/i,
8
- extensions: ['.mts'],
9
- },
10
- {
11
- matcher: /\.cjs$/i,
12
- extensions: ['.cts'],
13
- },
14
- ];
15
-
16
- const resolveConfig = {
17
- conditionNames: ['import', 'node', 'default'],
18
- extensions: ['.ts', '.tsx', '.js', '.jsx', '.json', '.node'],
19
- modules: ['node_modules', 'app', 'lib'],
20
- };
21
-
22
- const importResolver = require('enhanced-resolve').create.sync(resolveConfig);
23
- const requireResolver = require('enhanced-resolve').create.sync({
24
- ...resolveConfig,
25
- conditionNames: ['require', 'node', 'default'],
26
- });
27
-
28
- module.exports = (request, options) => {
29
- let resolver = requireResolver;
30
- if (options.conditions?.includes('import')) {
31
- resolver = importResolver;
32
- }
33
- const resolution = resolutions.find(({ matcher }) => matcher.test(request));
34
- if (resolution) {
35
- // eslint-disable-next-line no-restricted-syntax
36
- for (const extension of resolution.extensions) {
37
- try {
38
- return resolver(
39
- options.basedir,
40
- request.replace(resolution.matcher, extension),
41
- );
42
- // eslint-disable-next-line no-empty
43
- } catch {}
44
- }
45
- }
46
- return resolver(options.basedir, request);
47
- };
@@ -1,11 +0,0 @@
1
- {
2
- "jsc": {
3
- "parser": {
4
- "syntax": "typescript",
5
- "jsx": true,
6
- "tsx": true,
7
- "dynamicImport": true
8
- },
9
- "target": "es2020"
10
- }
11
- }
@@ -1,13 +0,0 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const { merge } = require('lodash');
4
-
5
- let projectConfig = {};
6
- const projectPath = path.join(process.cwd(), '.swcrc');
7
- if (fs.existsSync(projectPath)) {
8
- projectConfig = JSON.parse(fs.readFileSync(projectPath, 'utf-8'));
9
- }
10
- const localConfig = JSON.parse(
11
- fs.readFileSync(path.join(__dirname, '.swcrc'), 'utf-8'),
12
- );
13
- exports.swcrcConfig = merge(localConfig, projectConfig);
@@ -1,12 +0,0 @@
1
- const path = require('path');
2
- const fs = require('fs');
3
-
4
- const isApp = () => fs.existsSync(path.join(process.cwd(), 'app'));
5
-
6
- const srcPath = path.join(process.cwd(), isApp() ? 'app' : 'lib');
7
-
8
- module.exports = {
9
- entryPoints: [srcPath],
10
- exclude: ['**/*+(.spec|.e2e|.test).ts'],
11
- out: path.join(process.cwd(), 'docs'),
12
- };
@@ -1,23 +0,0 @@
1
- const path = require('path');
2
- const fs = require('fs');
3
-
4
- exports.basePath = (process.env.BASE_PATH || '/').replace(/\/?$/, '/');
5
-
6
- const isApp = () => fs.existsSync(path.join(process.cwd(), 'app'));
7
-
8
- exports.getAppConfig = () => {
9
- const appConfigPath = path.join(
10
- process.cwd(),
11
- isApp() ? 'app' : 'lib',
12
- 'app.config.json',
13
- );
14
-
15
- if (!fs.existsSync(appConfigPath)) return '{}';
16
- const appConfig = fs.readFileSync(appConfigPath);
17
- return appConfig || '{}';
18
- };
19
-
20
- exports.isApp = isApp;
21
-
22
- exports.isTypeScriptEnabled = () =>
23
- fs.existsSync(path.join(process.cwd(), 'tsconfig.json'));