eddev 2.3.17 → 2.3.18
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/node/cli/cli-worker.d.ts +1 -1
- package/dist/node/cli/cli-worker.d.ts.map +1 -1
- package/dist/node/cli/cli-worker.js +4 -4
- package/dist/node/cli/cli.js +1 -1
- package/dist/node/cli/version.d.ts +1 -1
- package/dist/node/cli/version.js +1 -1
- package/dist/node/compiler/dev-server.d.ts.map +1 -1
- package/dist/node/compiler/dev-server.js +1 -10
- package/dist/node/compiler/get-vite-config.d.ts +1 -0
- package/dist/node/compiler/get-vite-config.d.ts.map +1 -1
- package/dist/node/compiler/get-vite-config.js +20 -12
- package/dist/node/project/manifest/manifest.d.ts.map +1 -1
- package/dist/node/project/manifest/manifest.js +23 -8
- package/dist/node/utils/fs-codegen.d.ts +1 -0
- package/dist/node/utils/fs-codegen.d.ts.map +1 -1
- package/dist/node/utils/fs-codegen.js +12 -2
- package/dist/node/utils/stateful-log.d.ts +2 -0
- package/dist/node/utils/stateful-log.d.ts.map +1 -1
- package/dist/node/utils/stateful-log.js +17 -10
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Worker } from "node:worker_threads";
|
|
2
|
-
import { StatefulLog } from "../utils/stateful-log.js";
|
|
2
|
+
import type { StatefulLog } from "../utils/stateful-log.js";
|
|
3
3
|
type WorkerMode = "admin" | "frontend" | "graphql" | "serverless";
|
|
4
4
|
export declare class CLIWorker {
|
|
5
5
|
worker: Worker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-worker.d.ts","sourceRoot":"","sources":["../../../src/node/cli/cli-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAwC,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli-worker.d.ts","sourceRoot":"","sources":["../../../src/node/cli/cli-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAwC,MAAM,qBAAqB,CAAA;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAG3D,KAAK,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAA;AAEjE,qBAAa,SAAS;IACpB,MAAM,EAAE,MAAM,CAAA;gBACF,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAkC3F,QAAQ;CAGf"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { Worker, isMainThread, parentPort, workerData } from "node:worker_threads";
|
|
2
|
-
import { AdminBundler, adminLog } from "../compiler/bundler.admin.js";
|
|
3
|
-
import { FrontendBundler, frontendLog } from "../compiler/bundler.frontend.js";
|
|
4
|
-
import { GraphQLGenerator, graphqlLog } from "../graphql/graphql-codegen.js";
|
|
5
|
-
import { Project } from "../project/project.js";
|
|
6
2
|
import { configureCliMode } from "./cli-mode.js";
|
|
7
3
|
export class CLIWorker {
|
|
8
4
|
worker;
|
|
@@ -58,6 +54,7 @@ if (!isMainThread) {
|
|
|
58
54
|
rootDir: process.cwd(),
|
|
59
55
|
});
|
|
60
56
|
// Load the project info
|
|
57
|
+
const { Project } = await import("../project/project.js");
|
|
61
58
|
const project = await Project.create({
|
|
62
59
|
rootDir: process.cwd(),
|
|
63
60
|
reportPluginCompatibility: false,
|
|
@@ -90,6 +87,7 @@ if (!isMainThread) {
|
|
|
90
87
|
});
|
|
91
88
|
}
|
|
92
89
|
if (mode === "admin") {
|
|
90
|
+
const { AdminBundler, adminLog } = await import("../compiler/bundler.admin.js");
|
|
93
91
|
const bundler = new AdminBundler(project, {
|
|
94
92
|
mode: "development",
|
|
95
93
|
watch: true,
|
|
@@ -98,6 +96,7 @@ if (!isMainThread) {
|
|
|
98
96
|
pipeLog(adminLog);
|
|
99
97
|
}
|
|
100
98
|
else if (mode === "frontend") {
|
|
99
|
+
const { FrontendBundler, frontendLog } = await import("../compiler/bundler.frontend.js");
|
|
101
100
|
const bundler = new FrontendBundler(project, {
|
|
102
101
|
mode: "development",
|
|
103
102
|
watch: true,
|
|
@@ -106,6 +105,7 @@ if (!isMainThread) {
|
|
|
106
105
|
pipeLog(frontendLog);
|
|
107
106
|
}
|
|
108
107
|
else if (mode === "graphql") {
|
|
108
|
+
const { GraphQLGenerator, graphqlLog } = await import("../graphql/graphql-codegen.js");
|
|
109
109
|
const codegen = new GraphQLGenerator(project, {
|
|
110
110
|
generate: true,
|
|
111
111
|
optimize: true,
|
package/dist/node/cli/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "2.3.
|
|
1
|
+
export declare const VERSION = "2.3.18";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/node/cli/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = "2.3.
|
|
1
|
+
export const VERSION = "2.3.18";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/dev-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/dev-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAM/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAID,eAAO,MAAM,aAAa,qEAAU,CAAA;AAEpC,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,qBAAa,SAAS;IAOX,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,OAAO;IAPtB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,SAAO;gBAGF,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO;IAUhB,KAAK;CA+FZ"}
|
|
@@ -4,7 +4,6 @@ import { ProjectEnvUtils } from "../project/env.js";
|
|
|
4
4
|
import { ensureSelfSignedCert, isCertificateTrusted } from "../utils/self-signed-cert.js";
|
|
5
5
|
import { createConsole } from "../utils/stateful-log.js";
|
|
6
6
|
import { createVinxiApp } from "./vinxi-app.js";
|
|
7
|
-
import { createVinxiCodegen } from "./vinxi-codegen.js";
|
|
8
7
|
import chalk from "chalk";
|
|
9
8
|
const console = createConsole("Dev Server", "dev");
|
|
10
9
|
export const serverlessLog = console;
|
|
@@ -18,22 +17,14 @@ export class DevServer {
|
|
|
18
17
|
constructor(project, opts) {
|
|
19
18
|
this.project = project;
|
|
20
19
|
this.opts = opts;
|
|
21
|
-
this.start();
|
|
22
20
|
this.origin = ProjectEnvUtils.get("SITE_URL");
|
|
23
21
|
const parsedSiteURL = parseURL(this.origin);
|
|
24
22
|
this.hostname = !!parsedSiteURL.host ? parsedSiteURL.host : "localhost";
|
|
25
23
|
this.hostOrigin = (opts.https ? "https" : "http") + "://" + this.hostname + ":" + this.port;
|
|
24
|
+
this.start();
|
|
26
25
|
}
|
|
27
26
|
async start() {
|
|
28
27
|
console.setWorking(true);
|
|
29
|
-
// console.log("Setting up vinxi codegen")
|
|
30
|
-
const codegen = createVinxiCodegen({
|
|
31
|
-
mode: "development",
|
|
32
|
-
project: this.project,
|
|
33
|
-
serverless: true,
|
|
34
|
-
});
|
|
35
|
-
await codegen.runAndWatch();
|
|
36
|
-
// console.log("Has run once")
|
|
37
28
|
const app = createVinxiApp({
|
|
38
29
|
mode: "development",
|
|
39
30
|
origin: this.origin,
|
|
@@ -25,6 +25,7 @@ export declare function storybookVitePlugins(args: Args): PluginOption[];
|
|
|
25
25
|
export declare function ignoreRollupErrorsPlugin(): PluginOption;
|
|
26
26
|
export declare function loggerPlugin(args: {
|
|
27
27
|
console: StatefulLog<any>;
|
|
28
|
+
completeOnError?: boolean;
|
|
28
29
|
}): PluginOption;
|
|
29
30
|
export declare function getViteConfig(args: Args): InlineConfig;
|
|
30
31
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-vite-config.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/get-vite-config.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,UAAU,GAAG,KAAK,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAqDlD;AAED,KAAK,eAAe,GAAG;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,eAAoB,kBA4FrD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CA6CxC;
|
|
1
|
+
{"version":3,"file":"get-vite-config.d.ts","sourceRoot":"","sources":["../../../src/node/compiler/get-vite-config.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,aAAa,GAAG,YAAY,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,UAAU,GAAG,KAAK,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAqDlD;AAED,KAAK,eAAe,GAAG;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,eAAoB,kBA4FrD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CA6CxC;AA4BD,wBAAgB,aAAa,IAAI,YAAY,CAW5C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,EAAE,CAatD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,EAAE,CAE/D;AAED,wBAAgB,wBAAwB,IAAI,YAAY,CA8BvD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,CA6BzG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAmEtD"}
|
|
@@ -185,23 +185,29 @@ export function ssrPlugin() {
|
|
|
185
185
|
};
|
|
186
186
|
}
|
|
187
187
|
function buildStatusPlugin(console) {
|
|
188
|
-
let
|
|
188
|
+
let hasStarted = false;
|
|
189
189
|
return {
|
|
190
190
|
name: "eddev:logging",
|
|
191
191
|
enforce: "post",
|
|
192
|
-
watchChange() {
|
|
193
|
-
console.resetLog();
|
|
194
|
-
clearTimeout(timer);
|
|
195
|
-
},
|
|
196
192
|
buildStart() {
|
|
197
|
-
|
|
193
|
+
if (hasStarted) {
|
|
194
|
+
console.resetLog();
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
hasStarted = true;
|
|
198
|
+
console.startTimer();
|
|
199
|
+
}
|
|
198
200
|
console.setWorking(true);
|
|
199
201
|
},
|
|
200
|
-
buildEnd() {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
202
|
+
buildEnd(error) {
|
|
203
|
+
if (error)
|
|
204
|
+
console.setWorking(false, "error");
|
|
205
|
+
},
|
|
206
|
+
renderError() {
|
|
207
|
+
console.setWorking(false, "error");
|
|
208
|
+
},
|
|
209
|
+
writeBundle() {
|
|
210
|
+
console.setWorking(false);
|
|
205
211
|
},
|
|
206
212
|
};
|
|
207
213
|
}
|
|
@@ -283,6 +289,8 @@ export function loggerPlugin(args) {
|
|
|
283
289
|
};
|
|
284
290
|
logger.error = (msg) => {
|
|
285
291
|
args.console.fail(msg.replace(/\n/, ""));
|
|
292
|
+
if (args.completeOnError)
|
|
293
|
+
args.console.setWorking(false, "error");
|
|
286
294
|
};
|
|
287
295
|
logger.warnOnce = (msg) => {
|
|
288
296
|
args.console.warn(msg.replace(/\n/, ""));
|
|
@@ -320,7 +328,7 @@ export function getViteConfig(args) {
|
|
|
320
328
|
}),
|
|
321
329
|
buildStatusPlugin(console),
|
|
322
330
|
ignoreRollupErrorsPlugin(),
|
|
323
|
-
loggerPlugin({ console }),
|
|
331
|
+
loggerPlugin({ console, completeOnError: true }),
|
|
324
332
|
workersPlugin(),
|
|
325
333
|
],
|
|
326
334
|
build: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/node/project/manifest/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA8B,MAAM,gCAAgC,CAAA;AAGtF,KAAK,aAAa,CAAC,UAAU,IAAI;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,UAAU,CAAA;CAClB,CAAA;AAED,KAAK,qBAAqB,CAAC,UAAU,EAAE,SAAS,IAAI;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACvC,gBAAgB,EAAE,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/F,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,UAAU,EAAE,SAAS,IAAI;IACrD,2DAA2D;IAC3D,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,+FAA+F;IAC/F,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IACxF,kCAAkC;IAClC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IAC9F,qFAAqF;IACrF,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;CAC1B,CAAA;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/node/project/manifest/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA8B,MAAM,gCAAgC,CAAA;AAGtF,KAAK,aAAa,CAAC,UAAU,IAAI;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,UAAU,CAAA;CAClB,CAAA;AAED,KAAK,qBAAqB,CAAC,UAAU,EAAE,SAAS,IAAI;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACvC,gBAAgB,EAAE,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/F,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,UAAU,EAAE,SAAS,IAAI;IACrD,2DAA2D;IAC3D,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,+FAA+F;IAC/F,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IACxF,kCAAkC;IAClC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IAC9F,qFAAqF;IACrF,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;CAC1B,CAAA;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,GAgI1G,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAC9C"}
|
|
@@ -16,8 +16,9 @@ export function createManifestGenerator(args) {
|
|
|
16
16
|
return new Promise(async (resolve) => {
|
|
17
17
|
files = [];
|
|
18
18
|
let events = [];
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
let updateQueue = Promise.resolve();
|
|
20
|
+
const runUpdate = async () => {
|
|
21
|
+
value = await generate([...files]);
|
|
21
22
|
clearTimeout(debouncer);
|
|
22
23
|
debouncer = setTimeout(() => {
|
|
23
24
|
if (!disposed)
|
|
@@ -30,19 +31,29 @@ export function createManifestGenerator(args) {
|
|
|
30
31
|
events = [];
|
|
31
32
|
}
|
|
32
33
|
};
|
|
34
|
+
const update = () => {
|
|
35
|
+
updateQueue = updateQueue.then(runUpdate, runUpdate);
|
|
36
|
+
return updateQueue;
|
|
37
|
+
};
|
|
33
38
|
if (args.watch) {
|
|
34
39
|
const disposer = await watchFileTree({
|
|
35
40
|
pattern: args.pattern,
|
|
36
41
|
ignore: args.ignore,
|
|
37
42
|
callback: (fileList, event) => {
|
|
38
43
|
files = fileList;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
if (event) {
|
|
45
|
+
cache.delete(event.file);
|
|
46
|
+
args.onFileChange?.(event.file);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
cache.clear();
|
|
50
|
+
if (args.onFileChange)
|
|
51
|
+
fileList.forEach(args.onFileChange);
|
|
52
|
+
}
|
|
43
53
|
if (event) {
|
|
44
54
|
events.push(event);
|
|
45
55
|
}
|
|
56
|
+
void update();
|
|
46
57
|
},
|
|
47
58
|
});
|
|
48
59
|
disposers.push(disposer);
|
|
@@ -59,12 +70,16 @@ export function createManifestGenerator(args) {
|
|
|
59
70
|
const key = args.getKey(file);
|
|
60
71
|
if (key === null)
|
|
61
72
|
return;
|
|
62
|
-
|
|
73
|
+
let value = cache.get(file);
|
|
74
|
+
if (!cache.has(file)) {
|
|
75
|
+
value = await args.loadValue(file, key);
|
|
76
|
+
cache.set(file, value);
|
|
77
|
+
}
|
|
63
78
|
entries[key] = {
|
|
64
79
|
key,
|
|
65
80
|
relativePath: relative(args.baseDir, file),
|
|
66
81
|
fullPath: file,
|
|
67
|
-
value,
|
|
82
|
+
value: value,
|
|
68
83
|
};
|
|
69
84
|
}));
|
|
70
85
|
return args.generateManifest(entries);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-codegen.d.ts","sourceRoot":"","sources":["../../../src/node/utils/fs-codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAK/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CAC7C,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"fs-codegen.d.ts","sourceRoot":"","sources":["../../../src/node/utils/fs-codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAK/C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CAC7C,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;IAYX,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE;QACX,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;KACxC;IAfI,MAAM,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,aAAa,CAAwB;IAE7C,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,UAAU,CAAC,CAA+B;gBAGzC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE;QACX,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;KACxC;IAKH,QAAQ,CAAC,SAAS,EAAE,aAAa;IAIjC,YAAY,CAAC,EACX,IAAI,EACJ,QAAQ,EACR,SAAS,GACV,EAAE;QACD,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;QACxE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;KACjD;YAaa,YAAY;IAM1B,aAAa;IAYP,WAAW;IA2BX,GAAG;YAKK,KAAK;IA+BnB,IAAI;CAOL"}
|
|
@@ -14,6 +14,7 @@ export class FSCodegen {
|
|
|
14
14
|
unsubscribers = new Set();
|
|
15
15
|
writtenContent = new Map();
|
|
16
16
|
flushScheduled = false;
|
|
17
|
+
flushTimer;
|
|
17
18
|
constructor(project, opts) {
|
|
18
19
|
this.project = project;
|
|
19
20
|
this.opts = opts;
|
|
@@ -43,9 +44,10 @@ export class FSCodegen {
|
|
|
43
44
|
return;
|
|
44
45
|
}
|
|
45
46
|
this.flushScheduled = true;
|
|
46
|
-
setTimeout(() => {
|
|
47
|
+
this.flushTimer = setTimeout(() => {
|
|
47
48
|
this.flushScheduled = false;
|
|
48
|
-
this.
|
|
49
|
+
this.flushTimer = undefined;
|
|
50
|
+
void this.flush();
|
|
49
51
|
}, 100);
|
|
50
52
|
}
|
|
51
53
|
async runAndWatch() {
|
|
@@ -77,6 +79,10 @@ export class FSCodegen {
|
|
|
77
79
|
await this.flush();
|
|
78
80
|
}
|
|
79
81
|
async flush() {
|
|
82
|
+
if (this.flushTimer)
|
|
83
|
+
clearTimeout(this.flushTimer);
|
|
84
|
+
this.flushTimer = undefined;
|
|
85
|
+
this.flushScheduled = false;
|
|
80
86
|
const files = Array.from(this.generatorFiles.values()).flat();
|
|
81
87
|
const existing = (await globby(join(this.outDir, "/**/*"))).map((path) => resolve(this.project.rootDir, path));
|
|
82
88
|
const written = new Set();
|
|
@@ -99,6 +105,10 @@ export class FSCodegen {
|
|
|
99
105
|
this.opts.onWritten?.(written);
|
|
100
106
|
}
|
|
101
107
|
stop() {
|
|
108
|
+
if (this.flushTimer)
|
|
109
|
+
clearTimeout(this.flushTimer);
|
|
110
|
+
this.flushTimer = undefined;
|
|
111
|
+
this.flushScheduled = false;
|
|
102
112
|
this.unsubscribers.forEach((unsub) => unsub());
|
|
103
113
|
this.unsubscribers.clear();
|
|
104
114
|
}
|
|
@@ -24,6 +24,7 @@ export declare class StatefulLog<TState> {
|
|
|
24
24
|
hasWarnings: boolean;
|
|
25
25
|
hasErrors: boolean;
|
|
26
26
|
startTime: number;
|
|
27
|
+
endTime?: number;
|
|
27
28
|
label: string;
|
|
28
29
|
shortName: string;
|
|
29
30
|
status: LogStatus;
|
|
@@ -39,6 +40,7 @@ export declare class StatefulLog<TState> {
|
|
|
39
40
|
copy(log: StatefulLog<any>): void;
|
|
40
41
|
flush(): void;
|
|
41
42
|
getDuration(): number;
|
|
43
|
+
startTimer(): void;
|
|
42
44
|
captureLog(): LogGroupOrEntry[];
|
|
43
45
|
subscribe(fn: (self: StatefulLog<TState>) => void): () => void;
|
|
44
46
|
setState(state: TState): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateful-log.d.ts","sourceRoot":"","sources":["../../../src/node/utils/stateful-log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAInC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;AAErG,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,GAAG,EAAE,CAAA;CACb,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEjD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAM/C,qBAAa,WAAW,CAAC,MAAM;IAC7B,OAAO,EAAE,eAAe,EAAE,CAAK;IAC/B,UAAU,EAAE,QAAQ,EAAE,CAAK;IAC3B,YAAY,CAAC,EAAE,QAAQ,CAAA;IAEvB,WAAW,UAAQ;IACnB,SAAS,UAAQ;IAEjB,SAAS,SAAa;
|
|
1
|
+
{"version":3,"file":"stateful-log.d.ts","sourceRoot":"","sources":["../../../src/node/utils/stateful-log.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export class StatefulLog {
|
|
|
10
10
|
hasWarnings = false;
|
|
11
11
|
hasErrors = false;
|
|
12
12
|
startTime = Date.now();
|
|
13
|
+
endTime;
|
|
13
14
|
label;
|
|
14
15
|
shortName;
|
|
15
16
|
status = "working";
|
|
@@ -27,6 +28,7 @@ export class StatefulLog {
|
|
|
27
28
|
this.hasErrors = false;
|
|
28
29
|
this.hasWarnings = false;
|
|
29
30
|
this.startTime = Date.now();
|
|
31
|
+
this.endTime = undefined;
|
|
30
32
|
this.notifySubscribers();
|
|
31
33
|
}
|
|
32
34
|
clear() {
|
|
@@ -35,6 +37,7 @@ export class StatefulLog {
|
|
|
35
37
|
this.currentGroup = undefined;
|
|
36
38
|
this.hasErrors = false;
|
|
37
39
|
this.hasWarnings = false;
|
|
40
|
+
this.endTime = undefined;
|
|
38
41
|
this.notifySubscribers();
|
|
39
42
|
}
|
|
40
43
|
copy(log) {
|
|
@@ -44,6 +47,7 @@ export class StatefulLog {
|
|
|
44
47
|
this.hasErrors = log.hasErrors;
|
|
45
48
|
this.hasWarnings = log.hasWarnings;
|
|
46
49
|
this.startTime = log.startTime;
|
|
50
|
+
this.endTime = log.endTime;
|
|
47
51
|
this.status = log.status;
|
|
48
52
|
this.state = log.state;
|
|
49
53
|
this.notifySubscribers();
|
|
@@ -53,11 +57,17 @@ export class StatefulLog {
|
|
|
53
57
|
this.notifySubscribers();
|
|
54
58
|
}
|
|
55
59
|
getDuration() {
|
|
60
|
+
if (this.endTime !== undefined)
|
|
61
|
+
return this.endTime - this.startTime;
|
|
56
62
|
const last = this.entries[this.entries.length - 1];
|
|
57
63
|
if (!last)
|
|
58
64
|
return 0;
|
|
59
65
|
return last.time - this.startTime;
|
|
60
66
|
}
|
|
67
|
+
startTimer() {
|
|
68
|
+
this.startTime = Date.now();
|
|
69
|
+
this.endTime = undefined;
|
|
70
|
+
}
|
|
61
71
|
captureLog() {
|
|
62
72
|
const entries = this.entries;
|
|
63
73
|
return [...entries];
|
|
@@ -73,15 +83,13 @@ export class StatefulLog {
|
|
|
73
83
|
this.notifySubscribers();
|
|
74
84
|
}
|
|
75
85
|
setWorking(working, status) {
|
|
76
|
-
if (status) {
|
|
77
|
-
this.setStatus(status);
|
|
78
|
-
}
|
|
79
86
|
if (working) {
|
|
80
|
-
this.
|
|
87
|
+
this.endTime = undefined;
|
|
81
88
|
}
|
|
82
89
|
else {
|
|
83
|
-
this.
|
|
90
|
+
this.endTime = Date.now();
|
|
84
91
|
}
|
|
92
|
+
this.setStatus(working ? "working" : (status ?? (this.hasErrors ? "error" : this.hasWarnings ? "warn" : "success")));
|
|
85
93
|
}
|
|
86
94
|
setStatus(status) {
|
|
87
95
|
this.status = status;
|
|
@@ -95,9 +103,9 @@ export class StatefulLog {
|
|
|
95
103
|
this.notifySubscribers();
|
|
96
104
|
}
|
|
97
105
|
verbose(...messages) {
|
|
98
|
-
if (cliMode.verbose)
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
if (!cliMode.verbose)
|
|
107
|
+
return;
|
|
108
|
+
this.addLogEntry("verbose", ...messages);
|
|
101
109
|
this.notifySubscribers();
|
|
102
110
|
}
|
|
103
111
|
info(...messages) {
|
|
@@ -119,7 +127,7 @@ export class StatefulLog {
|
|
|
119
127
|
}
|
|
120
128
|
fail(...messages) {
|
|
121
129
|
this.addLogEntry("fail", ...messages);
|
|
122
|
-
this.
|
|
130
|
+
this.hasErrors = true;
|
|
123
131
|
this.notifySubscribers();
|
|
124
132
|
}
|
|
125
133
|
success(...messages) {
|
|
@@ -255,7 +263,6 @@ export class StatefulLog {
|
|
|
255
263
|
else {
|
|
256
264
|
this.entries.push(entry);
|
|
257
265
|
}
|
|
258
|
-
this.notifySubscribers();
|
|
259
266
|
}
|
|
260
267
|
else {
|
|
261
268
|
console.log(chalk.grey(`[${this.shortName}]`), ...messages);
|