@axeth/create-cli 2.1.4 → 2.1.5
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/.turbo/turbo-build.log +2 -0
- package/LISENCE +21 -0
- package/package.json +1 -2
- package/src/class/AxethCLI.d.ts.map +1 -0
- package/src/class/AxethCLI.js.map +1 -0
- package/src/class/AxethCLI.ts +224 -0
- package/src/class/TemplateGenerators.d.ts.map +1 -0
- package/src/class/TemplateGenerators.js.map +1 -0
- package/src/class/TemplateGenerators.ts +102 -0
- package/src/data/templates.json +21 -0
- package/tsconfig.json +16 -0
- package/dist/class/AxethCLI.d.ts.map +0 -1
- package/dist/class/AxethCLI.js.map +0 -1
- package/dist/class/TemplateGenerators.d.ts.map +0 -1
- package/dist/class/TemplateGenerators.js.map +0 -1
- /package/{dist → src}/class/AxethCLI.d.ts +0 -0
- /package/{dist → src}/class/AxethCLI.js +0 -0
- /package/{dist → src}/class/TemplateGenerators.d.ts +0 -0
- /package/{dist → src}/class/TemplateGenerators.js +0 -0
package/LISENCE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 PUKAN223
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AxethCLI.d.ts","sourceRoot":"","sources":["AxethCLI.ts"],"names":[],"mappings":"AAOA,cAAM,QAAQ;IACV,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,QAAQ,CAAqB;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;;YAQ7B,OAAO;YAMP,IAAI;YAmCJ,gBAAgB;YAiBhB,eAAe;YAiBf,YAAY;YAoBZ,yBAAyB;YAQzB,2BAA2B;IAOzC,OAAO,CAAC,cAAc;YA6BR,mBAAmB;YAQnB,kBAAkB;IAQ1B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;;;IA0BvD,OAAO,CAAC,aAAa;YAIP,UAAU;CAe3B;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AxethCLI.js","sourceRoot":"","sources":["AxethCLI.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import * as prompt from "@clack/prompts";
|
|
2
|
+
import color from "colors";
|
|
3
|
+
import { TemplateGenerators } from "./TemplateGenerators.js";
|
|
4
|
+
import fs from "fs-extra";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { exec, spawn } from "child_process";
|
|
7
|
+
|
|
8
|
+
class AxethCLI {
|
|
9
|
+
private promptGroups: Record<string, Record<string, (opts?: any) => any>> = {};
|
|
10
|
+
private promptDefaults: Record<string, Record<string, any>> = {};
|
|
11
|
+
private template: TemplateGenerators;
|
|
12
|
+
|
|
13
|
+
private readonly axethAPI = `@axeth/api`;
|
|
14
|
+
private readonly axethCore = `@axeth/core`;
|
|
15
|
+
|
|
16
|
+
constructor() {
|
|
17
|
+
console.clear();
|
|
18
|
+
this.template = new TemplateGenerators();
|
|
19
|
+
this.init();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
private async version() {
|
|
23
|
+
const url = new URL("../../package.json", import.meta.url);
|
|
24
|
+
const pkgData = await Bun.file(url).json();
|
|
25
|
+
return pkgData.version;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
private async init() {
|
|
29
|
+
const version = await this.version();
|
|
30
|
+
const addonInfo = await this.addonInfoPrompt(version, () => {
|
|
31
|
+
process.exit(0);
|
|
32
|
+
});
|
|
33
|
+
const config = await this.configPrompt();
|
|
34
|
+
const minecraftServerVersion = await this.getMinecraftServerVersion();
|
|
35
|
+
const minecraftServerUIVersion = await this.getMinecraftServerUIVersion();
|
|
36
|
+
const spinner = prompt.spinner({ indicator: "dots" });
|
|
37
|
+
|
|
38
|
+
await this.generateTemplate(addonInfo, config, minecraftServerVersion, minecraftServerUIVersion, spinner);
|
|
39
|
+
|
|
40
|
+
const projectDir = path.join(process.cwd(), (addonInfo.addonName as string).replace(/\s+/g, "-").toLowerCase());
|
|
41
|
+
|
|
42
|
+
//cd and bun run lint
|
|
43
|
+
spinner.start("Linting generated add-on...");
|
|
44
|
+
await this.runCommand("bun run lint", projectDir).catch((err) => {
|
|
45
|
+
spinner.stop("Linting failed.");
|
|
46
|
+
console.error(color.red(err));
|
|
47
|
+
process.exit(1);
|
|
48
|
+
});
|
|
49
|
+
spinner.stop("Add-on linted successfully.");
|
|
50
|
+
const openVSCode = await prompt.confirm({
|
|
51
|
+
message: "Open on VSCode?",
|
|
52
|
+
initialValue: false
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
if (openVSCode === true) {
|
|
56
|
+
spinner.start("Opening VSCode...");
|
|
57
|
+
await this.runCommand(`code "${projectDir}"`);
|
|
58
|
+
spinner.stop("VSCode opened.");
|
|
59
|
+
}
|
|
60
|
+
prompt.outro(color.green(`\n Successfully created add-on: ${addonInfo.addonName}\n`));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
private async generateTemplate(addonInfo: { [x: string]: any }, config: { [x: string]: any }, minecraftServerVersion: string, minecraftServerUIVersion: string, spinner: any) {
|
|
64
|
+
await this.template.generate({
|
|
65
|
+
"project_name": (addonInfo.addonName as string).replace(/\s+/g, "-").toLowerCase(),
|
|
66
|
+
"axethApiVersion": config.axethApiVersion,
|
|
67
|
+
"pack_name": addonInfo.addonName,
|
|
68
|
+
"pack_description": addonInfo.description,
|
|
69
|
+
"author_name": (addonInfo.authors as string).split(",").map((name: string) => name.trim()),
|
|
70
|
+
"version": addonInfo.version.split(".").map((num: string) => parseInt(num, 10)),
|
|
71
|
+
"seed": Math.floor(Math.random() * 1000000),
|
|
72
|
+
"axethApiName": this.axethAPI,
|
|
73
|
+
"axethCoreName": this.axethCore,
|
|
74
|
+
"axethCoreVersion": config.axethCoreVersion,
|
|
75
|
+
"minecraftServerUIVersion": minecraftServerUIVersion,
|
|
76
|
+
"minecraftServerVersion": minecraftServerVersion
|
|
77
|
+
}, spinner);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
private async addonInfoPrompt(version: string, onCancel?: () => void) {
|
|
81
|
+
return await new Promise<{ [x: string]: any }>((resolve) => {
|
|
82
|
+
this.registerIntro(
|
|
83
|
+
"\n _ _ \n /_\\ __ _____| |_ \n / _ \\ \\ \\ / -_) _|\n /_/ \\_\\/\\_\\_\\___|\\__|\n ",
|
|
84
|
+
"Axeth CLI",
|
|
85
|
+
version,
|
|
86
|
+
);
|
|
87
|
+
this.registerPrompt("addonInfo", "addonName", "Add-on Name", "text", { placeholder: "My-Addon" });
|
|
88
|
+
this.registerPrompt("addonInfo", "description", "Description", "text", { placeholder: "This addon create for Minecraft Bedrock (Axeth)" });
|
|
89
|
+
this.registerPrompt("addonInfo", "version", "Version", "text", { placeholder: "1.0.0" });
|
|
90
|
+
this.registerPrompt("addonInfo", "authors", "Authors", "text", { placeholder: "YourName,Axeth" });
|
|
91
|
+
this.runPrompts("addonInfo", onCancel).then((responses) => {
|
|
92
|
+
resolve(responses);
|
|
93
|
+
})
|
|
94
|
+
})
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
private async configPrompt() {
|
|
98
|
+
return new Promise<{ [x: string]: any }>(async (resolve) => {
|
|
99
|
+
const spinner = prompt.spinner({ indicator: "dots" });
|
|
100
|
+
spinner.start("Fetching latest Axeth API version...");
|
|
101
|
+
const versions = await this.getAxethApiVersion();
|
|
102
|
+
spinner.stop(`Fetched @axeth/api ${versions.length} versions.`);
|
|
103
|
+
this.registerPrompt("config", "axethApiVersion", "Select Axeth API version", "select", {
|
|
104
|
+
options: versions.slice(0, 10).map((ver) => ({ label: ver, value: ver })),
|
|
105
|
+
initial: versions[0],
|
|
106
|
+
});
|
|
107
|
+
const axethCoreVersion = await this.getAxethCoreVersion();
|
|
108
|
+
await this.runPrompts("config", () => { process.exit(0); }).then((response) => {
|
|
109
|
+
resolve({
|
|
110
|
+
axethApiVersion: response.axethApiVersion,
|
|
111
|
+
axethCoreVersion: axethCoreVersion,
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
})
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
private async getMinecraftServerVersion() {
|
|
118
|
+
const moduleData: any = await fetch(`https://registry.npmjs.org/@minecraft/server`)
|
|
119
|
+
.then(res => res.json());
|
|
120
|
+
|
|
121
|
+
const distTag = moduleData["dist-tags"];
|
|
122
|
+
return distTag.latest;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
private async getMinecraftServerUIVersion() {
|
|
126
|
+
const moduleData: any = await fetch(`https://registry.npmjs.org/@minecraft/server-ui`)
|
|
127
|
+
.then(res => res.json());
|
|
128
|
+
const distTag = moduleData["dist-tags"];
|
|
129
|
+
return distTag.latest;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
private registerPrompt(groupId: string, key: string, message: string, type: "text" | "password" | "confirm" | "select" | "multiselect" = "text", options: any = {}) {
|
|
133
|
+
if (!this.promptGroups[groupId]) this.promptGroups[groupId] = {};
|
|
134
|
+
this.promptDefaults[groupId] = this.promptDefaults[groupId] || {};
|
|
135
|
+
switch (type) {
|
|
136
|
+
case "text":
|
|
137
|
+
this.promptGroups[groupId][key] = () => prompt.text({ message, ...options });
|
|
138
|
+
this.promptDefaults[groupId][key] = options.placeholder || undefined;
|
|
139
|
+
break;
|
|
140
|
+
case "password":
|
|
141
|
+
this.promptGroups[groupId][key] = () => prompt.password({ message, ...options });
|
|
142
|
+
this.promptDefaults[groupId][key] = options.placeholder || undefined;
|
|
143
|
+
break;
|
|
144
|
+
case "confirm":
|
|
145
|
+
this.promptGroups[groupId][key] = () => prompt.confirm({ message, ...options });
|
|
146
|
+
this.promptDefaults[groupId][key] = options.initial || undefined;
|
|
147
|
+
break;
|
|
148
|
+
case "select":
|
|
149
|
+
this.promptGroups[groupId][key] = () => prompt.select({ message, ...options });
|
|
150
|
+
this.promptDefaults[groupId][key] = options.initial || undefined;
|
|
151
|
+
break;
|
|
152
|
+
case "multiselect":
|
|
153
|
+
this.promptGroups[groupId][key] = () => prompt.multiselect({ message, ...options });
|
|
154
|
+
this.promptDefaults[groupId][key] = options.initial || undefined;
|
|
155
|
+
break;
|
|
156
|
+
default:
|
|
157
|
+
throw new Error(`Unknown prompt type: ${type}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
private async getAxethCoreVersion() {
|
|
162
|
+
const moduleData: any = await fetch(`https://registry.npmjs.org/${this.axethCore}`)
|
|
163
|
+
.then(res => res.json());
|
|
164
|
+
|
|
165
|
+
const versions = Object.keys(moduleData.versions);
|
|
166
|
+
return versions.reverse()[0];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
private async getAxethApiVersion() {
|
|
170
|
+
const moduleData: any = await fetch(`https://registry.npmjs.org/${this.axethAPI}`)
|
|
171
|
+
.then(res => res.json());
|
|
172
|
+
|
|
173
|
+
const versions = Object.keys(moduleData.versions);
|
|
174
|
+
return versions.reverse();
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
async runPrompts(groupId: string, onCancel?: () => void) {
|
|
178
|
+
if (!this.promptGroups[groupId] || Object.keys(this.promptGroups[groupId]).length === 0) {
|
|
179
|
+
throw new Error(`No prompts to run for group: ${groupId}`);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
const responses: { [x: string]: any } = {};
|
|
183
|
+
for (const key of Object.keys(this.promptGroups[groupId])) {
|
|
184
|
+
const response = await this.promptGroups[groupId][key]!();
|
|
185
|
+
if (String(response).includes("clack:cancel")) {
|
|
186
|
+
prompt.cancel("Operation cancelled.");
|
|
187
|
+
if (onCancel) onCancel();
|
|
188
|
+
return {};
|
|
189
|
+
}
|
|
190
|
+
if (response === undefined) {
|
|
191
|
+
if (this.promptDefaults[groupId] && this.promptDefaults[groupId][key] !== undefined) {
|
|
192
|
+
responses[key] = this.promptDefaults[groupId][key];
|
|
193
|
+
} else {
|
|
194
|
+
responses[key] = undefined;
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
responses[key] = response;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return responses;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
private registerIntro(logo: string, title: string, version: string) {
|
|
204
|
+
prompt.intro(color.cyan(logo) + `\n ${title} - v${version}\n`);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
private async runCommand(command: string, cwd?: string): Promise<void> {
|
|
208
|
+
return new Promise((resolve, reject) => {
|
|
209
|
+
const options: any = {};
|
|
210
|
+
if (cwd) {
|
|
211
|
+
options.cwd = cwd;
|
|
212
|
+
}
|
|
213
|
+
exec(command, options, (error, stdout, stderr) => {
|
|
214
|
+
if (error) {
|
|
215
|
+
reject(error);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
resolve();
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export { AxethCLI };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateGenerators.d.ts","sourceRoot":"","sources":["TemplateGenerators.ts"],"names":[],"mappings":"AAIA,cAAM,kBAAkB;IACpB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,YAAY,CAKlB;;IAKK,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAI1C,QAAQ;IAIF,QAAQ,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YAsDpE,UAAU;YAgBV,mBAAmB;CAKpC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateGenerators.js","sourceRoot":"","sources":["TemplateGenerators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import path from "path"
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import { exec } from "child_process";
|
|
4
|
+
|
|
5
|
+
class TemplateGenerators {
|
|
6
|
+
private fileList = new Map<string, string>();
|
|
7
|
+
private dependencies: string[] = [
|
|
8
|
+
"@axeth/api",
|
|
9
|
+
"@axeth/core",
|
|
10
|
+
"@minecraft/server",
|
|
11
|
+
"@minecraft/server-ui"
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
constructor() {
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
public registerFile(path: string, content: string) {
|
|
18
|
+
this.fileList.set(path, content);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public getFiles() {
|
|
22
|
+
return this.fileList;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public async generate(config: { [key: string]: any }, spinner: any): Promise<void> {
|
|
26
|
+
spinner.start("Preparing template pack files...");
|
|
27
|
+
const templateData: { [key: string]: string } = await fs.readJson(path.join(__dirname, '../data/templates.json'));
|
|
28
|
+
for (const [filePath, fileContent] of Object.entries(templateData)) {
|
|
29
|
+
let populatedContent = fileContent;
|
|
30
|
+
for (const [key, value] of Object.entries(config)) {
|
|
31
|
+
const placeholder = `{{${key}}}`;
|
|
32
|
+
let replacementValue: string;
|
|
33
|
+
let isNonStringValue = false;
|
|
34
|
+
|
|
35
|
+
// Determine the proper string representation based on type
|
|
36
|
+
if (Array.isArray(value)) {
|
|
37
|
+
replacementValue = JSON.stringify(value);
|
|
38
|
+
isNonStringValue = true;
|
|
39
|
+
} else if (typeof value === "object" && value !== null) {
|
|
40
|
+
replacementValue = JSON.stringify(value);
|
|
41
|
+
isNonStringValue = true;
|
|
42
|
+
} else if (typeof value === "number") {
|
|
43
|
+
replacementValue = value.toString();
|
|
44
|
+
isNonStringValue = true;
|
|
45
|
+
} else {
|
|
46
|
+
replacementValue = String(value);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Remove quotes around non-string values: "{{key}}" -> {{key}}
|
|
50
|
+
if (isNonStringValue) {
|
|
51
|
+
populatedContent = populatedContent.split(`"${placeholder}"`).join(replacementValue);
|
|
52
|
+
} else {
|
|
53
|
+
populatedContent = populatedContent.split(placeholder).join(replacementValue);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
await new Promise((resolve) => setTimeout(resolve, 10)); // Slight delay to ensure responsiveness
|
|
57
|
+
}
|
|
58
|
+
this.registerFile(filePath, populatedContent);
|
|
59
|
+
}
|
|
60
|
+
spinner.stop("Prepared template pack files.");
|
|
61
|
+
spinner.start("Creating template pack files...");
|
|
62
|
+
|
|
63
|
+
for (const filePath of this.fileList.keys()) {
|
|
64
|
+
const fullPath = path.join(process.cwd(), config['project_name'], filePath);
|
|
65
|
+
const shortPath = filePath
|
|
66
|
+
.split('/')
|
|
67
|
+
.slice(-5)
|
|
68
|
+
.join('/');
|
|
69
|
+
spinner.message(`Creating file: ${shortPath}`);
|
|
70
|
+
await Bun.file(fullPath).write(this.fileList.get(filePath) || '');
|
|
71
|
+
await new Promise((resolve) => setTimeout(resolve, 50)); // Slight delay to ensure file system stability
|
|
72
|
+
}
|
|
73
|
+
spinner.stop("Template pack files generated.");
|
|
74
|
+
spinner.start("Installing dependencies...");
|
|
75
|
+
await this.installDependencies(config['project_name'], this.dependencies);
|
|
76
|
+
spinner.stop("Dependencies installed.");
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
private async runCommand(command: string, cwd?: string): Promise<void> {
|
|
80
|
+
return new Promise((resolve, reject) => {
|
|
81
|
+
const options: any = {};
|
|
82
|
+
if (cwd) {
|
|
83
|
+
options.cwd = cwd;
|
|
84
|
+
}
|
|
85
|
+
exec(command, options, (error, stdout, stderr) => {
|
|
86
|
+
if (error) {
|
|
87
|
+
reject(error);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
resolve();
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private async installDependencies(projectName: string, dependencies?: string[]): Promise<void> {
|
|
96
|
+
const projectPath = path.join(process.cwd(), projectName || '');
|
|
97
|
+
const installCommand = `bun add ${dependencies ? dependencies.join(' ') : this.dependencies.join(' ')}`;
|
|
98
|
+
return await this.runCommand(installCommand, projectPath);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export { TemplateGenerators };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"/.gitignore": "# dependencies (bun install)\nnode_modules\n\n# output\nout\ndist\n*.tgz\n\n# code coverage\ncoverage\n*.lcov\n\n# logs\nlogs\n_.log\nreport.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json\n\n# dotenv environment variable files\n.env\n.env.development.local\n.env.test.local\n.env.production.local\n.env.local\n\n# caches\n.eslintcache\n.cache\n*.tsbuildinfo\n\n# IntelliJ based IDEs\n.idea\n\n# Finder (MacOS) folder config\n.DS_Store\n",
|
|
3
|
+
"/.turbo/turbo-build.log": "\u001b[?9001h\u001b[?1004h\u001b[?25l\u001b[2J\u001b[m\u001b[35m\u001b[2m\u001b[H$\u001b[m\u001b[1m\u001b[2m\u001b[1Cbun run ./index.ts --build\r\n\u001b]0;C:\\WINDOWS\\system32\\cmd.exe\u0007\u001b[?25h\u001b[22m\u001b[2J\u001b[3J\u001b[?25l\u001b[H\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[H\u001b[?25h\u001b[44m INFO \u001b[m: \u001b[90mLoaded config pack: test@1.0.0\u001b[39m\u001b[44m\r\n INFO \u001b[m: \u001b[90mBuilding packs...\r\n\u001b[m\u001b[44m INFO \u001b[m: \u001b[90mApplying filters...\r\n\u001b[m • \u001b[34mTSBuilds\u001b[m\r\n\u001b[11X\u001b[30m\u001b[11C1\u001b[m. \u001b[90mRunning linter: \u001b[33mbunx eslint ./packs\u001b[m,\r\n\u001b[11X\u001b[30m\u001b[11C2\u001b[m. \u001b[32m✓ \u001b[90mLinting passed\u001b[m,\r\n\u001b[11X\u001b[30m\u001b[11C3\u001b[m. \u001b[90mBuilding library: \u001b[34mAxethLib.js\u001b[m,\r\n\u001b[11X\u001b[30m\u001b[11C4\u001b[m. \u001b[90mSuccessfully built library: \u001b[32mBP/scripts/AxethLib.js\u001b[m,\r\n\u001b[11X\u001b[30m\u001b[11C5\u001b[m. \u001b[90mBuilding script: \u001b[32m./packs/scripts/index.ts\u001b[m,\r\n\u001b[11X\u001b[30m\u001b[11C6\u001b[m. \u001b[90mSuccessfully built script: \u001b[32mBP/scripts/index.js\r\n\u001b[m • \u001b[34mManifestBuilds\u001b[m\r\n\u001b[11X\u001b[30m\u001b[11C1\u001b[m. \u001b[90mLooking for manifests...\u001b[m,\r\n\u001b[30m\u001b[11C2\u001b[m. \u001b[90mUpdated manifest \u001b[32msuccessfully\u001b[90m.\u001b[K\u001b[m\r\n\u001b[42m SUCCESS \u001b[m: \u001b[90mSuccessfully processed files\u001b[K\u001b[m\r\n\u001b[?9001l\u001b[?1004l\n",
|
|
4
|
+
"/.vscode/launch.json": "{\r\n \"version\": \"0.3.0\",\r\n \"configurations\": [\r\n {\r\n \"type\": \"minecraft-js\",\r\n \"request\": \"attach\",\r\n \"name\": \"Debug with Minecraft\",\r\n \"mode\": \"listen\",\r\n \"localRoot\": \"${workspaceFolder}/packs/scripts\",\r\n \"sourceMapRoot\": \"${workspaceFolder}/data/dist/BP/scripts\",\r\n \"port\": 19144\r\n }\r\n ]\r\n}",
|
|
5
|
+
"/bun.lock": "{\n \"lockfileVersion\": 1,\n \"configVersion\": 1,\n \"workspaces\": {\n \"\": {\n \"name\": \"pack-name\",\n \"dependencies\": {\n \"@axeth/api\": \"^1.0.1\",\n \"@axeth/core\": \"^1.0.2\",\n \"chalk\": \"^5.6.2\",\n \"esbuild\": \"^0.27.2\",\n \"eslint\": \"^9.39.2\",\n \"jszip\": \"^3.10.1\",\n \"typescript-eslint\": \"^8.50.1\",\n },\n \"devDependencies\": {\n \"@types/bun\": \"latest\",\n \"chokidar-cli\": \"^3.0.0\",\n \"jiti\": \"^2.6.1\",\n },\n \"peerDependencies\": {\n \"typescript\": \"^5\",\n },\n },\n },\n \"packages\": {\n \"@axeth/api\": [\"@axeth/api@1.0.1\", \"\", { \"peerDependencies\": { \"@minecraft/server\": \"*\", \"@minecraft/server-ui\": \"*\" } }, \"sha512-peAM8SqsIE9Junp+xa219YU46cECHlGJJFv5r600u+VOIHpQheTbXz5DWVBfuFZVT2+5ZMWFaPx4VDfki4iz/A==\"],\n\n \"@axeth/core\": [\"@axeth/core@1.0.2\", \"\", { \"dependencies\": { \"chalk\": \"^5.6.2\", \"jszip\": \"^3.10.1\" }, \"peerDependencies\": { \"typescript\": \"^5\" } }, \"sha512-iUNXNNX6Vj5YnpgUQXjVBmHGwdWr48j+aV3l7Ldrpwf+Nh9Jhb4lYa1PCTKKyocZRyAIWOSd0BALhqC/mGhOiA==\"],\n\n \"@esbuild/aix-ppc64\": [\"@esbuild/aix-ppc64@0.27.2\", \"\", { \"os\": \"aix\", \"cpu\": \"ppc64\" }, \"sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==\"],\n\n \"@esbuild/android-arm\": [\"@esbuild/android-arm@0.27.2\", \"\", { \"os\": \"android\", \"cpu\": \"arm\" }, \"sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==\"],\n\n \"@esbuild/android-arm64\": [\"@esbuild/android-arm64@0.27.2\", \"\", { \"os\": \"android\", \"cpu\": \"arm64\" }, \"sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==\"],\n\n \"@esbuild/android-x64\": [\"@esbuild/android-x64@0.27.2\", \"\", { \"os\": \"android\", \"cpu\": \"x64\" }, \"sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==\"],\n\n \"@esbuild/darwin-arm64\": [\"@esbuild/darwin-arm64@0.27.2\", \"\", { \"os\": \"darwin\", \"cpu\": \"arm64\" }, \"sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==\"],\n\n \"@esbuild/darwin-x64\": [\"@esbuild/darwin-x64@0.27.2\", \"\", { \"os\": \"darwin\", \"cpu\": \"x64\" }, \"sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==\"],\n\n \"@esbuild/freebsd-arm64\": [\"@esbuild/freebsd-arm64@0.27.2\", \"\", { \"os\": \"freebsd\", \"cpu\": \"arm64\" }, \"sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==\"],\n\n \"@esbuild/freebsd-x64\": [\"@esbuild/freebsd-x64@0.27.2\", \"\", { \"os\": \"freebsd\", \"cpu\": \"x64\" }, \"sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==\"],\n\n \"@esbuild/linux-arm\": [\"@esbuild/linux-arm@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"arm\" }, \"sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==\"],\n\n \"@esbuild/linux-arm64\": [\"@esbuild/linux-arm64@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"arm64\" }, \"sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==\"],\n\n \"@esbuild/linux-ia32\": [\"@esbuild/linux-ia32@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"ia32\" }, \"sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==\"],\n\n \"@esbuild/linux-loong64\": [\"@esbuild/linux-loong64@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"none\" }, \"sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==\"],\n\n \"@esbuild/linux-mips64el\": [\"@esbuild/linux-mips64el@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"none\" }, \"sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==\"],\n\n \"@esbuild/linux-ppc64\": [\"@esbuild/linux-ppc64@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"ppc64\" }, \"sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==\"],\n\n \"@esbuild/linux-riscv64\": [\"@esbuild/linux-riscv64@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"none\" }, \"sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==\"],\n\n \"@esbuild/linux-s390x\": [\"@esbuild/linux-s390x@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"s390x\" }, \"sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==\"],\n\n \"@esbuild/linux-x64\": [\"@esbuild/linux-x64@0.27.2\", \"\", { \"os\": \"linux\", \"cpu\": \"x64\" }, \"sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==\"],\n\n \"@esbuild/netbsd-arm64\": [\"@esbuild/netbsd-arm64@0.27.2\", \"\", { \"os\": \"none\", \"cpu\": \"arm64\" }, \"sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==\"],\n\n \"@esbuild/netbsd-x64\": [\"@esbuild/netbsd-x64@0.27.2\", \"\", { \"os\": \"none\", \"cpu\": \"x64\" }, \"sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==\"],\n\n \"@esbuild/openbsd-arm64\": [\"@esbuild/openbsd-arm64@0.27.2\", \"\", { \"os\": \"openbsd\", \"cpu\": \"arm64\" }, \"sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==\"],\n\n \"@esbuild/openbsd-x64\": [\"@esbuild/openbsd-x64@0.27.2\", \"\", { \"os\": \"openbsd\", \"cpu\": \"x64\" }, \"sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==\"],\n\n \"@esbuild/openharmony-arm64\": [\"@esbuild/openharmony-arm64@0.27.2\", \"\", { \"os\": \"none\", \"cpu\": \"arm64\" }, \"sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==\"],\n\n \"@esbuild/sunos-x64\": [\"@esbuild/sunos-x64@0.27.2\", \"\", { \"os\": \"sunos\", \"cpu\": \"x64\" }, \"sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==\"],\n\n \"@esbuild/win32-arm64\": [\"@esbuild/win32-arm64@0.27.2\", \"\", { \"os\": \"win32\", \"cpu\": \"arm64\" }, \"sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==\"],\n\n \"@esbuild/win32-ia32\": [\"@esbuild/win32-ia32@0.27.2\", \"\", { \"os\": \"win32\", \"cpu\": \"ia32\" }, \"sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==\"],\n\n \"@esbuild/win32-x64\": [\"@esbuild/win32-x64@0.27.2\", \"\", { \"os\": \"win32\", \"cpu\": \"x64\" }, \"sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==\"],\n\n \"@eslint-community/eslint-utils\": [\"@eslint-community/eslint-utils@4.9.0\", \"\", { \"dependencies\": { \"eslint-visitor-keys\": \"^3.4.3\" }, \"peerDependencies\": { \"eslint\": \"^6.0.0 || ^7.0.0 || >=8.0.0\" } }, \"sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==\"],\n\n \"@eslint-community/regexpp\": [\"@eslint-community/regexpp@4.12.2\", \"\", {}, \"sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==\"],\n\n \"@eslint/config-array\": [\"@eslint/config-array@0.21.1\", \"\", { \"dependencies\": { \"@eslint/object-schema\": \"^2.1.7\", \"debug\": \"^4.3.1\", \"minimatch\": \"^3.1.2\" } }, \"sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==\"],\n\n \"@eslint/config-helpers\": [\"@eslint/config-helpers@0.4.2\", \"\", { \"dependencies\": { \"@eslint/core\": \"^0.17.0\" } }, \"sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==\"],\n\n \"@eslint/core\": [\"@eslint/core@0.17.0\", \"\", { \"dependencies\": { \"@types/json-schema\": \"^7.0.15\" } }, \"sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==\"],\n\n \"@eslint/eslintrc\": [\"@eslint/eslintrc@3.3.3\", \"\", { \"dependencies\": { \"ajv\": \"^6.12.4\", \"debug\": \"^4.3.2\", \"espree\": \"^10.0.1\", \"globals\": \"^14.0.0\", \"ignore\": \"^5.2.0\", \"import-fresh\": \"^3.2.1\", \"js-yaml\": \"^4.1.1\", \"minimatch\": \"^3.1.2\", \"strip-json-comments\": \"^3.1.1\" } }, \"sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==\"],\n\n \"@eslint/js\": [\"@eslint/js@9.39.2\", \"\", {}, \"sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==\"],\n\n \"@eslint/object-schema\": [\"@eslint/object-schema@2.1.7\", \"\", {}, \"sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==\"],\n\n \"@eslint/plugin-kit\": [\"@eslint/plugin-kit@0.4.1\", \"\", { \"dependencies\": { \"@eslint/core\": \"^0.17.0\", \"levn\": \"^0.4.1\" } }, \"sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==\"],\n\n \"@humanfs/core\": [\"@humanfs/core@0.19.1\", \"\", {}, \"sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==\"],\n\n \"@humanfs/node\": [\"@humanfs/node@0.16.7\", \"\", { \"dependencies\": { \"@humanfs/core\": \"^0.19.1\", \"@humanwhocodes/retry\": \"^0.4.0\" } }, \"sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==\"],\n\n \"@humanwhocodes/module-importer\": [\"@humanwhocodes/module-importer@1.0.1\", \"\", {}, \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\"],\n\n \"@humanwhocodes/retry\": [\"@humanwhocodes/retry@0.4.3\", \"\", {}, \"sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==\"],\n\n \"@minecraft/common\": [\"@minecraft/common@1.2.0\", \"\", {}, \"sha512-JdmEq4P3Z/FtoBzhLijFgMSVFnFRrUoLwY8DHHrgtFo0mfLTOLTB1RErYjLMsA6b7BGVNxkX/pfFRiH7QZ0XwQ==\"],\n\n \"@minecraft/server\": [\"@minecraft/server@2.4.0\", \"\", { \"peerDependencies\": { \"@minecraft/common\": \"^1.2.0\", \"@minecraft/vanilla-data\": \">=1.20.70\" } }, \"sha512-xd9dOWQ4RhPQBCt2aui9tp/GCnjvXpi6ZHVxaUr0SPDHfh/GkMRWnyf2Ud6D3pEThp/0giOEtHY1sx2HN9Qd+A==\"],\n\n \"@minecraft/server-ui\": [\"@minecraft/server-ui@2.0.0\", \"\", { \"dependencies\": { \"@minecraft/common\": \"^1.0.0\", \"@minecraft/server\": \"^2.0.0\" } }, \"sha512-K1xFK1OEJSNfIgyRElaoxDTW/nbEqjBp1YnUdyPCs4kGDglwoXNyFz3wzMOkvT04CJXSifZGcTJeWda4C6OkXw==\"],\n\n \"@minecraft/vanilla-data\": [\"@minecraft/vanilla-data@1.21.131\", \"\", {}, \"sha512-Ptw6t5mgyOODFmZxpZRRawjfhgcniGNf7kZqxV98RTAJi61tZ6wEMcI9muiWXw5yrNstYcTxJmqVjx1RaZKkxg==\"],\n\n \"@types/bun\": [\"@types/bun@1.3.5\", \"\", { \"dependencies\": { \"bun-types\": \"1.3.5\" } }, \"sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w==\"],\n\n \"@types/estree\": [\"@types/estree@1.0.8\", \"\", {}, \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\"],\n\n \"@types/json-schema\": [\"@types/json-schema@7.0.15\", \"\", {}, \"sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==\"],\n\n \"@types/node\": [\"@types/node@25.0.3\", \"\", { \"dependencies\": { \"undici-types\": \"~7.16.0\" } }, \"sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==\"],\n\n \"@typescript-eslint/eslint-plugin\": [\"@typescript-eslint/eslint-plugin@8.50.1\", \"\", { \"dependencies\": { \"@eslint-community/regexpp\": \"^4.10.0\", \"@typescript-eslint/scope-manager\": \"8.50.1\", \"@typescript-eslint/type-utils\": \"8.50.1\", \"@typescript-eslint/utils\": \"8.50.1\", \"@typescript-eslint/visitor-keys\": \"8.50.1\", \"ignore\": \"^7.0.0\", \"natural-compare\": \"^1.4.0\", \"ts-api-utils\": \"^2.1.0\" }, \"peerDependencies\": { \"@typescript-eslint/parser\": \"^8.50.1\", \"eslint\": \"^8.57.0 || ^9.0.0\", \"typescript\": \">=4.8.4 <6.0.0\" } }, \"sha512-PKhLGDq3JAg0Jk/aK890knnqduuI/Qj+udH7wCf0217IGi4gt+acgCyPVe79qoT+qKUvHMDQkwJeKW9fwl8Cyw==\"],\n\n \"@typescript-eslint/parser\": [\"@typescript-eslint/parser@8.50.1\", \"\", { \"dependencies\": { \"@typescript-eslint/scope-manager\": \"8.50.1\", \"@typescript-eslint/types\": \"8.50.1\", \"@typescript-eslint/typescript-estree\": \"8.50.1\", \"@typescript-eslint/visitor-keys\": \"8.50.1\", \"debug\": \"^4.3.4\" }, \"peerDependencies\": { \"eslint\": \"^8.57.0 || ^9.0.0\", \"typescript\": \">=4.8.4 <6.0.0\" } }, \"sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==\"],\n\n \"@typescript-eslint/project-service\": [\"@typescript-eslint/project-service@8.50.1\", \"\", { \"dependencies\": { \"@typescript-eslint/tsconfig-utils\": \"^8.50.1\", \"@typescript-eslint/types\": \"^8.50.1\", \"debug\": \"^4.3.4\" }, \"peerDependencies\": { \"typescript\": \">=4.8.4 <6.0.0\" } }, \"sha512-E1ur1MCVf+YiP89+o4Les/oBAVzmSbeRB0MQLfSlYtbWU17HPxZ6Bhs5iYmKZRALvEuBoXIZMOIRRc/P++Ortg==\"],\n\n \"@typescript-eslint/scope-manager\": [\"@typescript-eslint/scope-manager@8.50.1\", \"\", { \"dependencies\": { \"@typescript-eslint/types\": \"8.50.1\", \"@typescript-eslint/visitor-keys\": \"8.50.1\" } }, \"sha512-mfRx06Myt3T4vuoHaKi8ZWNTPdzKPNBhiblze5N50//TSHOAQQevl/aolqA/BcqqbJ88GUnLqjjcBc8EWdBcVw==\"],\n\n \"@typescript-eslint/tsconfig-utils\": [\"@typescript-eslint/tsconfig-utils@8.50.1\", \"\", { \"peerDependencies\": { \"typescript\": \">=4.8.4 <6.0.0\" } }, \"sha512-ooHmotT/lCWLXi55G4mvaUF60aJa012QzvLK0Y+Mp4WdSt17QhMhWOaBWeGTFVkb2gDgBe19Cxy1elPXylslDw==\"],\n\n \"@typescript-eslint/type-utils\": [\"@typescript-eslint/type-utils@8.50.1\", \"\", { \"dependencies\": { \"@typescript-eslint/types\": \"8.50.1\", \"@typescript-eslint/typescript-estree\": \"8.50.1\", \"@typescript-eslint/utils\": \"8.50.1\", \"debug\": \"^4.3.4\", \"ts-api-utils\": \"^2.1.0\" }, \"peerDependencies\": { \"eslint\": \"^8.57.0 || ^9.0.0\", \"typescript\": \">=4.8.4 <6.0.0\" } }, \"sha512-7J3bf022QZE42tYMO6SL+6lTPKFk/WphhRPe9Tw/el+cEwzLz1Jjz2PX3GtGQVxooLDKeMVmMt7fWpYRdG5Etg==\"],\n\n \"@typescript-eslint/types\": [\"@typescript-eslint/types@8.50.1\", \"\", {}, \"sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA==\"],\n\n \"@typescript-eslint/typescript-estree\": [\"@typescript-eslint/typescript-estree@8.50.1\", \"\", { \"dependencies\": { \"@typescript-eslint/project-service\": \"8.50.1\", \"@typescript-eslint/tsconfig-utils\": \"8.50.1\", \"@typescript-eslint/types\": \"8.50.1\", \"@typescript-eslint/visitor-keys\": \"8.50.1\", \"debug\": \"^4.3.4\", \"minimatch\": \"^9.0.4\", \"semver\": \"^7.6.0\", \"tinyglobby\": \"^0.2.15\", \"ts-api-utils\": \"^2.1.0\" }, \"peerDependencies\": { \"typescript\": \">=4.8.4 <6.0.0\" } }, \"sha512-woHPdW+0gj53aM+cxchymJCrh0cyS7BTIdcDxWUNsclr9VDkOSbqC13juHzxOmQ22dDkMZEpZB+3X1WpUvzgVQ==\"],\n\n \"@typescript-eslint/utils\": [\"@typescript-eslint/utils@8.50.1\", \"\", { \"dependencies\": { \"@eslint-community/eslint-utils\": \"^4.7.0\", \"@typescript-eslint/scope-manager\": \"8.50.1\", \"@typescript-eslint/types\": \"8.50.1\", \"@typescript-eslint/typescript-estree\": \"8.50.1\" }, \"peerDependencies\": { \"eslint\": \"^8.57.0 || ^9.0.0\", \"typescript\": \">=4.8.4 <6.0.0\" } }, \"sha512-lCLp8H1T9T7gPbEuJSnHwnSuO9mDf8mfK/Nion5mZmiEaQD9sWf9W4dfeFqRyqRjF06/kBuTmAqcs9sewM2NbQ==\"],\n\n \"@typescript-eslint/visitor-keys\": [\"@typescript-eslint/visitor-keys@8.50.1\", \"\", { \"dependencies\": { \"@typescript-eslint/types\": \"8.50.1\", \"eslint-visitor-keys\": \"^4.2.1\" } }, \"sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ==\"],\n\n \"acorn\": [\"acorn@8.15.0\", \"\", { \"bin\": { \"acorn\": \"bin/acorn\" } }, \"sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==\"],\n\n \"acorn-jsx\": [\"acorn-jsx@5.3.2\", \"\", { \"peerDependencies\": { \"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\" } }, \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\"],\n\n \"ajv\": [\"ajv@6.12.6\", \"\", { \"dependencies\": { \"fast-deep-equal\": \"^3.1.1\", \"fast-json-stable-stringify\": \"^2.0.0\", \"json-schema-traverse\": \"^0.4.1\", \"uri-js\": \"^4.2.2\" } }, \"sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==\"],\n\n \"ansi-regex\": [\"ansi-regex@4.1.1\", \"\", {}, \"sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==\"],\n\n \"ansi-styles\": [\"ansi-styles@4.3.0\", \"\", { \"dependencies\": { \"color-convert\": \"^2.0.1\" } }, \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\"],\n\n \"anymatch\": [\"anymatch@3.1.3\", \"\", { \"dependencies\": { \"normalize-path\": \"^3.0.0\", \"picomatch\": \"^2.0.4\" } }, \"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\"],\n\n \"argparse\": [\"argparse@2.0.1\", \"\", {}, \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\"],\n\n \"balanced-match\": [\"balanced-match@1.0.2\", \"\", {}, \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\"],\n\n \"binary-extensions\": [\"binary-extensions@2.3.0\", \"\", {}, \"sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==\"],\n\n \"brace-expansion\": [\"brace-expansion@1.1.12\", \"\", { \"dependencies\": { \"balanced-match\": \"^1.0.0\", \"concat-map\": \"0.0.1\" } }, \"sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==\"],\n\n \"braces\": [\"braces@3.0.3\", \"\", { \"dependencies\": { \"fill-range\": \"^7.1.1\" } }, \"sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==\"],\n\n \"bun-types\": [\"bun-types@1.3.5\", \"\", { \"dependencies\": { \"@types/node\": \"*\" } }, \"sha512-inmAYe2PFLs0SUbFOWSVD24sg1jFlMPxOjOSSCYqUgn4Hsc3rDc7dFvfVYjFPNHtov6kgUeulV4SxbuIV/stPw==\"],\n\n \"callsites\": [\"callsites@3.1.0\", \"\", {}, \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\"],\n\n \"camelcase\": [\"camelcase@5.3.1\", \"\", {}, \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\"],\n\n \"chalk\": [\"chalk@5.6.2\", \"\", {}, \"sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==\"],\n\n \"chokidar\": [\"chokidar@3.6.0\", \"\", { \"dependencies\": { \"anymatch\": \"~3.1.2\", \"braces\": \"~3.0.2\", \"glob-parent\": \"~5.1.2\", \"is-binary-path\": \"~2.1.0\", \"is-glob\": \"~4.0.1\", \"normalize-path\": \"~3.0.0\", \"readdirp\": \"~3.6.0\" }, \"optionalDependencies\": { \"fsevents\": \"~2.3.2\" } }, \"sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==\"],\n\n \"chokidar-cli\": [\"chokidar-cli@3.0.0\", \"\", { \"dependencies\": { \"chokidar\": \"^3.5.2\", \"lodash.debounce\": \"^4.0.8\", \"lodash.throttle\": \"^4.1.1\", \"yargs\": \"^13.3.0\" }, \"bin\": { \"chokidar\": \"index.js\" } }, \"sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==\"],\n\n \"cliui\": [\"cliui@5.0.0\", \"\", { \"dependencies\": { \"string-width\": \"^3.1.0\", \"strip-ansi\": \"^5.2.0\", \"wrap-ansi\": \"^5.1.0\" } }, \"sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==\"],\n\n \"color-convert\": [\"color-convert@2.0.1\", \"\", { \"dependencies\": { \"color-name\": \"~1.1.4\" } }, \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\"],\n\n \"color-name\": [\"color-name@1.1.4\", \"\", {}, \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\"],\n\n \"concat-map\": [\"concat-map@0.0.1\", \"\", {}, \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\"],\n\n \"core-util-is\": [\"core-util-is@1.0.3\", \"\", {}, \"sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==\"],\n\n \"cross-spawn\": [\"cross-spawn@7.0.6\", \"\", { \"dependencies\": { \"path-key\": \"^3.1.0\", \"shebang-command\": \"^2.0.0\", \"which\": \"^2.0.1\" } }, \"sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==\"],\n\n \"debug\": [\"debug@4.4.3\", \"\", { \"dependencies\": { \"ms\": \"^2.1.3\" } }, \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\"],\n\n \"decamelize\": [\"decamelize@1.2.0\", \"\", {}, \"sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==\"],\n\n \"deep-is\": [\"deep-is@0.1.4\", \"\", {}, \"sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==\"],\n\n \"emoji-regex\": [\"emoji-regex@7.0.3\", \"\", {}, \"sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==\"],\n\n \"esbuild\": [\"esbuild@0.27.2\", \"\", { \"optionalDependencies\": { \"@esbuild/aix-ppc64\": \"0.27.2\", \"@esbuild/android-arm\": \"0.27.2\", \"@esbuild/android-arm64\": \"0.27.2\", \"@esbuild/android-x64\": \"0.27.2\", \"@esbuild/darwin-arm64\": \"0.27.2\", \"@esbuild/darwin-x64\": \"0.27.2\", \"@esbuild/freebsd-arm64\": \"0.27.2\", \"@esbuild/freebsd-x64\": \"0.27.2\", \"@esbuild/linux-arm\": \"0.27.2\", \"@esbuild/linux-arm64\": \"0.27.2\", \"@esbuild/linux-ia32\": \"0.27.2\", \"@esbuild/linux-loong64\": \"0.27.2\", \"@esbuild/linux-mips64el\": \"0.27.2\", \"@esbuild/linux-ppc64\": \"0.27.2\", \"@esbuild/linux-riscv64\": \"0.27.2\", \"@esbuild/linux-s390x\": \"0.27.2\", \"@esbuild/linux-x64\": \"0.27.2\", \"@esbuild/netbsd-arm64\": \"0.27.2\", \"@esbuild/netbsd-x64\": \"0.27.2\", \"@esbuild/openbsd-arm64\": \"0.27.2\", \"@esbuild/openbsd-x64\": \"0.27.2\", \"@esbuild/openharmony-arm64\": \"0.27.2\", \"@esbuild/sunos-x64\": \"0.27.2\", \"@esbuild/win32-arm64\": \"0.27.2\", \"@esbuild/win32-ia32\": \"0.27.2\", \"@esbuild/win32-x64\": \"0.27.2\" }, \"bin\": { \"esbuild\": \"bin/esbuild\" } }, \"sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==\"],\n\n \"escape-string-regexp\": [\"escape-string-regexp@4.0.0\", \"\", {}, \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\"],\n\n \"eslint\": [\"eslint@9.39.2\", \"\", { \"dependencies\": { \"@eslint-community/eslint-utils\": \"^4.8.0\", \"@eslint-community/regexpp\": \"^4.12.1\", \"@eslint/config-array\": \"^0.21.1\", \"@eslint/config-helpers\": \"^0.4.2\", \"@eslint/core\": \"^0.17.0\", \"@eslint/eslintrc\": \"^3.3.1\", \"@eslint/js\": \"9.39.2\", \"@eslint/plugin-kit\": \"^0.4.1\", \"@humanfs/node\": \"^0.16.6\", \"@humanwhocodes/module-importer\": \"^1.0.1\", \"@humanwhocodes/retry\": \"^0.4.2\", \"@types/estree\": \"^1.0.6\", \"ajv\": \"^6.12.4\", \"chalk\": \"^4.0.0\", \"cross-spawn\": \"^7.0.6\", \"debug\": \"^4.3.2\", \"escape-string-regexp\": \"^4.0.0\", \"eslint-scope\": \"^8.4.0\", \"eslint-visitor-keys\": \"^4.2.1\", \"espree\": \"^10.4.0\", \"esquery\": \"^1.5.0\", \"esutils\": \"^2.0.2\", \"fast-deep-equal\": \"^3.1.3\", \"file-entry-cache\": \"^8.0.0\", \"find-up\": \"^5.0.0\", \"glob-parent\": \"^6.0.2\", \"ignore\": \"^5.2.0\", \"imurmurhash\": \"^0.1.4\", \"is-glob\": \"^4.0.0\", \"json-stable-stringify-without-jsonify\": \"^1.0.1\", \"lodash.merge\": \"^4.6.2\", \"minimatch\": \"^3.1.2\", \"natural-compare\": \"^1.4.0\", \"optionator\": \"^0.9.3\" }, \"peerDependencies\": { \"jiti\": \"*\" }, \"optionalPeers\": [\"jiti\"], \"bin\": { \"eslint\": \"bin/eslint.js\" } }, \"sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==\"],\n\n \"eslint-scope\": [\"eslint-scope@8.4.0\", \"\", { \"dependencies\": { \"esrecurse\": \"^4.3.0\", \"estraverse\": \"^5.2.0\" } }, \"sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==\"],\n\n \"eslint-visitor-keys\": [\"eslint-visitor-keys@4.2.1\", \"\", {}, \"sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==\"],\n\n \"espree\": [\"espree@10.4.0\", \"\", { \"dependencies\": { \"acorn\": \"^8.15.0\", \"acorn-jsx\": \"^5.3.2\", \"eslint-visitor-keys\": \"^4.2.1\" } }, \"sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==\"],\n\n \"esquery\": [\"esquery@1.6.0\", \"\", { \"dependencies\": { \"estraverse\": \"^5.1.0\" } }, \"sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==\"],\n\n \"esrecurse\": [\"esrecurse@4.3.0\", \"\", { \"dependencies\": { \"estraverse\": \"^5.2.0\" } }, \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\"],\n\n \"estraverse\": [\"estraverse@5.3.0\", \"\", {}, \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\"],\n\n \"esutils\": [\"esutils@2.0.3\", \"\", {}, \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\"],\n\n \"fast-deep-equal\": [\"fast-deep-equal@3.1.3\", \"\", {}, \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\"],\n\n \"fast-json-stable-stringify\": [\"fast-json-stable-stringify@2.1.0\", \"\", {}, \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\"],\n\n \"fast-levenshtein\": [\"fast-levenshtein@2.0.6\", \"\", {}, \"sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==\"],\n\n \"fdir\": [\"fdir@6.5.0\", \"\", { \"peerDependencies\": { \"picomatch\": \"^3 || ^4\" }, \"optionalPeers\": [\"picomatch\"] }, \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\"],\n\n \"file-entry-cache\": [\"file-entry-cache@8.0.0\", \"\", { \"dependencies\": { \"flat-cache\": \"^4.0.0\" } }, \"sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==\"],\n\n \"fill-range\": [\"fill-range@7.1.1\", \"\", { \"dependencies\": { \"to-regex-range\": \"^5.0.1\" } }, \"sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==\"],\n\n \"find-up\": [\"find-up@5.0.0\", \"\", { \"dependencies\": { \"locate-path\": \"^6.0.0\", \"path-exists\": \"^4.0.0\" } }, \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\"],\n\n \"flat-cache\": [\"flat-cache@4.0.1\", \"\", { \"dependencies\": { \"flatted\": \"^3.2.9\", \"keyv\": \"^4.5.4\" } }, \"sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==\"],\n\n \"flatted\": [\"flatted@3.3.3\", \"\", {}, \"sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==\"],\n\n \"fsevents\": [\"fsevents@2.3.3\", \"\", { \"os\": \"darwin\" }, \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\"],\n\n \"get-caller-file\": [\"get-caller-file@2.0.5\", \"\", {}, \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\"],\n\n \"glob-parent\": [\"glob-parent@6.0.2\", \"\", { \"dependencies\": { \"is-glob\": \"^4.0.3\" } }, \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\"],\n\n \"globals\": [\"globals@14.0.0\", \"\", {}, \"sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==\"],\n\n \"has-flag\": [\"has-flag@4.0.0\", \"\", {}, \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\"],\n\n \"ignore\": [\"ignore@5.3.2\", \"\", {}, \"sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==\"],\n\n \"immediate\": [\"immediate@3.0.6\", \"\", {}, \"sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==\"],\n\n \"import-fresh\": [\"import-fresh@3.3.1\", \"\", { \"dependencies\": { \"parent-module\": \"^1.0.0\", \"resolve-from\": \"^4.0.0\" } }, \"sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==\"],\n\n \"imurmurhash\": [\"imurmurhash@0.1.4\", \"\", {}, \"sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==\"],\n\n \"inherits\": [\"inherits@2.0.4\", \"\", {}, \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\"],\n\n \"is-binary-path\": [\"is-binary-path@2.1.0\", \"\", { \"dependencies\": { \"binary-extensions\": \"^2.0.0\" } }, \"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\"],\n\n \"is-extglob\": [\"is-extglob@2.1.1\", \"\", {}, \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\"],\n\n \"is-fullwidth-code-point\": [\"is-fullwidth-code-point@2.0.0\", \"\", {}, \"sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==\"],\n\n \"is-glob\": [\"is-glob@4.0.3\", \"\", { \"dependencies\": { \"is-extglob\": \"^2.1.1\" } }, \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\"],\n\n \"is-number\": [\"is-number@7.0.0\", \"\", {}, \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\"],\n\n \"isarray\": [\"isarray@1.0.0\", \"\", {}, \"sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==\"],\n\n \"isexe\": [\"isexe@2.0.0\", \"\", {}, \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\"],\n\n \"jiti\": [\"jiti@2.6.1\", \"\", { \"bin\": { \"jiti\": \"lib/jiti-cli.mjs\" } }, \"sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==\"],\n\n \"js-yaml\": [\"js-yaml@4.1.1\", \"\", { \"dependencies\": { \"argparse\": \"^2.0.1\" }, \"bin\": { \"js-yaml\": \"bin/js-yaml.js\" } }, \"sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==\"],\n\n \"json-buffer\": [\"json-buffer@3.0.1\", \"\", {}, \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==\"],\n\n \"json-schema-traverse\": [\"json-schema-traverse@0.4.1\", \"\", {}, \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\"],\n\n \"json-stable-stringify-without-jsonify\": [\"json-stable-stringify-without-jsonify@1.0.1\", \"\", {}, \"sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==\"],\n\n \"jszip\": [\"jszip@3.10.1\", \"\", { \"dependencies\": { \"lie\": \"~3.3.0\", \"pako\": \"~1.0.2\", \"readable-stream\": \"~2.3.6\", \"setimmediate\": \"^1.0.5\" } }, \"sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==\"],\n\n \"keyv\": [\"keyv@4.5.4\", \"\", { \"dependencies\": { \"json-buffer\": \"3.0.1\" } }, \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==\"],\n\n \"levn\": [\"levn@0.4.1\", \"\", { \"dependencies\": { \"prelude-ls\": \"^1.2.1\", \"type-check\": \"~0.4.0\" } }, \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\"],\n\n \"lie\": [\"lie@3.3.0\", \"\", { \"dependencies\": { \"immediate\": \"~3.0.5\" } }, \"sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==\"],\n\n \"locate-path\": [\"locate-path@6.0.0\", \"\", { \"dependencies\": { \"p-locate\": \"^5.0.0\" } }, \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\"],\n\n \"lodash.debounce\": [\"lodash.debounce@4.0.8\", \"\", {}, \"sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==\"],\n\n \"lodash.merge\": [\"lodash.merge@4.6.2\", \"\", {}, \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\"],\n\n \"lodash.throttle\": [\"lodash.throttle@4.1.1\", \"\", {}, \"sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==\"],\n\n \"minimatch\": [\"minimatch@3.1.2\", \"\", { \"dependencies\": { \"brace-expansion\": \"^1.1.7\" } }, \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\"],\n\n \"ms\": [\"ms@2.1.3\", \"\", {}, \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\"],\n\n \"natural-compare\": [\"natural-compare@1.4.0\", \"\", {}, \"sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==\"],\n\n \"normalize-path\": [\"normalize-path@3.0.0\", \"\", {}, \"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\"],\n\n \"optionator\": [\"optionator@0.9.4\", \"\", { \"dependencies\": { \"deep-is\": \"^0.1.3\", \"fast-levenshtein\": \"^2.0.6\", \"levn\": \"^0.4.1\", \"prelude-ls\": \"^1.2.1\", \"type-check\": \"^0.4.0\", \"word-wrap\": \"^1.2.5\" } }, \"sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==\"],\n\n \"p-limit\": [\"p-limit@3.1.0\", \"\", { \"dependencies\": { \"yocto-queue\": \"^0.1.0\" } }, \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\"],\n\n \"p-locate\": [\"p-locate@5.0.0\", \"\", { \"dependencies\": { \"p-limit\": \"^3.0.2\" } }, \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\"],\n\n \"p-try\": [\"p-try@2.2.0\", \"\", {}, \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\"],\n\n \"pako\": [\"pako@1.0.11\", \"\", {}, \"sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==\"],\n\n \"parent-module\": [\"parent-module@1.0.1\", \"\", { \"dependencies\": { \"callsites\": \"^3.0.0\" } }, \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\"],\n\n \"path-exists\": [\"path-exists@4.0.0\", \"\", {}, \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\"],\n\n \"path-key\": [\"path-key@3.1.1\", \"\", {}, \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\"],\n\n \"picomatch\": [\"picomatch@2.3.1\", \"\", {}, \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\"],\n\n \"prelude-ls\": [\"prelude-ls@1.2.1\", \"\", {}, \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\"],\n\n \"process-nextick-args\": [\"process-nextick-args@2.0.1\", \"\", {}, \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\"],\n\n \"punycode\": [\"punycode@2.3.1\", \"\", {}, \"sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==\"],\n\n \"readable-stream\": [\"readable-stream@2.3.8\", \"\", { \"dependencies\": { \"core-util-is\": \"~1.0.0\", \"inherits\": \"~2.0.3\", \"isarray\": \"~1.0.0\", \"process-nextick-args\": \"~2.0.0\", \"safe-buffer\": \"~5.1.1\", \"string_decoder\": \"~1.1.1\", \"util-deprecate\": \"~1.0.1\" } }, \"sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==\"],\n\n \"readdirp\": [\"readdirp@3.6.0\", \"\", { \"dependencies\": { \"picomatch\": \"^2.2.1\" } }, \"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\"],\n\n \"require-directory\": [\"require-directory@2.1.1\", \"\", {}, \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\"],\n\n \"require-main-filename\": [\"require-main-filename@2.0.0\", \"\", {}, \"sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==\"],\n\n \"resolve-from\": [\"resolve-from@4.0.0\", \"\", {}, \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\"],\n\n \"safe-buffer\": [\"safe-buffer@5.1.2\", \"\", {}, \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"],\n\n \"semver\": [\"semver@7.7.3\", \"\", { \"bin\": { \"semver\": \"bin/semver.js\" } }, \"sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==\"],\n\n \"set-blocking\": [\"set-blocking@2.0.0\", \"\", {}, \"sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==\"],\n\n \"setimmediate\": [\"setimmediate@1.0.5\", \"\", {}, \"sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==\"],\n\n \"shebang-command\": [\"shebang-command@2.0.0\", \"\", { \"dependencies\": { \"shebang-regex\": \"^3.0.0\" } }, \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\"],\n\n \"shebang-regex\": [\"shebang-regex@3.0.0\", \"\", {}, \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\"],\n\n \"string-width\": [\"string-width@3.1.0\", \"\", { \"dependencies\": { \"emoji-regex\": \"^7.0.1\", \"is-fullwidth-code-point\": \"^2.0.0\", \"strip-ansi\": \"^5.1.0\" } }, \"sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==\"],\n\n \"string_decoder\": [\"string_decoder@1.1.1\", \"\", { \"dependencies\": { \"safe-buffer\": \"~5.1.0\" } }, \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\"],\n\n \"strip-ansi\": [\"strip-ansi@5.2.0\", \"\", { \"dependencies\": { \"ansi-regex\": \"^4.1.0\" } }, \"sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==\"],\n\n \"strip-json-comments\": [\"strip-json-comments@3.1.1\", \"\", {}, \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\"],\n\n \"supports-color\": [\"supports-color@7.2.0\", \"\", { \"dependencies\": { \"has-flag\": \"^4.0.0\" } }, \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\"],\n\n \"tinyglobby\": [\"tinyglobby@0.2.15\", \"\", { \"dependencies\": { \"fdir\": \"^6.5.0\", \"picomatch\": \"^4.0.3\" } }, \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\"],\n\n \"to-regex-range\": [\"to-regex-range@5.0.1\", \"\", { \"dependencies\": { \"is-number\": \"^7.0.0\" } }, \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\"],\n\n \"ts-api-utils\": [\"ts-api-utils@2.3.0\", \"\", { \"peerDependencies\": { \"typescript\": \">=4.8.4\" } }, \"sha512-6eg3Y9SF7SsAvGzRHQvvc1skDAhwI4YQ32ui1scxD1Ccr0G5qIIbUBT3pFTKX8kmWIQClHobtUdNuaBgwdfdWg==\"],\n\n \"type-check\": [\"type-check@0.4.0\", \"\", { \"dependencies\": { \"prelude-ls\": \"^1.2.1\" } }, \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\"],\n\n \"typescript\": [\"typescript@5.9.3\", \"\", { \"bin\": { \"tsc\": \"bin/tsc\", \"tsserver\": \"bin/tsserver\" } }, \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\"],\n\n \"typescript-eslint\": [\"typescript-eslint@8.50.1\", \"\", { \"dependencies\": { \"@typescript-eslint/eslint-plugin\": \"8.50.1\", \"@typescript-eslint/parser\": \"8.50.1\", \"@typescript-eslint/typescript-estree\": \"8.50.1\", \"@typescript-eslint/utils\": \"8.50.1\" }, \"peerDependencies\": { \"eslint\": \"^8.57.0 || ^9.0.0\", \"typescript\": \">=4.8.4 <6.0.0\" } }, \"sha512-ytTHO+SoYSbhAH9CrYnMhiLx8To6PSSvqnvXyPUgPETCvB6eBKmTI9w6XMPS3HsBRGkwTVBX+urA8dYQx6bHfQ==\"],\n\n \"undici-types\": [\"undici-types@7.16.0\", \"\", {}, \"sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==\"],\n\n \"uri-js\": [\"uri-js@4.4.1\", \"\", { \"dependencies\": { \"punycode\": \"^2.1.0\" } }, \"sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==\"],\n\n \"util-deprecate\": [\"util-deprecate@1.0.2\", \"\", {}, \"sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\"],\n\n \"which\": [\"which@2.0.2\", \"\", { \"dependencies\": { \"isexe\": \"^2.0.0\" }, \"bin\": { \"node-which\": \"./bin/node-which\" } }, \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\"],\n\n \"which-module\": [\"which-module@2.0.1\", \"\", {}, \"sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==\"],\n\n \"word-wrap\": [\"word-wrap@1.2.5\", \"\", {}, \"sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==\"],\n\n \"wrap-ansi\": [\"wrap-ansi@5.1.0\", \"\", { \"dependencies\": { \"ansi-styles\": \"^3.2.0\", \"string-width\": \"^3.0.0\", \"strip-ansi\": \"^5.0.0\" } }, \"sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==\"],\n\n \"y18n\": [\"y18n@4.0.3\", \"\", {}, \"sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==\"],\n\n \"yargs\": [\"yargs@13.3.2\", \"\", { \"dependencies\": { \"cliui\": \"^5.0.0\", \"find-up\": \"^3.0.0\", \"get-caller-file\": \"^2.0.1\", \"require-directory\": \"^2.1.1\", \"require-main-filename\": \"^2.0.0\", \"set-blocking\": \"^2.0.0\", \"string-width\": \"^3.0.0\", \"which-module\": \"^2.0.0\", \"y18n\": \"^4.0.0\", \"yargs-parser\": \"^13.1.2\" } }, \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\"],\n\n \"yargs-parser\": [\"yargs-parser@13.1.2\", \"\", { \"dependencies\": { \"camelcase\": \"^5.0.0\", \"decamelize\": \"^1.2.0\" } }, \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\"],\n\n \"yocto-queue\": [\"yocto-queue@0.1.0\", \"\", {}, \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\"],\n\n \"@eslint-community/eslint-utils/eslint-visitor-keys\": [\"eslint-visitor-keys@3.4.3\", \"\", {}, \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==\"],\n\n \"@typescript-eslint/eslint-plugin/ignore\": [\"ignore@7.0.5\", \"\", {}, \"sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==\"],\n\n \"@typescript-eslint/typescript-estree/minimatch\": [\"minimatch@9.0.5\", \"\", { \"dependencies\": { \"brace-expansion\": \"^2.0.1\" } }, \"sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==\"],\n\n \"chokidar/glob-parent\": [\"glob-parent@5.1.2\", \"\", { \"dependencies\": { \"is-glob\": \"^4.0.1\" } }, \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\"],\n\n \"eslint/chalk\": [\"chalk@4.1.2\", \"\", { \"dependencies\": { \"ansi-styles\": \"^4.1.0\", \"supports-color\": \"^7.1.0\" } }, \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\"],\n\n \"tinyglobby/picomatch\": [\"picomatch@4.0.3\", \"\", {}, \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\"],\n\n \"wrap-ansi/ansi-styles\": [\"ansi-styles@3.2.1\", \"\", { \"dependencies\": { \"color-convert\": \"^1.9.0\" } }, \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\"],\n\n \"yargs/find-up\": [\"find-up@3.0.0\", \"\", { \"dependencies\": { \"locate-path\": \"^3.0.0\" } }, \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\"],\n\n \"@typescript-eslint/typescript-estree/minimatch/brace-expansion\": [\"brace-expansion@2.0.2\", \"\", { \"dependencies\": { \"balanced-match\": \"^1.0.0\" } }, \"sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==\"],\n\n \"wrap-ansi/ansi-styles/color-convert\": [\"color-convert@1.9.3\", \"\", { \"dependencies\": { \"color-name\": \"1.1.3\" } }, \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\"],\n\n \"yargs/find-up/locate-path\": [\"locate-path@3.0.0\", \"\", { \"dependencies\": { \"p-locate\": \"^3.0.0\", \"path-exists\": \"^3.0.0\" } }, \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\"],\n\n \"wrap-ansi/ansi-styles/color-convert/color-name\": [\"color-name@1.1.3\", \"\", {}, \"sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==\"],\n\n \"yargs/find-up/locate-path/p-locate\": [\"p-locate@3.0.0\", \"\", { \"dependencies\": { \"p-limit\": \"^2.0.0\" } }, \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\"],\n\n \"yargs/find-up/locate-path/path-exists\": [\"path-exists@3.0.0\", \"\", {}, \"sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==\"],\n\n \"yargs/find-up/locate-path/p-locate/p-limit\": [\"p-limit@2.3.0\", \"\", { \"dependencies\": { \"p-try\": \"^2.0.0\" } }, \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\"],\n }\n}\n",
|
|
6
|
+
"/data/filters/ManifestBuilds/index.ts": "import { ConfigManagers, Filters } from \"@axeth/core\";\r\nimport type { Manifest } from \"./types/Manifest.ts\";\r\nimport chalk from \"chalk\";\r\nimport * as fs from \"fs\";\r\n\r\nclass ManifestBuilds extends Filters {\r\n private bpManifest = `${this.basePath}/BP/manifest.json`;\r\n private rpManifest = `${this.basePath}/RP/manifest.json`;\r\n private bpDirectory = `${this.basePath}/BP`;\r\n private rpDirectory = `${this.basePath}/RP`;\r\n private config = new ConfigManagers().getConfig();\r\n\r\n override async apply(): Promise<void> {\r\n await null;\r\n this.msg(`Looking for manifests...`);\r\n const BPManifest = this.readManifest(this.bpManifest);\r\n const RPManifest = this.readManifest(this.rpManifest);\r\n\r\n if (!BPManifest || !RPManifest) {\r\n this.msg(chalk.red(`No manifest.json found in BP or RP directories.`));\r\n return;\r\n } else {\r\n const config = await this.config;\r\n const BPUUIDs = this.uuidGen(config.meta.seed, 2);\r\n const RPUUIDs = this.uuidGen(config.meta.seed + 1000, 2);\r\n\r\n BPManifest.header.name = config.meta.name + `@${config.meta.version.join(\".\")} BP`;\r\n RPManifest.header.name = config.meta.name + `@${config.meta.version.join(\".\")} RP`;\r\n BPManifest.header.description = config.meta.description || BPManifest.header.description;\r\n RPManifest.header.description = config.meta.description || RPManifest.header.description;\r\n BPManifest.format_version = config.format_version;\r\n RPManifest.format_version = config.format_version;\r\n //UUID\r\n BPManifest.header.uuid = BPUUIDs[0] || \"\";\r\n //Script Module\r\n BPManifest.modules.find((x) => x.language === \"javascript\")!.uuid = BPUUIDs[1] || \"\";\r\n //UUID\r\n RPManifest.header.uuid = RPUUIDs[0] || \"\";\r\n //Resource Module\r\n RPManifest.modules.find((x) => x.type === \"resources\")!.uuid = RPUUIDs[1] || \"\";\r\n\r\n //Dependencies\r\n const bpDep = BPManifest.dependencies?.find((dep) => dep.uuid);\r\n if (bpDep) {\r\n bpDep.uuid = RPManifest.header.uuid;\r\n }\r\n const rpDep = RPManifest.dependencies?.find((dep) => dep.uuid);\r\n if (rpDep) {\r\n rpDep.uuid = BPManifest.header.uuid;\r\n }\r\n\r\n\r\n this.fileManagers.writeFile(\r\n this.bpManifest,\r\n JSON.stringify(BPManifest, null, 2),\r\n );\r\n this.fileManagers.writeFile(\r\n this.rpManifest,\r\n JSON.stringify(RPManifest, null, 2),\r\n );\r\n\r\n this.msg(`Updated manifest ${chalk.green(\"successfully\")}.`);\r\n\r\n //Copy pack icons if exist\r\n this.fileManagers.removeFile(this.bpDirectory + \"/pack_icon.png\");\r\n this.fileManagers.removeFile(this.rpDirectory + \"/pack_icon.png\");\r\n\r\n this.fileManagers.copyFile(\r\n config.meta.icon,\r\n this.bpDirectory + \"/pack_icon.png\",\r\n );\r\n this.fileManagers.copyFile(\r\n config.meta.icon,\r\n this.rpDirectory + \"/pack_icon.png\",\r\n )\r\n }\r\n }\r\n\r\n private uuidGen(seed: number, count: number): string[] {\r\n const uuids: string[] = [];\r\n\r\n // simple deterministic seeded PRNG (mulberry32-like)\r\n const rnd = (function (a: number) {\r\n return function () {\r\n a |= 0;\r\n a = (a + 0x6D2B79F5) | 0;\r\n let t = Math.imul(a ^ (a >>> 15), 1 | a);\r\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\r\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\r\n };\r\n })(seed);\r\n\r\n for (let i = 0; i < count; i++) {\r\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n const r = Math.floor(rnd() * 16);\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n uuids.push(uuid);\r\n }\r\n return uuids;\r\n }\r\n\r\n public readManifest(path: string): Manifest | null {\r\n try {\r\n return JSON.parse(\r\n fs.readFileSync(path, \"utf-8\"),\r\n ) as Manifest;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport { ManifestBuilds };\r\n",
|
|
7
|
+
"/data/filters/ManifestBuilds/types/Manifest.ts": "export interface Manifest {\r\n format_version: number;\r\n header: ManifestHeader;\r\n modules: ManifestModule[];\r\n dependencies?: ManifestDependency[];\r\n subpacks?: Subpack[];\r\n capabilities?: string[];\r\n}\r\n\r\nexport type Version = [number, number, number];\r\nexport type UUID = string;\r\n\r\nexport interface ManifestHeader {\r\n name: string;\r\n description: string;\r\n uuid: UUID;\r\n version: Version;\r\n min_engine_version: Version;\r\n lock_template?: boolean;\r\n}\r\n\r\nexport interface ManifestModule {\r\n uuid: UUID;\r\n version: Version;\r\n type: ModuleType;\r\n description?: string;\r\n language?: string;\r\n}\r\n\r\nexport type ModuleType =\r\n | 'resources' // Resource Pack content\r\n | 'data' // Behavior Pack content (Scripts, Loot Tables, etc.)\r\n | 'skin_pack' // Skin Pack content\r\n | 'interface' // UI content\r\n | 'world_template'\r\n | 'script' // Client-side scripting\r\n | 'resource' // Legacy name for 'resources'\r\n | 'client_data' // Client-side behavior (e.g., animations, render controllers)\r\n | 'world_dependencies';\r\n\r\nexport interface ManifestDependency {\r\n uuid: UUID;\r\n version: Version;\r\n}\r\n\r\nexport interface Subpack {\r\n folder_name: string;\r\n name: string;\r\n}",
|
|
8
|
+
"/data/filters/TSBuilds/index.ts": "import { Filters } from \"@axeth/core\";\r\nimport type { Manifest } from \"./types/Manifest.ts\";\r\nimport * as esbuild from \"esbuild\";\r\nimport { parseArgs } from \"./utils/parseArgs.ts\";\r\nimport chalk from \"chalk\";\r\nimport { spawn } from \"bun\";\r\nimport * as fs from \"fs\";\r\n\r\nconst [settings] = parseArgs(Bun.argv.slice(2));\r\n\r\n\r\nclass TSBuilds extends Filters {\r\n private typescript = \"ts\";\r\n private bpPath = `${this.basePath}/BP`;\r\n\r\n override async apply(): Promise<void> {\r\n const manifest = this.readManifest(this.bpPath);\r\n if (!manifest) return;\r\n const entryPath = manifest.modules.find((x) => x.entry)?.entry;\r\n if (!entryPath) return;\r\n\r\n const scriptPath = \"./packs\" + \"/\" + entryPath.replace(\".js\", `.${this.typescript}`);\r\n\r\n // Run linter before building (surface output to console)\r\n this.msg(`Running linter: ${chalk.yellow(\"bunx eslint ./packs\")}`);\r\n const lintProcess = spawn([\"bunx\", \"eslint\", \"./packs\"], {\r\n stdout: \"inherit\",\r\n stderr: \"inherit\",\r\n });\r\n\r\n const exitCode = await lintProcess.exited;\r\n\r\n if (exitCode !== 0) {\r\n this.msg(`${chalk.red(\"✗\")} Linting failed. Fix errors before building.`);\r\n return;\r\n }\r\n\r\n this.msg(`${chalk.green(\"✓\")} Linting passed`);\r\n\r\n // Build AxethLib.js first (contains @axeth/api)\r\n this.msg(`Building library: ${chalk.blue(\"AxethLib.js\")}`);\r\n await esbuild.build({\r\n bundle: true,\r\n entryPoints: [\"@axeth/api/runtimes\"],\r\n external: [\r\n \"@minecraft/server\",\r\n \"@minecraft/server-ui\",\r\n ],\r\n format: \"esm\",\r\n outfile: this.bpPath + \"/scripts/AxethLib.js\",\r\n minify: true,\r\n keepNames: false,\r\n sourcemap: true,\r\n ...settings,\r\n }).then(() => {\r\n this.msg(`Successfully built library: ${chalk.green(\"BP/scripts/AxethLib.js\")}`);\r\n });\r\n\r\n // Build main script (excludes @axeth/api)\r\n this.msg(`Building script: ${chalk.green(scriptPath)}`);\r\n await esbuild.build({\r\n plugins: [\r\n {\r\n name: \"alias-axeth-api\",\r\n setup(build) {\r\n build.onResolve({ filter: /^@axeth\\/api$/ }, () => {\r\n return { path: \"./AxethLib.js\", external: true };\r\n });\r\n },\r\n },\r\n ],\r\n bundle: true,\r\n entryPoints: [\r\n scriptPath,\r\n ],\r\n external: [\r\n \"@minecraft/server\",\r\n \"@minecraft/server-ui\",\r\n ],\r\n format: \"esm\",\r\n outfile: this.bpPath + \"/\" + entryPath,\r\n sourcemap: true,\r\n ...settings,\r\n }).then(() => {\r\n this.msg(`Successfully built script: ${chalk.green(\"BP/\" + entryPath)}`);\r\n });\r\n\r\n // this.fileManagers.removeDirectory(this.basePath + \"/\" + \"scripts\");\r\n }\r\n\r\n public readManifest(bpPath: string): Manifest | null {\r\n try {\r\n return JSON.parse(\r\n fs.readFileSync(`${bpPath}/manifest.json`, \"utf-8\"),\r\n ) as Manifest;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport { TSBuilds };\r\n",
|
|
9
|
+
"/data/filters/TSBuilds/types/Manifest.ts": "export interface Manifest {\r\n format_version: number;\r\n modules: [\r\n {\r\n description: string;\r\n language: string;\r\n type: string;\r\n uuid: string;\r\n version: [number, number, number];\r\n entry: string;\r\n },\r\n ];\r\n}\r\n",
|
|
10
|
+
"/data/filters/TSBuilds/utils/parseArgs.ts": "export function parseArgs(args: string[]): [Record<string, unknown>, ...string[]] {\r\n try {\r\n const settings = JSON.parse(args[0] || \"{}\");\r\n return [settings, ...args.slice(1)];\r\n } catch {\r\n return [{}, ...args];\r\n }\r\n}\r\n",
|
|
11
|
+
"/eslint.config.ts": "import eslint from '@eslint/js';\r\nimport { defineConfig } from 'eslint/config';\r\nimport tseslint from 'typescript-eslint';\r\n\r\nexport default defineConfig(\r\n eslint.configs.recommended,\r\n tseslint.configs.recommended,\r\n {\r\n rules: {\r\n \"no-unused-vars\": \"off\",\r\n \"@typescript-eslint/no-unused-vars\": [\"error\", {\r\n argsIgnorePattern: \"^_\"\r\n }]\r\n }\r\n }\r\n);\r\n",
|
|
12
|
+
"/index.ts": "import { AxethCore } from \"@axeth/core\";\r\n\r\nnew AxethCore();",
|
|
13
|
+
"/package.json": "{\n \"name\": \"{{project_name}}\",\n \"module\": \"index.ts\",\n \"type\": \"module\",\n \"private\": true,\n \"devDependencies\": {\n \"@types/bun\": \"latest\",\n \"chokidar-cli\": \"^3.0.0\",\n \"jiti\": \"^2.6.1\"\n },\n \"peerDependencies\": {\n \"typescript\": \"^5\"\n },\n \"scripts\": {\n \"lint\": \"bunx eslint\",\n \"dev\": \"bun run index.ts --dev\",\n \"build\": \"bun run ./index.ts --build\",\n \"packs\": \"bun run ./index.ts --packs\",\n \"clean\": \"bun run ./index.ts --clean\"\n },\n \"dependencies\": {\n \"@axeth/api\": \"{{axethApiVersion}}\",\n \"@axeth/core\": \"{{axethCoreVersion}}\",\n \"@eslint/js\": \"^9.39.2\",\n \"chalk\": \"^5.6.2\",\n \"esbuild\": \"^0.27.2\",\n \"eslint\": \"^9.39.2\",\n \"jszip\": \"^3.10.1\",\n \"typescript-eslint\": \"^8.50.1\"\n }\n}",
|
|
14
|
+
"/packs/BP/manifest.json": "{\r\n \"format_version\": 2,\r\n \"header\": {\r\n \"name\": \"{{pack_name}}\",\r\n \"description\": \"{{pack_description}}\",\r\n \"uuid\": \"<uuid>\",\r\n \"version\": [\r\n 1,\r\n 0,\r\n 0\r\n ],\r\n \"min_engine_version\": [\r\n 1,\r\n 21,\r\n 60\r\n ]\r\n },\r\n \"modules\": [\r\n {\r\n \"description\": \"Behavior Pack\",\r\n \"language\": \"javascript\",\r\n \"type\": \"script\",\r\n \"uuid\": \"<uuid>\",\r\n \"version\": [\r\n 1,\r\n 0,\r\n 0\r\n ],\r\n \"entry\": \"scripts/index.js\"\r\n }\r\n ],\r\n \"dependencies\": [\r\n {\r\n \"module_name\": \"@minecraft/server\",\r\n \"version\": \"{{minecraftServerVersion}}\"\r\n },\r\n {\r\n \"module_name\": \"@minecraft/server-ui\",\r\n \"version\": \"{{minecraftServerUIVersion}}\"\r\n },\r\n {\r\n \"uuid\": \"<uuid>\",\r\n \"version\": [\r\n 1,\r\n 0,\r\n 0\r\n ]\r\n }\r\n ],\r\n \"metadata\": {\r\n \"product_type\": \"addon\",\r\n \"authors\": [\r\n \"KisuX3\"\r\n ]\r\n }\r\n}",
|
|
15
|
+
"/packs/config.json": "{\n \"format_version\": 2,\n \"meta\": {\n \"name\": \"{{pack_name}}\",\n \"icon\": \"./packs/pack_icon.png\",\n \"version\": \"{{version}}\",\n \"description\": \"{{pack_description}}\",\n \"seed\": \"{{seed}}\",\n \"authors\": \"{{author_name}}\"\n },\n \"filters\": [\n {\n \"name\": \"TSBuilds\",\n \"config\": {}\n },\n {\n \"name\": \"ManifestBuilds\",\n \"config\": {}\n }\n ],\n \"env\": {}\n}",
|
|
16
|
+
"/packs/pack_icon.png": "�PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000�\u0000\u0000\u0000�\u0004\u0003\u0000\u0000\u0000y�z\u001e\u0000\u0000\u0001qiCCPicc\u0000\u0000xڕ�;HBQ\u001c��Z���PPD�\u001d,\br��F�@\u0002\u00031\u0003����\u0017x�r���\u0018�\n\r=�����Z\u001bZ� �\u0001���T�\u0012r�\u0007)%0�?}���?��;�dU�j�n\u0014�H0 ��+R�3-\f�A\u000fc�j�g��\u0010M��\u0016\u0017��O����[KX*�$���͂�u`z��\u0017�\u0005�մ�9>\u0005�M炎�E_��E8%�\u001ba3\u001a�s�\u000fH�\u0006+\rVӦ�x\n�j��9�լ\t���lQ�V.�+a,/�>0L�\u0005\u0016\t#�P$C�\u0002>2\u0018HXD\b\u0012h2?��\u000fSD!K\u0006\u0015�yr�Ȉy�\u001f���JNN\u0000��\n@�m��@�6T˶�yh��#�<
Q��U`�\u001d<�z�{\u0000��pvY�);p�\u0005�\u000fyٔ\u0001�\u0000�d\u0012^O�;\u000e}�й*r�Y��\u000e�%\b]��>���w�ɻ�\u001bs�k�w~_~}r�s��8\u0000\u0000\u0000\u001bPLTE��������W��Eۢ\u0013�d\u0011u(\u0002T$\tT\u0012\t��\u000e\u0000\u0000\u0000�IDATx��Ա\r� \fEQV�\nY!+��W`\u0005V`���\u0014\u0004ŗ���\n,��.D�yM\u0001\u0002\u0002�\u000b�\u0015 w\u0001\u0010��b�TWm\u0006\b�\u00164Sե��*ԣ�2\r\b�\f�u���wE�jQ\u0001\u0001���\u001ee\u0015\u00100-���<\u001b\n\u00100\u000f�T�y�3\u0001\u0001\u0001��2X\u0015 `.pU�\u001ci[��\u0019�P;�V(@���\u001b�j�v\u0016 `Z�j{7�-@@@\"r�\u0007~�T��cGt\u0000\u0000\u0000\u0000IEND�B`�",
|
|
17
|
+
"/packs/RP/manifest.json": "{\r\n \"format_version\": 2,\r\n \"header\": {\r\n \"name\": \"{{pack_name}}\",\r\n \"description\": \"{{pack_description}}\",\r\n \"uuid\": \"<uuid>\",\r\n \"version\": [\r\n 1,\r\n 0,\r\n 0\r\n ],\r\n \"min_engine_version\": [\r\n 1,\r\n 21,\r\n 60\r\n ]\r\n },\r\n \"modules\": [\r\n {\r\n \"description\": \"Resource Pack\",\r\n \"type\": \"resources\",\r\n \"uuid\": \"<uuid>\",\r\n \"version\": [\r\n 1,\r\n 0,\r\n 0\r\n ]\r\n }\r\n ],\r\n \"dependencies\": [\r\n {\r\n \"uuid\": \"<uuid>\",\r\n \"version\": [\r\n 1,\r\n 0,\r\n 0\r\n ]\r\n }\r\n ]\r\n}",
|
|
18
|
+
"/packs/scripts/index.ts": "import { SystemBase } from \"@axeth/api/runtimes\";\r\nimport { SamplePlugin } from \"./plugins/SamplePlugin/index.ts\";\r\n\r\nclass AxethAPI extends SystemBase {\r\n public override onLoad(): void {\r\n this.pluginManagers.registerPlugin(SamplePlugin)\r\n }\r\n};\r\n\r\nnew AxethAPI();",
|
|
19
|
+
"/packs/scripts/plugins/SamplePlugin/index.ts": "import { PluginBase } from \"@axeth/api/runtimes\";\r\n\r\nclass SamplePlugin extends PluginBase {\r\n public override onLoad(): void {\r\n this.logger.info(\"SamplePlugin has been loaded!\");\r\n }\r\n}\r\n\r\nexport { SamplePlugin };",
|
|
20
|
+
"/tsconfig.json": "{\n \"compilerOptions\": {\n // Environment setup & latest features\n \"lib\": [\"ESNext\"],\n \"target\": \"ESNext\",\n \"module\": \"Preserve\",\n \"moduleDetection\": \"force\",\n \"jsx\": \"react-jsx\",\n \"allowJs\": true,\n\n // Bundler mode\n \"moduleResolution\": \"bundler\",\n \"allowImportingTsExtensions\": true,\n \"verbatimModuleSyntax\": true,\n \"noEmit\": true,\n\n // Best practices\n \"strict\": true,\n \"skipLibCheck\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"noUncheckedIndexedAccess\": true,\n \"noImplicitOverride\": true,\n\n // Some stricter flags (disabled by default)\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noImplicitAny\": true,\n \"noPropertyAccessFromIndexSignature\": false,\n\n \"paths\": {\n \"@axeth/api\": [\"./lib/@axeth/api/index.ts\"],\n \"@minecraft/server\": [\"./node_modules/@minecraft/server\"],\n \"@minecraft/server-ui\": [\"./node_modules/@minecraft/server-ui\"],\n \"@minecraft/math\": [\"./node_modules/@minecraft/math\"]\n }\n }\n}\n"
|
|
21
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"moduleResolution": "NodeNext",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"declarationMap": true,
|
|
8
|
+
"sourceMap": true,
|
|
9
|
+
"strict": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
|
+
"forceConsistentCasingInFileNames": true
|
|
13
|
+
},
|
|
14
|
+
"include": ["src/**/*"],
|
|
15
|
+
"exclude": ["node_modules", "dist", "**/*.test.ts"]
|
|
16
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AxethCLI.d.ts","sourceRoot":"","sources":["../../src/class/AxethCLI.ts"],"names":[],"mappings":"AAOA,cAAM,QAAQ;IACV,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,QAAQ,CAAqB;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;;YAQ7B,OAAO;YAMP,IAAI;YAmCJ,gBAAgB;YAiBhB,eAAe;YAiBf,YAAY;YAoBZ,yBAAyB;YAQzB,2BAA2B;IAOzC,OAAO,CAAC,cAAc;YA6BR,mBAAmB;YAQnB,kBAAkB;IAQ1B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;;;IA0BvD,OAAO,CAAC,aAAa;YAIP,UAAU;CAe3B;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AxethCLI.js","sourceRoot":"","sources":["../../src/class/AxethCLI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateGenerators.d.ts","sourceRoot":"","sources":["../../src/class/TemplateGenerators.ts"],"names":[],"mappings":"AAIA,cAAM,kBAAkB;IACpB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,YAAY,CAKlB;;IAKK,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAI1C,QAAQ;IAIF,QAAQ,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YAsDpE,UAAU;YAgBV,mBAAmB;CAKpC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateGenerators.js","sourceRoot":"","sources":["../../src/class/TemplateGenerators.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|