@elliemae/pui-cli 7.0.0-alpha.2 → 7.0.0-alpha.22
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.
- package/dist/cjs/babel.config.cjs +97 -0
- package/dist/cjs/cli.js +14 -12
- package/dist/cjs/{cli-commands → commands}/build.js +0 -0
- package/dist/cjs/{cli-commands → commands}/codemod.js +0 -0
- package/dist/cjs/{cli-commands → commands}/gendoc.js +1 -1
- package/dist/cjs/{cli-commands → commands}/lint.js +2 -2
- package/dist/cjs/{cli-commands → commands}/pack.js +2 -2
- package/dist/cjs/{cli-commands → commands}/start.js +0 -0
- package/dist/cjs/{cli-commands → commands}/storybook.js +0 -0
- package/dist/cjs/{cli-commands → commands}/test.js +13 -5
- package/dist/cjs/{cli-commands/tsc.js → commands/tscheck.js} +26 -44
- package/dist/cjs/{cli-commands → commands}/utils.js +0 -0
- package/dist/cjs/{cli-commands → commands}/version.js +0 -0
- package/dist/cjs/{cli-commands → commands}/vitest.js +4 -1
- package/dist/cjs/index.cjs +25 -0
- package/dist/cjs/index.js +9 -9
- package/dist/cjs/{docgen/jsdoc.conf.json → jsdoc.conf.json} +0 -0
- package/dist/cjs/lint-config/commitlint.config.cjs +1 -0
- package/dist/cjs/lint-config/eslint/common.cjs +160 -0
- package/dist/cjs/lint-config/eslint/non-react.cjs +14 -0
- package/dist/cjs/lint-config/eslint/react.cjs +26 -0
- package/dist/cjs/lint-config/eslint/typescript/common.cjs +43 -0
- package/dist/cjs/lint-config/eslint/typescript/non-react.cjs +12 -0
- package/dist/cjs/lint-config/eslint/typescript/react.cjs +19 -0
- package/dist/cjs/{lint → lint-config}/lint-staged.config.js +1 -6
- package/dist/cjs/lint-config/prettier.config.cjs +8 -0
- package/dist/cjs/lint-config/stylelint.config.cjs +19 -0
- package/dist/cjs/monorepo/set-registry-version.js +1 -1
- package/dist/cjs/monorepo/set-workspace-version.js +1 -1
- package/dist/cjs/monorepo/utils.cjs +30 -0
- package/dist/cjs/{pui-config/index.js → pui-config.js} +0 -0
- package/dist/cjs/release.config.cjs +31 -0
- package/dist/cjs/server/app-routes.cjs +42 -0
- package/dist/cjs/server/index.js +6 -5
- package/dist/cjs/server/{middlewares/index.js → middlewares.js} +18 -7
- package/dist/cjs/{typescript/util.js → server/utils.js} +11 -7
- package/dist/cjs/testing/jest.config.cjs +103 -0
- package/dist/cjs/testing/jest.node.config.cjs +8 -0
- package/dist/cjs/{typescript/tsc-files/utils.js → testing/mocks/axios.js} +18 -12
- package/dist/cjs/{scripts/helpers/checkmark.js → testing/mocks/cssModule.js} +5 -14
- package/dist/cjs/testing/mocks/html.js +23 -0
- package/dist/cjs/testing/mocks/image.js +23 -0
- package/dist/cjs/testing/mocks/matchMedia.js +43 -0
- package/dist/cjs/testing/mocks/pui-app-loader.js +24 -0
- package/dist/cjs/testing/mocks/pui-diagnostics.js +68 -0
- package/dist/cjs/testing/mocks/pui-user-monitoring.js +30 -0
- package/dist/cjs/testing/mocks/retry-axios.js +27 -0
- package/dist/cjs/{scripts/helpers/xmark.js → testing/mocks/svg.js} +8 -10
- package/dist/cjs/testing/mocks/webpack-hmr.js +24 -0
- package/dist/cjs/testing/resolver.cjs +47 -0
- package/dist/cjs/{scripts/helpers/get-npm-config.js → testing/setup-test-env.js} +4 -12
- package/dist/cjs/testing/setup-tests.js +3 -3
- package/dist/cjs/testing/vitest.config.js +15 -6
- package/dist/cjs/transpile/.swcrc +11 -0
- package/dist/cjs/transpile/esbuild.js +2 -1
- package/dist/cjs/transpile/swcrc.config.cjs +13 -0
- package/dist/cjs/{scripts/update-notifier.js → update-notifier.js} +2 -2
- package/dist/cjs/utils.cjs +23 -0
- package/dist/cjs/webpack/helpers.js +1 -1
- package/dist/cjs/webpack/webpack.base.babel.js +2 -2
- package/dist/cjs/webpack/webpack.dev.babel.js +10 -6
- package/dist/cjs/webpack/webpack.lib.base.babel.js +7 -7
- package/dist/cjs/webpack/webpack.lib.prod.babel.js +3 -3
- package/dist/cjs/webpack/webpack.prod.babel.js +2 -2
- package/dist/cjs/webpack/webpack.storybook.js +122 -0
- package/dist/esm/babel.config.cjs +97 -0
- package/dist/esm/cli.js +13 -11
- package/dist/esm/{cli-commands → commands}/build.js +0 -0
- package/dist/esm/{cli-commands → commands}/codemod.js +0 -0
- package/dist/esm/{cli-commands → commands}/gendoc.js +1 -1
- package/dist/esm/{cli-commands → commands}/lint.js +1 -1
- package/dist/esm/{cli-commands → commands}/pack.js +1 -1
- package/dist/esm/{cli-commands → commands}/start.js +0 -0
- package/dist/esm/{cli-commands → commands}/storybook.js +0 -0
- package/dist/esm/{cli-commands → commands}/test.js +13 -5
- package/dist/esm/commands/tscheck.js +65 -0
- package/dist/esm/{cli-commands → commands}/utils.js +0 -0
- package/dist/esm/{cli-commands → commands}/version.js +0 -0
- package/dist/esm/{cli-commands → commands}/vitest.js +4 -1
- package/dist/esm/index.cjs +25 -0
- package/dist/esm/index.js +8 -8
- package/dist/esm/{docgen/jsdoc.conf.json → jsdoc.conf.json} +0 -0
- package/dist/esm/lint-config/commitlint.config.cjs +1 -0
- package/dist/esm/lint-config/eslint/common.cjs +160 -0
- package/dist/esm/lint-config/eslint/non-react.cjs +14 -0
- package/dist/esm/lint-config/eslint/react.cjs +26 -0
- package/dist/esm/lint-config/eslint/typescript/common.cjs +43 -0
- package/dist/esm/lint-config/eslint/typescript/non-react.cjs +12 -0
- package/dist/esm/lint-config/eslint/typescript/react.cjs +19 -0
- package/dist/esm/{lint → lint-config}/lint-staged.config.js +1 -5
- package/dist/esm/lint-config/prettier.config.cjs +8 -0
- package/dist/esm/lint-config/stylelint.config.cjs +19 -0
- package/dist/esm/monorepo/set-registry-version.js +1 -1
- package/dist/esm/monorepo/set-workspace-version.js +1 -1
- package/dist/esm/monorepo/utils.cjs +30 -0
- package/dist/esm/{pui-config/index.js → pui-config.js} +0 -0
- package/dist/esm/release.config.cjs +31 -0
- package/dist/esm/server/app-routes.cjs +42 -0
- package/dist/esm/server/index.js +3 -2
- package/dist/esm/server/middlewares.js +46 -0
- package/dist/esm/server/utils.js +10 -0
- package/dist/esm/testing/jest.config.cjs +103 -0
- package/dist/esm/testing/jest.node.config.cjs +8 -0
- package/dist/esm/testing/mocks/axios.js +18 -0
- package/dist/esm/testing/mocks/cssModule.js +4 -0
- package/dist/esm/testing/mocks/html.js +4 -0
- package/dist/esm/testing/mocks/image.js +4 -0
- package/dist/esm/testing/mocks/matchMedia.js +24 -0
- package/dist/esm/testing/mocks/pui-app-loader.js +5 -0
- package/dist/esm/testing/mocks/pui-diagnostics.js +49 -0
- package/dist/esm/testing/mocks/pui-user-monitoring.js +11 -0
- package/dist/esm/testing/mocks/retry-axios.js +8 -0
- package/dist/esm/testing/mocks/svg.js +7 -0
- package/dist/esm/testing/mocks/webpack-hmr.js +5 -0
- package/dist/esm/testing/resolver.cjs +47 -0
- package/dist/esm/testing/setup-test-env.js +4 -0
- package/dist/esm/testing/setup-tests.js +2 -2
- package/dist/esm/testing/vitest.config.js +13 -5
- package/dist/esm/transpile/.swcrc +11 -0
- package/dist/esm/transpile/esbuild.js +2 -1
- package/dist/esm/transpile/swcrc.config.cjs +13 -0
- package/dist/esm/{scripts/update-notifier.js → update-notifier.js} +2 -2
- package/dist/esm/utils.cjs +23 -0
- package/dist/esm/webpack/helpers.js +1 -1
- package/dist/esm/webpack/webpack.base.babel.js +3 -3
- package/dist/esm/webpack/webpack.dev.babel.js +8 -5
- package/dist/esm/webpack/webpack.lib.base.babel.js +7 -12
- package/dist/esm/webpack/webpack.lib.prod.babel.js +2 -2
- package/dist/esm/webpack/webpack.prod.babel.js +2 -2
- package/dist/esm/webpack/webpack.storybook.js +102 -0
- package/dist/types/{babel/babel.config.d.cts → babel.config.d.cts} +0 -0
- package/dist/types/{cli-commands → commands}/build.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/codemod.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/gendoc.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/lint.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/pack.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/start.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/storybook.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/test.d.ts +10 -6
- package/dist/types/commands/tscheck.d.ts +14 -0
- package/dist/types/{cli-commands → commands}/utils.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/version.d.ts +0 -0
- package/dist/types/{cli-commands → commands}/vitest.d.ts +0 -0
- package/dist/types/index.d.cts +10 -0
- package/dist/types/index.d.ts +8 -8
- package/dist/types/{lint → lint-config}/commitlint.config.d.cts +0 -0
- package/dist/types/{lint → lint-config}/eslint/common.d.cts +15 -12
- package/dist/types/{lint → lint-config}/eslint/non-react.d.cts +6 -1
- package/dist/types/{lint → lint-config}/eslint/react.d.cts +6 -1
- package/dist/types/{lint → lint-config}/eslint/typescript/common.d.cts +2 -2
- package/dist/types/{lint → lint-config}/eslint/typescript/non-react.d.cts +1 -1
- package/dist/types/{lint → lint-config}/eslint/typescript/react.d.cts +1 -1
- package/dist/types/{lint → lint-config}/lint-staged.config.d.ts +0 -0
- package/dist/types/{lint → lint-config}/prettier.config.d.cts +0 -0
- package/dist/types/{lint → lint-config}/stylelint.config.d.cts +1 -0
- package/dist/types/monorepo/utils.d.cts +1 -0
- package/dist/types/{pui-config/index.d.ts → pui-config.d.ts} +0 -0
- package/dist/types/{release/release.config.d.cts → release.config.d.cts} +0 -0
- package/dist/types/server/app-routes.d.cts +1 -0
- package/dist/types/server/{middlewares/index.d.ts → middlewares.d.ts} +1 -1
- package/dist/types/server/{util/index.d.ts → utils.d.ts} +0 -1
- package/dist/types/testing/jest.config.d.cts +3 -3
- package/dist/types/testing/jest.node.config.d.cts +4 -4
- package/dist/types/testing/mocks/axios.d.ts +17 -0
- package/dist/types/testing/mocks/cssModule.d.ts +2 -0
- package/dist/types/testing/mocks/html.d.ts +2 -0
- package/dist/types/testing/mocks/image.d.ts +2 -0
- package/dist/types/testing/mocks/matchMedia.d.ts +1 -0
- package/dist/types/testing/mocks/{pui-app-loader.d.cts → pui-app-loader.d.ts} +0 -0
- package/dist/types/testing/mocks/{pui-diagnostics.d.cts → pui-diagnostics.d.ts} +0 -0
- package/dist/types/testing/mocks/{pui-user-monitoring.d.cts → pui-user-monitoring.d.ts} +0 -0
- package/dist/types/testing/mocks/{retry-axios.d.cts → retry-axios.d.ts} +0 -0
- package/dist/types/testing/mocks/{svg.d.cts → svg.d.ts} +1 -1
- package/dist/types/testing/mocks/{webpack-hmr.d.cts → webpack-hmr.d.ts} +0 -0
- package/dist/types/testing/setup-test-env.d.ts +2 -0
- package/dist/types/testing/vitest.config.d.ts +1 -1
- package/dist/types/transpile/swcrc.config.d.cts +1 -1
- package/dist/types/update-notifier.d.ts +1 -0
- package/dist/types/utils.d.cts +2 -1
- package/dist/types/webpack/helpers.d.ts +1 -1
- package/dist/types/webpack/webpack.dev.babel.d.ts +2 -1
- package/dist/types/webpack/webpack.lib.dev.babel.d.ts +1 -1
- package/dist/types/webpack/webpack.lib.prod.babel.d.ts +20 -4
- package/dist/types/webpack/webpack.prod.babel.d.ts +1 -1
- package/dist/types/webpack/{webpack.storybook.d.cts → webpack.storybook.d.ts} +0 -0
- package/package.json +98 -93
- package/dist/cjs/monorepo/utils.js +0 -34
- package/dist/cjs/scripts/helpers/progress.js +0 -35
- package/dist/cjs/scripts/npmcheckversion.js +0 -8
- package/dist/cjs/server/middlewares/addProdMiddlewares.js +0 -44
- package/dist/cjs/server/util/index.js +0 -68
- package/dist/cjs/testing/vitest.setup.js +0 -0
- package/dist/cjs/typescript/tsc-files/index.js +0 -68
- package/dist/esm/cli-commands/tsc.js +0 -83
- package/dist/esm/monorepo/utils.js +0 -12
- package/dist/esm/scripts/helpers/checkmark.js +0 -10
- package/dist/esm/scripts/helpers/get-npm-config.js +0 -5
- package/dist/esm/scripts/helpers/progress.js +0 -13
- package/dist/esm/scripts/helpers/xmark.js +0 -9
- package/dist/esm/scripts/npmcheckversion.js +0 -8
- package/dist/esm/server/middlewares/addProdMiddlewares.js +0 -22
- package/dist/esm/server/middlewares/index.js +0 -35
- package/dist/esm/server/util/index.js +0 -46
- package/dist/esm/testing/vitest.setup.js +0 -0
- package/dist/esm/typescript/tsc-files/index.js +0 -55
- package/dist/esm/typescript/tsc-files/utils.js +0 -12
- package/dist/esm/typescript/util.js +0 -6
- package/dist/types/cli-commands/tsc.d.ts +0 -20
- package/dist/types/monorepo/utils.d.ts +0 -1
- package/dist/types/scripts/helpers/checkmark.d.ts +0 -7
- package/dist/types/scripts/helpers/get-npm-config.d.ts +0 -2
- package/dist/types/scripts/helpers/progress.d.ts +0 -7
- package/dist/types/scripts/helpers/xmark.d.ts +0 -6
- package/dist/types/scripts/npmcheckversion.d.ts +0 -1
- package/dist/types/scripts/update-notifier.d.ts +0 -2
- package/dist/types/server/middlewares/addProdMiddlewares.d.ts +0 -1
- package/dist/types/testing/mocks/axios.d.cts +0 -14
- package/dist/types/testing/mocks/cssModule.d.cts +0 -2
- package/dist/types/testing/mocks/html.d.cts +0 -2
- package/dist/types/testing/mocks/image.d.cts +0 -2
- package/dist/types/testing/mocks/matchMedia.d.cts +0 -2
- package/dist/types/testing/vitest.setup.d.ts +0 -0
- package/dist/types/typescript/tsc-files/index.d.ts +0 -1
- package/dist/types/typescript/tsc-files/utils.d.ts +0 -3
- package/dist/types/typescript/util.d.ts +0 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
const { isApp } = require('./utils.cjs');
|
|
2
|
+
|
|
3
|
+
const nodeEnvPreset = {
|
|
4
|
+
modules: process.env.ES_MODULES === 'false' ? 'commonjs' : false,
|
|
5
|
+
targets: {
|
|
6
|
+
node: 'current',
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const webEnvPreset = {
|
|
11
|
+
modules: process.env.ES_MODULES === 'false' ? 'commonjs' : false,
|
|
12
|
+
useBuiltIns: 'usage',
|
|
13
|
+
corejs: { version: '3.22', proposals: true },
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const presetEnvOptions =
|
|
17
|
+
process.env.TARGET_ENV === 'node' ? nodeEnvPreset : webEnvPreset;
|
|
18
|
+
|
|
19
|
+
const config = {
|
|
20
|
+
ignore: [/\/core-js/],
|
|
21
|
+
sourceType: 'unambiguous',
|
|
22
|
+
presets: [
|
|
23
|
+
['@babel/preset-env', presetEnvOptions],
|
|
24
|
+
['@babel/preset-react', { runtime: 'automatic' }],
|
|
25
|
+
'@babel/preset-typescript',
|
|
26
|
+
],
|
|
27
|
+
plugins: [
|
|
28
|
+
[
|
|
29
|
+
'babel-plugin-module-resolver',
|
|
30
|
+
{
|
|
31
|
+
alias: {
|
|
32
|
+
'@': isApp() ? './app' : './lib',
|
|
33
|
+
},
|
|
34
|
+
stripExtensions: [],
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
['babel-plugin-styled-components', { displayName: true }],
|
|
38
|
+
['@babel/plugin-transform-runtime', { regenerator: true }],
|
|
39
|
+
'@babel/plugin-proposal-class-properties',
|
|
40
|
+
'@babel/plugin-syntax-dynamic-import',
|
|
41
|
+
'@babel/plugin-proposal-export-default-from',
|
|
42
|
+
'lodash',
|
|
43
|
+
'date-fns',
|
|
44
|
+
],
|
|
45
|
+
env: {
|
|
46
|
+
development: {
|
|
47
|
+
plugins: [
|
|
48
|
+
['babel-plugin-styled-components', { displayName: true }],
|
|
49
|
+
'@babel/plugin-transform-react-jsx-source',
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
production: {
|
|
53
|
+
plugins: [
|
|
54
|
+
['babel-plugin-styled-components', { displayName: false, pure: true }],
|
|
55
|
+
['transform-remove-console', { exclude: ['error', 'warn'] }],
|
|
56
|
+
'transform-react-remove-prop-types',
|
|
57
|
+
'@babel/plugin-transform-react-inline-elements',
|
|
58
|
+
'@babel/plugin-transform-react-constant-elements',
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
test: {
|
|
62
|
+
plugins: [
|
|
63
|
+
['babel-plugin-styled-components', { displayName: true }],
|
|
64
|
+
'@babel/plugin-transform-modules-commonjs',
|
|
65
|
+
'dynamic-import-node',
|
|
66
|
+
[
|
|
67
|
+
'babel-plugin-transform-strip-block',
|
|
68
|
+
{
|
|
69
|
+
requireDirective: true,
|
|
70
|
+
identifiers: [{ start: 'block:start', end: 'block:end' }],
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
'babel-plugin-import-remove-resource-query',
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
if (
|
|
80
|
+
process.env.STORYBOOK_BUILD !== 'true' &&
|
|
81
|
+
process.env.TARGET_ENV !== 'node'
|
|
82
|
+
) {
|
|
83
|
+
config.env?.development?.plugins?.push?.('react-refresh/babel');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// ToDo: Once ECC team migrates from webpack 3 to webpack 5 remove this strip-block plugin from commonjs output. without this they are receiving error when import.meta is used in app sdk
|
|
87
|
+
if (process.env.ES_MODULES === 'false') {
|
|
88
|
+
config.plugins.push([
|
|
89
|
+
'babel-plugin-transform-strip-block',
|
|
90
|
+
{
|
|
91
|
+
requireDirective: true,
|
|
92
|
+
identifiers: [{ start: 'block:start', end: 'block:end' }],
|
|
93
|
+
},
|
|
94
|
+
]);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
exports.babelConfig = config;
|
package/dist/cjs/cli.js
CHANGED
|
@@ -19,17 +19,18 @@ var import_node_url = require("node:url");
|
|
|
19
19
|
var import_yargs = __toESM(require("yargs"), 1);
|
|
20
20
|
var import_helpers = require("yargs/helpers");
|
|
21
21
|
var import_dotenv = require("dotenv");
|
|
22
|
-
var import_update_notifier =
|
|
23
|
-
var import_build = require("./
|
|
24
|
-
var import_pack = require("./
|
|
25
|
-
var import_start = require("./
|
|
26
|
-
var import_test = require("./
|
|
27
|
-
var import_lint = require("./
|
|
28
|
-
var import_gendoc = require("./
|
|
29
|
-
var import_codemod = require("./
|
|
30
|
-
var import_storybook = require("./
|
|
31
|
-
var import_vitest = require("./
|
|
32
|
-
var import_version = require("./
|
|
22
|
+
var import_update_notifier = require("./update-notifier.js");
|
|
23
|
+
var import_build = require("./commands/build.js");
|
|
24
|
+
var import_pack = require("./commands/pack.js");
|
|
25
|
+
var import_start = require("./commands/start.js");
|
|
26
|
+
var import_test = require("./commands/test.js");
|
|
27
|
+
var import_lint = require("./commands/lint.js");
|
|
28
|
+
var import_gendoc = require("./commands/gendoc.js");
|
|
29
|
+
var import_codemod = require("./commands/codemod.js");
|
|
30
|
+
var import_storybook = require("./commands/storybook.js");
|
|
31
|
+
var import_vitest = require("./commands/vitest.js");
|
|
32
|
+
var import_version = require("./commands/version.js");
|
|
33
|
+
var import_tscheck = require("./commands/tscheck.js");
|
|
33
34
|
const import_meta = {};
|
|
34
35
|
const __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
|
|
35
36
|
(0, import_dotenv.config)();
|
|
@@ -44,4 +45,5 @@ process.env.PATH += import_node_path.default.delimiter + import_node_path.defaul
|
|
|
44
45
|
(0, import_yargs.default)((0, import_helpers.hideBin)(process.argv)).command(import_storybook.storybookCmd).help().argv;
|
|
45
46
|
(0, import_yargs.default)((0, import_helpers.hideBin)(process.argv)).command(import_vitest.vitestCmd).help().argv;
|
|
46
47
|
(0, import_yargs.default)((0, import_helpers.hideBin)(process.argv)).command(import_version.versionCmd).help().argv;
|
|
47
|
-
(0,
|
|
48
|
+
(0, import_yargs.default)((0, import_helpers.hideBin)(process.argv)).command(import_tscheck.tscheckCmd).help().argv;
|
|
49
|
+
(0, import_update_notifier.notifyUpdates)();
|
|
File without changes
|
|
File without changes
|
|
@@ -34,7 +34,7 @@ const isApp = () => import_node_fs.default.existsSync(import_node_path.default.j
|
|
|
34
34
|
const generateDocs = async () => {
|
|
35
35
|
(0, import_utils.logInfo)("Documentation Generation inprogress...");
|
|
36
36
|
const srcPath = import_node_path.default.join(process.cwd(), isApp() ? "app" : "lib");
|
|
37
|
-
await (0, import_utils.exec)(`jsdoc ${srcPath} -r -c ${import_node_path.default.resolve(__dirname, "../
|
|
37
|
+
await (0, import_utils.exec)(`jsdoc ${srcPath} -r -c ${import_node_path.default.resolve(__dirname, "../jsdoc.conf.json")} -d docs`);
|
|
38
38
|
};
|
|
39
39
|
const gendocCmd = {
|
|
40
40
|
handler: async () => {
|
|
@@ -26,7 +26,7 @@ module.exports = __toCommonJS(lint_exports);
|
|
|
26
26
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
27
27
|
var import_yargs = __toESM(require("yargs"), 1);
|
|
28
28
|
var import_utils = require("./utils.js");
|
|
29
|
-
var
|
|
29
|
+
var import_utils2 = require("../utils.cjs");
|
|
30
30
|
const { CI = false } = process.env;
|
|
31
31
|
const lintCSS = async (fix = false) => {
|
|
32
32
|
const fixIssues = fix ? "--fix" : "";
|
|
@@ -39,7 +39,7 @@ const lintJS = async (fix = false) => {
|
|
|
39
39
|
const lintCmd = {
|
|
40
40
|
handler: async (argv) => {
|
|
41
41
|
if (argv.js) {
|
|
42
|
-
if ((0,
|
|
42
|
+
if ((0, import_utils2.isTypeScriptEnabled)())
|
|
43
43
|
await (0, import_utils.exec)("tsc --noEmit --emitDeclarationOnly false");
|
|
44
44
|
try {
|
|
45
45
|
await (0, import_utils.exec)("rimraf ./reports/eslint.json");
|
|
@@ -27,7 +27,7 @@ var import_node_path = __toESM(require("node:path"), 1);
|
|
|
27
27
|
var import_node_url = require("node:url");
|
|
28
28
|
var import_yargs = __toESM(require("yargs"), 1);
|
|
29
29
|
var import_utils = require("./utils.js");
|
|
30
|
-
var
|
|
30
|
+
var import_utils2 = require("../utils.cjs");
|
|
31
31
|
var import_esbuild = require("../transpile/esbuild.js");
|
|
32
32
|
const import_meta = {};
|
|
33
33
|
const __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
|
|
@@ -46,7 +46,7 @@ const webBuild = async (productionBuild) => {
|
|
|
46
46
|
const pack = async ({ production, target, srcPath }) => {
|
|
47
47
|
(0, import_utils.logInfo)("Build in-progress...");
|
|
48
48
|
await (0, import_utils.exec)("rimraf ./dist");
|
|
49
|
-
if ((0,
|
|
49
|
+
if ((0, import_utils2.isTypeScriptEnabled)()) {
|
|
50
50
|
await compileTypeScript();
|
|
51
51
|
}
|
|
52
52
|
if (target !== "node")
|
|
File without changes
|
|
File without changes
|
|
@@ -29,17 +29,18 @@ const { CI = false } = process.env;
|
|
|
29
29
|
const test = async (commandOptions) => {
|
|
30
30
|
await (0, import_utils.exec)(`cross-env NODE_ENV=test jest ${commandOptions}`);
|
|
31
31
|
};
|
|
32
|
+
const debugTest = async () => {
|
|
33
|
+
await (0, import_utils.exec)(`node --inspect-brk ./node_modules/jest-cli/bin/jest.js --runInBand --watch`);
|
|
34
|
+
};
|
|
32
35
|
const testCmd = {
|
|
33
36
|
handler: async (argv) => {
|
|
34
|
-
let commandOptions = "--coverage";
|
|
37
|
+
let commandOptions = "--coverage --maxWorkers=50%";
|
|
35
38
|
if (argv.fix)
|
|
36
39
|
commandOptions = "-u";
|
|
37
40
|
else if (argv.watch)
|
|
38
41
|
commandOptions = "--watchAll";
|
|
39
42
|
if (CI)
|
|
40
|
-
commandOptions += " --ci --
|
|
41
|
-
else
|
|
42
|
-
commandOptions += " --maxWorkers=50%";
|
|
43
|
+
commandOptions += " --ci --no-colors";
|
|
43
44
|
if (argv.p)
|
|
44
45
|
commandOptions += " --passWithNoTests";
|
|
45
46
|
if (argv.r)
|
|
@@ -50,7 +51,11 @@ const testCmd = {
|
|
|
50
51
|
if (CI) {
|
|
51
52
|
await (0, import_utils.exec)("rimraf ./reports");
|
|
52
53
|
}
|
|
53
|
-
|
|
54
|
+
if (argv.debug) {
|
|
55
|
+
await debugTest();
|
|
56
|
+
} else {
|
|
57
|
+
await test(commandOptions);
|
|
58
|
+
}
|
|
54
59
|
(0, import_utils.logSuccess)("Unit test execution completed");
|
|
55
60
|
} catch (err) {
|
|
56
61
|
(0, import_utils.logError)("Unit test execution failed", err);
|
|
@@ -70,6 +75,9 @@ const testCmd = {
|
|
|
70
75
|
alias: "w",
|
|
71
76
|
type: "boolean"
|
|
72
77
|
},
|
|
78
|
+
debug: {
|
|
79
|
+
type: "boolean"
|
|
80
|
+
},
|
|
73
81
|
passWithNoTests: {
|
|
74
82
|
alias: "p",
|
|
75
83
|
type: "boolean"
|
|
@@ -35,69 +35,51 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
35
35
|
};
|
|
36
36
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
37
37
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
38
|
-
var
|
|
39
|
-
__export(
|
|
40
|
-
|
|
41
|
-
validateTypescript: () => validateTypescript
|
|
38
|
+
var tscheck_exports = {};
|
|
39
|
+
__export(tscheck_exports, {
|
|
40
|
+
tscheckCmd: () => tscheckCmd
|
|
42
41
|
});
|
|
43
|
-
module.exports = __toCommonJS(
|
|
42
|
+
module.exports = __toCommonJS(tscheck_exports);
|
|
44
43
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
44
|
+
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
45
45
|
var import_yargs = __toESM(require("yargs"), 1);
|
|
46
|
-
var import_child_process = require("child_process");
|
|
47
|
-
var import_fs = __toESM(require("fs"), 1);
|
|
48
46
|
var import_utils = require("./utils.js");
|
|
49
47
|
const randomChars = () => Math.random().toString(36).slice(2);
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
const argsProjectValue = argsProjectIndex !== -1 ? args[argsProjectIndex + 1] : void 0;
|
|
55
|
-
const files = args.filter((file) => /\.(ts|tsx)$/.test(file));
|
|
56
|
-
if (files.length === 0) {
|
|
57
|
-
process.exit(0);
|
|
58
|
-
}
|
|
59
|
-
const remainingArgsToForward = args.slice().filter((arg) => !files.includes(arg));
|
|
60
|
-
if (argsProjectIndex !== -1) {
|
|
61
|
-
remainingArgsToForward.splice(argsProjectIndex, 2);
|
|
62
|
-
}
|
|
63
|
-
const tsconfigPath = argsProjectValue || resolveFromRoot("tsconfig.json");
|
|
64
|
-
const tsconfigContent = import_fs.default.readFileSync(tsconfigPath).toString();
|
|
65
|
-
let tsconfig = {};
|
|
66
|
-
eval(`tsconfig = ${tsconfigContent}`);
|
|
67
|
-
const tmpTsconfigPath = resolveFromRoot(`tsconfig.${randomChars()}.json`);
|
|
48
|
+
const validateTypescript = async (files = []) => {
|
|
49
|
+
const tsconfigPath = import_node_path.default.join(process.cwd(), "tsconfig.json");
|
|
50
|
+
const tsconfig = JSON.parse(import_node_fs.default.readFileSync(tsconfigPath));
|
|
51
|
+
const tmpTsconfigPath = import_node_path.default.join(process.cwd(), `tsconfig.${randomChars()}.json`);
|
|
68
52
|
const tmpTsconfig = __spreadProps(__spreadValues({}, tsconfig), {
|
|
69
53
|
compilerOptions: __spreadProps(__spreadValues({}, tsconfig.compilerOptions), {
|
|
70
54
|
skipLibCheck: true
|
|
71
55
|
}),
|
|
72
56
|
files,
|
|
73
|
-
include: ["
|
|
57
|
+
include: ["app", "lib"]
|
|
74
58
|
});
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
59
|
+
import_node_fs.default.writeFileSync(tmpTsconfigPath, JSON.stringify(tmpTsconfig, null, 2));
|
|
60
|
+
const tscPath = import_node_path.default.resolve(process.cwd(), `./node_modules/.bin/tsc${process.platform === "win32" ? ".cmd" : ""}`);
|
|
61
|
+
try {
|
|
62
|
+
await (0, import_utils.exec)(`${tscPath} -p ${tmpTsconfigPath} --noEmit --emitDeclarationOnly false`);
|
|
63
|
+
} finally {
|
|
64
|
+
import_node_fs.default.unlinkSync(tmpTsconfigPath);
|
|
65
|
+
}
|
|
79
66
|
};
|
|
80
|
-
const
|
|
81
|
-
handler: async (
|
|
67
|
+
const tscheckCmd = {
|
|
68
|
+
handler: async ({ files }) => {
|
|
82
69
|
try {
|
|
83
|
-
await validateTypescript(
|
|
84
|
-
(0, import_utils.logInfo)("Typescript validation
|
|
70
|
+
await validateTypescript(files);
|
|
71
|
+
(0, import_utils.logInfo)("Typescript validation completed");
|
|
85
72
|
} catch (err) {
|
|
86
73
|
(0, import_utils.logError)("Typescript validation failed", err);
|
|
87
74
|
(0, import_yargs.default)().exit(-1, err);
|
|
88
75
|
}
|
|
89
76
|
},
|
|
90
|
-
command: "
|
|
91
|
-
describe: "validate typescript
|
|
77
|
+
command: "tscheck [options]",
|
|
78
|
+
describe: "validate typescript file(s)",
|
|
92
79
|
builder: {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
default: false
|
|
97
|
-
},
|
|
98
|
-
docs: {
|
|
99
|
-
type: "boolean",
|
|
100
|
-
default: false
|
|
80
|
+
files: {
|
|
81
|
+
type: "array",
|
|
82
|
+
default: []
|
|
101
83
|
}
|
|
102
84
|
}
|
|
103
85
|
};
|
|
File without changes
|
|
File without changes
|
|
@@ -23,11 +23,14 @@ __export(vitest_exports, {
|
|
|
23
23
|
vitestCmd: () => vitestCmd
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(vitest_exports);
|
|
26
|
+
var import_node_path = __toESM(require("node:path"), 1);
|
|
27
|
+
var import_node_url = require("node:url");
|
|
26
28
|
var import_yargs = __toESM(require("yargs"), 1);
|
|
27
29
|
var import_utils = require("./utils.js");
|
|
28
30
|
const import_meta = {};
|
|
31
|
+
const __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
|
|
29
32
|
const { CI = false } = process.env;
|
|
30
|
-
const configPath =
|
|
33
|
+
const configPath = import_node_path.default.resolve(__dirname, "../testing/vitest.config.js");
|
|
31
34
|
const test = async (commandOptions) => {
|
|
32
35
|
await (0, import_utils.exec)(`cross-env FORCE_COLOR=true vitest --config ${configPath} ${commandOptions}`);
|
|
33
36
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const { babelConfig } = require('./babel.config.cjs');
|
|
2
|
+
const {
|
|
3
|
+
esConfig: eslintBaseConfig,
|
|
4
|
+
} = require('./lint-config/eslint/non-react.cjs');
|
|
5
|
+
const {
|
|
6
|
+
esReactConfig: eslintConfig,
|
|
7
|
+
} = require('./lint-config/eslint/react.cjs');
|
|
8
|
+
const { stylelintConfig } = require('./lint-config/stylelint.config.cjs');
|
|
9
|
+
const { prettierConfig } = require('./lint-config/prettier.config.cjs');
|
|
10
|
+
const { commitlintConfig } = require('./lint-config/commitlint.config.cjs');
|
|
11
|
+
const { jestConfig } = require('./testing/jest.config.cjs');
|
|
12
|
+
const { jestNodeConfig } = require('./testing/jest.node.config.cjs');
|
|
13
|
+
const { loadRoutes } = require('./server/app-routes.cjs');
|
|
14
|
+
|
|
15
|
+
module.exports = {
|
|
16
|
+
babelConfig,
|
|
17
|
+
eslintBaseConfig,
|
|
18
|
+
eslintConfig,
|
|
19
|
+
stylelintConfig,
|
|
20
|
+
prettierConfig,
|
|
21
|
+
commitlintConfig,
|
|
22
|
+
jestConfig,
|
|
23
|
+
jestNodeConfig,
|
|
24
|
+
loadRoutes,
|
|
25
|
+
};
|
package/dist/cjs/index.js
CHANGED
|
@@ -24,18 +24,18 @@ __export(lib_exports, {
|
|
|
24
24
|
jestConfig: () => import_jest_config.jestConfig,
|
|
25
25
|
jestNodeConfig: () => import_jest_node_config.jestNodeConfig,
|
|
26
26
|
lintStagedConfig: () => import_lint_staged_config.lintStagedConfig,
|
|
27
|
-
loadRoutes: () =>
|
|
27
|
+
loadRoutes: () => import_app_routes.loadRoutes,
|
|
28
28
|
prettierConfig: () => import_prettier_config.prettierConfig,
|
|
29
29
|
stylelintConfig: () => import_stylelint_config.stylelintConfig
|
|
30
30
|
});
|
|
31
31
|
module.exports = __toCommonJS(lib_exports);
|
|
32
|
-
var import_babel_config = require("./babel
|
|
33
|
-
var import_non_react = require("./lint/eslint/non-react.cjs");
|
|
34
|
-
var import_react = require("./lint/eslint/react.cjs");
|
|
35
|
-
var import_stylelint_config = require("./lint/stylelint.config.cjs");
|
|
36
|
-
var import_prettier_config = require("./lint/prettier.config.cjs");
|
|
37
|
-
var import_commitlint_config = require("./lint/commitlint.config.cjs");
|
|
32
|
+
var import_babel_config = require("./babel.config.cjs");
|
|
33
|
+
var import_non_react = require("./lint-config/eslint/non-react.cjs");
|
|
34
|
+
var import_react = require("./lint-config/eslint/react.cjs");
|
|
35
|
+
var import_stylelint_config = require("./lint-config/stylelint.config.cjs");
|
|
36
|
+
var import_prettier_config = require("./lint-config/prettier.config.cjs");
|
|
37
|
+
var import_commitlint_config = require("./lint-config/commitlint.config.cjs");
|
|
38
38
|
var import_jest_config = require("./testing/jest.config.cjs");
|
|
39
39
|
var import_jest_node_config = require("./testing/jest.node.config.cjs");
|
|
40
|
-
var import_lint_staged_config = require("./lint/lint-staged.config.js");
|
|
41
|
-
var
|
|
40
|
+
var import_lint_staged_config = require("./lint-config/lint-staged.config.js");
|
|
41
|
+
var import_app_routes = require("./server/app-routes.cjs");
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.commitlintConfig = { extends: ['@commitlint/config-conventional'] };
|
|
@@ -0,0 +1,160 @@
|
|
|
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
|
+
},
|
|
137
|
+
settings: {
|
|
138
|
+
react: {
|
|
139
|
+
version: 'detect',
|
|
140
|
+
},
|
|
141
|
+
jest: {
|
|
142
|
+
version: 28,
|
|
143
|
+
},
|
|
144
|
+
'import/resolver': {
|
|
145
|
+
node: {
|
|
146
|
+
extensions: ['.js', '.jsx', '.ts', '.tsx']
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
ignorePatterns: [
|
|
151
|
+
'/build/**/*',
|
|
152
|
+
'/dist/**/*',
|
|
153
|
+
'/reports/**/*',
|
|
154
|
+
'/coverage/**/*',
|
|
155
|
+
'/demo/**/*',
|
|
156
|
+
'/docs/**/*',
|
|
157
|
+
'/temp/**/*',
|
|
158
|
+
'**/vendor/*.js',
|
|
159
|
+
],
|
|
160
|
+
};
|
|
@@ -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,43 @@
|
|
|
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
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.tsBaseConfig = {
|
|
26
|
+
files: ['*.ts', '*.tsx'],
|
|
27
|
+
parser: '@typescript-eslint/parser',
|
|
28
|
+
plugins: ['@typescript-eslint'].concat(basePlugins),
|
|
29
|
+
parserOptions: {
|
|
30
|
+
tsconfigRootDir: process.cwd(),
|
|
31
|
+
project: 'tsconfig.json',
|
|
32
|
+
},
|
|
33
|
+
settings: {
|
|
34
|
+
'import/resolver': {
|
|
35
|
+
typescript: {
|
|
36
|
+
alwaysTryTypes: true,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
'import/parsers': {
|
|
40
|
+
'@typescript-eslint/parser': ['.ts', '.tsx'],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|