@wolfstar/cli 1.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -3
- package/dist/{_shared-dVR2pKjb.js → _shared-B5EYpDS-.js} +3 -2
- package/dist/_shared-B5EYpDS-.js.map +1 -0
- package/dist/{build-BUhQQ1E5.js → build-Df5jpHx-.js} +5 -5
- package/dist/build-Df5jpHx-.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/{codegen-hmnFzRjK.js → codegen-DDkAozhq.js} +4 -4
- package/dist/codegen-DDkAozhq.js.map +1 -0
- package/dist/{commands-BApoAbpQ.js → commands-BuQLzWfi.js} +4 -4
- package/dist/commands-BuQLzWfi.js.map +1 -0
- package/dist/{dev-B0RlN46N.js → dev-zxmvjryt.js} +9 -9
- package/dist/dev-zxmvjryt.js.map +1 -0
- package/dist/{diagnostics-C98hnJB5.js → diagnostics-CZBVxlpj.js} +2 -2
- package/dist/diagnostics-CZBVxlpj.js.map +1 -0
- package/dist/{errors-D1UU8atd.js → errors-Crt4hu0b.js} +3 -3
- package/dist/errors-Crt4hu0b.js.map +1 -0
- package/dist/{external-DVEYf7yD.js → external-CxFKxwi3.js} +2 -2
- package/dist/external-CxFKxwi3.js.map +1 -0
- package/dist/framework-auto-imports-Gu_PXSyr.js +14 -0
- package/dist/framework-auto-imports-Gu_PXSyr.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4 -4
- package/dist/{info-DN4vUx1S.js → info-C23rw2wp.js} +3 -3
- package/dist/info-C23rw2wp.js.map +1 -0
- package/dist/{locales-khJEemUn.js → locales-wTnYUPpl.js} +6 -6
- package/dist/locales-wTnYUPpl.js.map +1 -0
- package/dist/log-buffer-CY82aqnb.js.map +1 -1
- package/dist/nitro-sP2F3SQu.js +18 -0
- package/dist/nitro-sP2F3SQu.js.map +1 -0
- package/dist/none-uC_wi_l4.js.map +1 -1
- package/dist/plugin-registrations-Dr_BicfC.js +3 -0
- package/dist/{prepare-wGp-cAa9.js → prepare-es4Udgqh.js} +5 -5
- package/dist/prepare-es4Udgqh.js.map +1 -0
- package/dist/{project-DT3wg_lf.js → project-MD4dIo2X.js} +2 -2
- package/dist/{project-DT3wg_lf.js.map → project-MD4dIo2X.js.map} +1 -1
- package/dist/{run-D_j2tqWF.js → run-Bxf2ws_n.js} +8 -8
- package/dist/{run-D_j2tqWF.js.map → run-Bxf2ws_n.js.map} +1 -1
- package/dist/{tsc-Bex5dwzD.js → tsc-DO7D_uCl.js} +3 -3
- package/dist/tsc-DO7D_uCl.js.map +1 -0
- package/dist/tsc-YnAWKn3n.js +3 -0
- package/dist/{tsdown-scDokwb0.js → tsdown-BlPFHbIw.js} +5 -4
- package/dist/tsdown-BlPFHbIw.js.map +1 -0
- package/dist/tui-BRddrLQP.js.map +1 -1
- package/dist/{tunnel-BHHUb9Tq.js → tunnel-DiL0Wxi_.js} +2 -2
- package/dist/tunnel-DiL0Wxi_.js.map +1 -0
- package/dist/vite-CLyB6wl7.js +18 -0
- package/dist/vite-CLyB6wl7.js.map +1 -0
- package/package.json +14 -6
- package/dist/_shared-dVR2pKjb.js.map +0 -1
- package/dist/build-BUhQQ1E5.js.map +0 -1
- package/dist/codegen-hmnFzRjK.js.map +0 -1
- package/dist/commands-BApoAbpQ.js.map +0 -1
- package/dist/dev-B0RlN46N.js.map +0 -1
- package/dist/diagnostics-C98hnJB5.js.map +0 -1
- package/dist/errors-D1UU8atd.js.map +0 -1
- package/dist/external-DVEYf7yD.js.map +0 -1
- package/dist/info-DN4vUx1S.js.map +0 -1
- package/dist/locales-khJEemUn.js.map +0 -1
- package/dist/nitro-Cki2gTpt.js +0 -145
- package/dist/nitro-Cki2gTpt.js.map +0 -1
- package/dist/plugin-registrations-4PA_qWXF.js +0 -34
- package/dist/plugin-registrations-4PA_qWXF.js.map +0 -1
- package/dist/prepare-wGp-cAa9.js.map +0 -1
- package/dist/tsc-Bex5dwzD.js.map +0 -1
- package/dist/tsc-dzhKrr7T.js +0 -3
- package/dist/tsdown-scDokwb0.js.map +0 -1
- package/dist/tunnel-BHHUb9Tq.js.map +0 -1
- package/dist/vite-C-szLSGb.js +0 -109
- package/dist/vite-C-szLSGb.js.map +0 -1
package/dist/vite-C-szLSGb.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { t as pluginRegistrations } from "./plugin-registrations-4PA_qWXF.js";
|
|
2
|
-
import { n as importFromProject } from "./project-DT3wg_lf.js";
|
|
3
|
-
import { EventEmitter } from "node:events";
|
|
4
|
-
|
|
5
|
-
//#region src/builders/vite.ts
|
|
6
|
-
const INSTALL_HINT = "Install it with `pnpm add -D vite`, or set `build.tool` to 'tsdown', 'tsc' or 'none'.";
|
|
7
|
-
/**
|
|
8
|
-
* Builds through the project's own `vite`, honouring its `vite.config.*`.
|
|
9
|
-
*
|
|
10
|
-
* Guarded by `experimental.enableVite`: Vite replaces `tsdown` as the bundler and, with the framework's Fetch
|
|
11
|
-
* adapter, the `node:http` listener too, so a project can serve its interactions endpoint the same way it serves
|
|
12
|
-
* everything else.
|
|
13
|
-
*/
|
|
14
|
-
var ViteBuilder = class extends EventEmitter {
|
|
15
|
-
config;
|
|
16
|
-
tool = "vite";
|
|
17
|
-
#watcher = null;
|
|
18
|
-
#startedAt = 0;
|
|
19
|
-
constructor(config) {
|
|
20
|
-
super();
|
|
21
|
-
this.config = config;
|
|
22
|
-
}
|
|
23
|
-
async build() {
|
|
24
|
-
const vite = await this.#load();
|
|
25
|
-
this.#begin();
|
|
26
|
-
try {
|
|
27
|
-
await vite.build(this.#options(vite));
|
|
28
|
-
return this.#finish(null);
|
|
29
|
-
} catch (error) {
|
|
30
|
-
return this.#finish(error instanceof Error ? error.message : String(error));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
async watch() {
|
|
34
|
-
const vite = await this.#load();
|
|
35
|
-
this.#begin();
|
|
36
|
-
const options = this.#options(vite);
|
|
37
|
-
const result = await vite.build({
|
|
38
|
-
...options,
|
|
39
|
-
build: {
|
|
40
|
-
...options?.build,
|
|
41
|
-
watch: {}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
this.#watcher = result;
|
|
45
|
-
result.on("event", ((event) => {
|
|
46
|
-
switch (event.code) {
|
|
47
|
-
case "BUNDLE_START": return this.#begin();
|
|
48
|
-
case "BUNDLE_END":
|
|
49
|
-
this.#finish(null);
|
|
50
|
-
return;
|
|
51
|
-
case "ERROR":
|
|
52
|
-
this.#finish(event.error?.message ?? "The build reported errors");
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
async close() {
|
|
58
|
-
const watcher = this.#watcher;
|
|
59
|
-
this.#watcher = null;
|
|
60
|
-
await watcher?.close();
|
|
61
|
-
}
|
|
62
|
-
async #load() {
|
|
63
|
-
return importFromProject(this.config.root, "vite", INSTALL_HINT);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* The inline config Vite merges into the project's own `vite.config.*`, with the `vite` block of `stars.config`
|
|
67
|
-
* layered on top — the way `vite: {}` in a Nuxt config is merged into Nuxt's own.
|
|
68
|
-
*/
|
|
69
|
-
#options(vite) {
|
|
70
|
-
return {
|
|
71
|
-
root: this.config.root,
|
|
72
|
-
logLevel: "warn",
|
|
73
|
-
customLogger: this.#logger(vite),
|
|
74
|
-
...this.config.vite,
|
|
75
|
-
plugins: [pluginRegistrations(this.config), ...toArray(this.config.vite.plugins)]
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
#logger(vite) {
|
|
79
|
-
return {
|
|
80
|
-
...vite.createLogger("warn", { allowClearScreen: false }),
|
|
81
|
-
info: (message) => this.emit("log", "info", message),
|
|
82
|
-
warn: (message) => this.emit("log", "warn", message),
|
|
83
|
-
warnOnce: (message) => this.emit("log", "warn", message),
|
|
84
|
-
error: (message) => this.emit("log", "error", message)
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
#begin() {
|
|
88
|
-
this.#startedAt = performance.now();
|
|
89
|
-
this.emit("start");
|
|
90
|
-
}
|
|
91
|
-
#finish(message) {
|
|
92
|
-
const outcome = {
|
|
93
|
-
ok: message === null,
|
|
94
|
-
durationMs: Math.round(performance.now() - this.#startedAt),
|
|
95
|
-
message
|
|
96
|
-
};
|
|
97
|
-
this.#startedAt = 0;
|
|
98
|
-
this.emit(outcome.ok ? "success" : "failure", outcome);
|
|
99
|
-
return outcome;
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
function toArray(value) {
|
|
103
|
-
if (value === void 0 || value === null || value === false) return [];
|
|
104
|
-
return Array.isArray(value) ? value : [value];
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
//#endregion
|
|
108
|
-
export { ViteBuilder };
|
|
109
|
-
//# sourceMappingURL=vite-C-szLSGb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vite-C-szLSGb.js","names":[],"sources":["../src/builders/vite.ts"],"sourcesContent":["import type { ResolvedStarsConfig } from '@wolfstar/http-framework/config';\nimport { EventEmitter } from 'node:events';\nimport { pluginRegistrations } from '../utils/plugin-registrations.js';\nimport { importFromProject } from '../utils/project.js';\nimport type { Builder, BuilderEvents, BuildOutcome } from './types.js';\n\ntype ViteModule = typeof import('vite');\ntype RollupWatcher =\n\tAwaited<ReturnType<ViteModule['build']>> extends infer Result\n\t\t? Result extends { close: () => Promise<void>; on: (...args: never[]) => unknown }\n\t\t\t? Result\n\t\t\t: never\n\t\t: never;\n\nconst INSTALL_HINT = \"Install it with `pnpm add -D vite`, or set `build.tool` to 'tsdown', 'tsc' or 'none'.\";\n\n/**\n * Builds through the project's own `vite`, honouring its `vite.config.*`.\n *\n * Guarded by `experimental.enableVite`: Vite replaces `tsdown` as the bundler and, with the framework's Fetch\n * adapter, the `node:http` listener too, so a project can serve its interactions endpoint the same way it serves\n * everything else.\n */\nexport class ViteBuilder extends EventEmitter<BuilderEvents> implements Builder {\n\tpublic readonly tool = 'vite' as const;\n\t#watcher: RollupWatcher | null = null;\n\t#startedAt = 0;\n\n\tpublic constructor(private readonly config: ResolvedStarsConfig) {\n\t\tsuper();\n\t}\n\n\tpublic async build(): Promise<BuildOutcome> {\n\t\tconst vite = await this.#load();\n\t\tthis.#begin();\n\n\t\ttry {\n\t\t\tawait vite.build(this.#options(vite));\n\t\t\treturn this.#finish(null);\n\t\t} catch (error) {\n\t\t\treturn this.#finish(error instanceof Error ? error.message : String(error));\n\t\t}\n\t}\n\n\tpublic async watch(): Promise<void> {\n\t\tconst vite = await this.#load();\n\t\tthis.#begin();\n\n\t\t// `build.watch` makes Vite return a rollup watcher instead of resolving once, which is what keeps the bot\n\t\t// rebuilding on change; every rebuild reports through the same events the other builders use.\n\t\tconst options = this.#options(vite);\n\t\tconst result = (await vite.build({ ...options, build: { ...options?.build, watch: {} } })) as unknown as RollupWatcher;\n\n\t\tthis.#watcher = result;\n\t\tresult.on(\n\t\t\t'event' as never,\n\t\t\t((event: { code: string; error?: Error }) => {\n\t\t\t\tswitch (event.code) {\n\t\t\t\t\tcase 'BUNDLE_START':\n\t\t\t\t\t\treturn this.#begin();\n\t\t\t\t\tcase 'BUNDLE_END':\n\t\t\t\t\t\treturn void this.#finish(null);\n\t\t\t\t\tcase 'ERROR':\n\t\t\t\t\t\treturn void this.#finish(event.error?.message ?? 'The build reported errors');\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}) as never\n\t\t);\n\t}\n\n\tpublic async close(): Promise<void> {\n\t\tconst watcher = this.#watcher;\n\t\tthis.#watcher = null;\n\t\tawait watcher?.close();\n\t}\n\n\tasync #load(): Promise<ViteModule> {\n\t\treturn importFromProject<ViteModule>(this.config.root, 'vite', INSTALL_HINT);\n\t}\n\n\t/**\n\t * The inline config Vite merges into the project's own `vite.config.*`, with the `vite` block of `stars.config`\n\t * layered on top — the way `vite: {}` in a Nuxt config is merged into Nuxt's own.\n\t */\n\t#options(vite: ViteModule): Parameters<ViteModule['build']>[0] {\n\t\treturn {\n\t\t\troot: this.config.root,\n\t\t\tlogLevel: 'warn',\n\t\t\tcustomLogger: this.#logger(vite),\n\t\t\t...this.config.vite,\n\t\t\tplugins: [pluginRegistrations(this.config), ...toArray(this.config.vite.plugins)]\n\t\t} as Parameters<ViteModule['build']>[0];\n\t}\n\n\t#logger(vite: ViteModule) {\n\t\tconst logger = vite.createLogger('warn', { allowClearScreen: false });\n\t\treturn {\n\t\t\t...logger,\n\t\t\tinfo: (message: string) => this.emit('log', 'info', message),\n\t\t\twarn: (message: string) => this.emit('log', 'warn', message),\n\t\t\twarnOnce: (message: string) => this.emit('log', 'warn', message),\n\t\t\terror: (message: string) => this.emit('log', 'error', message)\n\t\t};\n\t}\n\n\t#begin(): void {\n\t\tthis.#startedAt = performance.now();\n\t\tthis.emit('start');\n\t}\n\n\t#finish(message: string | null): BuildOutcome {\n\t\tconst outcome: BuildOutcome = { ok: message === null, durationMs: Math.round(performance.now() - this.#startedAt), message };\n\t\tthis.#startedAt = 0;\n\t\tthis.emit(outcome.ok ? 'success' : 'failure', outcome);\n\t\treturn outcome;\n\t}\n}\n\nfunction toArray(value: unknown): unknown[] {\n\tif (value === undefined || value === null || value === false) return [];\n\treturn Array.isArray(value) ? value : [value];\n}\n"],"mappings":";;;;;AAcA,MAAM,eAAe;;;;;;;;AASrB,IAAa,cAAb,cAAiC,aAA+C;CAK3C;CAJpC,AAAgB,OAAO;CACvB,WAAiC;CACjC,aAAa;CAEb,AAAO,YAAY,AAAiB,QAA6B;EAChE,MAAM;EAD6B;CAEpC;CAEA,MAAa,QAA+B;EAC3C,MAAM,OAAO,MAAM,KAAK,MAAM;EAC9B,KAAK,OAAO;EAEZ,IAAI;GACH,MAAM,KAAK,MAAM,KAAK,SAAS,IAAI,CAAC;GACpC,OAAO,KAAK,QAAQ,IAAI;EACzB,SAAS,OAAO;GACf,OAAO,KAAK,QAAQ,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;EAC3E;CACD;CAEA,MAAa,QAAuB;EACnC,MAAM,OAAO,MAAM,KAAK,MAAM;EAC9B,KAAK,OAAO;EAIZ,MAAM,UAAU,KAAK,SAAS,IAAI;EAClC,MAAM,SAAU,MAAM,KAAK,MAAM;GAAE,GAAG;GAAS,OAAO;IAAE,GAAG,SAAS;IAAO,OAAO,CAAC;GAAE;EAAE,CAAC;EAExF,KAAK,WAAW;EAChB,OAAO,GACN,WACE,UAA2C;GAC5C,QAAQ,MAAM,MAAd;IACC,KAAK,gBACJ,OAAO,KAAK,OAAO;IACpB,KAAK;KACG,AAAK,KAAK,QAAQ,IAAI;KAA7B;IACD,KAAK;KACG,AAAK,KAAK,QAAQ,MAAM,OAAO,WAAW,2BAA2B;KAA5E;GAGF;EACD,EACD;CACD;CAEA,MAAa,QAAuB;EACnC,MAAM,UAAU,KAAK;EACrB,KAAK,WAAW;EAChB,MAAM,SAAS,MAAM;CACtB;CAEA,MAAM,QAA6B;EAClC,OAAO,kBAA8B,KAAK,OAAO,MAAM,QAAQ,YAAY;CAC5E;;;;;CAMA,SAAS,MAAsD;EAC9D,OAAO;GACN,MAAM,KAAK,OAAO;GAClB,UAAU;GACV,cAAc,KAAK,QAAQ,IAAI;GAC/B,GAAG,KAAK,OAAO;GACf,SAAS,CAAC,oBAAoB,KAAK,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,KAAK,OAAO,CAAC;EACjF;CACD;CAEA,QAAQ,MAAkB;EAEzB,OAAO;GACN,GAFc,KAAK,aAAa,QAAQ,EAAE,kBAAkB,MAAM,CAE1D;GACR,OAAO,YAAoB,KAAK,KAAK,OAAO,QAAQ,OAAO;GAC3D,OAAO,YAAoB,KAAK,KAAK,OAAO,QAAQ,OAAO;GAC3D,WAAW,YAAoB,KAAK,KAAK,OAAO,QAAQ,OAAO;GAC/D,QAAQ,YAAoB,KAAK,KAAK,OAAO,SAAS,OAAO;EAC9D;CACD;CAEA,SAAe;EACd,KAAK,aAAa,YAAY,IAAI;EAClC,KAAK,KAAK,OAAO;CAClB;CAEA,QAAQ,SAAsC;EAC7C,MAAM,UAAwB;GAAE,IAAI,YAAY;GAAM,YAAY,KAAK,MAAM,YAAY,IAAI,IAAI,KAAK,UAAU;GAAG;EAAQ;EAC3H,KAAK,aAAa;EAClB,KAAK,KAAK,QAAQ,KAAK,YAAY,WAAW,OAAO;EACrD,OAAO;CACR;AACD;AAEA,SAAS,QAAQ,OAA2B;CAC3C,IAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,OAAO,OAAO,CAAC;CACtE,OAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAC7C"}
|