@elliemae/pui-cli 7.26.0 → 7.27.0-beta.2
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/cjs/cli.js +14 -12
- package/dist/cjs/commands/build.js +9 -8
- package/dist/cjs/commands/codemod.js +7 -9
- package/dist/cjs/commands/gendoc.js +2 -2
- package/dist/cjs/commands/lint.js +21 -23
- package/dist/cjs/commands/pack.js +25 -20
- package/dist/cjs/commands/start.js +11 -10
- package/dist/cjs/commands/storybook.js +19 -18
- package/dist/cjs/commands/test.js +37 -31
- package/dist/cjs/commands/tscheck.js +9 -8
- package/dist/cjs/commands/utils.js +12 -7
- package/dist/cjs/commands/version.js +21 -19
- package/dist/cjs/commands/vitest.js +32 -28
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.js +2 -2
- 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/server/appRoutes.js +74 -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/utils.js +50 -0
- package/dist/cjs/webpack/helpers.js +3 -3
- package/dist/cjs/webpack/webpack.base.babel.js +3 -10
- package/dist/cjs/webpack/webpack.dev.babel.js +11 -8
- package/dist/cjs/webpack/webpack.lib.base.babel.js +4 -5
- package/dist/cjs/webpack/webpack.lib.dev.babel.js +1 -0
- package/dist/cjs/webpack/webpack.prod.babel.js +7 -15
- package/dist/cjs/webpack/webpack.storybook.js +27 -20
- package/dist/esm/cli.js +14 -12
- package/dist/esm/commands/build.js +9 -8
- package/dist/esm/commands/codemod.js +7 -9
- package/dist/esm/commands/gendoc.js +2 -2
- package/dist/esm/commands/lint.js +27 -23
- package/dist/esm/commands/pack.js +32 -20
- package/dist/esm/commands/start.js +11 -10
- package/dist/esm/commands/storybook.js +19 -18
- package/dist/esm/commands/test.js +37 -31
- package/dist/esm/commands/tscheck.js +9 -8
- package/dist/esm/commands/utils.js +11 -6
- package/dist/esm/commands/version.js +21 -19
- package/dist/esm/commands/vitest.js +32 -28
- package/dist/esm/index.cjs +0 -2
- package/dist/esm/index.js +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/server/appRoutes.js +44 -0
- 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/utils.js +20 -0
- package/dist/esm/webpack/helpers.js +3 -3
- package/dist/esm/webpack/webpack.base.babel.js +3 -10
- package/dist/esm/webpack/webpack.dev.babel.js +11 -8
- package/dist/esm/webpack/webpack.lib.base.babel.js +4 -5
- package/dist/esm/webpack/webpack.lib.dev.babel.js +1 -0
- package/dist/esm/webpack/webpack.prod.babel.js +7 -15
- package/dist/esm/webpack/webpack.storybook.js +27 -20
- package/dist/types/commands/build.d.ts +13 -13
- package/dist/types/commands/codemod.d.ts +13 -6
- package/dist/types/commands/gendoc.d.ts +7 -6
- package/dist/types/commands/lint.d.ts +29 -29
- package/dist/types/commands/pack.d.ts +29 -26
- package/dist/types/commands/start.d.ts +17 -13
- package/dist/types/commands/storybook.d.ts +28 -27
- package/dist/types/commands/test.d.ts +47 -39
- package/dist/types/commands/tscheck.d.ts +16 -14
- package/dist/types/commands/utils.d.ts +11 -11
- package/dist/types/commands/version.d.ts +31 -28
- package/dist/types/commands/vitest.d.ts +41 -35
- package/dist/types/index.d.cts +1 -2
- package/dist/types/index.d.ts +11 -11
- 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/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/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/package.json +38 -24
- package/dist/cjs/server/app-routes.cjs +0 -42
- package/dist/esm/server/app-routes.cjs +0 -42
- package/dist/types/server/app-routes.d.cts +0 -1
|
@@ -30,11 +30,17 @@ const buildService = async () => {
|
|
|
30
30
|
srcdir: "./app",
|
|
31
31
|
outdir: "build",
|
|
32
32
|
esmOnly: true,
|
|
33
|
-
target: TARGETS.node,
|
|
33
|
+
target: [TARGETS.node],
|
|
34
34
|
injectReactShim: false,
|
|
35
35
|
skipNestedPackageJSON: true
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
|
+
const cmdArgs = {
|
|
39
|
+
service: {
|
|
40
|
+
boolean: true,
|
|
41
|
+
default: false
|
|
42
|
+
}
|
|
43
|
+
};
|
|
38
44
|
const buildCmd = {
|
|
39
45
|
handler: async ({ service = false }) => {
|
|
40
46
|
try {
|
|
@@ -50,13 +56,8 @@ const buildCmd = {
|
|
|
50
56
|
}
|
|
51
57
|
},
|
|
52
58
|
command: "build",
|
|
53
|
-
|
|
54
|
-
builder:
|
|
55
|
-
service: {
|
|
56
|
-
type: "boolean",
|
|
57
|
-
default: false
|
|
58
|
-
}
|
|
59
|
-
}
|
|
59
|
+
desc: "builds front end application or NodeJS service",
|
|
60
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
60
61
|
};
|
|
61
62
|
export {
|
|
62
63
|
buildCmd
|
|
@@ -2,7 +2,7 @@ import yargs from "yargs";
|
|
|
2
2
|
import { exec, logInfo, logError, logSuccess } from "./utils.js";
|
|
3
3
|
const transform = async (argv) => {
|
|
4
4
|
logInfo("Code modification in-progress...");
|
|
5
|
-
exec(`jscodeshift --ignore-file=.gitignore -t ${argv.transform} .`);
|
|
5
|
+
await exec(`jscodeshift --ignore-file=.gitignore -t ${argv.transform} .`);
|
|
6
6
|
};
|
|
7
7
|
const codemodCmd = {
|
|
8
8
|
handler: async (argv) => {
|
|
@@ -15,14 +15,12 @@ const codemodCmd = {
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
command: "codemod <transform>",
|
|
18
|
-
|
|
19
|
-
builder: (yargsRef) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
}
|
|
18
|
+
desc: "Transforms code",
|
|
19
|
+
builder: (yargsRef) => yargsRef.positional("transform", {
|
|
20
|
+
describe: "path to the transform file. Can be either a local path or url",
|
|
21
|
+
string: true,
|
|
22
|
+
default: "./transform.js"
|
|
23
|
+
}).help()
|
|
26
24
|
};
|
|
27
25
|
export {
|
|
28
26
|
codemodCmd
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import yargs from "yargs";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
exec,
|
|
5
|
+
logError,
|
|
6
|
+
logSuccess,
|
|
7
|
+
getCIEnv,
|
|
8
|
+
isTypeScriptEnabled
|
|
9
|
+
} from "./utils.js";
|
|
5
10
|
const lintCSS = async (fix = false) => {
|
|
6
11
|
const fixIssues = fix ? "--fix" : "";
|
|
7
12
|
await exec(
|
|
@@ -17,6 +22,23 @@ const lintJS = async (fix = false) => {
|
|
|
17
22
|
`eslint ${!getCIEnv() ? "--color" : "--no-color"} ${fixIssues} .`
|
|
18
23
|
);
|
|
19
24
|
};
|
|
25
|
+
const cmdArgs = {
|
|
26
|
+
css: {
|
|
27
|
+
boolean: true,
|
|
28
|
+
alias: "css",
|
|
29
|
+
default: true
|
|
30
|
+
},
|
|
31
|
+
js: {
|
|
32
|
+
boolean: true,
|
|
33
|
+
alias: "js",
|
|
34
|
+
default: true
|
|
35
|
+
},
|
|
36
|
+
fix: {
|
|
37
|
+
boolean: true,
|
|
38
|
+
alias: "fix",
|
|
39
|
+
default: false
|
|
40
|
+
}
|
|
41
|
+
};
|
|
20
42
|
const lintCmd = {
|
|
21
43
|
handler: async (argv) => {
|
|
22
44
|
if (argv.js) {
|
|
@@ -29,7 +51,7 @@ const lintCmd = {
|
|
|
29
51
|
} catch (err) {
|
|
30
52
|
logError("JS linting failed");
|
|
31
53
|
yargs().exit(-1, err);
|
|
32
|
-
return
|
|
54
|
+
return;
|
|
33
55
|
}
|
|
34
56
|
}
|
|
35
57
|
if (argv.css) {
|
|
@@ -40,30 +62,12 @@ const lintCmd = {
|
|
|
40
62
|
} catch (err) {
|
|
41
63
|
logError("CSS linting failed");
|
|
42
64
|
yargs().exit(-1, err);
|
|
43
|
-
return -1;
|
|
44
65
|
}
|
|
45
66
|
}
|
|
46
|
-
return 0;
|
|
47
67
|
},
|
|
48
68
|
command: "lint [options]",
|
|
49
|
-
|
|
50
|
-
builder:
|
|
51
|
-
css: {
|
|
52
|
-
alias: "css",
|
|
53
|
-
type: "boolean",
|
|
54
|
-
default: true
|
|
55
|
-
},
|
|
56
|
-
js: {
|
|
57
|
-
alias: "js",
|
|
58
|
-
type: "boolean",
|
|
59
|
-
default: true
|
|
60
|
-
},
|
|
61
|
-
fix: {
|
|
62
|
-
alias: "fix",
|
|
63
|
-
type: "boolean",
|
|
64
|
-
default: false
|
|
65
|
-
}
|
|
66
|
-
}
|
|
69
|
+
desc: "lints application code",
|
|
70
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
67
71
|
};
|
|
68
72
|
export {
|
|
69
73
|
lintCmd
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
import yargs from "yargs";
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import {
|
|
5
|
+
exec,
|
|
6
|
+
logInfo,
|
|
7
|
+
logError,
|
|
8
|
+
logSuccess,
|
|
9
|
+
getCIEnv,
|
|
10
|
+
isTypeScriptEnabled
|
|
11
|
+
} from "./utils.js";
|
|
6
12
|
import { esBuild } from "../transpile/esbuild.js";
|
|
7
13
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
14
|
const compileTypeScript = async () => {
|
|
@@ -26,7 +32,11 @@ const webBuild = async (productionBuild) => {
|
|
|
26
32
|
);
|
|
27
33
|
logInfo("Building source files for browser environment completed...");
|
|
28
34
|
};
|
|
29
|
-
const pack = async ({
|
|
35
|
+
const pack = async ({
|
|
36
|
+
production,
|
|
37
|
+
target,
|
|
38
|
+
srcPath
|
|
39
|
+
}) => {
|
|
30
40
|
logInfo("Build in-progress...");
|
|
31
41
|
await exec("rimraf ./dist");
|
|
32
42
|
if (isTypeScriptEnabled()) {
|
|
@@ -40,6 +50,23 @@ const pack = async ({ production, target, srcPath }) => {
|
|
|
40
50
|
logInfo("Building source files for nodejs environment completed.");
|
|
41
51
|
}
|
|
42
52
|
};
|
|
53
|
+
const cmdArgs = {
|
|
54
|
+
production: {
|
|
55
|
+
boolean: true,
|
|
56
|
+
alias: "p",
|
|
57
|
+
default: false
|
|
58
|
+
},
|
|
59
|
+
target: {
|
|
60
|
+
string: true,
|
|
61
|
+
alias: "t",
|
|
62
|
+
default: "",
|
|
63
|
+
description: "target environment where this library will be used. allowed values are web, node. by default libraries will be compiled for both web and nodejs environments"
|
|
64
|
+
},
|
|
65
|
+
srcPath: {
|
|
66
|
+
string: true,
|
|
67
|
+
default: "./lib"
|
|
68
|
+
}
|
|
69
|
+
};
|
|
43
70
|
const packCmd = {
|
|
44
71
|
handler: async (argv) => {
|
|
45
72
|
try {
|
|
@@ -51,23 +78,8 @@ const packCmd = {
|
|
|
51
78
|
}
|
|
52
79
|
},
|
|
53
80
|
command: "pack",
|
|
54
|
-
|
|
55
|
-
builder:
|
|
56
|
-
production: {
|
|
57
|
-
alias: "p",
|
|
58
|
-
type: "boolean",
|
|
59
|
-
default: false
|
|
60
|
-
},
|
|
61
|
-
target: {
|
|
62
|
-
alias: "t",
|
|
63
|
-
type: "string",
|
|
64
|
-
description: "target environment where this library will be used. allowed values are web, node. by default libraries will be compiled for both web and nodejs environments"
|
|
65
|
-
},
|
|
66
|
-
srcPath: {
|
|
67
|
-
type: "string",
|
|
68
|
-
default: "./lib"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
81
|
+
desc: "builds library",
|
|
82
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
71
83
|
};
|
|
72
84
|
export {
|
|
73
85
|
packCmd
|
|
@@ -5,9 +5,9 @@ import { exec, logError, logSuccess, isApp } from "./utils.js";
|
|
|
5
5
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
6
|
const startProdServer = async () => {
|
|
7
7
|
await exec(
|
|
8
|
-
`cross-env NODE_ENV=production ts-node ${path.resolve(
|
|
8
|
+
`cross-env NODE_ENV=production ts-node --esm ${path.resolve(
|
|
9
9
|
__dirname,
|
|
10
|
-
"../server"
|
|
10
|
+
"../server.ts"
|
|
11
11
|
)} --color always`
|
|
12
12
|
);
|
|
13
13
|
};
|
|
@@ -20,6 +20,13 @@ const startDevServer = async () => {
|
|
|
20
20
|
)}`
|
|
21
21
|
);
|
|
22
22
|
};
|
|
23
|
+
const cmdArgs = {
|
|
24
|
+
prod: {
|
|
25
|
+
boolean: true,
|
|
26
|
+
alias: "p",
|
|
27
|
+
default: false
|
|
28
|
+
}
|
|
29
|
+
};
|
|
23
30
|
const startCmd = {
|
|
24
31
|
handler: async (argv) => {
|
|
25
32
|
try {
|
|
@@ -35,14 +42,8 @@ const startCmd = {
|
|
|
35
42
|
}
|
|
36
43
|
},
|
|
37
44
|
command: "start [options]",
|
|
38
|
-
|
|
39
|
-
builder:
|
|
40
|
-
prod: {
|
|
41
|
-
alias: "p",
|
|
42
|
-
default: false,
|
|
43
|
-
type: "boolean"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
45
|
+
desc: "starts local web server to test the application",
|
|
46
|
+
builder: (yargsRef) => yargsRef.options(cmdArgs).help()
|
|
46
47
|
};
|
|
47
48
|
export {
|
|
48
49
|
startCmd
|
|
@@ -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 {
|
|
@@ -27,23 +43,8 @@ const storybookCmd = {
|
|
|
27
43
|
}
|
|
28
44
|
},
|
|
29
45
|
command: "storybook [options]",
|
|
30
|
-
|
|
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
|
-
}
|
|
46
|
+
desc: "story book application code",
|
|
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
|
-
|
|
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
|
-
}
|
|
75
|
+
desc: "unit tests application code",
|
|
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 {
|
|
@@ -43,13 +49,8 @@ const tscheckCmd = {
|
|
|
43
49
|
}
|
|
44
50
|
},
|
|
45
51
|
command: "tscheck [options]",
|
|
46
|
-
|
|
47
|
-
builder:
|
|
48
|
-
files: {
|
|
49
|
-
type: "array",
|
|
50
|
-
default: []
|
|
51
|
-
}
|
|
52
|
-
}
|
|
52
|
+
desc: "validate typescript file(s)",
|
|
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("-");
|
|
@@ -72,7 +72,7 @@ const getModulesInfo = async () => {
|
|
|
72
72
|
};
|
|
73
73
|
const writeAppInfo = async () => {
|
|
74
74
|
const appInfo = {
|
|
75
|
-
timestamp: new Date().toISOString(),
|
|
75
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
76
76
|
modules: await getModulesInfo(),
|
|
77
77
|
browserSupport: await getSupportedBrowsers(),
|
|
78
78
|
screenReaderSupport: [
|
|
@@ -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) {
|
|
@@ -26,24 +44,8 @@ const versionCmd = {
|
|
|
26
44
|
}
|
|
27
45
|
},
|
|
28
46
|
command: "version [options]",
|
|
29
|
-
|
|
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
|
-
}
|
|
47
|
+
desc: "version monorepo",
|
|
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
|
-
|
|
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
|
-
}
|
|
59
|
+
desc: "unit tests application code using vitest",
|
|
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,
|