@proteinjs/build 1.3.1 → 1.4.0
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/.eslintrc.js +20 -0
- package/.prettierignore +4 -0
- package/.prettierrc +8 -0
- package/CHANGELOG.md +29 -188
- package/dist/src/Github.d.ts.map +1 -1
- package/dist/src/Github.js +8 -4
- package/dist/src/Github.js.map +1 -1
- package/dist/src/bin/runBuildWorkspace.js.map +1 -1
- package/dist/src/bin/runCleanWorkspace.js.map +1 -1
- package/dist/src/bin/runLintWorkspace.d.ts +3 -0
- package/dist/src/bin/runLintWorkspace.d.ts.map +1 -0
- package/dist/src/bin/runLintWorkspace.js +6 -0
- package/dist/src/bin/runLintWorkspace.js.map +1 -0
- package/dist/src/bin/runSymlinkWorkspace.js.map +1 -1
- package/dist/src/bin/runTestWorkspace.js.map +1 -1
- package/dist/src/bin/runVersionWorkspace.js.map +1 -1
- package/dist/src/bin/runWatchWorkspace.js.map +1 -1
- package/dist/src/bin/runWorkspaceCommand.js.map +1 -1
- package/dist/src/bin/runWorkspacePackageCommand.js.map +1 -1
- package/dist/src/buildWorkspace.d.ts +1 -0
- package/dist/src/buildWorkspace.d.ts.map +1 -1
- package/dist/src/buildWorkspace.js +26 -9
- package/dist/src/buildWorkspace.js.map +1 -1
- package/dist/src/cleanWorkspace.d.ts.map +1 -1
- package/dist/src/cleanWorkspace.js.map +1 -1
- package/dist/src/lintWorkspace.d.ts +9 -0
- package/dist/src/lintWorkspace.d.ts.map +1 -0
- package/dist/src/lintWorkspace.js +134 -0
- package/dist/src/lintWorkspace.js.map +1 -0
- package/dist/src/symlinkWorkspace.d.ts.map +1 -1
- package/dist/src/symlinkWorkspace.js +2 -1
- package/dist/src/symlinkWorkspace.js.map +1 -1
- package/dist/src/testWorkspace.d.ts.map +1 -1
- package/dist/src/testWorkspace.js +2 -1
- package/dist/src/testWorkspace.js.map +1 -1
- package/dist/src/versionWorkspace.d.ts.map +1 -1
- package/dist/src/versionWorkspace.js +59 -31
- package/dist/src/versionWorkspace.js.map +1 -1
- package/dist/src/watchWorkspace.d.ts.map +1 -1
- package/dist/src/watchWorkspace.js +15 -8
- package/dist/src/watchWorkspace.js.map +1 -1
- package/dist/src/workspaceCommand.d.ts.map +1 -1
- package/dist/src/workspaceCommand.js +4 -3
- package/dist/src/workspaceCommand.js.map +1 -1
- package/dist/src/workspacePackageCommand.d.ts.map +1 -1
- package/dist/src/workspacePackageCommand.js +2 -1
- package/dist/src/workspacePackageCommand.js.map +1 -1
- package/jest.config.js +8 -17
- package/package.json +9 -3
- package/src/Github.ts +30 -27
- package/src/bin/runBuildWorkspace.ts +2 -2
- package/src/bin/runCleanWorkspace.ts +2 -2
- package/src/bin/runLintWorkspace.ts +5 -0
- package/src/bin/runSymlinkWorkspace.ts +2 -2
- package/src/bin/runTestWorkspace.ts +2 -2
- package/src/bin/runVersionWorkspace.ts +2 -2
- package/src/bin/runWatchWorkspace.ts +2 -2
- package/src/bin/runWorkspaceCommand.ts +2 -2
- package/src/bin/runWorkspacePackageCommand.ts +2 -2
- package/src/buildWorkspace.ts +37 -21
- package/src/cleanWorkspace.ts +17 -9
- package/src/lintWorkspace.ts +62 -0
- package/src/logColors.ts +1 -1
- package/src/symlinkWorkspace.ts +23 -16
- package/src/testWorkspace.ts +19 -10
- package/src/versionWorkspace.ts +173 -79
- package/src/watchWorkspace.ts +41 -24
- package/src/workspaceCommand.ts +26 -20
- package/src/workspacePackageCommand.ts +16 -11
- package/tsconfig.json +18 -22
- package/webpack.config.js +12 -12
|
@@ -89,35 +89,42 @@ var watchWorkspace = function (workspaceMetadata) { return __awaiter(void 0, voi
|
|
|
89
89
|
var localPackage = packageMap[packageName];
|
|
90
90
|
var packageDir = path.dirname(localPackage.filePath);
|
|
91
91
|
var loggingEnabledState = { loggingEnabled: false };
|
|
92
|
-
setTimeout(function () { return loggingEnabledState.loggingEnabled = true; }, loggingStartDelay);
|
|
92
|
+
setTimeout(function () { return (loggingEnabledState.loggingEnabled = true); }, loggingStartDelay);
|
|
93
93
|
var logPrefix = "[".concat(cw.color(packageName), "] ");
|
|
94
94
|
var inMultiLineLog = false;
|
|
95
95
|
var stdoutFilter = function (log) {
|
|
96
|
-
if (log.includes('File change detected. Starting incremental compilation'))
|
|
96
|
+
if (log.includes('File change detected. Starting incremental compilation')) {
|
|
97
97
|
return;
|
|
98
|
+
}
|
|
99
|
+
// eslint-disable-next-line no-control-regex
|
|
98
100
|
var filteredOutput = log.replace(/\x1Bc|\x1B\[2J\x1B\[0;0H/g, ''); // char sequence for clearing terminal
|
|
99
|
-
if (filteredOutput.includes('Watching for file changes.'))
|
|
101
|
+
if (filteredOutput.includes('Watching for file changes.')) {
|
|
100
102
|
filteredOutput = filteredOutput.replace(/^\n/, '');
|
|
101
|
-
|
|
103
|
+
}
|
|
104
|
+
if (filteredOutput.trim() == '') {
|
|
102
105
|
return;
|
|
106
|
+
}
|
|
103
107
|
// Replace newline with newline+prefix under the following conditions:
|
|
104
108
|
// 1. It is not at the start of the string (?<!^)
|
|
105
109
|
// 2. It is not at the end of the string (?!$)
|
|
106
110
|
// 3. It is not followed by another newline (?!\r?\n)
|
|
107
111
|
filteredOutput = filteredOutput.replace(/(?<!^)(\r?\n)(?!\r?\n|$)/g, "$1".concat(logPrefix));
|
|
108
|
-
if (!inMultiLineLog)
|
|
112
|
+
if (!inMultiLineLog) {
|
|
109
113
|
filteredOutput = "".concat(logPrefix).concat(filteredOutput);
|
|
110
|
-
|
|
114
|
+
}
|
|
115
|
+
if (filteredOutput.endsWith('\n') || filteredOutput.endsWith('\r\n')) {
|
|
111
116
|
inMultiLineLog = false;
|
|
112
|
-
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
113
119
|
inMultiLineLog = true;
|
|
120
|
+
}
|
|
114
121
|
return filteredOutput;
|
|
115
122
|
};
|
|
116
123
|
(0, util_node_1.cmd)('npm', ['run', 'watch'], { cwd: packageDir }, {
|
|
117
124
|
omitLogs: {
|
|
118
125
|
stdout: {
|
|
119
126
|
filter: stdoutFilter,
|
|
120
|
-
}
|
|
127
|
+
},
|
|
121
128
|
},
|
|
122
129
|
});
|
|
123
130
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchWorkspace.js","sourceRoot":"","sources":["../../src/watchWorkspace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"watchWorkspace.js","sourceRoot":"","sources":["../../src/watchWorkspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceCommand.d.ts","sourceRoot":"","sources":["../../src/workspaceCommand.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"workspaceCommand.d.ts","sourceRoot":"","sources":["../../src/workspaceCommand.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,qBA+B5B,CAAC"}
|
|
@@ -88,9 +88,9 @@ var workspaceCommand = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
88
88
|
_a = _b.sent(), packageMap = _a.packageMap, sortedPackageNames = _a.sortedPackageNames;
|
|
89
89
|
skippedPackages = ['root'];
|
|
90
90
|
filteredPackageNames = sortedPackageNames.filter(function (packageName) {
|
|
91
|
-
return hasScript(command, packageName, packageMap) &&
|
|
91
|
+
return (hasScript(command, packageName, packageMap) &&
|
|
92
92
|
!(args.skip && args.skip.includes(packageName)) &&
|
|
93
|
-
!skippedPackages.includes(packageName);
|
|
93
|
+
!skippedPackages.includes(packageName));
|
|
94
94
|
});
|
|
95
95
|
if (filteredPackageNames.length == 0) {
|
|
96
96
|
logger.info("> There are no packages with the `".concat(command, "` script in workspace (").concat(workspacePath, ")"));
|
|
@@ -123,8 +123,9 @@ function getArgs() {
|
|
|
123
123
|
var argsMap = (0, util_node_1.parseArgsMap)(process.argv.slice(3));
|
|
124
124
|
for (var argName in argsMap) {
|
|
125
125
|
var argValue = argsMap[argName];
|
|
126
|
-
if (argName == 'skip' && typeof argValue === 'string')
|
|
126
|
+
if (argName == 'skip' && typeof argValue === 'string') {
|
|
127
127
|
args.skip = argValue.split(',');
|
|
128
|
+
}
|
|
128
129
|
}
|
|
129
130
|
return args;
|
|
130
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceCommand.js","sourceRoot":"","sources":["../../src/workspaceCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"workspaceCommand.js","sourceRoot":"","sources":["../../src/workspaceCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspacePackageCommand.d.ts","sourceRoot":"","sources":["../../src/workspacePackageCommand.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"workspacePackageCommand.d.ts","sourceRoot":"","sources":["../../src/workspacePackageCommand.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,qBA4BnC,CAAC"}
|
|
@@ -85,8 +85,9 @@ var workspacePackageCommand = function () { return __awaiter(void 0, void 0, voi
|
|
|
85
85
|
case 1:
|
|
86
86
|
packageMap = (_a.sent()).packageMap;
|
|
87
87
|
localPackage = packageMap[packageName];
|
|
88
|
-
if (!localPackage)
|
|
88
|
+
if (!localPackage) {
|
|
89
89
|
throw new Error("Package (".concat(cw.color(packageName, logColors_1.secondaryLogColor), ") does not exist in workspace: ").concat(workspacePath));
|
|
90
|
+
}
|
|
90
91
|
packageDir = path.dirname(localPackage.filePath);
|
|
91
92
|
logger.info("Running command: ".concat(cw.color("".concat(command, " ").concat(args.join(' ')), logColors_1.secondaryLogColor)));
|
|
92
93
|
return [4 /*yield*/, (0, util_node_1.cmd)(command, args, { cwd: packageDir }, { logPrefix: "[".concat(cw.color(packageName, logColors_1.secondaryLogColor), "] ") })];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspacePackageCommand.js","sourceRoot":"","sources":["../../src/workspacePackageCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"workspacePackageCommand.js","sourceRoot":"","sources":["../../src/workspacePackageCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,kDAAyE;AACzE,wCAAyC;AACzC,yCAAiE;AAEjE;;;;;GAKG;AACI,IAAM,uBAAuB,GAAG;;;;;gBAC/B,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,EAAE,GAAG,IAAI,2BAAe,EAAE,CAAC;gBAC3B,MAAM,GAAG,IAAI,aAAM,CACvB,UAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,2BAAe,CAAC,SAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,6BAAiB,CAAC,SAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,2BAAe,CAAC,CAAE,CACjI,CAAC;gBACI,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBACb,qBAAM,uBAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAA;;gBAApE,UAAU,GAAK,CAAA,SAAqD,CAAA,WAA1D;gBACZ,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC7C,IAAI,CAAC,YAAY,EAAE;oBACjB,MAAM,IAAI,KAAK,CACb,mBAAY,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,6BAAiB,CAAC,4CAAkC,aAAa,CAAE,CACtG,CAAC;iBACH;gBAEK,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,2BAAoB,EAAE,CAAC,KAAK,CAAC,UAAG,OAAO,cAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,EAAE,6BAAiB,CAAC,CAAE,CAAC,CAAC;gBAC/F,qBAAM,IAAA,eAAG,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,WAAI,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,6BAAiB,CAAC,OAAI,EAAE,CAAC,EAAA;;gBAA9G,SAA8G,CAAC;gBAC/G,MAAM,CAAC,IAAI,CAAC,oCAA6B,EAAE,CAAC,KAAK,CAAC,UAAG,OAAO,cAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,EAAE,6BAAiB,CAAC,CAAE,CAAC,CAAC;qBACpG,CAAA,OAAO,KAAK,KAAK,CAAA,EAAjB,wBAAiB;gBACnB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBACtB,qBAAM,uBAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAA;;gBAApE,eAAe,CAAA,SAAqD,CAAA,WAA1D;gBACZ,iBAAe,YAAU,CAAC,WAAW,CAAC,CAAC;gBAC7C,qBAAM,uBAAW,CAAC,mBAAmB,CAAC,cAAY,EAAE,YAAU,EAAE,MAAM,CAAC,EAAA;;gBAAvE,SAAuE,CAAC;gBACxE,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;;;;;KAE/C,CAAC;AA5BW,QAAA,uBAAuB,2BA4BlC"}
|
package/jest.config.js
CHANGED
|
@@ -1,18 +1,9 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"ts",
|
|
11
|
-
"tsx",
|
|
12
|
-
"js",
|
|
13
|
-
"jsx",
|
|
14
|
-
"json",
|
|
15
|
-
"node"
|
|
16
|
-
],
|
|
17
|
-
"testEnvironment": "node"
|
|
18
|
-
}
|
|
2
|
+
roots: ['<rootDir>/test'],
|
|
3
|
+
transform: {
|
|
4
|
+
'^.+\\.tsx?$': 'ts-jest',
|
|
5
|
+
},
|
|
6
|
+
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
|
|
7
|
+
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
8
|
+
testEnvironment: 'node',
|
|
9
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/build",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Workspace build tools",
|
|
5
5
|
"main": "./dist/generated/index.js",
|
|
6
6
|
"types": "./dist/generated/index.d.ts",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"workspace": "dist/src/bin/runWorkspaceCommand.js",
|
|
13
13
|
"version-workspace": "dist/src/bin/runVersionWorkspace.js",
|
|
14
14
|
"workspace-package": "dist/src/bin/runWorkspacePackageCommand.js",
|
|
15
|
-
"symlink-workspace": "dist/src/bin/runSymlinkWorkspace.js"
|
|
15
|
+
"symlink-workspace": "dist/src/bin/runSymlinkWorkspace.js",
|
|
16
|
+
"lint-workspace": "dist/src/bin/runLintWorkspace.js"
|
|
16
17
|
},
|
|
17
18
|
"publishConfig": {
|
|
18
19
|
"access": "public"
|
|
@@ -45,12 +46,17 @@
|
|
|
45
46
|
"@types/jest": "29.5.5",
|
|
46
47
|
"@types/node": "20.3.1",
|
|
47
48
|
"@types/semver": "7.5.8",
|
|
49
|
+
"@typescript-eslint/eslint-plugin": "7.8.0",
|
|
50
|
+
"@typescript-eslint/parser": "7.8.0",
|
|
48
51
|
"babel-loader": "9.1.3",
|
|
52
|
+
"eslint": "8.57.0",
|
|
53
|
+
"eslint-config-prettier": "9.1.0",
|
|
54
|
+
"eslint-plugin-prettier": "5.1.3",
|
|
49
55
|
"jest": "29.7.0",
|
|
50
56
|
"ts-jest": "29.1.1",
|
|
51
57
|
"typescript": "5.2.2",
|
|
52
58
|
"webpack": "5.90.0",
|
|
53
59
|
"webpack-cli": "5.1.4"
|
|
54
60
|
},
|
|
55
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "b89d738ed65c4cd12367da0b406f44201ee5c38a"
|
|
56
62
|
}
|
package/src/Github.ts
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import { Octokit } from '@octokit/core'
|
|
2
|
-
import { Logger } from '@proteinjs/util'
|
|
3
|
-
import { LocalPackage } from '@proteinjs/util-node'
|
|
1
|
+
import { Octokit } from '@octokit/core';
|
|
2
|
+
import { Logger } from '@proteinjs/util';
|
|
3
|
+
import { LocalPackage } from '@proteinjs/util-node';
|
|
4
4
|
|
|
5
5
|
export type WorkflowRun = {
|
|
6
|
-
id: number
|
|
7
|
-
name: string
|
|
8
|
-
head_sha: string
|
|
9
|
-
status: string
|
|
10
|
-
conclusion: string|null
|
|
11
|
-
}
|
|
6
|
+
id: number;
|
|
7
|
+
name: string;
|
|
8
|
+
head_sha: string;
|
|
9
|
+
status: string;
|
|
10
|
+
conclusion: string | null;
|
|
11
|
+
};
|
|
12
12
|
|
|
13
13
|
export type Commit = {
|
|
14
|
-
owner: string
|
|
15
|
-
repo: string
|
|
16
|
-
sha: string
|
|
17
|
-
}
|
|
14
|
+
owner: string;
|
|
15
|
+
repo: string;
|
|
16
|
+
sha: string;
|
|
17
|
+
};
|
|
18
18
|
|
|
19
19
|
export class Github {
|
|
20
20
|
private logger = new Logger(this.constructor.name);
|
|
21
21
|
private authToken: string;
|
|
22
22
|
|
|
23
|
-
constructor(
|
|
24
|
-
authToken?: string
|
|
25
|
-
) {
|
|
23
|
+
constructor(authToken?: string) {
|
|
26
24
|
this.authToken = authToken ? authToken : this.getGithubToken();
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
private getGithubToken() {
|
|
30
|
-
if (process.env.GITHUB_TOKEN)
|
|
28
|
+
if (process.env.GITHUB_TOKEN) {
|
|
31
29
|
return process.env.GITHUB_TOKEN;
|
|
30
|
+
}
|
|
32
31
|
|
|
33
32
|
throw new Error(`GITHUB_TOKEN env variable not set`);
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
/**
|
|
37
36
|
* Check if the workflow run triggered by a commit resulted in packages being built and tested successfully
|
|
38
|
-
*
|
|
37
|
+
*
|
|
39
38
|
* @param workflowName the name of the workflow
|
|
40
39
|
* @param commit the commit that triggered the workflow
|
|
41
40
|
* @param timeout max time to wait for workflow completion
|
|
42
|
-
*
|
|
41
|
+
*
|
|
43
42
|
* @returns true if the ci workflow completed successfully, otherwise throws an error
|
|
44
43
|
*/
|
|
45
44
|
async repoCiPassed(workflowName: string, commit: Commit, localPackage: LocalPackage, timeout = 5 * 60 * 1000) {
|
|
46
|
-
|
|
45
|
+
const startTime = Date.now();
|
|
46
|
+
// eslint-disable-next-line no-constant-condition
|
|
47
47
|
while (true) {
|
|
48
48
|
const workflowRun = await this.getWorkflowRun(workflowName, commit);
|
|
49
49
|
if (workflowRun && workflowRun.status === 'completed') {
|
|
@@ -55,29 +55,32 @@ export class Github {
|
|
|
55
55
|
throw new Error(`Workflow run failed: ${workflowName}, for commit: ${JSON.stringify(commit)}`);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
if (Date.now() - startTime > timeout)
|
|
58
|
+
if (Date.now() - startTime > timeout) {
|
|
59
59
|
throw new Error(`Timed out checking for workflow run: ${workflowName}, for commit: ${JSON.stringify(commit)}`);
|
|
60
|
+
}
|
|
60
61
|
|
|
61
|
-
await new Promise(resolve => setTimeout(resolve, 10000));
|
|
62
|
+
await new Promise((resolve) => setTimeout(resolve, 10000));
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
private async getWorkflowRun(workflowName: string, commit: Commit): Promise<WorkflowRun|undefined> {
|
|
66
|
+
private async getWorkflowRun(workflowName: string, commit: Commit): Promise<WorkflowRun | undefined> {
|
|
66
67
|
const octokit = new Octokit({ auth: this.authToken });
|
|
67
68
|
const response = await octokit.request('GET /repos/{owner}/{repo}/actions/runs', {
|
|
68
69
|
owner: commit.owner,
|
|
69
70
|
repo: commit.repo,
|
|
70
71
|
per_page: 10,
|
|
71
72
|
});
|
|
72
|
-
const workflowRuns = response.data.workflow_runs.filter(run => {
|
|
73
|
-
if (run.head_sha !== commit.sha)
|
|
73
|
+
const workflowRuns = response.data.workflow_runs.filter((run) => {
|
|
74
|
+
if (run.head_sha !== commit.sha) {
|
|
74
75
|
return false;
|
|
76
|
+
}
|
|
75
77
|
|
|
76
|
-
if (workflowName && run.name !== workflowName)
|
|
78
|
+
if (workflowName && run.name !== workflowName) {
|
|
77
79
|
return false;
|
|
80
|
+
}
|
|
78
81
|
|
|
79
82
|
return true;
|
|
80
83
|
}) as WorkflowRun[];
|
|
81
84
|
return workflowRuns[0];
|
|
82
85
|
}
|
|
83
|
-
}
|
|
86
|
+
}
|
package/src/buildWorkspace.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import * as path from 'path'
|
|
2
|
-
import { LogColorWrapper, PackageUtil, cmd, parseArgsMap } from '@proteinjs/util-node'
|
|
3
|
-
import { Logger } from '@proteinjs/util'
|
|
4
|
-
import { primaryLogColor, secondaryLogColor } from './logColors'
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { LogColorWrapper, PackageUtil, cmd, parseArgsMap } from '@proteinjs/util-node';
|
|
3
|
+
import { Logger } from '@proteinjs/util';
|
|
4
|
+
import { primaryLogColor, secondaryLogColor } from './logColors';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Install and build workspace, in dependency order.
|
|
8
|
-
*
|
|
8
|
+
*
|
|
9
9
|
* Optional args:
|
|
10
|
-
*
|
|
10
|
+
*
|
|
11
11
|
* --no-install=@some/package,@another/package
|
|
12
12
|
* --no-build=@some/package,@another/package
|
|
13
|
+
* --no-lint=@some/package,@another/package
|
|
13
14
|
* --skip=@some/package,@another/package
|
|
14
15
|
*/
|
|
15
16
|
export async function buildWorkspace() {
|
|
@@ -19,17 +20,20 @@ export async function buildWorkspace() {
|
|
|
19
20
|
const workspacePath = process.cwd();
|
|
20
21
|
const { packageMap, sortedPackageNames } = await PackageUtil.getWorkspaceMetadata(workspacePath);
|
|
21
22
|
const skippedPackages = ['root'];
|
|
22
|
-
const filteredPackageNames = sortedPackageNames.filter(packageName => {
|
|
23
|
-
return
|
|
23
|
+
const filteredPackageNames = sortedPackageNames.filter((packageName) => {
|
|
24
|
+
return (
|
|
25
|
+
!!packageMap[packageName].packageJson.scripts?.build &&
|
|
24
26
|
!(args.skip && args.skip.includes(packageName)) &&
|
|
25
27
|
!skippedPackages.includes(packageName)
|
|
26
|
-
;
|
|
28
|
+
);
|
|
27
29
|
});
|
|
28
30
|
|
|
29
|
-
logger.info(
|
|
31
|
+
logger.info(
|
|
32
|
+
`> Installing, building, and linting ${cw.color(`${filteredPackageNames.length}`, secondaryLogColor)} package${filteredPackageNames.length != 1 ? 's' : ''} in workspace (${workspacePath})`
|
|
33
|
+
);
|
|
30
34
|
logger.debug(`packageMap:\n${JSON.stringify(packageMap, null, 2)}`, true);
|
|
31
35
|
logger.debug(`filteredPackageNames:\n${JSON.stringify(filteredPackageNames, null, 2)}`, true);
|
|
32
|
-
for (
|
|
36
|
+
for (const packageName of filteredPackageNames) {
|
|
33
37
|
const localPackage = packageMap[packageName];
|
|
34
38
|
const packageDir = path.dirname(localPackage.filePath);
|
|
35
39
|
|
|
@@ -43,29 +47,41 @@ export async function buildWorkspace() {
|
|
|
43
47
|
await cmd('npm', ['run', 'build'], { cwd: packageDir }, { logPrefix: `[${cw.color(packageName)}] ` });
|
|
44
48
|
logger.info(`Built ${cw.color(packageName)} (${packageDir})`);
|
|
45
49
|
}
|
|
50
|
+
|
|
51
|
+
if (!args.noLint || !args.noLint.includes(packageName)) {
|
|
52
|
+
await cmd('npx', ['prettier', '.', '--write'], { cwd: packageDir }, { logPrefix: `[${cw.color(packageName)}] ` });
|
|
53
|
+
await cmd('npx', ['eslint', '.', '--fix'], { cwd: packageDir }, { logPrefix: `[${cw.color(packageName)}] ` });
|
|
54
|
+
logger.info(`Linted ${cw.color(packageName)} (${packageDir})`);
|
|
55
|
+
}
|
|
46
56
|
}
|
|
47
57
|
|
|
48
|
-
logger.info(
|
|
58
|
+
logger.info(
|
|
59
|
+
`> Installed, built, and linted ${cw.color(`${filteredPackageNames.length}`, secondaryLogColor)} package${filteredPackageNames.length != 1 ? 's' : ''} in workspace (${workspacePath})`
|
|
60
|
+
);
|
|
49
61
|
}
|
|
50
62
|
|
|
51
63
|
type Args = {
|
|
52
|
-
noInstall?: string[]
|
|
53
|
-
noBuild?: string[]
|
|
54
|
-
|
|
55
|
-
|
|
64
|
+
noInstall?: string[];
|
|
65
|
+
noBuild?: string[];
|
|
66
|
+
noLint?: string[];
|
|
67
|
+
skip?: string[];
|
|
68
|
+
};
|
|
56
69
|
|
|
57
70
|
function getArgs() {
|
|
58
71
|
const args: Args = {};
|
|
59
72
|
const argsMap = parseArgsMap(process.argv.slice(2));
|
|
60
|
-
for (
|
|
73
|
+
for (const argName in argsMap) {
|
|
61
74
|
const argValue = argsMap[argName];
|
|
62
|
-
if (argName == 'no-install' && typeof argValue === 'string')
|
|
75
|
+
if (argName == 'no-install' && typeof argValue === 'string') {
|
|
63
76
|
args.noInstall = argValue.split(',');
|
|
64
|
-
else if (argName == 'no-build' && typeof argValue === 'string')
|
|
77
|
+
} else if (argName == 'no-build' && typeof argValue === 'string') {
|
|
65
78
|
args.noBuild = argValue.split(',');
|
|
66
|
-
else if (argName == '
|
|
79
|
+
} else if (argName == 'no-lint' && typeof argValue === 'string') {
|
|
80
|
+
args.noLint = argValue.split(',');
|
|
81
|
+
} else if (argName == 'skip' && typeof argValue === 'string') {
|
|
67
82
|
args.skip = argValue.split(',');
|
|
83
|
+
}
|
|
68
84
|
}
|
|
69
85
|
|
|
70
86
|
return args;
|
|
71
|
-
}
|
|
87
|
+
}
|
package/src/cleanWorkspace.ts
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
|
-
import * as path from 'path'
|
|
2
|
-
import { PackageUtil, cmd, WorkspaceMetadata } from '@proteinjs/util-node'
|
|
3
|
-
import { Logger } from '@proteinjs/util'
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { PackageUtil, cmd, WorkspaceMetadata } from '@proteinjs/util-node';
|
|
3
|
+
import { Logger } from '@proteinjs/util';
|
|
4
4
|
|
|
5
5
|
export const cleanWorkspace = async (workspaceMetadata?: WorkspaceMetadata) => {
|
|
6
6
|
const logger = new Logger('workspace:clean');
|
|
7
7
|
const workspacePath = process.cwd();
|
|
8
|
-
const { packageMap, sortedPackageNames } = workspaceMetadata
|
|
8
|
+
const { packageMap, sortedPackageNames } = workspaceMetadata
|
|
9
|
+
? workspaceMetadata
|
|
10
|
+
: await PackageUtil.getWorkspaceMetadata(workspacePath);
|
|
9
11
|
const skippedPackages = ['root'];
|
|
10
|
-
const filteredPackageNames = sortedPackageNames.filter(
|
|
12
|
+
const filteredPackageNames = sortedPackageNames.filter(
|
|
13
|
+
(packageName) => !!packageMap[packageName].packageJson.scripts?.clean && !skippedPackages.includes(packageName)
|
|
14
|
+
);
|
|
11
15
|
|
|
12
|
-
logger.info(
|
|
13
|
-
|
|
16
|
+
logger.info(
|
|
17
|
+
`> Cleaning ${filteredPackageNames.length} package${filteredPackageNames.length != 1 ? 's' : ''} in workspace (${workspacePath})`
|
|
18
|
+
);
|
|
19
|
+
for (const packageName of filteredPackageNames) {
|
|
14
20
|
const localPackage = packageMap[packageName];
|
|
15
21
|
const packageDir = path.dirname(localPackage.filePath);
|
|
16
22
|
await cmd('npm', ['run', 'clean'], { cwd: packageDir });
|
|
17
23
|
}
|
|
18
|
-
logger.info(
|
|
19
|
-
}
|
|
24
|
+
logger.info(
|
|
25
|
+
`> Finished cleaning ${filteredPackageNames.length} package${filteredPackageNames.length != 1 ? 's' : ''} in workspace (${workspacePath})`
|
|
26
|
+
);
|
|
27
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { LogColorWrapper, PackageUtil, cmd, parseArgsMap } from '@proteinjs/util-node';
|
|
3
|
+
import { Logger } from '@proteinjs/util';
|
|
4
|
+
import { primaryLogColor, secondaryLogColor } from './logColors';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Lint workspace, in dependency order.
|
|
8
|
+
*
|
|
9
|
+
* Optional args:
|
|
10
|
+
*
|
|
11
|
+
* --skip=@some/package,@another/package
|
|
12
|
+
*/
|
|
13
|
+
export async function lintWorkspace() {
|
|
14
|
+
const cw = new LogColorWrapper();
|
|
15
|
+
const logger = new Logger(cw.color('workspace:', primaryLogColor) + cw.color('build', secondaryLogColor));
|
|
16
|
+
const args = getArgs();
|
|
17
|
+
const workspacePath = process.cwd();
|
|
18
|
+
const { packageMap, sortedPackageNames } = await PackageUtil.getWorkspaceMetadata(workspacePath);
|
|
19
|
+
const skippedPackages = ['root'];
|
|
20
|
+
const filteredPackageNames = sortedPackageNames.filter((packageName) => {
|
|
21
|
+
return (
|
|
22
|
+
!!packageMap[packageName].packageJson.scripts?.build &&
|
|
23
|
+
!(args.skip && args.skip.includes(packageName)) &&
|
|
24
|
+
!skippedPackages.includes(packageName)
|
|
25
|
+
);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
logger.info(
|
|
29
|
+
`> Linting ${cw.color(`${filteredPackageNames.length}`, secondaryLogColor)} package${filteredPackageNames.length != 1 ? 's' : ''} in workspace (${workspacePath})`
|
|
30
|
+
);
|
|
31
|
+
logger.debug(`packageMap:\n${JSON.stringify(packageMap, null, 2)}`, true);
|
|
32
|
+
logger.debug(`filteredPackageNames:\n${JSON.stringify(filteredPackageNames, null, 2)}`, true);
|
|
33
|
+
for (const packageName of filteredPackageNames) {
|
|
34
|
+
const localPackage = packageMap[packageName];
|
|
35
|
+
const packageDir = path.dirname(localPackage.filePath);
|
|
36
|
+
|
|
37
|
+
await cmd('npx', ['prettier', '.', '--write'], { cwd: packageDir }, { logPrefix: `[${cw.color(packageName)}] ` });
|
|
38
|
+
await cmd('npx', ['eslint', '.', '--fix'], { cwd: packageDir }, { logPrefix: `[${cw.color(packageName)}] ` });
|
|
39
|
+
logger.info(`Linted ${cw.color(packageName)} (${packageDir})`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
logger.info(
|
|
43
|
+
`> Linted ${cw.color(`${filteredPackageNames.length}`, secondaryLogColor)} package${filteredPackageNames.length != 1 ? 's' : ''} in workspace (${workspacePath})`
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
type Args = {
|
|
48
|
+
skip?: string[];
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
function getArgs() {
|
|
52
|
+
const args: Args = {};
|
|
53
|
+
const argsMap = parseArgsMap(process.argv.slice(2));
|
|
54
|
+
for (const argName in argsMap) {
|
|
55
|
+
const argValue = argsMap[argName];
|
|
56
|
+
if (argName == 'skip' && typeof argValue === 'string') {
|
|
57
|
+
args.skip = argValue.split(',');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return args;
|
|
62
|
+
}
|
package/src/logColors.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const primaryLogColor = { r: 81, g: 0, b: 135 };
|
|
2
|
-
export const secondaryLogColor = { r: 253, g: 197, b: 0 };
|
|
2
|
+
export const secondaryLogColor = { r: 253, g: 197, b: 0 };
|