@eclipse-glsp/cli 2.2.0-next.b5aff4f.157 → 2.2.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/README.md +24 -0
- package/bin/glsp +1 -1
- package/lib/app.d.ts +0 -1
- package/lib/app.d.ts.map +1 -1
- package/lib/app.js +4 -3
- package/lib/app.js.map +1 -1
- package/lib/commands/check-header.d.ts +2 -1
- package/lib/commands/check-header.d.ts.map +1 -1
- package/lib/commands/check-header.js +34 -21
- package/lib/commands/check-header.js.map +1 -1
- package/lib/commands/coverage-report.d.ts +1 -1
- package/lib/commands/coverage-report.js +12 -9
- package/lib/commands/coverage-report.js.map +1 -1
- package/lib/commands/generate-index.d.ts +46 -0
- package/lib/commands/generate-index.d.ts.map +1 -0
- package/lib/commands/generate-index.js +172 -0
- package/lib/commands/generate-index.js.map +1 -0
- package/lib/commands/release/common.d.ts +1 -1
- package/lib/commands/release/common.js +24 -24
- package/lib/commands/release/common.js.map +1 -1
- package/lib/commands/release/release-client.js +7 -27
- package/lib/commands/release/release-client.js.map +1 -1
- package/lib/commands/release/release-eclipse-integration.d.ts +2 -2
- package/lib/commands/release/release-eclipse-integration.d.ts.map +1 -1
- package/lib/commands/release/release-eclipse-integration.js +20 -40
- package/lib/commands/release/release-eclipse-integration.js.map +1 -1
- package/lib/commands/release/release-java-server.d.ts.map +1 -1
- package/lib/commands/release/release-java-server.js +9 -29
- package/lib/commands/release/release-java-server.js.map +1 -1
- package/lib/commands/release/release-server-node.d.ts +2 -2
- package/lib/commands/release/release-server-node.d.ts.map +1 -1
- package/lib/commands/release/release-server-node.js +13 -33
- package/lib/commands/release/release-server-node.js.map +1 -1
- package/lib/commands/release/release-theia-integration.d.ts +2 -2
- package/lib/commands/release/release-theia-integration.d.ts.map +1 -1
- package/lib/commands/release/release-theia-integration.js +13 -33
- package/lib/commands/release/release-theia-integration.js.map +1 -1
- package/lib/commands/release/release-vscode-integration.d.ts +2 -2
- package/lib/commands/release/release-vscode-integration.d.ts.map +1 -1
- package/lib/commands/release/release-vscode-integration.js +13 -33
- package/lib/commands/release/release-vscode-integration.js.map +1 -1
- package/lib/commands/release/release.d.ts +1 -1
- package/lib/commands/release/release.d.ts.map +1 -1
- package/lib/commands/release/release.js +19 -16
- package/lib/commands/release/release.js.map +1 -1
- package/lib/commands/update-next.d.ts.map +1 -1
- package/lib/commands/update-next.js +9 -6
- package/lib/commands/update-next.js.map +1 -1
- package/lib/util/command-util.d.ts +2 -2
- package/lib/util/command-util.d.ts.map +1 -1
- package/lib/util/command-util.js +6 -26
- package/lib/util/command-util.js.map +1 -1
- package/lib/util/git-util.d.ts +1 -1
- package/lib/util/git-util.js +15 -35
- package/lib/util/git-util.js.map +1 -1
- package/lib/util/logger.d.ts +1 -1
- package/lib/util/logger.js +4 -4
- package/lib/util/logger.js.map +1 -1
- package/lib/util/validation-util.d.ts +0 -1
- package/lib/util/validation-util.d.ts.map +1 -1
- package/lib/util/validation-util.js +2 -3
- package/lib/util/validation-util.js.map +1 -1
- package/package.json +4 -4
- package/src/app.ts +4 -3
- package/src/commands/check-header.ts +28 -18
- package/src/commands/coverage-report.ts +2 -2
- package/src/commands/generate-index.ts +169 -0
- package/src/commands/release/common.ts +2 -2
- package/src/commands/release/release-client.ts +2 -2
- package/src/commands/release/release-eclipse-integration.ts +5 -5
- package/src/commands/release/release-java-server.ts +3 -3
- package/src/commands/release/release-server-node.ts +3 -3
- package/src/commands/release/release-theia-integration.ts +3 -3
- package/src/commands/release/release-vscode-integration.ts +3 -3
- package/src/commands/release/release.ts +3 -3
- package/src/commands/update-next.ts +3 -2
- package/src/util/command-util.ts +2 -2
- package/src/util/git-util.ts +2 -2
- package/src/util/logger.ts +1 -1
- package/src/util/validation-util.ts +1 -2
package/README.md
CHANGED
|
@@ -99,6 +99,30 @@ Options:
|
|
|
99
99
|
-h, --help display help for command
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
+
## generateIndex
|
|
103
|
+
|
|
104
|
+
Use this command to create an index file of all sources for a given directory and all it's sub directories.
|
|
105
|
+
|
|
106
|
+
```console
|
|
107
|
+
$ glsp generateIndex -h
|
|
108
|
+
Usage: glsp generateIndex [options] <rootDir>
|
|
109
|
+
|
|
110
|
+
Generate index files in a given source directory.
|
|
111
|
+
|
|
112
|
+
Arguments:
|
|
113
|
+
rootDir The source directory for index generation.
|
|
114
|
+
|
|
115
|
+
Options:
|
|
116
|
+
-s, --singleIndex Generate a single index file in the source directory instead of indices in each sub-directory (default: false)
|
|
117
|
+
-f, --forceOverwrite Overwrite existing index files and remove them if there are no entries (default: false)
|
|
118
|
+
-m, --match [match patterns...] File patterns to consider during indexing (default: ["**/*.ts","**/*.tsx"])
|
|
119
|
+
-i, --ignore [ignore patterns...] File patterns to ignore during indexing (default: ["**/*.spec.ts","**/*.spec.tsx","**/*.d.ts"])
|
|
120
|
+
-s, --style <importStyle> Import Style (choices: "commonjs", "esm", default: "commonjs")
|
|
121
|
+
--ignoreFile <ignoreFile> The file that is used to specify patterns that should be ignored during indexing (default: ".indexignore")
|
|
122
|
+
-v, --verbose Generate verbose output during generation (default: false)
|
|
123
|
+
-h, --help display help for command
|
|
124
|
+
```
|
|
125
|
+
|
|
102
126
|
## More information
|
|
103
127
|
|
|
104
128
|
For more information, please visit the [Eclipse GLSP Umbrella repository](https://github.com/eclipse-glsp/glsp) and the [Eclipse GLSP Website](https://www.eclipse.org/glsp/).
|
package/bin/glsp
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
require('../lib/app
|
|
2
|
+
require('../lib/app');
|
package/lib/app.d.ts
CHANGED
package/lib/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,eAAe,eAAe,CAAC"}
|
package/lib/app.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
"use strict";
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.COMMAND_VERSION = void 0;
|
|
5
4
|
/********************************************************************************
|
|
6
|
-
* Copyright (c) 2022 EclipseSource and others.
|
|
5
|
+
* Copyright (c) 2022-2024 EclipseSource and others.
|
|
7
6
|
*
|
|
8
7
|
* This program and the accompanying materials are made available under the
|
|
9
8
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -19,6 +18,7 @@ exports.COMMAND_VERSION = void 0;
|
|
|
19
18
|
********************************************************************************/
|
|
20
19
|
const check_header_1 = require("./commands/check-header");
|
|
21
20
|
const coverage_report_1 = require("./commands/coverage-report");
|
|
21
|
+
const generate_index_1 = require("./commands/generate-index");
|
|
22
22
|
const release_1 = require("./commands/release/release");
|
|
23
23
|
const update_next_1 = require("./commands/update-next");
|
|
24
24
|
const command_util_1 = require("./util/command-util");
|
|
@@ -29,6 +29,7 @@ const app = (0, command_util_1.baseCommand)() //
|
|
|
29
29
|
.addCommand(coverage_report_1.CoverageReportCommand)
|
|
30
30
|
.addCommand(release_1.ReleaseCommand)
|
|
31
31
|
.addCommand(check_header_1.CheckHeaderCommand)
|
|
32
|
-
.addCommand(update_next_1.UpdateNextCommand)
|
|
32
|
+
.addCommand(update_next_1.UpdateNextCommand)
|
|
33
|
+
.addCommand(generate_index_1.GenerateIndex);
|
|
33
34
|
app.parse(process.argv);
|
|
34
35
|
//# sourceMappingURL=app.js.map
|
package/lib/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,0DAA6D;AAC7D,gEAAmE;AACnE,8DAA0D;AAC1D,wDAA4D;AAC5D,wDAA2D;AAC3D,sDAAkD;AAErC,QAAA,eAAe,GAAG,YAAY,CAAC;AAE5C,MAAM,GAAG,GAAG,IAAA,0BAAW,GAAE,CAAC,EAAE;KACvB,OAAO,CAAC,uBAAe,CAAC;KACxB,IAAI,CAAC,MAAM,CAAC;KACZ,UAAU,CAAC,uCAAqB,CAAC;KACjC,UAAU,CAAC,wBAAc,CAAC;KAC1B,UAAU,CAAC,iCAAkB,CAAC;KAC9B,UAAU,CAAC,+BAAiB,CAAC;KAC7B,UAAU,CAAC,8BAAa,CAAC,CAAC;AAE/B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -14,7 +14,8 @@ export declare function handleValidationResults(rootDir: string, results: Valida
|
|
|
14
14
|
interface ValidationResult {
|
|
15
15
|
file: string;
|
|
16
16
|
violation: Violation;
|
|
17
|
+
line?: string;
|
|
17
18
|
}
|
|
18
|
-
type Violation = 'none' | 'noOrMissingHeader' | 'invalidEndYear';
|
|
19
|
+
type Violation = 'none' | 'noOrMissingHeader' | 'invalidEndYear' | 'noYear';
|
|
19
20
|
export {};
|
|
20
21
|
//# sourceMappingURL=check-header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-header.d.ts","sourceRoot":"","sources":["../../src/commands/check-header.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check-header.d.ts","sourceRoot":"","sources":["../../src/commands/check-header.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,UAAU,4CAA6C,CAAC;AAC9D,KAAK,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAO7C,eAAO,MAAM,kBAAkB,6BA0BN,CAAC;AAE1B,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAgB/E;AAoGD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CA2BvH;AA8CD,UAAU,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD,KAAK,SAAS,GAAG,MAAM,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,QAAQ,CAAC"}
|
|
@@ -22,10 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
25
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
29
|
exports.handleValidationResults = exports.checkHeaders = exports.CheckHeaderCommand = void 0;
|
|
27
30
|
/********************************************************************************
|
|
28
|
-
* Copyright (c) 2022-
|
|
31
|
+
* Copyright (c) 2022-2024 EclipseSource and others.
|
|
29
32
|
*
|
|
30
33
|
* This program and the accompanying materials are made available under the
|
|
31
34
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -45,12 +48,12 @@ const fs = __importStar(require("fs"));
|
|
|
45
48
|
const glob_1 = require("glob");
|
|
46
49
|
const minimatch = __importStar(require("minimatch"));
|
|
47
50
|
const readline = __importStar(require("readline-sync"));
|
|
48
|
-
const
|
|
51
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
49
52
|
const command_util_1 = require("../util/command-util");
|
|
50
53
|
const git_util_1 = require("../util/git-util");
|
|
54
|
+
const path = __importStar(require("path"));
|
|
51
55
|
const logger_1 = require("../util/logger");
|
|
52
56
|
const validation_util_1 = require("../util/validation-util");
|
|
53
|
-
const path = require("path");
|
|
54
57
|
const checkTypes = ['full', 'changes', 'lastCommit'];
|
|
55
58
|
const DEFAULT_EXCLUDES = ['**/@(node_modules|lib|dist|bundle)/**'];
|
|
56
59
|
const YEAR_RANGE_REGEX = /\d{4}/g;
|
|
@@ -75,7 +78,7 @@ function checkHeaders(rootDir, options) {
|
|
|
75
78
|
if (options.excludeDefaults) {
|
|
76
79
|
options.exclude.push(...DEFAULT_EXCLUDES);
|
|
77
80
|
}
|
|
78
|
-
|
|
81
|
+
shelljs_1.default.cd(rootDir);
|
|
79
82
|
const files = getFiles(rootDir, options);
|
|
80
83
|
logger_1.LOGGER.info(`Check copy right headers of ${files.length} files`);
|
|
81
84
|
if (files.length === 0) {
|
|
@@ -105,7 +108,7 @@ function getFiles(rootDir, options) {
|
|
|
105
108
|
function validate(rootDir, files, options) {
|
|
106
109
|
var _a;
|
|
107
110
|
// Derives all files with valid headers and all files with no or invalid headers
|
|
108
|
-
const filesWithHeader =
|
|
111
|
+
const filesWithHeader = shelljs_1.default.grep('-l', HEADER_PATTERN, files).stdout.trim().split('\n');
|
|
109
112
|
const noHeaders = files.filter(file => !filesWithHeader.includes(file));
|
|
110
113
|
const results = [];
|
|
111
114
|
const allFilesLength = files.length;
|
|
@@ -129,19 +132,25 @@ function validate(rootDir, files, options) {
|
|
|
129
132
|
// Create validation results for all files with valid headers
|
|
130
133
|
filesWithHeader.forEach((file, i) => {
|
|
131
134
|
printFileProgress(i + 1 + noHeadersLength, allFilesLength, `Validating ${file}`);
|
|
132
|
-
const copyrightLine =
|
|
135
|
+
const copyrightLine = shelljs_1.default.head({ '-n': 2 }, file).stdout.trim().split('\n')[1];
|
|
133
136
|
const copyRightYears = copyrightLine.match(YEAR_RANGE_REGEX);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
137
|
+
if (!copyRightYears) {
|
|
138
|
+
const result = { file, violation: 'noYear', line: copyrightLine };
|
|
139
|
+
results.push(result);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
const currentStartYear = Number.parseInt(copyRightYears[0], 10);
|
|
143
|
+
const currentEndYear = copyRightYears[1] ? Number.parseInt(copyRightYears[1], 10) : undefined;
|
|
144
|
+
const result = {
|
|
145
|
+
currentStartYear,
|
|
146
|
+
currentEndYear,
|
|
147
|
+
expectedEndYear: defaultEndYear !== null && defaultEndYear !== void 0 ? defaultEndYear : (0, git_util_1.getLastModificationDate)(file, rootDir, AUTO_FIX_MESSAGE).getFullYear(),
|
|
148
|
+
file,
|
|
149
|
+
violation: 'none'
|
|
150
|
+
};
|
|
151
|
+
validateEndYear(result);
|
|
152
|
+
results.push(result);
|
|
153
|
+
}
|
|
145
154
|
});
|
|
146
155
|
results.sort((a, b) => a.file.localeCompare(b.file));
|
|
147
156
|
process.stdout.clearLine(0);
|
|
@@ -179,7 +188,8 @@ function handleValidationResults(rootDir, results, options) {
|
|
|
179
188
|
if (options.json) {
|
|
180
189
|
fs.writeFileSync(path.join(rootDir, 'headerCheck.json'), JSON.stringify(results, undefined, 2));
|
|
181
190
|
}
|
|
182
|
-
if (violations.length > 0 &&
|
|
191
|
+
if (violations.length > 0 &&
|
|
192
|
+
(options.autoFix || readline.keyInYN('Do you want to automatically fix copyright year range violations?'))) {
|
|
183
193
|
const toFix = violations.filter(violation => isDateValidationResult(violation));
|
|
184
194
|
fixViolations(rootDir, toFix, options);
|
|
185
195
|
}
|
|
@@ -200,6 +210,9 @@ function toPrintMessage(result) {
|
|
|
200
210
|
else if (result.violation === 'noOrMissingHeader') {
|
|
201
211
|
return `${error} No or invalid copyright header!`;
|
|
202
212
|
}
|
|
213
|
+
else if (result.violation === 'noYear') {
|
|
214
|
+
return `${error} No year found!${result.line ? ' (line: ' + result.line + ')' : ''}`;
|
|
215
|
+
}
|
|
203
216
|
return `${info} OK`;
|
|
204
217
|
}
|
|
205
218
|
function fixViolations(rootDir, violations, options) {
|
|
@@ -210,14 +223,14 @@ function fixViolations(rootDir, violations, options) {
|
|
|
210
223
|
const fixedRange = violation.currentEndYear || violation.currentStartYear < violation.expectedEndYear
|
|
211
224
|
? `${violation.currentStartYear}-${violation.expectedEndYear}`
|
|
212
225
|
: `${violation.expectedEndYear}`;
|
|
213
|
-
|
|
226
|
+
shelljs_1.default.sed('-i', RegExp('Copyright \\([cC]\\) ' + currentRange), `Copyright (c) ${fixedRange}`, violation.file);
|
|
214
227
|
});
|
|
215
228
|
logger_1.LOGGER.newLine();
|
|
216
229
|
if (options.autoFix || readline.keyInYN('Do you want to create a commit for the fixed files?')) {
|
|
217
230
|
logger_1.LOGGER.newLine();
|
|
218
231
|
const files = violations.map(violation => violation.file).join(' ');
|
|
219
|
-
|
|
220
|
-
|
|
232
|
+
shelljs_1.default.exec(`git add ${files}`, (0, command_util_1.getShellConfig)());
|
|
233
|
+
shelljs_1.default.exec(`git commit -m "${AUTO_FIX_MESSAGE}"`);
|
|
221
234
|
logger_1.LOGGER.newLine();
|
|
222
235
|
}
|
|
223
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-header.js","sourceRoot":"","sources":["../../src/commands/check-header.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check-header.js","sourceRoot":"","sources":["../../src/commands/check-header.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2022 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2022-2024 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2022 EclipseSource and others.
|
|
3
|
+
* Copyright (c) 2022-2024 EclipseSource and others.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made available under the
|
|
6
6
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -37,11 +37,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
37
37
|
__setModuleDefault(result, mod);
|
|
38
38
|
return result;
|
|
39
39
|
};
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
40
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
44
|
exports.collectPackageReportFiles = exports.validateAndRetrievePackages = exports.generateCoverageReport = exports.CoverageReportCommand = void 0;
|
|
42
45
|
const fs = __importStar(require("fs"));
|
|
43
46
|
const path = __importStar(require("path"));
|
|
44
|
-
const
|
|
47
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
45
48
|
const command_util_1 = require("../util/command-util");
|
|
46
49
|
const logger_1 = require("../util/logger");
|
|
47
50
|
const validation_util_1 = require("../util/validation-util");
|
|
@@ -57,7 +60,7 @@ exports.CoverageReportCommand = (0, command_util_1.baseCommand)() //
|
|
|
57
60
|
* @param options configuration options
|
|
58
61
|
*/
|
|
59
62
|
function generateCoverageReport(options) {
|
|
60
|
-
|
|
63
|
+
shelljs_1.default.cd(options.projectRoot);
|
|
61
64
|
const packages = validateAndRetrievePackages(options);
|
|
62
65
|
logger_1.LOGGER.info('Create individual package coverage reports');
|
|
63
66
|
const jsonReports = collectPackageReportFiles(packages, options);
|
|
@@ -84,11 +87,11 @@ function validateAndRetrievePackages(options) {
|
|
|
84
87
|
exports.validateAndRetrievePackages = validateAndRetrievePackages;
|
|
85
88
|
function collectPackageReportFiles(packages, options) {
|
|
86
89
|
logger_1.LOGGER.info('Create combined report');
|
|
87
|
-
|
|
90
|
+
shelljs_1.default.exec(`yarn ${options.coverageScript}`);
|
|
88
91
|
// collect reports
|
|
89
92
|
const reports = [];
|
|
90
93
|
packages.forEach(pkg => {
|
|
91
|
-
|
|
94
|
+
shelljs_1.default.find(pkg)
|
|
92
95
|
.filter(file => file.endsWith('coverage-final.json'))
|
|
93
96
|
.forEach(json => reports.push(path.resolve(options.projectRoot, json)));
|
|
94
97
|
});
|
|
@@ -106,18 +109,18 @@ function combineReports(reportFiles, options) {
|
|
|
106
109
|
fs.copyFileSync(reportFiles[i], path.resolve('.nyc_output', `coverage-final-${i}.json`));
|
|
107
110
|
}
|
|
108
111
|
// Temporarily remove root nyc configs otherwise the report command might fail.
|
|
109
|
-
|
|
112
|
+
shelljs_1.default.cd(options.projectRoot);
|
|
110
113
|
const configFiles = ['.nycrc', '.nycrc.json', '.nyc-config.js'];
|
|
111
114
|
const tempFiles = [];
|
|
112
115
|
configFiles.forEach(config => {
|
|
113
116
|
if (fs.existsSync(path.join(options.projectRoot, config))) {
|
|
114
|
-
|
|
117
|
+
shelljs_1.default.mv(config, '_' + config);
|
|
115
118
|
tempFiles.push('_' + config);
|
|
116
119
|
}
|
|
117
120
|
});
|
|
118
121
|
// Generate report
|
|
119
|
-
|
|
122
|
+
shelljs_1.default.exec('yarn nyc report --reporter html', (0, command_util_1.getShellConfig)());
|
|
120
123
|
// Restore nyc configs (if any)
|
|
121
|
-
tempFiles.forEach(config =>
|
|
124
|
+
tempFiles.forEach(config => shelljs_1.default.mv(config, config.substring(1)));
|
|
122
125
|
}
|
|
123
126
|
//# sourceMappingURL=coverage-report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-report.js","sourceRoot":"","sources":["../../src/commands/coverage-report.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF
|
|
1
|
+
{"version":3,"file":"coverage-report.js","sourceRoot":"","sources":["../../src/commands/coverage-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2023-2024 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
export interface GenerateIndexCmdOptions {
|
|
17
|
+
singleIndex: boolean;
|
|
18
|
+
forceOverwrite: boolean;
|
|
19
|
+
match: string[] | boolean;
|
|
20
|
+
ignore: string[] | boolean;
|
|
21
|
+
ignoreFile: string;
|
|
22
|
+
style: 'commonjs' | 'esm';
|
|
23
|
+
verbose: boolean;
|
|
24
|
+
}
|
|
25
|
+
interface GlobbyOptions {
|
|
26
|
+
ignore: string[];
|
|
27
|
+
cwd: string;
|
|
28
|
+
onlyFiles: boolean;
|
|
29
|
+
markDirectories: true;
|
|
30
|
+
ignoreFiles: string;
|
|
31
|
+
}
|
|
32
|
+
export declare const GenerateIndex: import("commander").Command;
|
|
33
|
+
export declare function generateIndices(rootDirs: string[], options: GenerateIndexCmdOptions): Promise<void>;
|
|
34
|
+
export declare function generateIndex(rootDir: string, ignoreFilter: (pattern: string[], options: GlobbyOptions) => string[], options: GenerateIndexCmdOptions): Promise<void>;
|
|
35
|
+
export declare function isDirectChild(parent: string, child: string, childHasChildren: () => boolean): boolean;
|
|
36
|
+
export declare function isDirectory(file: string): boolean;
|
|
37
|
+
export declare function isFile(file: string): boolean;
|
|
38
|
+
export declare function getLevel(file: string): number;
|
|
39
|
+
export declare function isChild(parent: string, child: string): boolean;
|
|
40
|
+
export declare function isChildDirectory(parent: string, child: string): boolean;
|
|
41
|
+
export declare function isChildFile(parent: string, child: string): boolean;
|
|
42
|
+
export declare function writeIndex(directory: string, exports: string[], options: GenerateIndexCmdOptions): void;
|
|
43
|
+
export declare function createExport(directory: string, relativePath: string, options: GenerateIndexCmdOptions): string;
|
|
44
|
+
export declare function extractReusableContent(fileContent: string): string;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=generate-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-index.d.ts","sourceRoot":"","sources":["../../src/commands/generate-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAWlF,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CACpB;AAGD,UAAU,aAAa;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,6BAWE,CAAC;AAE7B,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzG;AAED,wBAAsB,aAAa,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,KAAK,MAAM,EAAE,EACrE,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,OAAO,GAAG,OAAO,CAErG;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAqBvG;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAQ9G;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGlE"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2023-2024 EclipseSource and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.extractReusableContent = exports.createExport = exports.writeIndex = exports.isChildFile = exports.isChildDirectory = exports.isChild = exports.getLevel = exports.isFile = exports.isDirectory = exports.isDirectChild = exports.generateIndex = exports.generateIndices = exports.GenerateIndex = void 0;
|
|
45
|
+
const commander_1 = require("commander");
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const os = __importStar(require("os"));
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
50
|
+
const command_util_1 = require("../util/command-util");
|
|
51
|
+
const logger_1 = require("../util/logger");
|
|
52
|
+
const validation_util_1 = require("../util/validation-util");
|
|
53
|
+
exports.GenerateIndex = (0, command_util_1.baseCommand)() //
|
|
54
|
+
.name('generateIndex')
|
|
55
|
+
.description('Generate index files in a given source directory.')
|
|
56
|
+
.argument('<rootDir...>', 'The source directory for index generation.')
|
|
57
|
+
.option('-s, --singleIndex', 'Generate a single index file in the source directory instead of indices in each sub-directory', false)
|
|
58
|
+
.option('-f, --forceOverwrite', 'Overwrite existing index files and remove them if there are no entries', false)
|
|
59
|
+
.option('-m, --match [match patterns...]', 'File patterns to consider during indexing', ['**/*.ts', '**/*.tsx'])
|
|
60
|
+
.option('-i, --ignore [ignore patterns...]', 'File patterns to ignore during indexing', ['**/*.spec.ts', '**/*.spec.tsx', '**/*.d.ts'])
|
|
61
|
+
.addOption((0, commander_1.createOption)('-s, --style <importStyle>', 'Import Style').choices(['commonjs', 'esm']).default('commonjs'))
|
|
62
|
+
.option('--ignoreFile <ignoreFile>', 'The file that is used to specify patterns that should be ignored during indexing', '.indexignore')
|
|
63
|
+
.option('-v, --verbose', 'Generate verbose output during generation', false)
|
|
64
|
+
.action(generateIndices);
|
|
65
|
+
async function generateIndices(rootDirs, options) {
|
|
66
|
+
const dirs = rootDirs.map(rootDir => (0, validation_util_1.validateDirectory)(path.resolve(rootDir)));
|
|
67
|
+
const globby = await import('globby');
|
|
68
|
+
const ignoreFilter = (pattern, globbyOptions) => globby.globbySync(pattern, globbyOptions);
|
|
69
|
+
dirs.forEach(dir => generateIndex(dir, ignoreFilter, options));
|
|
70
|
+
}
|
|
71
|
+
exports.generateIndices = generateIndices;
|
|
72
|
+
async function generateIndex(rootDir, ignoreFilter, options) {
|
|
73
|
+
(0, logger_1.configureLogger)(options.verbose);
|
|
74
|
+
logger_1.LOGGER.debug('Run generateIndex for', rootDir, 'with the following options:', options);
|
|
75
|
+
shelljs_1.default.cd(rootDir);
|
|
76
|
+
const cwd = process.cwd();
|
|
77
|
+
// we want to match all given patterns and subdirectories and ignore all given patterns and (generated) index files
|
|
78
|
+
const pattern = typeof options.match === 'boolean' ? ['**/'] : [...options.match, '**/'];
|
|
79
|
+
const ignore = typeof options.ignore === 'boolean' ? ['**/index.ts'] : [...options.ignore, '**/index.ts'];
|
|
80
|
+
const globbyOptions = {
|
|
81
|
+
ignore,
|
|
82
|
+
cwd,
|
|
83
|
+
onlyFiles: options.singleIndex,
|
|
84
|
+
markDirectories: true, // directories have '/' at the end
|
|
85
|
+
ignoreFiles: '**/' + options.ignoreFile // users can add this file in their directories to ignore files for indexing
|
|
86
|
+
};
|
|
87
|
+
logger_1.LOGGER.debug('Search for children using the following globby options', globbyOptions);
|
|
88
|
+
const files = ignoreFilter(pattern, globbyOptions);
|
|
89
|
+
logger_1.LOGGER.debug('All children considered in the input directory', files);
|
|
90
|
+
const relativeRootDirectory = '';
|
|
91
|
+
if (options.singleIndex) {
|
|
92
|
+
writeIndex(relativeRootDirectory, files.filter(isFile), options);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// sort by length so we deal with sub-directories before we deal with their parents to determine whether they are empty
|
|
96
|
+
const directories = [...files.filter(isDirectory), relativeRootDirectory].sort((left, right) => right.length - left.length);
|
|
97
|
+
const directoryChildren = new Map();
|
|
98
|
+
for (const directory of directories) {
|
|
99
|
+
const children = files.filter(file => isDirectChild(directory, file, () => { var _a; return !!((_a = directoryChildren.get(file)) === null || _a === void 0 ? void 0 : _a.length); }));
|
|
100
|
+
directoryChildren.set(directory, children);
|
|
101
|
+
writeIndex(directory, children, options);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.generateIndex = generateIndex;
|
|
106
|
+
function isDirectChild(parent, child, childHasChildren) {
|
|
107
|
+
return isChildFile(parent, child) || (isChildDirectory(parent, child) && childHasChildren());
|
|
108
|
+
}
|
|
109
|
+
exports.isDirectChild = isDirectChild;
|
|
110
|
+
function isDirectory(file) {
|
|
111
|
+
return file.endsWith('/');
|
|
112
|
+
}
|
|
113
|
+
exports.isDirectory = isDirectory;
|
|
114
|
+
function isFile(file) {
|
|
115
|
+
return !isDirectory(file);
|
|
116
|
+
}
|
|
117
|
+
exports.isFile = isFile;
|
|
118
|
+
function getLevel(file) {
|
|
119
|
+
return file.split('/').length;
|
|
120
|
+
}
|
|
121
|
+
exports.getLevel = getLevel;
|
|
122
|
+
function isChild(parent, child) {
|
|
123
|
+
return child.startsWith(parent);
|
|
124
|
+
}
|
|
125
|
+
exports.isChild = isChild;
|
|
126
|
+
function isChildDirectory(parent, child) {
|
|
127
|
+
return isDirectory(child) && isChild(parent, child) && getLevel(child) === getLevel(parent) + 1;
|
|
128
|
+
}
|
|
129
|
+
exports.isChildDirectory = isChildDirectory;
|
|
130
|
+
function isChildFile(parent, child) {
|
|
131
|
+
return isFile(child) && isChild(parent, child) && getLevel(child) === getLevel(parent);
|
|
132
|
+
}
|
|
133
|
+
exports.isChildFile = isChildFile;
|
|
134
|
+
function writeIndex(directory, exports, options) {
|
|
135
|
+
const indexFile = path.join(process.cwd(), directory, 'index.ts');
|
|
136
|
+
if (exports.length === 0) {
|
|
137
|
+
if (options.forceOverwrite && fs.existsSync(indexFile)) {
|
|
138
|
+
logger_1.LOGGER.info('Remove index file', indexFile);
|
|
139
|
+
fs.rmSync(indexFile);
|
|
140
|
+
}
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const exists = fs.existsSync(indexFile);
|
|
144
|
+
if (exists && !options.forceOverwrite) {
|
|
145
|
+
logger_1.LOGGER.info("Do not overwrite existing index file. Use '-f' to force an overwrite.", indexFile);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
const headerContent = exists ? extractReusableContent(fs.readFileSync(indexFile, { encoding: 'utf-8' })) : '';
|
|
149
|
+
const exportContent = exports.map(exported => createExport(directory, exported, options)).sort();
|
|
150
|
+
const content = headerContent + exportContent.join(os.EOL) + os.EOL; // end with an empty line
|
|
151
|
+
logger_1.LOGGER.info((exists ? 'Overwrite' : 'Write') + ' index file', indexFile);
|
|
152
|
+
logger_1.LOGGER.debug(' ' + content.split(os.EOL).join(os.EOL + ' '));
|
|
153
|
+
fs.writeFileSync(indexFile, content, { flag: 'w' });
|
|
154
|
+
}
|
|
155
|
+
exports.writeIndex = writeIndex;
|
|
156
|
+
function createExport(directory, relativePath, options) {
|
|
157
|
+
// remove directory prefix, file extension and directory ending '/'
|
|
158
|
+
const parentPrefix = directory.length;
|
|
159
|
+
const suffix = isFile(relativePath) ? path.extname(relativePath).length : 1;
|
|
160
|
+
const relativeName = relativePath.substring(parentPrefix, relativePath.length - suffix);
|
|
161
|
+
const exportName = options.style === 'esm' && isFile(relativePath) ? relativeName + '.js' : relativeName;
|
|
162
|
+
const exportLine = `export * from './${exportName}';`;
|
|
163
|
+
return exportLine;
|
|
164
|
+
}
|
|
165
|
+
exports.createExport = createExport;
|
|
166
|
+
function extractReusableContent(fileContent) {
|
|
167
|
+
var _a, _b;
|
|
168
|
+
// all code before any actual export lines are considered re-usable
|
|
169
|
+
return (_b = (_a = fileContent.match(/^(.*?)(?=^export)/ms)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : '';
|
|
170
|
+
}
|
|
171
|
+
exports.extractReusableContent = extractReusableContent;
|
|
172
|
+
//# sourceMappingURL=generate-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-index.js","sourceRoot":"","sources":["../../src/commands/generate-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2022 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2022-2024 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|