@gd-kirie/build 0.1.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/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +112 -0
- package/dist/index.js.map +1 -0
- package/package.json +41 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Options } from "execa";
|
|
2
|
+
import { InlineConfig, UserConfig } from "vite";
|
|
3
|
+
|
|
4
|
+
//#region src/dotnet.d.ts
|
|
5
|
+
interface BuildDotnetOptions {
|
|
6
|
+
projectDir: string;
|
|
7
|
+
skipMissingProject?: boolean;
|
|
8
|
+
stdio?: Options["stdio"];
|
|
9
|
+
}
|
|
10
|
+
declare function buildDotnet(options: BuildDotnetOptions): Promise<void>;
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/godot.d.ts
|
|
13
|
+
type ExportMode = "debug" | "release";
|
|
14
|
+
interface GodotCommandOptions {
|
|
15
|
+
godotArgs?: string[];
|
|
16
|
+
godotCommand: string;
|
|
17
|
+
projectDir: string;
|
|
18
|
+
stdio?: Options["stdio"];
|
|
19
|
+
}
|
|
20
|
+
interface PrepareGodotProjectOptions extends GodotCommandOptions {}
|
|
21
|
+
interface ExportGodotPresetOptions extends GodotCommandOptions {
|
|
22
|
+
installAndroidBuildTemplate?: boolean;
|
|
23
|
+
mode: ExportMode;
|
|
24
|
+
outputPath: string;
|
|
25
|
+
preset: string;
|
|
26
|
+
userArgs?: string[];
|
|
27
|
+
}
|
|
28
|
+
declare function prepareGodotProject(options: PrepareGodotProjectOptions): Promise<void>;
|
|
29
|
+
declare function exportGodotPreset(options: ExportGodotPresetOptions): Promise<void>;
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/presets.d.ts
|
|
32
|
+
interface ReadExportPresetValueOptions {
|
|
33
|
+
optionName: string;
|
|
34
|
+
presetName: string;
|
|
35
|
+
projectDir: string;
|
|
36
|
+
}
|
|
37
|
+
declare function readExportPresetValue(options: ReadExportPresetValueOptions): unknown;
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/vite.d.ts
|
|
40
|
+
interface BuildViteWebOptions {
|
|
41
|
+
mode?: string;
|
|
42
|
+
viteConfig?: UserConfig;
|
|
43
|
+
webRoot: string;
|
|
44
|
+
}
|
|
45
|
+
declare function buildViteWeb(options: BuildViteWebOptions): Promise<void>;
|
|
46
|
+
declare function createViteBuildConfig(options: BuildViteWebOptions): InlineConfig;
|
|
47
|
+
//#endregion
|
|
48
|
+
export { type BuildDotnetOptions, type BuildViteWebOptions, type ExportGodotPresetOptions, type ExportMode, type GodotCommandOptions, type PrepareGodotProjectOptions, type ReadExportPresetValueOptions, buildDotnet, buildViteWeb, createViteBuildConfig, exportGodotPreset, prepareGodotProject, readExportPresetValue };
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/dotnet.ts","../src/godot.ts","../src/presets.ts","../src/vite.ts"],"mappings":";;;;UAIiB,kBAAA;EACf,UAAA;EACA,kBAAA;EACA,KAAA,GAAQ,OAAA;AAAA;AAAA,iBAGY,WAAA,CAAY,OAAA,EAAS,kBAAA,GAAqB,OAAA;;;KCNpD,UAAA;AAAA,UAEK,mBAAA;EACf,SAAA;EACA,YAAA;EACA,UAAA;EACA,KAAA,GAAQ,OAAA;AAAA;AAAA,UAGO,0BAAA,SAAmC,mBAAA;AAAA,UAEnC,wBAAA,SAAiC,mBAAA;EAChD,2BAAA;EACA,IAAA,EAAM,UAAA;EACN,UAAA;EACA,MAAA;EACA,QAAA;AAAA;AAAA,iBAGoB,mBAAA,CAAoB,OAAA,EAAS,0BAAA,GAA6B,OAAA;AAAA,iBAW1D,iBAAA,CAAkB,OAAA,EAAS,wBAAA,GAA2B,OAAA;;;UC1B3D,4BAAA;EACf,UAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,iBAGc,qBAAA,CAAsB,OAAS,EAAA,4BAAA;;;UCN9B,mBAAA;EACf,IAAA;EACA,UAAA,GAAa,UAAA;EACb,OAAA;AAAA;AAAA,iBAGoB,YAAA,CAAa,OAAA,EAAS,mBAAA,GAAsB,OAAA;AAAA,iBAMlD,qBAAA,CAAsB,OAAA,EAAS,mBAAA,GAAsB,YAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { execa } from "execa";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { parse } from "ini";
|
|
5
|
+
import { build, mergeConfig } from "vite";
|
|
6
|
+
//#region src/dotnet.ts
|
|
7
|
+
const DOTNET_NO_PROJECT_ERROR = "MSB1003";
|
|
8
|
+
async function buildDotnet(options) {
|
|
9
|
+
const result = await execa("dotnet", ["build"], {
|
|
10
|
+
all: true,
|
|
11
|
+
cwd: options.projectDir,
|
|
12
|
+
reject: false,
|
|
13
|
+
stdio: options.stdio
|
|
14
|
+
});
|
|
15
|
+
const output = typeof result.all === "string" ? result.all : "";
|
|
16
|
+
if (result.exitCode === 0) {
|
|
17
|
+
if (options.stdio === void 0) process.stdout.write(output);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (options.skipMissingProject && output.includes(DOTNET_NO_PROJECT_ERROR)) {
|
|
21
|
+
console.log("No .NET project found; skipping dotnet build.");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (options.stdio === void 0) process.stdout.write(output);
|
|
25
|
+
throw new Error("dotnet build failed.");
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/godot.ts
|
|
29
|
+
async function prepareGodotProject(options) {
|
|
30
|
+
await execa(options.godotCommand, [
|
|
31
|
+
...options.godotArgs ?? [],
|
|
32
|
+
"--headless",
|
|
33
|
+
"--path",
|
|
34
|
+
options.projectDir,
|
|
35
|
+
"--import"
|
|
36
|
+
], {
|
|
37
|
+
cwd: options.projectDir,
|
|
38
|
+
stdio: options.stdio ?? "inherit"
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async function exportGodotPreset(options) {
|
|
42
|
+
fs.mkdirSync(path.dirname(options.outputPath), { recursive: true });
|
|
43
|
+
const args = [
|
|
44
|
+
...options.godotArgs ?? [],
|
|
45
|
+
"--headless",
|
|
46
|
+
"--path",
|
|
47
|
+
options.projectDir
|
|
48
|
+
];
|
|
49
|
+
if (options.installAndroidBuildTemplate) args.push("--install-android-build-template");
|
|
50
|
+
args.push(options.mode === "debug" ? "--export-debug" : "--export-release", options.preset, options.outputPath);
|
|
51
|
+
if (options.userArgs && options.userArgs.length > 0) args.push("--", ...options.userArgs);
|
|
52
|
+
await execa(options.godotCommand, args, {
|
|
53
|
+
cwd: options.projectDir,
|
|
54
|
+
stdio: options.stdio ?? "inherit"
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region src/presets.ts
|
|
59
|
+
function readExportPresetValue(options) {
|
|
60
|
+
const exportPresetsPath = path.join(options.projectDir, "export_presets.cfg");
|
|
61
|
+
const config = parse(fs.readFileSync(exportPresetsPath, "utf8"));
|
|
62
|
+
for (const preset of Object.values(config.preset ?? {})) {
|
|
63
|
+
if (preset.name !== options.presetName) continue;
|
|
64
|
+
const value = preset.options?.[options.optionName];
|
|
65
|
+
if (value === void 0) throw new Error(`Export preset option not found: ${options.optionName} in ${exportPresetsPath}`);
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`Export preset not found: ${options.presetName} in ${exportPresetsPath}`);
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/vite.ts
|
|
72
|
+
const KIRIE_OWNED_VITE_OPTIONS = ["root", "base"];
|
|
73
|
+
const KIRIE_OWNED_VITE_SERVER_OPTIONS = [
|
|
74
|
+
"host",
|
|
75
|
+
"port",
|
|
76
|
+
"strictPort",
|
|
77
|
+
"open"
|
|
78
|
+
];
|
|
79
|
+
const KIRIE_OWNED_VITE_BUILD_OPTIONS = ["outDir"];
|
|
80
|
+
async function buildViteWeb(options) {
|
|
81
|
+
assertWebEntryExists(options.webRoot, "Kirie build web");
|
|
82
|
+
await build(createViteBuildConfig(options));
|
|
83
|
+
}
|
|
84
|
+
function createViteBuildConfig(options) {
|
|
85
|
+
assertNoKirieOwnedViteOptions(options.viteConfig ?? {});
|
|
86
|
+
return mergeConfig(options.viteConfig ?? {}, {
|
|
87
|
+
base: "./",
|
|
88
|
+
build: { outDir: "dist" },
|
|
89
|
+
configFile: false,
|
|
90
|
+
mode: options.mode,
|
|
91
|
+
root: options.webRoot
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
function assertWebEntryExists(webRoot, commandName) {
|
|
95
|
+
const indexPath = path.join(webRoot, "index.html");
|
|
96
|
+
if (fs.existsSync(indexPath)) return;
|
|
97
|
+
throw new Error(`${commandName} requires ${indexPath}.`);
|
|
98
|
+
}
|
|
99
|
+
function assertNoKirieOwnedViteOptions(viteConfig) {
|
|
100
|
+
assertNoOwnedOptions(viteConfig, "web.vite", KIRIE_OWNED_VITE_OPTIONS);
|
|
101
|
+
const server = viteConfig.server;
|
|
102
|
+
if (server && typeof server === "object") assertNoOwnedOptions(server, "web.vite.server", KIRIE_OWNED_VITE_SERVER_OPTIONS);
|
|
103
|
+
const buildOptions = viteConfig.build;
|
|
104
|
+
if (buildOptions && typeof buildOptions === "object") assertNoOwnedOptions(buildOptions, "web.vite.build", KIRIE_OWNED_VITE_BUILD_OPTIONS);
|
|
105
|
+
}
|
|
106
|
+
function assertNoOwnedOptions(config, pathPrefix, options) {
|
|
107
|
+
for (const option of options) if (option in config) throw new Error(`${pathPrefix}.${option} is owned by Kirie and cannot be set in kirie.config.ts.`);
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
export { buildDotnet, buildViteWeb, createViteBuildConfig, exportGodotPreset, prepareGodotProject, readExportPresetValue };
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["parseIni"],"sources":["../src/dotnet.ts","../src/godot.ts","../src/presets.ts","../src/vite.ts"],"sourcesContent":["import { type Options as ExecaOptions, execa } from \"execa\";\n\nconst DOTNET_NO_PROJECT_ERROR = \"MSB1003\";\n\nexport interface BuildDotnetOptions {\n projectDir: string;\n skipMissingProject?: boolean;\n stdio?: ExecaOptions[\"stdio\"];\n}\n\nexport async function buildDotnet(options: BuildDotnetOptions): Promise<void> {\n const result = await execa(\"dotnet\", [\"build\"], {\n all: true,\n cwd: options.projectDir,\n reject: false,\n stdio: options.stdio,\n });\n const output = typeof result.all === \"string\" ? result.all : \"\";\n\n if (result.exitCode === 0) {\n if (options.stdio === undefined) {\n process.stdout.write(output);\n }\n return;\n }\n\n if (options.skipMissingProject && output.includes(DOTNET_NO_PROJECT_ERROR)) {\n console.log(\"No .NET project found; skipping dotnet build.\");\n return;\n }\n\n if (options.stdio === undefined) {\n process.stdout.write(output);\n }\n throw new Error(\"dotnet build failed.\");\n}\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { type Options as ExecaOptions, execa } from \"execa\";\n\nexport type ExportMode = \"debug\" | \"release\";\n\nexport interface GodotCommandOptions {\n godotArgs?: string[];\n godotCommand: string;\n projectDir: string;\n stdio?: ExecaOptions[\"stdio\"];\n}\n\nexport interface PrepareGodotProjectOptions extends GodotCommandOptions {}\n\nexport interface ExportGodotPresetOptions extends GodotCommandOptions {\n installAndroidBuildTemplate?: boolean;\n mode: ExportMode;\n outputPath: string;\n preset: string;\n userArgs?: string[];\n}\n\nexport async function prepareGodotProject(options: PrepareGodotProjectOptions): Promise<void> {\n await execa(\n options.godotCommand,\n [...(options.godotArgs ?? []), \"--headless\", \"--path\", options.projectDir, \"--import\"],\n {\n cwd: options.projectDir,\n stdio: options.stdio ?? \"inherit\",\n },\n );\n}\n\nexport async function exportGodotPreset(options: ExportGodotPresetOptions): Promise<void> {\n fs.mkdirSync(path.dirname(options.outputPath), { recursive: true });\n\n const args = [...(options.godotArgs ?? []), \"--headless\", \"--path\", options.projectDir];\n\n if (options.installAndroidBuildTemplate) {\n args.push(\"--install-android-build-template\");\n }\n\n args.push(\n options.mode === \"debug\" ? \"--export-debug\" : \"--export-release\",\n options.preset,\n options.outputPath,\n );\n\n if (options.userArgs && options.userArgs.length > 0) {\n args.push(\"--\", ...options.userArgs);\n }\n\n await execa(options.godotCommand, args, {\n cwd: options.projectDir,\n stdio: options.stdio ?? \"inherit\",\n });\n}\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { parse as parseIni } from \"ini\";\n\ninterface ParsedExportPresets {\n preset?: Record<string, { name?: string; options?: Record<string, unknown> }>;\n}\n\nexport interface ReadExportPresetValueOptions {\n optionName: string;\n presetName: string;\n projectDir: string;\n}\n\nexport function readExportPresetValue(options: ReadExportPresetValueOptions): unknown {\n const exportPresetsPath = path.join(options.projectDir, \"export_presets.cfg\");\n const config = parseIni(fs.readFileSync(exportPresetsPath, \"utf8\")) as ParsedExportPresets;\n\n for (const preset of Object.values(config.preset ?? {})) {\n if (preset.name !== options.presetName) {\n continue;\n }\n\n const value = preset.options?.[options.optionName];\n if (value === undefined) {\n throw new Error(\n `Export preset option not found: ${options.optionName} in ${exportPresetsPath}`,\n );\n }\n\n return value;\n }\n\n throw new Error(`Export preset not found: ${options.presetName} in ${exportPresetsPath}`);\n}\n","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { build, type InlineConfig, mergeConfig, type UserConfig } from \"vite\";\n\nconst KIRIE_OWNED_VITE_OPTIONS = [\"root\", \"base\"] as const;\nconst KIRIE_OWNED_VITE_SERVER_OPTIONS = [\"host\", \"port\", \"strictPort\", \"open\"] as const;\nconst KIRIE_OWNED_VITE_BUILD_OPTIONS = [\"outDir\"] as const;\n\nexport interface BuildViteWebOptions {\n mode?: string;\n viteConfig?: UserConfig;\n webRoot: string;\n}\n\nexport async function buildViteWeb(options: BuildViteWebOptions): Promise<void> {\n assertWebEntryExists(options.webRoot, \"Kirie build web\");\n\n await build(createViteBuildConfig(options));\n}\n\nexport function createViteBuildConfig(options: BuildViteWebOptions): InlineConfig {\n assertNoKirieOwnedViteOptions((options.viteConfig ?? {}) as Record<string, unknown>);\n\n return mergeConfig(options.viteConfig ?? {}, {\n base: \"./\",\n build: {\n outDir: \"dist\",\n },\n configFile: false,\n mode: options.mode,\n root: options.webRoot,\n }) as InlineConfig;\n}\n\nfunction assertWebEntryExists(webRoot: string, commandName: string): void {\n const indexPath = path.join(webRoot, \"index.html\");\n\n if (fs.existsSync(indexPath)) {\n return;\n }\n\n throw new Error(`${commandName} requires ${indexPath}.`);\n}\n\nfunction assertNoKirieOwnedViteOptions(viteConfig: Record<string, unknown>): void {\n assertNoOwnedOptions(viteConfig, \"web.vite\", KIRIE_OWNED_VITE_OPTIONS);\n\n const server = viteConfig.server;\n if (server && typeof server === \"object\") {\n assertNoOwnedOptions(\n server as Record<string, unknown>,\n \"web.vite.server\",\n KIRIE_OWNED_VITE_SERVER_OPTIONS,\n );\n }\n\n const buildOptions = viteConfig.build;\n if (buildOptions && typeof buildOptions === \"object\") {\n assertNoOwnedOptions(\n buildOptions as Record<string, unknown>,\n \"web.vite.build\",\n KIRIE_OWNED_VITE_BUILD_OPTIONS,\n );\n }\n}\n\nfunction assertNoOwnedOptions(\n config: Record<string, unknown>,\n pathPrefix: string,\n options: readonly string[],\n): void {\n for (const option of options) {\n if (option in config) {\n throw new Error(\n `${pathPrefix}.${option} is owned by Kirie and cannot be set in kirie.config.ts.`,\n );\n }\n }\n}\n"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gd-kirie/build",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/moeru-ai/godot-kirie.git",
|
|
8
|
+
"directory": "packages/build"
|
|
9
|
+
},
|
|
10
|
+
"main": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"execa": "9.6.1",
|
|
23
|
+
"ini": "^7.0.0",
|
|
24
|
+
"vite": "^8.0.16"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/ini": "^4.1.1",
|
|
28
|
+
"@types/node": "^25.6.0",
|
|
29
|
+
"tsdown": "^0.22.2",
|
|
30
|
+
"typescript": "^6.0.3",
|
|
31
|
+
"vitest": "^4.0.15"
|
|
32
|
+
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public",
|
|
35
|
+
"registry": "https://registry.npmjs.org"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "tsdown",
|
|
39
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
40
|
+
}
|
|
41
|
+
}
|