@elliemae/pui-cli 9.0.0-alpha.1 → 9.0.0-alpha.3

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 (104) hide show
  1. package/README.md +33 -0
  2. package/dist/cjs/commands/test.js +0 -1
  3. package/dist/cjs/commands/utils.js +4 -4
  4. package/dist/cjs/commands/vitest.js +0 -1
  5. package/dist/cjs/index.cjs +12 -0
  6. package/dist/cjs/index.js +6 -0
  7. package/dist/cjs/lint-config/eslint/common.cjs +1 -1
  8. package/dist/cjs/lint-config/eslint/flat/common.mjs +162 -0
  9. package/dist/cjs/lint-config/eslint/flat/index.mjs +20 -0
  10. package/dist/cjs/lint-config/eslint/flat/non-react-export.mjs +10 -0
  11. package/dist/cjs/lint-config/eslint/flat/non-react.mjs +6 -0
  12. package/dist/cjs/lint-config/eslint/flat/presets.mjs +79 -0
  13. package/dist/cjs/lint-config/eslint/flat/react-export.mjs +7 -0
  14. package/dist/cjs/lint-config/eslint/flat/react.mjs +60 -0
  15. package/dist/cjs/lint-config/eslint/flat/rules.mjs +170 -0
  16. package/dist/cjs/lint-config/eslint/typescript/non-react.cjs +1 -1
  17. package/dist/cjs/lint-config/eslint/typescript/react.cjs +1 -1
  18. package/dist/cjs/monorepo/utils.cjs +2 -2
  19. package/dist/cjs/monorepo/utils.js +1 -1
  20. package/dist/cjs/testing/jest.config.cjs +4 -4
  21. package/dist/cjs/testing/resolver.cjs +1 -1
  22. package/dist/cjs/testing/setup-react-env.js +1 -1
  23. package/dist/cjs/transpile/esbuild.js +1 -1
  24. package/dist/cjs/webpack/csp-plugin.js +2 -4
  25. package/dist/cjs/webpack/prop-types-shim.js +0 -1
  26. package/dist/cjs/webpack/webpack.lib.base.babel.js +0 -8
  27. package/dist/esm/commands/test.js +0 -1
  28. package/dist/esm/commands/utils.js +4 -4
  29. package/dist/esm/commands/vitest.js +0 -1
  30. package/dist/esm/index.cjs +12 -0
  31. package/dist/esm/index.js +12 -0
  32. package/dist/esm/lint-config/eslint/common.cjs +1 -1
  33. package/dist/esm/lint-config/eslint/flat/common.mjs +162 -0
  34. package/dist/esm/lint-config/eslint/flat/index.mjs +20 -0
  35. package/dist/esm/lint-config/eslint/flat/non-react-export.mjs +10 -0
  36. package/dist/esm/lint-config/eslint/flat/non-react.mjs +6 -0
  37. package/dist/esm/lint-config/eslint/flat/presets.mjs +79 -0
  38. package/dist/esm/lint-config/eslint/flat/react-export.mjs +7 -0
  39. package/dist/esm/lint-config/eslint/flat/react.mjs +60 -0
  40. package/dist/esm/lint-config/eslint/flat/rules.mjs +170 -0
  41. package/dist/esm/lint-config/eslint/typescript/non-react.cjs +1 -1
  42. package/dist/esm/lint-config/eslint/typescript/react.cjs +1 -1
  43. package/dist/esm/monorepo/utils.cjs +2 -2
  44. package/dist/esm/monorepo/utils.js +1 -1
  45. package/dist/esm/testing/jest.config.cjs +4 -4
  46. package/dist/esm/testing/resolver.cjs +1 -1
  47. package/dist/esm/testing/setup-react-env.js +1 -1
  48. package/dist/esm/transpile/esbuild.js +1 -1
  49. package/dist/esm/webpack/csp-plugin.js +2 -4
  50. package/dist/esm/webpack/prop-types-shim.js +0 -1
  51. package/dist/esm/webpack/webpack.lib.base.babel.js +0 -8
  52. package/dist/types/lib/commands/build.d.ts +1 -1
  53. package/dist/types/lib/commands/buildcdn.d.ts +1 -1
  54. package/dist/types/lib/commands/codemod.d.ts +1 -1
  55. package/dist/types/lib/commands/gendoc.d.ts +1 -1
  56. package/dist/types/lib/commands/lint.d.ts +1 -1
  57. package/dist/types/lib/commands/pack.d.ts +1 -1
  58. package/dist/types/lib/commands/start.d.ts +1 -1
  59. package/dist/types/lib/commands/storybook.d.ts +1 -1
  60. package/dist/types/lib/commands/test.d.ts +1 -1
  61. package/dist/types/lib/commands/tscheck.d.ts +1 -1
  62. package/dist/types/lib/commands/version.d.ts +1 -1
  63. package/dist/types/lib/commands/vitest.d.ts +1 -1
  64. package/dist/types/lib/index.d.cts +5 -1
  65. package/dist/types/lib/index.d.ts +4 -0
  66. package/dist/types/lib/lint-config/eslint/flat/common.d.mts +6 -0
  67. package/dist/types/lib/lint-config/eslint/flat/index.d.mts +6 -0
  68. package/dist/types/lib/lint-config/eslint/flat/non-react-export.d.mts +4 -0
  69. package/dist/types/lib/lint-config/eslint/flat/non-react.d.mts +3 -0
  70. package/dist/types/lib/lint-config/eslint/flat/presets.d.mts +63 -0
  71. package/dist/types/lib/lint-config/eslint/flat/react-export.d.mts +4 -0
  72. package/dist/types/lib/lint-config/eslint/flat/react.d.mts +4 -0
  73. package/dist/types/lib/lint-config/eslint/flat/rules.d.mts +350 -0
  74. package/dist/types/lib/server/appRoutes.d.ts +1 -1
  75. package/dist/types/lib/server/csp.d.ts +1 -1
  76. package/dist/types/lib/server/middlewares.d.ts +1 -1
  77. package/dist/types/lib/webpack/csp-plugin.d.ts +3 -3
  78. package/dist/types/lib/webpack/helpers.d.ts +1 -1
  79. package/dist/types/lib/webpack/interceptor-middleware.d.ts +2 -2
  80. package/dist/types/lib/webpack/webpack.base.babel.d.ts +1 -1
  81. package/dist/types/lib/webpack/webpack.lib.base.babel.d.ts +1 -1
  82. package/dist/types/lib/webpack/webpack.lib.prod.babel.d.ts +1 -1
  83. package/dist/types/lib/webpack/webpack.prod.babel.d.ts +1 -1
  84. package/dist/types/lib/webpack/webpack.storybook.d.ts +1 -1
  85. package/dist/types/tsconfig.tsbuildinfo +1 -1
  86. package/lib/lint-config/commitlint.config.cjs +1 -0
  87. package/lib/lint-config/eslint/common.cjs +164 -0
  88. package/lib/lint-config/eslint/flat/common.mjs +162 -0
  89. package/lib/lint-config/eslint/flat/index.mjs +20 -0
  90. package/lib/lint-config/eslint/flat/non-react-export.mjs +10 -0
  91. package/lib/lint-config/eslint/flat/non-react.mjs +6 -0
  92. package/lib/lint-config/eslint/flat/presets.mjs +79 -0
  93. package/lib/lint-config/eslint/flat/react-export.mjs +7 -0
  94. package/lib/lint-config/eslint/flat/react.mjs +60 -0
  95. package/lib/lint-config/eslint/flat/rules.mjs +170 -0
  96. package/lib/lint-config/eslint/non-react.cjs +14 -0
  97. package/lib/lint-config/eslint/react.cjs +26 -0
  98. package/lib/lint-config/eslint/typescript/common.cjs +49 -0
  99. package/lib/lint-config/eslint/typescript/non-react.cjs +12 -0
  100. package/lib/lint-config/eslint/typescript/react.cjs +19 -0
  101. package/lib/lint-config/lint-staged.config.js +15 -0
  102. package/lib/lint-config/prettier.config.cjs +8 -0
  103. package/lib/lint-config/stylelint.config.cjs +19 -0
  104. package/package.json +21 -22
@@ -0,0 +1,14 @@
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
+ };
@@ -0,0 +1,26 @@
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
+ };
@@ -0,0 +1,49 @@
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: true,
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
+ };
@@ -0,0 +1,12 @@
1
+
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
+ };
@@ -0,0 +1,19 @@
1
+
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
+ };
@@ -0,0 +1,15 @@
1
+ import path from "node:path";
2
+ import fs from "node:fs";
3
+
4
+ const npmClient = fs.existsSync(path.join(process.cwd(), "pnpm-lock.yaml"))
5
+ ? "pnpm"
6
+ : "npm";
7
+
8
+ export const lintStagedConfig = {
9
+ "*.{js,ts,jsx,tsx,md,mdx,html,css,json}": ["prettier --write"],
10
+ "*.{ts,tsx}": [`${npmClient} run tscheck`],
11
+ "*.{js,ts,jsx,tsx}": [
12
+ `${npmClient} run lint:fix`,
13
+ `${npmClient} run test:staged`,
14
+ ],
15
+ };
@@ -0,0 +1,8 @@
1
+ exports.prettierConfig = {
2
+ printWidth: 80,
3
+ tabWidth: 2,
4
+ useTabs: false,
5
+ semi: true,
6
+ singleQuote: true,
7
+ trailingComma: 'all',
8
+ };
@@ -0,0 +1,19 @@
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: "postcss-styled-syntax",
14
+ extends: [
15
+ "stylelint-config-recommended",
16
+ "stylelint-config-styled-components",
17
+ ],
18
+ rules: { "selector-type-no-unknown": null, "function-no-unknown": null },
19
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/pui-cli",
3
- "version": "9.0.0-alpha.1",
3
+ "version": "9.0.0-alpha.3",
4
4
  "description": "ICE MT UI Platform CLI",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/cjs/index.cjs",
@@ -27,11 +27,16 @@
27
27
  "require": "./dist/cjs/server/appRoutes.js"
28
28
  },
29
29
  "./app.tsconfig.json": "./app.tsconfig.json",
30
- "./library.tsconfig.json": "./library.tsconfig.json"
30
+ "./library.tsconfig.json": "./library.tsconfig.json",
31
+ "./eslint": {
32
+ "import": "./lib/lint-config/eslint/flat/index.mjs",
33
+ "default": "./lib/lint-config/eslint/flat/index.mjs"
34
+ }
31
35
  },
32
36
  "files": [
33
37
  "dist",
34
38
  "build",
39
+ "lib/lint-config",
35
40
  "./app.tsconfig.json",
36
41
  "./library.tsconfig.json"
37
42
  ],
@@ -75,6 +80,7 @@
75
80
  "@commitlint/cli": "~17.8.1",
76
81
  "@commitlint/config-conventional": "~17.8.1",
77
82
  "@elliemae/browserslist-config-elliemae-latest-browsers": "~1.14.4",
83
+ "@eslint/js": "~9.39.1",
78
84
  "@faker-js/faker": "~7.6.0",
79
85
  "@nrwl/cli": "~15.9.7",
80
86
  "@nrwl/tao": "~15.9.7",
@@ -94,7 +100,6 @@
94
100
  "@storybook/manager-webpack5": "~6.5.16",
95
101
  "@storybook/react": "~6.5.16",
96
102
  "@storybook/theming": "~6.5.16",
97
- "postcss-styled-syntax": "~0.7.1",
98
103
  "@svgr/webpack": "~7.0.0",
99
104
  "@swc/cli": "~0.8.1",
100
105
  "@swc/core": "1.15.21",
@@ -127,8 +132,6 @@
127
132
  "@types/webpack-bundle-analyzer": "~4.7.0",
128
133
  "@types/ws": "~8.18.1",
129
134
  "@types/yargs": "~17.0.35",
130
- "@typescript-eslint/eslint-plugin": "~5.62.0",
131
- "@typescript-eslint/parser": "~5.62.0",
132
135
  "@vitejs/plugin-react": "~4.7.0",
133
136
  "@vitest/coverage-c8": "~0.33.0",
134
137
  "@vitest/coverage-v8": "~0.34.6",
@@ -167,28 +170,20 @@
167
170
  "esbuild": "~0.28.0",
168
171
  "esbuild-loader": "~3.2.0",
169
172
  "esbuild-plugin-svgr": "~1.1.0",
170
- "eslint": "~8.57.1",
171
- "eslint-config-airbnb": "~19.0.4",
172
- "eslint-config-airbnb-base": "~15.0.0",
173
- "eslint-config-airbnb-typescript": "~17.1.0",
174
- "eslint-config-prettier": "~8.10.2",
175
- "eslint-config-react-app": "~7.0.1",
176
- "eslint-import-resolver-babel-module": "~5.3.2",
177
- "eslint-import-resolver-typescript": "~3.10.1",
178
- "eslint-import-resolver-webpack": "~0.13.11",
179
- "eslint-plugin-compat": "~4.2.0",
173
+ "eslint": "~9.39.1",
174
+ "eslint-config-prettier": "~10.1.8",
175
+ "eslint-import-resolver-typescript": "~4.4.4",
180
176
  "eslint-plugin-eslint-comments": "~3.2.0",
181
- "eslint-plugin-import": "~2.32.0",
182
- "eslint-plugin-jest": "~27.9.0",
183
- "eslint-plugin-jsdoc": "~43.2.0",
177
+ "eslint-plugin-import-x": "~4.16.1",
178
+ "eslint-plugin-jest": "~29.0.1",
179
+ "eslint-plugin-jsdoc": "~50.8.0",
184
180
  "eslint-plugin-jsx-a11y": "~6.10.2",
185
- "eslint-plugin-mdx": "~2.3.4",
186
- "eslint-plugin-prettier": "~4.2.5",
181
+ "eslint-plugin-mdx": "~3.6.2",
187
182
  "eslint-plugin-react": "~7.37.5",
188
- "eslint-plugin-react-hooks": "~4.6.2",
183
+ "eslint-plugin-react-hooks": "~5.2.0",
189
184
  "eslint-plugin-redux-saga": "~1.3.2",
190
185
  "eslint-plugin-storybook": "~0.12.0",
191
- "eslint-plugin-testing-library": "~5.11.1",
186
+ "eslint-plugin-testing-library": "~7.4.0",
192
187
  "eslint-plugin-wdio": "~8.37.0",
193
188
  "execa": "~7.2.0",
194
189
  "express": "~4.22.1",
@@ -199,6 +194,7 @@
199
194
  "find-up": "~6.3.0",
200
195
  "find-up-cli": "~5.0.0",
201
196
  "glob": "~11.1.0",
197
+ "globals": "~16.5.0",
202
198
  "happy-dom": "~12.10.3",
203
199
  "helmet": "~8.1.0",
204
200
  "html-loader": "~4.2.0",
@@ -238,6 +234,7 @@
238
234
  "postcss-html": "~1.8.1",
239
235
  "postcss-loader": "~7.3.4",
240
236
  "postcss-preset-env": "9.6.0",
237
+ "postcss-styled-syntax": "~0.7.1",
241
238
  "prettier": "~2.8.8",
242
239
  "prisma": "~4.16.2",
243
240
  "pug": "~3.0.4",
@@ -267,6 +264,7 @@
267
264
  "tsx": "~4.21.0",
268
265
  "typedoc": "~0.28.19",
269
266
  "typescript": "5.9.3",
267
+ "typescript-eslint": "~8.46.2",
270
268
  "update-notifier": "~6.0.2",
271
269
  "url-loader": "~4.1.1",
272
270
  "uuid": "~9.0.1",
@@ -287,6 +285,7 @@
287
285
  "devDependencies": {
288
286
  "@docusaurus/types": "~3.9.2",
289
287
  "@elliemae/pui-doc-gen": "~3.7.2",
288
+ "eslint-plugin-prettier": "~5.5.5",
290
289
  "react": "~18.3.1",
291
290
  "react-dom": "~18.3.1",
292
291
  "redux": "~4.2.1",