@vantail/cli 0.1.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/dist/args.d.ts +16 -0
- package/dist/args.d.ts.map +1 -0
- package/dist/args.js +86 -0
- package/dist/args.js.map +1 -0
- package/dist/bin.d.ts +9 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +170 -0
- package/dist/bin.js.map +1 -0
- package/dist/bundle/archive.d.ts +25 -0
- package/dist/bundle/archive.d.ts.map +1 -0
- package/dist/bundle/archive.js +187 -0
- package/dist/bundle/archive.js.map +1 -0
- package/dist/bundle/common.d.ts +33 -0
- package/dist/bundle/common.d.ts.map +1 -0
- package/dist/bundle/common.js +22 -0
- package/dist/bundle/common.js.map +1 -0
- package/dist/bundle/index.d.ts +12 -0
- package/dist/bundle/index.d.ts.map +1 -0
- package/dist/bundle/index.js +47 -0
- package/dist/bundle/index.js.map +1 -0
- package/dist/bundle/macos.d.ts +19 -0
- package/dist/bundle/macos.d.ts.map +1 -0
- package/dist/bundle/macos.js +138 -0
- package/dist/bundle/macos.js.map +1 -0
- package/dist/commands/build.d.ts +21 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +57 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/dev.d.ts +17 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +170 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/doctor.d.ts +12 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +164 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/package.d.ts +25 -0
- package/dist/commands/package.d.ts.map +1 -0
- package/dist/commands/package.js +144 -0
- package/dist/commands/package.js.map +1 -0
- package/dist/commands/updater.d.ts +46 -0
- package/dist/commands/updater.d.ts.map +1 -0
- package/dist/commands/updater.js +116 -0
- package/dist/commands/updater.js.map +1 -0
- package/dist/icons/index.d.ts +23 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +124 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/icons/png.d.ts +18 -0
- package/dist/icons/png.d.ts.map +1 -0
- package/dist/icons/png.js +220 -0
- package/dist/icons/png.js.map +1 -0
- package/dist/icons/resize.d.ts +14 -0
- package/dist/icons/resize.d.ts.map +1 -0
- package/dist/icons/resize.js +58 -0
- package/dist/icons/resize.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/installers/common.d.ts +20 -0
- package/dist/installers/common.d.ts.map +1 -0
- package/dist/installers/common.js +2 -0
- package/dist/installers/common.js.map +1 -0
- package/dist/installers/deb.d.ts +15 -0
- package/dist/installers/deb.d.ts.map +1 -0
- package/dist/installers/deb.js +146 -0
- package/dist/installers/deb.js.map +1 -0
- package/dist/installers/dmg.d.ts +11 -0
- package/dist/installers/dmg.d.ts.map +1 -0
- package/dist/installers/dmg.js +51 -0
- package/dist/installers/dmg.js.map +1 -0
- package/dist/installers/index.d.ts +14 -0
- package/dist/installers/index.d.ts.map +1 -0
- package/dist/installers/index.js +26 -0
- package/dist/installers/index.js.map +1 -0
- package/dist/installers/msi.d.ts +23 -0
- package/dist/installers/msi.d.ts.map +1 -0
- package/dist/installers/msi.js +199 -0
- package/dist/installers/msi.js.map +1 -0
- package/dist/log.d.ts +22 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +44 -0
- package/dist/log.js.map +1 -0
- package/dist/runtime-config.d.ts +27 -0
- package/dist/runtime-config.d.ts.map +1 -0
- package/dist/runtime-config.js +79 -0
- package/dist/runtime-config.js.map +1 -0
- package/dist/updater-keys.d.ts +31 -0
- package/dist/updater-keys.d.ts.map +1 -0
- package/dist/updater-keys.js +56 -0
- package/dist/updater-keys.js.map +1 -0
- package/dist/vite.d.ts +24 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +31 -0
- package/dist/vite.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turning `vantail.config.ts` into the `vantail.json` the runtime reads.
|
|
3
|
+
*
|
|
4
|
+
* The runtime deliberately knows nothing about projects, dev servers or
|
|
5
|
+
* bundlers - it reads one flat file. This is where that file is produced.
|
|
6
|
+
*/
|
|
7
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
8
|
+
import { dirname, isAbsolute, join, resolve } from "node:path";
|
|
9
|
+
export function buildRuntimeConfig(input) {
|
|
10
|
+
const { config, root, devUrl } = input;
|
|
11
|
+
const distDir = input.distDir ??
|
|
12
|
+
// Nothing is built in dev, but `os.resourceDir()` should still point
|
|
13
|
+
// somewhere sensible - so use the absolute path a build would write to.
|
|
14
|
+
absolute(root, config.distDir ?? "dist");
|
|
15
|
+
return {
|
|
16
|
+
app: {
|
|
17
|
+
name: config.app.name,
|
|
18
|
+
identifier: config.app.identifier,
|
|
19
|
+
version: config.app.version ?? "0.0.0",
|
|
20
|
+
...(input.icon ?? config.app.icon
|
|
21
|
+
? { icon: input.icon ?? absolute(root, config.app.icon) }
|
|
22
|
+
: {}),
|
|
23
|
+
},
|
|
24
|
+
...(config.window ? { window: config.window } : {}),
|
|
25
|
+
...(config.permissions ? { permissions: config.permissions } : {}),
|
|
26
|
+
...(config.menu ? { menu: withMenuTypes(config.menu) } : {}),
|
|
27
|
+
...(config.tray ? { tray: withTrayTypes(config.tray) } : {}),
|
|
28
|
+
...(config.updater ? { updater: config.updater } : {}),
|
|
29
|
+
...(config.protocols?.length ? { protocols: config.protocols } : {}),
|
|
30
|
+
...(config.singleInstance === undefined
|
|
31
|
+
? {}
|
|
32
|
+
: { singleInstance: config.singleInstance }),
|
|
33
|
+
...(config.quitOnLastWindowClosed === undefined
|
|
34
|
+
? {}
|
|
35
|
+
: { quitOnLastWindowClosed: config.quitOnLastWindowClosed }),
|
|
36
|
+
distDir,
|
|
37
|
+
devtools: config.devtools ?? devUrl !== undefined,
|
|
38
|
+
...(devUrl ? { dev: { url: devUrl } } : {}),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/** Write a runtime config and return its path. */
|
|
42
|
+
export async function writeRuntimeConfig(path, input) {
|
|
43
|
+
await mkdir(dirname(path), { recursive: true });
|
|
44
|
+
await writeFile(path, `${JSON.stringify(buildRuntimeConfig(input), null, 2)}\n`, "utf8");
|
|
45
|
+
return path;
|
|
46
|
+
}
|
|
47
|
+
/** Where `vantail dev` keeps its generated config. */
|
|
48
|
+
export function devConfigPath(root) {
|
|
49
|
+
return join(root, ".vantail", "dev", "vantail.json");
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Fill in the `type` the runtime insists on.
|
|
53
|
+
*
|
|
54
|
+
* `{ id, label }` is the overwhelmingly common menu item, so the config lets
|
|
55
|
+
* you write just that - but the runtime's parser is a tagged union with no
|
|
56
|
+
* default, which is what keeps a typo in `type` from being ignored.
|
|
57
|
+
*/
|
|
58
|
+
function withMenuTypes(items) {
|
|
59
|
+
return items.map((item) => {
|
|
60
|
+
if (typeof item !== "object" || item === null)
|
|
61
|
+
return item;
|
|
62
|
+
const entry = item;
|
|
63
|
+
const type = typeof entry["type"] === "string" ? entry["type"] : "normal";
|
|
64
|
+
return {
|
|
65
|
+
...entry,
|
|
66
|
+
type,
|
|
67
|
+
...(Array.isArray(entry["items"]) ? { items: withMenuTypes(entry["items"]) } : {}),
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function withTrayTypes(tray) {
|
|
72
|
+
return Array.isArray(tray["menu"])
|
|
73
|
+
? { ...tray, menu: withMenuTypes(tray["menu"]) }
|
|
74
|
+
: tray;
|
|
75
|
+
}
|
|
76
|
+
function absolute(root, path) {
|
|
77
|
+
return isAbsolute(path) ? path : resolve(root, path);
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=runtime-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../src/runtime-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The signing side of the updater.
|
|
3
|
+
*
|
|
4
|
+
* Ed25519, using Node's own crypto - no dependency, and no key material ever
|
|
5
|
+
* leaves this process except into the file you point it at.
|
|
6
|
+
*
|
|
7
|
+
* The private key signs release archives. The public half goes in
|
|
8
|
+
* `vantail.config.ts` and ends up compiled into every copy of the application,
|
|
9
|
+
* which is what makes an update forgeable only by whoever holds the private
|
|
10
|
+
* one.
|
|
11
|
+
*/
|
|
12
|
+
import { type KeyObject } from "node:crypto";
|
|
13
|
+
export interface GeneratedKeys {
|
|
14
|
+
/** PKCS#8 PEM. Secret. */
|
|
15
|
+
privateKeyPem: string;
|
|
16
|
+
/** base64 of the raw 32-byte key, for `updater.publicKey`. */
|
|
17
|
+
publicKey: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function generateKeys(): GeneratedKeys;
|
|
20
|
+
/**
|
|
21
|
+
* Load a signing key.
|
|
22
|
+
*
|
|
23
|
+
* From `$VANTAIL_UPDATER_KEY` if it is set - a PEM, so CI can hold it in a
|
|
24
|
+
* secret - otherwise from a file.
|
|
25
|
+
*/
|
|
26
|
+
export declare function loadPrivateKey(path?: string): Promise<KeyObject>;
|
|
27
|
+
/** Sign bytes, returning the base64 signature a manifest carries. */
|
|
28
|
+
export declare function signPayload(key: KeyObject, payload: Buffer): string;
|
|
29
|
+
/** The public key that matches a private one, for checking a config. */
|
|
30
|
+
export declare function publicKeyOf(key: KeyObject): string;
|
|
31
|
+
//# sourceMappingURL=updater-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updater-keys.d.ts","sourceRoot":"","sources":["../src/updater-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,YAAY,IAAI,aAAa,CAW5C;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAoBtE;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAIlD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The signing side of the updater.
|
|
3
|
+
*
|
|
4
|
+
* Ed25519, using Node's own crypto - no dependency, and no key material ever
|
|
5
|
+
* leaves this process except into the file you point it at.
|
|
6
|
+
*
|
|
7
|
+
* The private key signs release archives. The public half goes in
|
|
8
|
+
* `vantail.config.ts` and ends up compiled into every copy of the application,
|
|
9
|
+
* which is what makes an update forgeable only by whoever holds the private
|
|
10
|
+
* one.
|
|
11
|
+
*/
|
|
12
|
+
import { createPrivateKey, createPublicKey, generateKeyPairSync, sign as signBytes, } from "node:crypto";
|
|
13
|
+
import { readFile } from "node:fs/promises";
|
|
14
|
+
export function generateKeys() {
|
|
15
|
+
const { privateKey, publicKey } = generateKeyPairSync("ed25519");
|
|
16
|
+
return {
|
|
17
|
+
privateKeyPem: privateKey.export({ format: "pem", type: "pkcs8" }).toString(),
|
|
18
|
+
// An SPKI DER for Ed25519 ends with the 32 raw key bytes, which is the
|
|
19
|
+
// form the runtime's verifier wants.
|
|
20
|
+
publicKey: Buffer.from(publicKey.export({ format: "der", type: "spki" }))
|
|
21
|
+
.subarray(-32)
|
|
22
|
+
.toString("base64"),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Load a signing key.
|
|
27
|
+
*
|
|
28
|
+
* From `$VANTAIL_UPDATER_KEY` if it is set - a PEM, so CI can hold it in a
|
|
29
|
+
* secret - otherwise from a file.
|
|
30
|
+
*/
|
|
31
|
+
export async function loadPrivateKey(path) {
|
|
32
|
+
const inline = process.env["VANTAIL_UPDATER_KEY"];
|
|
33
|
+
const pem = inline ?? (path ? await readFile(path, "utf8") : undefined);
|
|
34
|
+
if (!pem) {
|
|
35
|
+
throw new Error("No signing key. Pass --key <path>, or set VANTAIL_UPDATER_KEY to the key itself.\n" +
|
|
36
|
+
"Generate one with `vantail updater keygen`.");
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
return createPrivateKey(pem);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
throw new Error(`That is not a usable Ed25519 private key: ${error instanceof Error ? error.message : String(error)}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** Sign bytes, returning the base64 signature a manifest carries. */
|
|
46
|
+
export function signPayload(key, payload) {
|
|
47
|
+
// Ed25519 hashes internally, so the algorithm argument is null.
|
|
48
|
+
return signBytes(null, payload, key).toString("base64");
|
|
49
|
+
}
|
|
50
|
+
/** The public key that matches a private one, for checking a config. */
|
|
51
|
+
export function publicKeyOf(key) {
|
|
52
|
+
return Buffer.from(createPublicKey(key).export({ format: "der", type: "spki" }))
|
|
53
|
+
.subarray(-32)
|
|
54
|
+
.toString("base64");
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=updater-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updater-keys.js","sourceRoot":"","sources":["../src/updater-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,IAAI,IAAI,SAAS,GAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAS5C,MAAM,UAAU,YAAY;IAC1B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEjE,OAAO;QACL,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC7E,uEAAuE;QACvE,qCAAqC;QACrC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;aACtE,QAAQ,CAAC,CAAC,EAAE,CAAC;aACb,QAAQ,CAAC,QAAQ,CAAC;KACtB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAa;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAExE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,oFAAoF;YAClF,6CAA6C,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,6CACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,WAAW,CAAC,GAAc,EAAE,OAAe;IACzD,gEAAgE;IAChE,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,WAAW,CAAC,GAAc;IACxC,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;SAC7E,QAAQ,CAAC,CAAC,EAAE,CAAC;SACb,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC"}
|
package/dist/vite.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Talking to Vite.
|
|
3
|
+
*
|
|
4
|
+
* Vite is a peer dependency, imported lazily so that a project missing it
|
|
5
|
+
* gets a sentence explaining what to install rather than a module resolution
|
|
6
|
+
* stack trace.
|
|
7
|
+
*/
|
|
8
|
+
import type { InlineConfig, ViteDevServer } from "vite";
|
|
9
|
+
import type { ParsedConfig } from "@vantail/shared/load";
|
|
10
|
+
export interface ProjectContext {
|
|
11
|
+
config: ParsedConfig;
|
|
12
|
+
root: string;
|
|
13
|
+
configPath: string;
|
|
14
|
+
}
|
|
15
|
+
interface ViteModule {
|
|
16
|
+
createServer(config: InlineConfig): Promise<ViteDevServer>;
|
|
17
|
+
build(config: InlineConfig): Promise<unknown>;
|
|
18
|
+
version?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function importVite(root: string): Promise<ViteModule>;
|
|
21
|
+
/** The Vite config Vantail runs with, before the plugin adds its defaults. */
|
|
22
|
+
export declare function inlineConfig(project: ProjectContext, extra?: InlineConfig): Promise<InlineConfig>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=vite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,UAAU;IAClB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3D,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CASlE;AAED,8EAA8E;AAC9E,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,YAAY,CAAC,CAavB"}
|
package/dist/vite.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Talking to Vite.
|
|
3
|
+
*
|
|
4
|
+
* Vite is a peer dependency, imported lazily so that a project missing it
|
|
5
|
+
* gets a sentence explaining what to install rather than a module resolution
|
|
6
|
+
* stack trace.
|
|
7
|
+
*/
|
|
8
|
+
export async function importVite(root) {
|
|
9
|
+
try {
|
|
10
|
+
return (await import("vite"));
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
throw new Error(`Vite is not installed in ${root}.\n` +
|
|
14
|
+
`Vantail builds your interface with Vite - add it with:\n npm install --save-dev vite`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** The Vite config Vantail runs with, before the plugin adds its defaults. */
|
|
18
|
+
export async function inlineConfig(project, extra = {}) {
|
|
19
|
+
const { default: vantail } = await import("@vantail/vite");
|
|
20
|
+
return {
|
|
21
|
+
// A project's own vite.config.ts is still loaded and still wins; the
|
|
22
|
+
// Vantail plugin only supplies defaults through the `config` hook.
|
|
23
|
+
root: project.root,
|
|
24
|
+
...extra,
|
|
25
|
+
plugins: [
|
|
26
|
+
vantail({ resolved: { config: project.config, root: project.root } }),
|
|
27
|
+
...(extra.plugins ?? []),
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=vite.js.map
|
package/dist/vite.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAA0B,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,KAAK;YACnC,uFAAuF,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAuB,EACvB,KAAK,GAAiB,EAAE;IAExB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAE3D,OAAO;QACL,qEAAqE;QACrE,mEAAmE;QACnE,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,KAAK;QACR,OAAO,EAAE;YACP,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACrE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;SACzB;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vantail/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The Vantail command line: dev, build, package.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/Vantail/vantail.git",
|
|
9
|
+
"directory": "packages/cli"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/Vantail/vantail",
|
|
12
|
+
"type": "module",
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"bin": {
|
|
17
|
+
"vantail": "./dist/bin.js"
|
|
18
|
+
},
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "tsc -p tsconfig.json",
|
|
27
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@vantail/runtime": "^0.1.0",
|
|
31
|
+
"@vantail/shared": "^0.1.0",
|
|
32
|
+
"@vantail/vite": "^0.1.0"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"vite": "^8.0.0"
|
|
39
|
+
}
|
|
40
|
+
}
|