@elliemae/pui-cli 7.27.1 → 8.0.0-next.10
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/README.md +0 -1
- package/{dist/esm/typescript/app.tsconfig.json → app.tsconfig.json} +2 -2
- package/dist/cjs/cli.js +14 -12
- package/dist/cjs/commands/build.js +8 -7
- package/dist/cjs/commands/codemod.js +6 -8
- package/dist/cjs/commands/gendoc.js +1 -1
- package/dist/cjs/commands/lint.js +20 -22
- package/dist/cjs/commands/pack.js +24 -19
- package/dist/cjs/commands/start.js +10 -9
- package/dist/cjs/commands/storybook.js +18 -17
- package/dist/cjs/commands/test.js +36 -30
- package/dist/cjs/commands/tscheck.js +8 -7
- package/dist/cjs/commands/utils.js +11 -6
- package/dist/cjs/commands/version.js +20 -18
- package/dist/cjs/commands/vitest.js +31 -27
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/lint-config/eslint/common.cjs +88 -85
- package/dist/cjs/lint-config/stylelint.config.cjs +1 -1
- package/dist/cjs/monorepo/delete-merged-tags.js +1 -1
- package/dist/cjs/monorepo/set-registry-version.js +2 -2
- package/dist/cjs/monorepo/set-workspace-version.js +2 -2
- package/dist/cjs/monorepo/utils.js +54 -0
- package/dist/cjs/release.config.cjs +0 -7
- package/dist/cjs/server/appRoutes.js +75 -0
- package/dist/cjs/server/csp.js +3 -4
- package/dist/cjs/server/index.js +13 -11
- package/dist/cjs/server/middlewares.js +7 -4
- package/dist/cjs/server/utils.js +1 -1
- package/dist/cjs/testing/setup-test-env.js +5 -24
- package/dist/cjs/testing/vitest.config.js +1 -1
- package/dist/cjs/transpile/esbuild.js +1 -1
- package/dist/cjs/utils.js +50 -0
- package/dist/cjs/webpack/helpers.js +3 -3
- package/dist/cjs/webpack/webpack.base.babel.js +3 -12
- package/dist/cjs/webpack/webpack.dev.babel.js +10 -7
- package/dist/cjs/webpack/webpack.lib.base.babel.js +4 -7
- package/dist/cjs/webpack/webpack.lib.dev.babel.js +1 -0
- package/dist/cjs/webpack/webpack.lib.prod.babel.js +1 -1
- package/dist/cjs/webpack/webpack.prod.babel.js +8 -16
- package/dist/cjs/webpack/webpack.storybook.js +27 -20
- package/dist/esm/cli.js +14 -12
- package/dist/esm/commands/build.js +8 -7
- package/dist/esm/commands/codemod.js +6 -8
- package/dist/esm/commands/gendoc.js +1 -1
- package/dist/esm/commands/lint.js +26 -22
- package/dist/esm/commands/pack.js +31 -19
- package/dist/esm/commands/start.js +10 -9
- package/dist/esm/commands/storybook.js +18 -17
- package/dist/esm/commands/test.js +36 -30
- package/dist/esm/commands/tscheck.js +8 -7
- package/dist/esm/commands/utils.js +10 -5
- package/dist/esm/commands/version.js +20 -18
- package/dist/esm/commands/vitest.js +31 -27
- package/dist/esm/index.cjs +0 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/lint-config/eslint/common.cjs +88 -85
- package/dist/esm/lint-config/stylelint.config.cjs +1 -1
- package/dist/esm/monorepo/delete-merged-tags.js +1 -1
- package/dist/esm/monorepo/set-registry-version.js +2 -2
- package/dist/esm/monorepo/set-workspace-version.js +2 -2
- package/dist/esm/monorepo/utils.js +24 -0
- package/dist/esm/release.config.cjs +0 -7
- package/dist/{cjs/server/app-routes.cjs → esm/server/appRoutes.js} +26 -23
- package/dist/esm/server/csp.js +3 -4
- package/dist/esm/server/index.js +13 -11
- package/dist/esm/server/middlewares.js +7 -4
- package/dist/esm/server/utils.js +1 -1
- package/dist/esm/testing/setup-test-env.js +5 -2
- package/dist/esm/testing/vitest.config.js +1 -1
- package/dist/esm/transpile/esbuild.js +1 -1
- package/dist/esm/utils.js +20 -0
- package/dist/esm/webpack/helpers.js +3 -3
- package/dist/esm/webpack/webpack.base.babel.js +3 -12
- package/dist/esm/webpack/webpack.dev.babel.js +10 -7
- package/dist/esm/webpack/webpack.lib.base.babel.js +4 -7
- package/dist/esm/webpack/webpack.lib.dev.babel.js +1 -0
- package/dist/esm/webpack/webpack.lib.prod.babel.js +2 -2
- package/dist/esm/webpack/webpack.prod.babel.js +9 -17
- package/dist/esm/webpack/webpack.storybook.js +27 -20
- package/dist/types/commands/build.d.ts +6 -14
- package/dist/types/commands/codemod.d.ts +6 -6
- package/dist/types/commands/gendoc.d.ts +2 -6
- package/dist/types/commands/lint.d.ts +8 -29
- package/dist/types/commands/pack.d.ts +8 -26
- package/dist/types/commands/start.d.ts +6 -13
- package/dist/types/commands/storybook.d.ts +8 -27
- package/dist/types/commands/test.d.ts +11 -39
- package/dist/types/commands/tscheck.d.ts +5 -14
- package/dist/types/commands/utils.d.ts +11 -11
- package/dist/types/commands/version.d.ts +9 -28
- package/dist/types/commands/vitest.d.ts +10 -35
- package/dist/types/index.d.cts +1 -2
- package/dist/types/index.d.ts +11 -11
- package/dist/types/lint-config/eslint/common.d.cts +58 -55
- package/dist/types/lint-config/eslint/non-react.d.cts +34 -31
- package/dist/types/lint-config/eslint/react.d.cts +58 -55
- package/dist/types/lint-config/eslint/typescript/non-react.d.cts +28 -28
- package/dist/types/lint-config/eslint/typescript/react.d.cts +52 -52
- package/dist/types/lint-config/stylelint.config.d.cts +0 -1
- package/dist/types/monorepo/delete-merged-tags.d.ts +1 -1
- package/dist/types/monorepo/set-registry-version.d.ts +1 -1
- package/dist/types/monorepo/set-workspace-version.d.ts +1 -1
- package/dist/types/monorepo/utils.d.ts +1 -0
- package/dist/types/release.config.d.cts +0 -2
- package/dist/types/server/appRoutes.d.ts +2 -0
- package/dist/types/server/csp.d.ts +12 -9
- package/dist/types/server/logger.d.ts +7 -4
- package/dist/types/server/middlewares.d.ts +6 -2
- package/dist/types/server/utils.d.ts +3 -3
- package/dist/types/testing/jest.config.d.cts +10 -10
- package/dist/types/testing/jest.node.config.d.cts +10 -10
- package/dist/types/testing/vitest.config.d.ts +1 -1
- package/dist/types/utils.d.ts +4 -0
- package/dist/types/webpack/helpers.d.ts +19 -18
- package/dist/types/webpack/webpack.base.babel.d.ts +3 -106
- package/dist/types/webpack/webpack.dev.babel.d.ts +2 -1
- package/dist/types/webpack/webpack.lib.base.babel.d.ts +3 -102
- package/dist/types/webpack/webpack.lib.dev.babel.d.ts +3 -101
- package/dist/types/webpack/webpack.lib.prod.babel.d.ts +2 -101
- package/dist/types/webpack/webpack.prod.babel.d.ts +3 -2
- package/dist/types/webpack/webpack.storybook.d.ts +5 -4
- package/{dist/cjs/typescript/library.tsconfig.json → library.tsconfig.json} +3 -3
- package/package.json +74 -51
- package/dist/cjs/typescript/app.tsconfig.json +0 -23
- package/dist/esm/server/app-routes.cjs +0 -42
- package/dist/esm/typescript/library.tsconfig.json +0 -23
- package/dist/types/server/app-routes.d.cts +0 -1
|
@@ -8,9 +8,25 @@ const buildStoryBook = async (outputDir = "demo", isDoc = false) => {
|
|
|
8
8
|
};
|
|
9
9
|
const startStoryBook = async (isDoc = false) => {
|
|
10
10
|
await exec(
|
|
11
|
-
`cross-env NODE_ENV=development STORYBOOK_BUILD=true start-storybook ${isDoc
|
|
11
|
+
`cross-env NODE_ENV=development STORYBOOK_BUILD=true start-storybook ${isDoc ? "--docs" : ""} -p 11000 --quiet`
|
|
12
12
|
);
|
|
13
13
|
};
|
|
14
|
+
const cmdArgs = {
|
|
15
|
+
build: {
|
|
16
|
+
boolean: true,
|
|
17
|
+
alias: "b",
|
|
18
|
+
default: false
|
|
19
|
+
},
|
|
20
|
+
docs: {
|
|
21
|
+
boolean: true,
|
|
22
|
+
default: false
|
|
23
|
+
},
|
|
24
|
+
output: {
|
|
25
|
+
string: true,
|
|
26
|
+
alias: "o",
|
|
27
|
+
default: "demo"
|
|
28
|
+
}
|
|
29
|
+
};
|
|
14
30
|
const storybookCmd = {
|
|
15
31
|
handler: async (argv) => {
|
|
16
32
|
try {
|
|
@@ -28,22 +44,7 @@ const storybookCmd = {
|
|
|
28
44
|
},
|
|
29
45
|
command: "storybook [options]",
|
|
30
46
|
describe: "story book application code",
|
|
31
|
-
builder:
|
|
32
|
-
build: {
|
|
33
|
-
alias: "b",
|
|
34
|
-
type: "boolean",
|
|
35
|
-
default: false
|
|
36
|
-
},
|
|
37
|
-
docs: {
|
|
38
|
-
type: "boolean",
|
|
39
|
-
default: false
|
|
40
|
-
},
|
|
41
|
-
output: {
|
|
42
|
-
alias: "o",
|
|
43
|
-
type: "string",
|
|
44
|
-
default: "demo"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
47
48
|
};
|
|
48
49
|
export {
|
|
49
50
|
storybookCmd
|
|
@@ -8,6 +8,38 @@ const debugTest = async () => {
|
|
|
8
8
|
`node --inspect-brk ./node_modules/jest-cli/bin/jest.js --runInBand --watch`
|
|
9
9
|
);
|
|
10
10
|
};
|
|
11
|
+
const cmdArgs = {
|
|
12
|
+
fix: {
|
|
13
|
+
boolean: true,
|
|
14
|
+
alias: "f",
|
|
15
|
+
default: false
|
|
16
|
+
},
|
|
17
|
+
watch: {
|
|
18
|
+
boolean: true,
|
|
19
|
+
alias: "w",
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
debug: {
|
|
23
|
+
boolean: true,
|
|
24
|
+
alias: "d",
|
|
25
|
+
default: false
|
|
26
|
+
},
|
|
27
|
+
passWithNoTests: {
|
|
28
|
+
boolean: true,
|
|
29
|
+
alias: "p",
|
|
30
|
+
default: false
|
|
31
|
+
},
|
|
32
|
+
findReleatedTests: {
|
|
33
|
+
boolean: true,
|
|
34
|
+
alias: "r",
|
|
35
|
+
default: false
|
|
36
|
+
},
|
|
37
|
+
silent: {
|
|
38
|
+
boolean: true,
|
|
39
|
+
alias: "s",
|
|
40
|
+
default: false
|
|
41
|
+
}
|
|
42
|
+
};
|
|
11
43
|
const testCmd = {
|
|
12
44
|
// eslint-disable-next-line max-statements
|
|
13
45
|
handler: async (argv) => {
|
|
@@ -18,11 +50,11 @@ const testCmd = {
|
|
|
18
50
|
commandOptions = "--watchAll";
|
|
19
51
|
if (getCIEnv())
|
|
20
52
|
commandOptions += " --ci --no-colors";
|
|
21
|
-
if (argv.
|
|
53
|
+
if (argv.passWithNoTests)
|
|
22
54
|
commandOptions += " --passWithNoTests";
|
|
23
|
-
if (argv.
|
|
55
|
+
if (argv.findReleatedTests)
|
|
24
56
|
commandOptions += " --bail --findRelatedTests";
|
|
25
|
-
if (argv.
|
|
57
|
+
if (argv.silent)
|
|
26
58
|
commandOptions += " --silent";
|
|
27
59
|
try {
|
|
28
60
|
if (getCIEnv()) {
|
|
@@ -37,37 +69,11 @@ const testCmd = {
|
|
|
37
69
|
} catch (err) {
|
|
38
70
|
logError("Unit test execution failed", err);
|
|
39
71
|
yargs().exit(-1, err);
|
|
40
|
-
return -1;
|
|
41
72
|
}
|
|
42
|
-
return 0;
|
|
43
73
|
},
|
|
44
74
|
command: "test [options]",
|
|
45
75
|
describe: "unit tests application code",
|
|
46
|
-
builder:
|
|
47
|
-
fix: {
|
|
48
|
-
alias: "f",
|
|
49
|
-
type: "boolean"
|
|
50
|
-
},
|
|
51
|
-
watch: {
|
|
52
|
-
alias: "w",
|
|
53
|
-
type: "boolean"
|
|
54
|
-
},
|
|
55
|
-
debug: {
|
|
56
|
-
type: "boolean"
|
|
57
|
-
},
|
|
58
|
-
passWithNoTests: {
|
|
59
|
-
alias: "p",
|
|
60
|
-
type: "boolean"
|
|
61
|
-
},
|
|
62
|
-
findReleatedTests: {
|
|
63
|
-
alias: "r",
|
|
64
|
-
type: "boolean"
|
|
65
|
-
},
|
|
66
|
-
silent: {
|
|
67
|
-
alias: "s",
|
|
68
|
-
type: "boolean"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
76
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
71
77
|
};
|
|
72
78
|
export {
|
|
73
79
|
testCmd
|
|
@@ -5,7 +5,7 @@ import { exec, logInfo, logError } from "./utils.js";
|
|
|
5
5
|
const randomChars = () => Math.random().toString(36).slice(2);
|
|
6
6
|
const validateTypescript = async (files = []) => {
|
|
7
7
|
const tsconfigPath = path.join(process.cwd(), "tsconfig.json");
|
|
8
|
-
const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath));
|
|
8
|
+
const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath).toString());
|
|
9
9
|
const tmpTsconfigPath = path.join(
|
|
10
10
|
process.cwd(),
|
|
11
11
|
`tsconfig.${randomChars()}.json`
|
|
@@ -32,6 +32,12 @@ const validateTypescript = async (files = []) => {
|
|
|
32
32
|
fs.unlinkSync(tmpTsconfigPath);
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
+
const cmdArgs = {
|
|
36
|
+
files: {
|
|
37
|
+
array: true,
|
|
38
|
+
default: []
|
|
39
|
+
}
|
|
40
|
+
};
|
|
35
41
|
const tscheckCmd = {
|
|
36
42
|
handler: async ({ files }) => {
|
|
37
43
|
try {
|
|
@@ -44,12 +50,7 @@ const tscheckCmd = {
|
|
|
44
50
|
},
|
|
45
51
|
command: "tscheck [options]",
|
|
46
52
|
describe: "validate typescript file(s)",
|
|
47
|
-
builder:
|
|
48
|
-
files: {
|
|
49
|
-
type: "array",
|
|
50
|
-
default: []
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
53
54
|
};
|
|
54
55
|
export {
|
|
55
56
|
tscheckCmd
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { constants } from "fs";
|
|
2
|
+
import fs, { constants } from "node:fs";
|
|
3
3
|
import {
|
|
4
4
|
readFile,
|
|
5
5
|
writeFile,
|
|
@@ -44,7 +44,7 @@ const getSupportedBrowsers = async () => {
|
|
|
44
44
|
const { stdout } = await exec("npx --no-install browserslist", {
|
|
45
45
|
stdout: "pipe"
|
|
46
46
|
});
|
|
47
|
-
const browserVersions = stdout
|
|
47
|
+
const browserVersions = stdout?.toString()?.split("\n") || [];
|
|
48
48
|
return browserVersions.reduce((acc, nameVersion) => {
|
|
49
49
|
const [name, version] = nameVersion.split(" ");
|
|
50
50
|
const versionRange = version.split("-");
|
|
@@ -88,15 +88,18 @@ const writeAppInfo = async () => {
|
|
|
88
88
|
[
|
|
89
89
|
path.join(versionedPath, "info.json"),
|
|
90
90
|
path.join(process.cwd(), "build", "public", "info.json")
|
|
91
|
-
].forEach(
|
|
91
|
+
].forEach((infoPath) => {
|
|
92
|
+
writeFile(infoPath, infoJSON).then(() => {
|
|
93
|
+
}).catch((err) => console.error(err));
|
|
94
|
+
});
|
|
92
95
|
};
|
|
93
96
|
const copyDir = async (src, dest) => {
|
|
94
97
|
const entries = await readdir(src, {
|
|
95
98
|
withFileTypes: true
|
|
96
99
|
});
|
|
97
100
|
await mkdir(dest);
|
|
98
|
-
|
|
99
|
-
entries.map((entry) => {
|
|
101
|
+
await Promise.all(
|
|
102
|
+
entries.map(async (entry) => {
|
|
100
103
|
const srcPath = path.join(src, entry.name);
|
|
101
104
|
const destPath = path.join(dest, entry.name);
|
|
102
105
|
if (entry.isDirectory()) {
|
|
@@ -132,12 +135,14 @@ const isPathExist = async (pathToCheck) => {
|
|
|
132
135
|
};
|
|
133
136
|
const isApp = async () => isPathExist(path.join(process.cwd(), "app"));
|
|
134
137
|
const getCIEnv = () => process.env.CI === "true";
|
|
138
|
+
const isTypeScriptEnabled = () => fs.existsSync(path.join(process.cwd(), "tsconfig.json"));
|
|
135
139
|
export {
|
|
136
140
|
copyBuildAssetsToVersionedFolder,
|
|
137
141
|
exec,
|
|
138
142
|
getCIEnv,
|
|
139
143
|
isApp,
|
|
140
144
|
isPathExist,
|
|
145
|
+
isTypeScriptEnabled,
|
|
141
146
|
logError,
|
|
142
147
|
logInfo,
|
|
143
148
|
logSuccess,
|
|
@@ -8,11 +8,29 @@ const version = async (lernaOptions = "") => {
|
|
|
8
8
|
`cross-env NODE_ENV=production lerna version --conventional-commits --exact --create-release github --force-publish --yes ${lernaOptions}`
|
|
9
9
|
);
|
|
10
10
|
};
|
|
11
|
+
const cmdArgs = {
|
|
12
|
+
deleteTags: {
|
|
13
|
+
boolean: true,
|
|
14
|
+
default: false
|
|
15
|
+
},
|
|
16
|
+
useRegistry: {
|
|
17
|
+
boolean: true,
|
|
18
|
+
default: false
|
|
19
|
+
},
|
|
20
|
+
useWorkspace: {
|
|
21
|
+
boolean: true,
|
|
22
|
+
default: false
|
|
23
|
+
},
|
|
24
|
+
lernaOptions: {
|
|
25
|
+
string: true,
|
|
26
|
+
default: ""
|
|
27
|
+
}
|
|
28
|
+
};
|
|
11
29
|
const versionCmd = {
|
|
12
30
|
handler: async (argv) => {
|
|
13
31
|
try {
|
|
14
32
|
if (argv.deleteTags) {
|
|
15
|
-
|
|
33
|
+
deleteMergedTags();
|
|
16
34
|
} else if (argv.useRegistry) {
|
|
17
35
|
await setRegistryVersion();
|
|
18
36
|
} else if (argv.useWorkspace) {
|
|
@@ -27,23 +45,7 @@ const versionCmd = {
|
|
|
27
45
|
},
|
|
28
46
|
command: "version [options]",
|
|
29
47
|
describe: "version monorepo",
|
|
30
|
-
builder:
|
|
31
|
-
deleteTags: {
|
|
32
|
-
type: "boolean",
|
|
33
|
-
default: false
|
|
34
|
-
},
|
|
35
|
-
useRegistry: {
|
|
36
|
-
type: "boolean",
|
|
37
|
-
default: false
|
|
38
|
-
},
|
|
39
|
-
useWorkspace: {
|
|
40
|
-
type: "boolean",
|
|
41
|
-
default: false
|
|
42
|
-
},
|
|
43
|
-
lernaOptions: {
|
|
44
|
-
type: "string"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
48
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
47
49
|
};
|
|
48
50
|
export {
|
|
49
51
|
versionCmd
|
|
@@ -3,6 +3,33 @@ import { exec, logError, logSuccess, getCIEnv } from "./utils.js";
|
|
|
3
3
|
const test = async (commandOptions) => {
|
|
4
4
|
await exec(`vitest ${commandOptions}`);
|
|
5
5
|
};
|
|
6
|
+
const cmdArgs = {
|
|
7
|
+
fix: {
|
|
8
|
+
boolean: true,
|
|
9
|
+
alias: "f",
|
|
10
|
+
default: false
|
|
11
|
+
},
|
|
12
|
+
watch: {
|
|
13
|
+
boolean: true,
|
|
14
|
+
alias: "w",
|
|
15
|
+
default: false
|
|
16
|
+
},
|
|
17
|
+
passWithNoTests: {
|
|
18
|
+
boolean: true,
|
|
19
|
+
alias: "p",
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
findReleatedTests: {
|
|
23
|
+
boolean: true,
|
|
24
|
+
alias: "r",
|
|
25
|
+
default: false
|
|
26
|
+
},
|
|
27
|
+
silent: {
|
|
28
|
+
boolean: true,
|
|
29
|
+
alias: "s",
|
|
30
|
+
default: false
|
|
31
|
+
}
|
|
32
|
+
};
|
|
6
33
|
const vitestCmd = {
|
|
7
34
|
// eslint-disable-next-line max-statements
|
|
8
35
|
handler: async (argv) => {
|
|
@@ -11,11 +38,11 @@ const vitestCmd = {
|
|
|
11
38
|
commandOptions = "-u";
|
|
12
39
|
else if (argv.watch)
|
|
13
40
|
commandOptions = "--watch";
|
|
14
|
-
if (argv.
|
|
41
|
+
if (argv.passWithNoTests)
|
|
15
42
|
commandOptions += " --passWithNoTests";
|
|
16
|
-
if (argv.
|
|
43
|
+
if (argv.findReleatedTests)
|
|
17
44
|
commandOptions += " --related";
|
|
18
|
-
if (argv.
|
|
45
|
+
if (argv.silent)
|
|
19
46
|
commandOptions += " --silent";
|
|
20
47
|
try {
|
|
21
48
|
if (getCIEnv()) {
|
|
@@ -26,34 +53,11 @@ const vitestCmd = {
|
|
|
26
53
|
} catch (err) {
|
|
27
54
|
logError("Unit test execution failed", err);
|
|
28
55
|
yargs().exit(-1, err);
|
|
29
|
-
return -1;
|
|
30
56
|
}
|
|
31
|
-
return 0;
|
|
32
57
|
},
|
|
33
58
|
command: "vitest [options]",
|
|
34
59
|
describe: "unit tests application code using vitest",
|
|
35
|
-
builder:
|
|
36
|
-
fix: {
|
|
37
|
-
alias: "f",
|
|
38
|
-
type: "boolean"
|
|
39
|
-
},
|
|
40
|
-
watch: {
|
|
41
|
-
alias: "w",
|
|
42
|
-
type: "boolean"
|
|
43
|
-
},
|
|
44
|
-
passWithNoTests: {
|
|
45
|
-
alias: "p",
|
|
46
|
-
type: "boolean"
|
|
47
|
-
},
|
|
48
|
-
related: {
|
|
49
|
-
alias: "r",
|
|
50
|
-
type: "boolean"
|
|
51
|
-
},
|
|
52
|
-
silent: {
|
|
53
|
-
alias: "s",
|
|
54
|
-
type: "boolean"
|
|
55
|
-
}
|
|
56
|
-
}
|
|
60
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
57
61
|
};
|
|
58
62
|
export {
|
|
59
63
|
vitestCmd
|
package/dist/esm/index.cjs
CHANGED
|
@@ -10,7 +10,6 @@ const { prettierConfig } = require('./lint-config/prettier.config.cjs');
|
|
|
10
10
|
const { commitlintConfig } = require('./lint-config/commitlint.config.cjs');
|
|
11
11
|
const { jestConfig } = require('./testing/jest.config.cjs');
|
|
12
12
|
const { jestNodeConfig } = require('./testing/jest.node.config.cjs');
|
|
13
|
-
const { loadRoutes } = require('./server/app-routes.cjs');
|
|
14
13
|
|
|
15
14
|
module.exports = {
|
|
16
15
|
babelConfig,
|
|
@@ -21,5 +20,4 @@ module.exports = {
|
|
|
21
20
|
commitlintConfig,
|
|
22
21
|
jestConfig,
|
|
23
22
|
jestNodeConfig,
|
|
24
|
-
loadRoutes,
|
|
25
23
|
};
|
package/dist/esm/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { jestConfig } from "./testing/jest.config.cjs";
|
|
|
8
8
|
import { vitestConfig } from "./testing/vitest.config.js";
|
|
9
9
|
import { jestNodeConfig } from "./testing/jest.node.config.cjs";
|
|
10
10
|
import { lintStagedConfig } from "./lint-config/lint-staged.config.js";
|
|
11
|
-
import { loadRoutes } from "./server/
|
|
11
|
+
import { loadRoutes } from "./server/appRoutes.js";
|
|
12
12
|
export {
|
|
13
13
|
babelConfig,
|
|
14
14
|
commitlintConfig,
|
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
|
-
const prettierOptions = require(
|
|
2
|
+
const prettierOptions = require("../prettier.config.cjs");
|
|
3
3
|
// const webpackConfig = require('../../webpack/webpack.prod.babel');
|
|
4
4
|
|
|
5
5
|
exports.baseExtends = [
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
14
|
];
|
|
15
15
|
|
|
16
|
-
const basePlugins = [
|
|
16
|
+
const basePlugins = ["testing-library", "jest", "jsdoc", "wdio", "import"];
|
|
17
17
|
exports.basePlugins = basePlugins;
|
|
18
18
|
|
|
19
19
|
exports.baseOverrides = [
|
|
20
20
|
{
|
|
21
|
-
files: [
|
|
21
|
+
files: ["*.func.spec.js", "*.visual.spec.js"],
|
|
22
22
|
rules: {
|
|
23
|
-
|
|
23
|
+
"jest/valid-expect": "off",
|
|
24
24
|
},
|
|
25
25
|
},
|
|
26
26
|
];
|
|
27
27
|
|
|
28
28
|
const baseRules = {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
38
|
2,
|
|
39
39
|
{ caseSensitive: true, caseSensitiveStrict: true },
|
|
40
40
|
], // Tip: https://github.com/import-js/eslint-plugin-import/issues/1868
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
"import/no-webpack-loader-syntax": 0,
|
|
42
|
+
"import/prefer-default-export": 0,
|
|
43
|
+
"import/extensions": [
|
|
44
44
|
2,
|
|
45
|
-
|
|
45
|
+
"never",
|
|
46
46
|
{
|
|
47
|
-
json:
|
|
48
|
-
js:
|
|
47
|
+
json: "ignorePackages",
|
|
48
|
+
js: "ignorePackages",
|
|
49
49
|
},
|
|
50
50
|
],
|
|
51
51
|
indent: [
|
|
@@ -55,72 +55,72 @@ const baseRules = {
|
|
|
55
55
|
SwitchCase: 1,
|
|
56
56
|
},
|
|
57
57
|
],
|
|
58
|
-
|
|
59
|
-
complexity: [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
76
|
};
|
|
77
77
|
|
|
78
78
|
exports.baseRules = baseRules;
|
|
79
79
|
|
|
80
80
|
const reactRules = {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
"jsx-a11y/aria-props": 2,
|
|
82
|
+
"jsx-a11y/heading-has-content": 0,
|
|
83
|
+
"jsx-a11y/label-has-associated-control": [
|
|
84
84
|
2,
|
|
85
85
|
{
|
|
86
86
|
// NOTE: If this error triggers, either disable it or add
|
|
87
87
|
// your custom components, labels and attributes via these options
|
|
88
88
|
// See https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/label-has-associated-control.md
|
|
89
|
-
controlComponents: [
|
|
89
|
+
controlComponents: ["Input"],
|
|
90
90
|
},
|
|
91
91
|
],
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
110
|
1,
|
|
111
|
-
{ extensions: [
|
|
111
|
+
{ extensions: [".js", ".jsx", ".tsx", ".mdx"] },
|
|
112
112
|
],
|
|
113
|
-
|
|
113
|
+
"react/function-component-definition": [
|
|
114
114
|
2,
|
|
115
|
-
{ namedComponents:
|
|
115
|
+
{ namedComponents: "arrow-function" },
|
|
116
116
|
],
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
"redux-saga/no-yield-in-race": 2,
|
|
118
|
+
"redux-saga/yield-effects": 2,
|
|
119
119
|
};
|
|
120
120
|
exports.reactRules = reactRules;
|
|
121
121
|
|
|
122
122
|
exports.baseConfig = {
|
|
123
|
-
parser:
|
|
123
|
+
parser: "@babel/eslint-parser",
|
|
124
124
|
plugins: basePlugins,
|
|
125
125
|
env: {
|
|
126
126
|
jest: true,
|
|
@@ -129,32 +129,35 @@ exports.baseConfig = {
|
|
|
129
129
|
es2021: true,
|
|
130
130
|
},
|
|
131
131
|
parserOptions: {
|
|
132
|
-
sourceType:
|
|
132
|
+
sourceType: "module",
|
|
133
133
|
ecmaFeatures: {
|
|
134
134
|
jsx: true,
|
|
135
135
|
},
|
|
136
|
+
babelOptions: {
|
|
137
|
+
plugins: ["@babel/plugin-syntax-import-assertions"],
|
|
138
|
+
},
|
|
136
139
|
},
|
|
137
140
|
settings: {
|
|
138
141
|
react: {
|
|
139
|
-
version:
|
|
142
|
+
version: "detect",
|
|
140
143
|
},
|
|
141
144
|
jest: {
|
|
142
145
|
version: 28,
|
|
143
146
|
},
|
|
144
|
-
|
|
147
|
+
"import/resolver": {
|
|
145
148
|
node: {
|
|
146
|
-
extensions: [
|
|
149
|
+
extensions: [".js", ".jsx", ".ts", ".tsx"],
|
|
147
150
|
},
|
|
148
151
|
},
|
|
149
152
|
},
|
|
150
153
|
ignorePatterns: [
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
"/build/**/*",
|
|
155
|
+
"/dist/**/*",
|
|
156
|
+
"/reports/**/*",
|
|
157
|
+
"/coverage/**/*",
|
|
158
|
+
"/demo/**/*",
|
|
159
|
+
"/docs/**/*",
|
|
160
|
+
"/temp/**/*",
|
|
161
|
+
"**/vendor/*.js",
|
|
159
162
|
],
|
|
160
163
|
};
|
|
@@ -15,5 +15,5 @@ exports.stylelintConfig = {
|
|
|
15
15
|
'stylelint-config-recommended',
|
|
16
16
|
'stylelint-config-styled-components',
|
|
17
17
|
],
|
|
18
|
-
rules: { 'selector-type-no-unknown': null, '
|
|
18
|
+
rules: { 'selector-type-no-unknown': null, 'function-no-unknown': null },
|
|
19
19
|
};
|
|
@@ -17,7 +17,7 @@ const deleteTags = (cmd, filter) => {
|
|
|
17
17
|
const tags = result.toString().split("\n").join(" ");
|
|
18
18
|
execSync(`git tag -d ${filter ? filter(tags) : tags}`, { cwd });
|
|
19
19
|
};
|
|
20
|
-
const tagsFromOtherBranches = (tags
|
|
20
|
+
const tagsFromOtherBranches = (tags) => {
|
|
21
21
|
const regex = branchTags[branchName] || branchTags.master;
|
|
22
22
|
return tags.split(" ").filter((tagName) => isSemVersion(tagName) && !regex.test(tagName)).join(" ");
|
|
23
23
|
};
|