lucy-cli 2.0.0-alpha.18 → 2.0.0-alpha.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/helpers.js +57 -61
- package/dist/helpers.js.map +1 -1
- package/dist/schemas/gulp.d.ts +0 -1
- package/dist/tasks/Gulpfile.js +0 -1
- package/dist/tasks/Gulpfile.js.map +1 -1
- package/dist/tasks/gulp/checks.d.ts +1 -1
- package/dist/tasks/gulp/checks.js +27 -21
- package/dist/tasks/gulp/checks.js.map +1 -1
- package/dist/tasks/gulp/watchers.js +1 -1
- package/dist/tasks/gulp/watchers.js.map +1 -1
- package/package.json +11 -13
- package/src/helpers.ts +61 -59
- package/src/schemas/gulp.ts +0 -1
- package/src/tasks/Gulpfile.ts +0 -1
- package/src/tasks/gulp/checks.ts +42 -40
- package/src/tasks/gulp/watchers.ts +1 -1
package/dist/helpers.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import os from 'os';
|
2
|
-
import {
|
2
|
+
import { spawnSync } from 'child_process';
|
3
3
|
import { logger } from './utils/logger.js';
|
4
4
|
export function parse_error(error) {
|
5
5
|
if (error instanceof Error) {
|
@@ -19,62 +19,58 @@ export function parse_error(error) {
|
|
19
19
|
export function killAllProcesses(processPattern) {
|
20
20
|
const isWindows = os.platform() === 'win32';
|
21
21
|
const command = isWindows
|
22
|
-
? `tasklist /FI "IMAGENAME eq node.exe" /FO CSV | findstr "${processPattern}"`
|
22
|
+
? `tasklist /FI "IMAGENAME eq node.exe" /FO CSV | findstr "${processPattern}"`
|
23
23
|
: `ps -eo pid,command | grep "${processPattern}" | grep -v grep`;
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
24
|
+
logger.action(`Cleaning up processes...`);
|
25
|
+
const result = spawnSync(command, { shell: true, encoding: 'utf-8' });
|
26
|
+
if (result.error) {
|
27
|
+
logger.error(`spawnSync error: ${result.error.message}`);
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
// if (!result.stdout.trim()) {
|
31
|
+
// logger.info(`No processes found matching pattern: ${processPattern}`);
|
32
|
+
// return;
|
33
|
+
// }
|
34
|
+
const lines = result.stdout.trim().split('\n');
|
35
|
+
const pids = isWindows
|
36
|
+
? lines.map(line => line.match(/"(\d+)"/)?.[1])
|
37
|
+
: lines.map(line => line.trim().split(/\s+/)[0]).filter(pid => !isNaN(Number(pid)));
|
38
|
+
logger.action(`Extracted PIDs: ${JSON.stringify(pids)}`);
|
39
|
+
pids.forEach(pid => {
|
40
|
+
if (!pid)
|
34
41
|
return;
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
else {
|
53
|
-
logger.success(`Killed process with PID: ${pid}`);
|
42
|
+
try {
|
43
|
+
const killCommand = isWindows
|
44
|
+
? `taskkill /PID ${pid} /T /F`
|
45
|
+
: `kill -9 ${pid}`;
|
46
|
+
logger.info(`Running kill command: ${killCommand}`);
|
47
|
+
const killResult = spawnSync(killCommand, { shell: true, encoding: 'utf-8' });
|
48
|
+
if (killResult.error) {
|
49
|
+
logger.error(`Failed to kill process with PID ${pid}: ${killResult.error.message}`);
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
logger.success(`Killed process with PID: ${pid}`);
|
53
|
+
}
|
54
|
+
if (!isWindows) {
|
55
|
+
setTimeout(() => {
|
56
|
+
try {
|
57
|
+
process.kill(parseInt(pid, 10), 'SIGKILL');
|
58
|
+
logger.info(`Sent SIGKILL to process with PID: ${pid}`);
|
54
59
|
}
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
setTimeout(() => {
|
59
|
-
try {
|
60
|
-
process.kill(parseInt(pid, 10), 'SIGKILL');
|
61
|
-
logger.kill(`Sent SIGKILL to process with PID: ${pid}`);
|
60
|
+
catch (killError) {
|
61
|
+
if (killError.code === 'ESRCH') {
|
62
|
+
logger.info(`Process with PID ${pid} already terminated.`);
|
62
63
|
}
|
63
|
-
|
64
|
-
|
65
|
-
logger.info(`Process with PID ${pid} already terminated.`);
|
66
|
-
}
|
67
|
-
else {
|
68
|
-
logger.error(`Failed to send SIGKILL to process with PID ${pid}: ${killError.message}`);
|
69
|
-
}
|
64
|
+
else {
|
65
|
+
logger.error(`Failed to send SIGKILL to process with PID ${pid}: ${killError.message}`);
|
70
66
|
}
|
71
|
-
}
|
72
|
-
}
|
73
|
-
}
|
74
|
-
catch (err) {
|
75
|
-
logger.error(`Failed to kill process with PID ${pid}: ${err.message}`);
|
67
|
+
}
|
68
|
+
}, 10000);
|
76
69
|
}
|
77
|
-
}
|
70
|
+
}
|
71
|
+
catch (err) {
|
72
|
+
logger.error(`Failed to kill process with PID ${pid}: ${err.message}`);
|
73
|
+
}
|
78
74
|
});
|
79
75
|
}
|
80
76
|
/**
|
@@ -84,15 +80,15 @@ export function cleanupWatchers() {
|
|
84
80
|
logger.info(`🧹 Cleaning up Watchman watchers...`);
|
85
81
|
const cwd = process.cwd();
|
86
82
|
const command = `watchman watch-del "${cwd}"`; // Adjust for Windows paths
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
}
|
83
|
+
logger.info(`Cleaning watchers for directory: ${cwd}`);
|
84
|
+
const result = spawnSync(command, { shell: true, encoding: 'utf-8' });
|
85
|
+
// if (result.stderr) {
|
86
|
+
// logger.error(`spawnSync error: ${result.stderr}`);
|
87
|
+
// return;
|
88
|
+
// }
|
89
|
+
// if (!result.stdout.trim()) {
|
90
|
+
// logger.info(`No watchers found to clean up.`);
|
91
|
+
// return;
|
92
|
+
// }
|
97
93
|
}
|
98
94
|
//# sourceMappingURL=helpers.js.map
|
package/dist/helpers.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/gulp.d.ts
CHANGED
package/dist/tasks/Gulpfile.js
CHANGED
@@ -45,7 +45,6 @@ export const task_runGulp = Effect.gen(function* (_) {
|
|
45
45
|
},
|
46
46
|
cwd: process.cwd(),
|
47
47
|
modulesSourcePaths: yield* getModulesSourcePaths,
|
48
|
-
isWatching: config.action.tasksName === 'dev' ? true : false
|
49
48
|
};
|
50
49
|
logger.action(`Running task: ${task}`);
|
51
50
|
gulp.task('check-ts', gulp.parallel(checkTs(taskOptions)));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Gulpfile.js","sourceRoot":"","sources":["../../src/tasks/Gulpfile.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,KAAK,QAAQ,MAAM,MAAM,CAAC;AAGjC,OAAO,eAAe,MAAM,sCAAsC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAAA,CAAC;AAC1F,OAAO,cAAc,MAAM,qCAAqC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAAA,CAAC;AACxF,OAAO,YAAY,MAAM,mCAAmC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAAA,CAAC;AACpF,OAAO,cAAc,MAAM,qCAAqC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAAA,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;IAE9C,MAAM,WAAW,GAAgB;QAChC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QACxE,SAAS,EAAE,OAAO;QAClB,IAAI;QACJ,YAAY;QACZ,cAAc;QACd,eAAe;QACf,cAAc;QACd,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,OAAO,EAAE,KAAK;aACd;SACD;QACD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,kBAAkB,EAAE,KAAK,CAAC,CAAC,qBAAqB;
|
1
|
+
{"version":3,"file":"Gulpfile.js","sourceRoot":"","sources":["../../src/tasks/Gulpfile.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { TaskOptions } from '../../schemas/gulp.js';
|
2
2
|
import { TaskType } from '../../schemas/types.js';
|
3
3
|
export declare function checkPages(fail: boolean, force: boolean): Promise<void>;
|
4
|
-
export declare function checkTs(options: TaskOptions): TaskType;
|
4
|
+
export declare function checkTs(options: TaskOptions, watching?: boolean): TaskType;
|
@@ -3,7 +3,7 @@ import { glob } from 'glob';
|
|
3
3
|
import * as path from 'path';
|
4
4
|
import gulp from 'gulp';
|
5
5
|
import ts from 'gulp-typescript';
|
6
|
-
import {
|
6
|
+
import { logger, red, yellow } from '../../utils/logger.js';
|
7
7
|
// /**
|
8
8
|
// * Extracts a match from a file
|
9
9
|
// * @param {string} filePath File path
|
@@ -151,46 +151,52 @@ const customReporter = {
|
|
151
151
|
const line = startPosition ? startPosition.line + 1 : 0;
|
152
152
|
const col = startPosition ? startPosition.character + 1 : 0;
|
153
153
|
const message = tsInstance.flattenDiagnosticMessageText(error.diagnostic.messageText, '\n');
|
154
|
-
logger.
|
155
|
-
logger.error(
|
154
|
+
logger.error(`${red.underline(relativePath)}:${yellow(String(line))}:${yellow(String(col))}`);
|
155
|
+
logger.error(`${red('error')} ${yellow(`TS${error.diagnostic.code}`)}: ${message}`);
|
156
156
|
},
|
157
157
|
finish: (results) => {
|
158
158
|
const errorCount = results.transpileErrors + results.semanticErrors + results.declarationErrors;
|
159
159
|
if (errorCount > 0) {
|
160
|
-
logger.error(
|
160
|
+
logger.error(`${red.bold(`Found ${errorCount} error${errorCount > 1 ? 's' : ''}.`)}`);
|
161
161
|
}
|
162
162
|
},
|
163
163
|
};
|
164
|
-
export function checkTs(options) {
|
165
|
-
const folders = [
|
166
|
-
// Create tasks for each folder
|
164
|
+
export function checkTs(options, watching = false) {
|
165
|
+
const folders = ["typescript", ...options.modulesSourcePaths];
|
167
166
|
const tasks = folders.map((folder) => {
|
168
|
-
const tsProject = ts.createProject(`./local.tsconfig.json`, {
|
169
|
-
|
170
|
-
|
167
|
+
const tsProject = ts.createProject(`./local.tsconfig.json`, {
|
168
|
+
noEmit: true,
|
169
|
+
declaration: false,
|
170
|
+
skipDefaultLibCheck: true,
|
171
|
+
});
|
172
|
+
const taskName = `test-${folder}`;
|
173
|
+
const task = (done) => {
|
171
174
|
let hasError = false;
|
172
|
-
const stream = gulp
|
175
|
+
const stream = gulp
|
176
|
+
.src([`${folder}/**/*.ts`, `!${folder}/types/**/*.ts`])
|
173
177
|
.pipe(tsProject(customReporter))
|
174
|
-
.on(
|
178
|
+
.on("error", (error) => {
|
175
179
|
hasError = true;
|
180
|
+
logger.error(`Error in ${folder}: ${error.message}`);
|
181
|
+
if (watching) {
|
182
|
+
stream.emit("end");
|
183
|
+
}
|
184
|
+
else {
|
185
|
+
logger.error(`TypeScript check failed for ${folder}.`);
|
186
|
+
process.exit(1); // Exit with error code
|
187
|
+
}
|
176
188
|
});
|
177
|
-
|
178
|
-
stream.on('error', function () {
|
179
|
-
this.emit('end');
|
180
|
-
});
|
181
|
-
}
|
182
|
-
stream.on('end', () => {
|
189
|
+
stream.on("end", () => {
|
183
190
|
if (!hasError) {
|
184
191
|
logger.success(`Typescript check for ${folder} succeeded!`);
|
185
192
|
}
|
193
|
+
stream.emit("finish");
|
186
194
|
});
|
187
195
|
return stream;
|
188
196
|
};
|
189
|
-
|
190
|
-
Object.defineProperty(task, 'name', { value: taskName }); // Set a unique name for debugging
|
197
|
+
Object.defineProperty(task, "name", { value: taskName });
|
191
198
|
return task;
|
192
199
|
});
|
193
|
-
// Run all tasks in parallel
|
194
200
|
return gulp.parallel(...tasks);
|
195
201
|
}
|
196
202
|
//# sourceMappingURL=checks.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/tasks/gulp/checks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,
|
1
|
+
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/tasks/gulp/checks.ts"],"names":[],"mappings":"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"}
|
@@ -17,7 +17,7 @@ export function watchAll(options) {
|
|
17
17
|
'*/backend/**/*.tsx',
|
18
18
|
'!*/backend/**/*.jsw.ts',
|
19
19
|
'!src/**/*',
|
20
|
-
], gulp.parallel(checkTs(options), buildBackend(options)));
|
20
|
+
], gulp.parallel(checkTs(options, true), buildBackend(options)));
|
21
21
|
}
|
22
22
|
function watchPublic() {
|
23
23
|
return gulp.watch([
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"watchers.js","sourceRoot":"","sources":["../../../src/tasks/gulp/watchers.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,MAAM,UAAU,QAAQ,CAAC,OAAoB;IACzC,SAAS,SAAS;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;YACd,oBAAoB;SACvB,EACG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACxB,CAAC;IACN,CAAC;IAED,SAAS,YAAY;QACjB,OAAQ,IAAI,CAAC,KAAK,CAAC;YACf,mBAAmB;YACnB,oBAAoB;YACpB,wBAAwB;YACxB,WAAW;SACd,EAAE,IAAI,CAAC,QAAQ,CACZ,OAAO,CAAC,OAAO,CAAC,
|
1
|
+
{"version":3,"file":"watchers.js","sourceRoot":"","sources":["../../../src/tasks/gulp/watchers.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,MAAM,UAAU,QAAQ,CAAC,OAAoB;IACzC,SAAS,SAAS;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;YACd,oBAAoB;SACvB,EACG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACxB,CAAC;IACN,CAAC;IAED,SAAS,YAAY;QACjB,OAAQ,IAAI,CAAC,KAAK,CAAC;YACf,mBAAmB;YACnB,oBAAoB;YACpB,wBAAwB;YACxB,WAAW;SACd,EAAE,IAAI,CAAC,QAAQ,CACZ,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EACtB,YAAY,CAAC,OAAO,CAAC,CACxB,CAAC,CAAC;IACP,CAAC;IAED,SAAS,WAAW;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC;YACd,kBAAkB;YAClB,mBAAmB;YACnB,WAAW;SACd,EAAE,IAAI,CAAC,QAAQ,CACZ,OAAO,CAAC,OAAO,CAAC,EAChB,WAAW,CAAC,OAAO,CAAC,CACvB,CAAC,CAAC;IACP,CAAC;IAED,SAAS,UAAU;QACf,OAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,0BAA0B,EAAE,WAAW,EAAE,EAC7D,IAAI,CAAC,QAAQ,CACT,OAAO,CAAC,OAAO,CAAC,EAChB,UAAU,CAAC,OAAO,CAAC,CAClB,CACJ,CAAC;IACN,CAAC;IAED,SAAS,UAAU;QACf,OAAQ,IAAI,CAAC,KAAK,CAAC;YACf,gBAAgB;YAChB,eAAe;YACf,cAAc;YACd,YAAY;YACZ,aAAa;YACb,WAAW;SACd,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,cAAc;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC;YACd,8BAA8B;YAC9B,iCAAiC;YACjC,gCAAgC;YAChC,WAAW;SACd,EAAE,IAAI,CAAC,QAAQ,CACZ,gBAAgB,CAAC,OAAO,CAAC,EACzB,OAAO,CAAC,OAAO,CAAC,CACf,CACJ,CAAC;IACN,CAAC;IAED,SAAS,UAAU;QACf,OAAO,IAAI,CAAC,KAAK,CAAC;YACd,wBAAwB;YACxB,8BAA8B;YAC9B,WAAW;SACd,EACD,IAAI,CAAC,MAAM,CACP,eAAe,CACd,CACJ,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAChB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,UAAU,CACb,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"type": "module",
|
3
3
|
"name": "lucy-cli",
|
4
|
-
"version": "2.0.0-alpha.
|
4
|
+
"version": "2.0.0-alpha.19",
|
5
5
|
"description": "Lucy Framework for WIX Studio Editor",
|
6
6
|
"main": ".dist/index.js",
|
7
7
|
"scripts": {
|
8
|
-
"test": "echo \"Error: no test specified\" && exit 1",
|
9
8
|
"build": "tsc",
|
10
9
|
"dev": "tsc -w",
|
11
10
|
"postinstall": "patch-package"
|
@@ -47,7 +46,7 @@
|
|
47
46
|
"glob": "11.0.3",
|
48
47
|
"gulp": "5.0.1",
|
49
48
|
"gulp-clean": "^0.4.0",
|
50
|
-
"gulp-cli": "3.
|
49
|
+
"gulp-cli": "3.1.0",
|
51
50
|
"gulp-concat": "^2.6.1",
|
52
51
|
"gulp-exec": "^5.0.0",
|
53
52
|
"gulp-flatmap": "^1.0.2",
|
@@ -74,14 +73,14 @@
|
|
74
73
|
"simple-git": "^3.20.0",
|
75
74
|
"ts-jest": "^29.1.1",
|
76
75
|
"ts-node": "^10.9.1",
|
77
|
-
"typedoc": "0.28.
|
78
|
-
"typescript": "
|
76
|
+
"typedoc": "0.28.9",
|
77
|
+
"typescript": "5.9.2",
|
79
78
|
"velo-sync": "^0.0.9",
|
80
79
|
"yargs": "^18.0.0"
|
81
80
|
},
|
82
81
|
"devDependencies": {
|
83
82
|
"@types/fs-extra": "^11.0.4",
|
84
|
-
"@types/glob": "
|
83
|
+
"@types/glob": "8.1.0",
|
85
84
|
"@types/gulp": "^4.0.17",
|
86
85
|
"@types/gulp-concat": "^0.0.37",
|
87
86
|
"@types/gulp-insert": "^0.5.13",
|
@@ -94,15 +93,14 @@
|
|
94
93
|
"@types/merge2": "^1.4.4",
|
95
94
|
"@types/optimist": "^0.0.33",
|
96
95
|
"@types/yargs": "^17.0.33",
|
97
|
-
"@typescript-eslint/eslint-plugin": "8.
|
98
|
-
"@typescript-eslint/parser": "8.
|
99
|
-
"@typescript-eslint/utils": "8.
|
100
|
-
"eslint": "9.
|
96
|
+
"@typescript-eslint/eslint-plugin": "8.39.0",
|
97
|
+
"@typescript-eslint/parser": "8.39.0",
|
98
|
+
"@typescript-eslint/utils": "8.39.0",
|
99
|
+
"eslint": "9.32.0",
|
101
100
|
"eslint-plugin-import": "^2.27.5",
|
102
|
-
"eslint-plugin-jsdoc": "52.0.
|
101
|
+
"eslint-plugin-jsdoc": "52.0.4",
|
103
102
|
"eslint-plugin-named-import-spacing": "^1.0.3",
|
104
103
|
"eslint-plugin-simple-import-sort": "12.1.1",
|
105
|
-
"
|
106
|
-
"ts-node": "^10.9.1"
|
104
|
+
"ts-node": "10.9.2"
|
107
105
|
}
|
108
106
|
}
|
package/src/helpers.ts
CHANGED
@@ -20,62 +20,62 @@ export function parse_error(error: unknown): Error {
|
|
20
20
|
export function killAllProcesses(processPattern: string) {
|
21
21
|
const isWindows = os.platform() === 'win32';
|
22
22
|
const command = isWindows
|
23
|
-
? `tasklist /FI "IMAGENAME eq node.exe" /FO CSV | findstr "${processPattern}"`
|
23
|
+
? `tasklist /FI "IMAGENAME eq node.exe" /FO CSV | findstr "${processPattern}"`
|
24
24
|
: `ps -eo pid,command | grep "${processPattern}" | grep -v grep`;
|
25
25
|
|
26
|
-
|
27
|
-
if (error) {
|
28
|
-
logger.error(`Failed to find processes matching pattern: ${processPattern}`);
|
29
|
-
return;
|
30
|
-
}
|
31
|
-
if (stderr) {
|
32
|
-
logger.error(`Error output:')} ${stderr}`);
|
33
|
-
}
|
34
|
-
if (!stdout.trim()) {
|
35
|
-
logger.info(`No processes found matching pattern: ${processPattern}`);
|
36
|
-
return;
|
37
|
-
}
|
26
|
+
logger.action(`Cleaning up processes...`);
|
38
27
|
|
39
|
-
|
40
|
-
const lines = stdout.trim().split('\n');
|
41
|
-
const pids = isWindows
|
42
|
-
? lines.map(line => line.match(/"(\d+)"/)?.[1]) // Extract PID from Windows tasklist output
|
43
|
-
: lines.map(line => line.trim().split(/\s+/)[0]).filter(pid => !isNaN(Number(pid)));
|
28
|
+
const result = spawnSync(command, { shell: true, encoding: 'utf-8' });
|
44
29
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
30
|
+
if (result.error) {
|
31
|
+
logger.error(`spawnSync error: ${result.error.message}`);
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
// if (!result.stdout.trim()) {
|
35
|
+
// logger.info(`No processes found matching pattern: ${processPattern}`);
|
36
|
+
// return;
|
37
|
+
// }
|
38
|
+
|
39
|
+
const lines = result.stdout.trim().split('\n');
|
40
|
+
const pids = isWindows
|
41
|
+
? lines.map(line => line.match(/"(\d+)"/)?.[1])
|
42
|
+
: lines.map(line => line.trim().split(/\s+/)[0]).filter(pid => !isNaN(Number(pid)));
|
43
|
+
|
44
|
+
logger.action(`Extracted PIDs: ${JSON.stringify(pids)}`);
|
45
|
+
|
46
|
+
pids.forEach(pid => {
|
47
|
+
if (!pid) return;
|
48
|
+
try {
|
49
|
+
const killCommand = isWindows
|
50
|
+
? `taskkill /PID ${pid} /T /F`
|
51
|
+
: `kill -9 ${pid}`;
|
52
|
+
|
53
|
+
logger.info(`Running kill command: ${killCommand}`);
|
59
54
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
55
|
+
const killResult = spawnSync(killCommand, { shell: true, encoding: 'utf-8' });
|
56
|
+
if (killResult.error) {
|
57
|
+
logger.error(`Failed to kill process with PID ${pid}: ${killResult.error.message}`);
|
58
|
+
} else {
|
59
|
+
logger.success(`Killed process with PID: ${pid}`);
|
60
|
+
}
|
61
|
+
|
62
|
+
if (!isWindows) {
|
63
|
+
setTimeout(() => {
|
64
|
+
try {
|
65
|
+
process.kill(parseInt(pid, 10), 'SIGKILL');
|
66
|
+
logger.info(`Sent SIGKILL to process with PID: ${pid}`);
|
67
|
+
} catch (killError: any) {
|
68
|
+
if (killError.code === 'ESRCH') {
|
69
|
+
logger.info(`Process with PID ${pid} already terminated.`);
|
70
|
+
} else {
|
71
|
+
logger.error(`Failed to send SIGKILL to process with PID ${pid}: ${killError.message}`);
|
72
72
|
}
|
73
|
-
}
|
74
|
-
}
|
75
|
-
} catch (err: any) {
|
76
|
-
logger.error(`Failed to kill process with PID ${pid}: ${err.message}`);
|
73
|
+
}
|
74
|
+
}, 10000);
|
77
75
|
}
|
78
|
-
})
|
76
|
+
} catch (err: any) {
|
77
|
+
logger.error(`Failed to kill process with PID ${pid}: ${err.message}`);
|
78
|
+
}
|
79
79
|
});
|
80
80
|
}
|
81
81
|
|
@@ -86,14 +86,16 @@ export function cleanupWatchers() {
|
|
86
86
|
logger.info(`🧹 Cleaning up Watchman watchers...`);
|
87
87
|
const cwd = process.cwd();
|
88
88
|
const command = `watchman watch-del "${cwd}"`; // Adjust for Windows paths
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
89
|
+
|
90
|
+
logger.info(`Cleaning watchers for directory: ${cwd}`);
|
91
|
+
const result = spawnSync(command, { shell: true, encoding: 'utf-8' });
|
92
|
+
|
93
|
+
// if (result.stderr) {
|
94
|
+
// logger.error(`spawnSync error: ${result.stderr}`);
|
95
|
+
// return;
|
96
|
+
// }
|
97
|
+
// if (!result.stdout.trim()) {
|
98
|
+
// logger.info(`No watchers found to clean up.`);
|
99
|
+
// return;
|
100
|
+
// }
|
99
101
|
}
|
package/src/schemas/gulp.ts
CHANGED
package/src/tasks/Gulpfile.ts
CHANGED
package/src/tasks/gulp/checks.ts
CHANGED
@@ -2,7 +2,7 @@ import * as fs from 'fs';
|
|
2
2
|
import { glob } from 'glob';
|
3
3
|
|
4
4
|
import * as path from 'path';
|
5
|
-
import gulp from 'gulp';
|
5
|
+
import gulp, { emit } from 'gulp';
|
6
6
|
import ts from 'gulp-typescript';
|
7
7
|
import { blue, logger, red, yellow } from '../../utils/logger.js';
|
8
8
|
import { TaskOptions } from '../../schemas/gulp.js';
|
@@ -162,55 +162,57 @@ const customReporter: ts.reporter.Reporter = {
|
|
162
162
|
|
163
163
|
const message = tsInstance.flattenDiagnosticMessageText(error.diagnostic.messageText, '\n');
|
164
164
|
|
165
|
-
logger.
|
166
|
-
logger.error(
|
165
|
+
logger.error(`${red.underline(relativePath)}:${yellow(String(line))}:${yellow(String(col))}`);
|
166
|
+
logger.error(`${red('error')} ${yellow(`TS${error.diagnostic.code}`)}: ${message}`);
|
167
167
|
},
|
168
168
|
finish: (results) => {
|
169
169
|
const errorCount = results.transpileErrors + results.semanticErrors + results.declarationErrors;
|
170
170
|
if (errorCount > 0) {
|
171
|
-
logger.error(
|
171
|
+
logger.error(`${red.bold(`Found ${errorCount} error${errorCount > 1 ? 's' : ''}.`)}`);
|
172
172
|
}
|
173
173
|
},
|
174
174
|
};
|
175
175
|
|
176
|
-
export function checkTs(options: TaskOptions): TaskType {
|
177
|
-
|
176
|
+
export function checkTs(options: TaskOptions, watching: boolean = false): TaskType {
|
177
|
+
const folders = ["typescript", ...options.modulesSourcePaths];
|
178
178
|
|
179
|
+
const tasks = folders.map((folder) => {
|
180
|
+
const tsProject = ts.createProject(`./local.tsconfig.json`, {
|
181
|
+
noEmit: true,
|
182
|
+
declaration: false,
|
183
|
+
skipDefaultLibCheck: true,
|
184
|
+
});
|
185
|
+
const taskName = `test-${folder}`;
|
186
|
+
|
187
|
+
const task = (done: gulp.TaskFunctionCallback) => {
|
188
|
+
let hasError = false;
|
189
|
+
const stream = gulp
|
190
|
+
.src([`${folder}/**/*.ts`, `!${folder}/types/**/*.ts`])
|
191
|
+
.pipe(tsProject(customReporter))
|
192
|
+
.on("error", (error) => {
|
193
|
+
hasError = true;
|
194
|
+
logger.error(`Error in ${folder}: ${error.message}`);
|
195
|
+
if (watching) {
|
196
|
+
stream.emit("end");
|
197
|
+
} else {
|
198
|
+
logger.error(`TypeScript check failed for ${folder}.`);
|
199
|
+
process.exit(1); // Exit with error code
|
200
|
+
}
|
201
|
+
}
|
202
|
+
);
|
179
203
|
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
const stream = gulp.src([`${folder}/**/*.ts`, `!${folder}/types/**/*.ts`])
|
189
|
-
.pipe(tsProject(customReporter))
|
190
|
-
.on('error', () => {
|
191
|
-
hasError = true;
|
192
|
-
});
|
193
|
-
|
194
|
-
if (options.isWatching) {
|
195
|
-
stream.on('error', function (this: NodeJS.ReadWriteStream) {
|
196
|
-
this.emit('end');
|
197
|
-
});
|
198
|
-
}
|
199
|
-
|
200
|
-
stream.on('end', () => {
|
201
|
-
if (!hasError) {
|
202
|
-
logger.success(`Typescript check for ${folder} succeeded!`);
|
203
|
-
}
|
204
|
-
});
|
205
|
-
|
206
|
-
return stream;
|
207
|
-
};
|
204
|
+
stream.on("end", () => {
|
205
|
+
if (!hasError) {
|
206
|
+
logger.success(`Typescript check for ${folder} succeeded!`);
|
207
|
+
}
|
208
|
+
stream.emit("finish");
|
209
|
+
});
|
210
|
+
return stream;
|
211
|
+
};
|
208
212
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
});
|
213
|
+
Object.defineProperty(task, "name", { value: taskName });
|
214
|
+
return task;
|
215
|
+
});
|
213
216
|
|
214
|
-
|
215
|
-
return gulp.parallel(...tasks);
|
217
|
+
return gulp.parallel(...tasks);
|
216
218
|
}
|