@vue-godot/cli 0.0.1

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.
Files changed (38) hide show
  1. package/README.md +112 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +188 -0
  4. package/dist/create.d.ts +5 -0
  5. package/dist/create.js +77 -0
  6. package/dist/index.d.ts +29 -0
  7. package/dist/index.js +129 -0
  8. package/dist/integrate.d.ts +13 -0
  9. package/dist/integrate.js +153 -0
  10. package/package.json +37 -0
  11. package/templates/godot/.editorconfig +4 -0
  12. package/templates/godot/.gitattributes +2 -0
  13. package/templates/godot/app.tscn +12 -0
  14. package/templates/godot/icon.svg +1 -0
  15. package/templates/godot/project.godot +16 -0
  16. package/templates/typings/.gdignore +1 -0
  17. package/templates/typings/app.nodes.gen.d.ts +5 -0
  18. package/templates/typings/godot.minimal.d.ts +282 -0
  19. package/templates/typings/godot.mix.d.ts +257 -0
  20. package/templates/typings/godot.vue-components.gen.d.ts +216 -0
  21. package/templates/typings/godot.worker.d.ts +32 -0
  22. package/templates/typings/godot0.gen.d.ts +9973 -0
  23. package/templates/typings/godot1.gen.d.ts +9254 -0
  24. package/templates/typings/godot2.gen.d.ts +9279 -0
  25. package/templates/typings/godot3.gen.d.ts +9210 -0
  26. package/templates/typings/godot4.gen.d.ts +9253 -0
  27. package/templates/typings/godot5.gen.d.ts +9265 -0
  28. package/templates/typings/godot6.gen.d.ts +9508 -0
  29. package/templates/typings/godot7.gen.d.ts +9310 -0
  30. package/templates/typings/godot8.gen.d.ts +8552 -0
  31. package/templates/typings/jsb.editor.bundle.d.ts +73 -0
  32. package/templates/typings/jsb.runtime.bundle.d.ts +91 -0
  33. package/templates/vue/src/.gdignore +0 -0
  34. package/templates/vue/src/App.vue +5 -0
  35. package/templates/vue/src/env.d.ts +7 -0
  36. package/templates/vue/src/main.ts +10 -0
  37. package/templates/vue/tsconfig.json +17 -0
  38. package/templates/vue/vite.config.ts +38 -0
@@ -0,0 +1,153 @@
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import * as readline from 'node:readline/promises';
4
+ import { fileURLToPath } from 'node:url';
5
+ /* ------------------------------------------------------------------ */
6
+ /* Helpers */
7
+ /* ------------------------------------------------------------------ */
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = path.dirname(__filename);
10
+ /** Resolve the bundled templates/ directory (lives next to dist/). */
11
+ export function getTemplatesDir() {
12
+ // In the built package: dist/integrate.js → ../templates
13
+ return path.resolve(__dirname, '..', 'templates');
14
+ }
15
+ /**
16
+ * Walk up the directory tree from `from` until we find a `node_modules` dir.
17
+ */
18
+ function findNodeModules(from) {
19
+ let dir = path.resolve(from);
20
+ while (true) {
21
+ const candidate = path.join(dir, 'node_modules');
22
+ if (fs.existsSync(candidate) && fs.statSync(candidate).isDirectory()) {
23
+ return candidate;
24
+ }
25
+ const parent = path.dirname(dir);
26
+ if (parent === dir)
27
+ break;
28
+ dir = parent;
29
+ }
30
+ return null;
31
+ }
32
+ /**
33
+ * Recursively copy a directory, applying placeholder replacements to every
34
+ * text file. Binary files are copied as-is.
35
+ */
36
+ export function copyTemplateDir(srcDir, destDir, replacements, cwd) {
37
+ fs.mkdirSync(destDir, { recursive: true });
38
+ for (const entry of fs.readdirSync(srcDir, { withFileTypes: true })) {
39
+ const srcPath = path.join(srcDir, entry.name);
40
+ const destPath = path.join(destDir, entry.name);
41
+ if (entry.isDirectory()) {
42
+ copyTemplateDir(srcPath, destPath, replacements, cwd);
43
+ }
44
+ else {
45
+ let content = fs.readFileSync(srcPath, 'utf-8');
46
+ for (const [placeholder, value] of Object.entries(replacements)) {
47
+ content = content.replaceAll(placeholder, value);
48
+ }
49
+ fs.writeFileSync(destPath, content);
50
+ console.log(` created ${path.relative(cwd, destPath)}`);
51
+ }
52
+ }
53
+ }
54
+ export function newPackageJson(name) {
55
+ return {
56
+ name,
57
+ version: '1.0.0',
58
+ type: 'commonjs',
59
+ scripts: {
60
+ dev: 'vite build --watch -c vue/vite.config.ts',
61
+ build: 'vite build -c vue/vite.config.ts',
62
+ postinstall: 'npm run build',
63
+ 'gen:types': 'vue-godot gen-types',
64
+ },
65
+ devDependencies: {
66
+ '@vue-godot/cli': '*',
67
+ '@types/node': '^20.11.18',
68
+ '@vitejs/plugin-vue': '^5.2.4',
69
+ vite: '^6.3.5',
70
+ },
71
+ dependencies: {
72
+ '@vue-godot/runtime-tscn': '^0.0.2',
73
+ '@vue/runtime-core': '^3.5.14',
74
+ },
75
+ };
76
+ }
77
+ /* ------------------------------------------------------------------ */
78
+ /* Main */
79
+ /* ------------------------------------------------------------------ */
80
+ export async function integrate(options) {
81
+ const { targetDir, force } = options;
82
+ const absTarget = path.resolve(targetDir);
83
+ const vueDir = path.join(absTarget, 'vue');
84
+ /* --- guard: target directory must exist --- */
85
+ if (!fs.existsSync(absTarget)) {
86
+ console.error(`Target directory does not exist: ${absTarget}`);
87
+ process.exit(1);
88
+ }
89
+ /* --- vue/ already present? --- */
90
+ if (fs.existsSync(vueDir)) {
91
+ if (!force) {
92
+ const rl = readline.createInterface({
93
+ input: process.stdin,
94
+ output: process.stdout,
95
+ });
96
+ const answer = await rl.question(`Directory "${vueDir}" already exists. Overwrite? (y/N) `);
97
+ rl.close();
98
+ if (answer.trim().toLowerCase() !== 'y') {
99
+ console.log('Aborted.');
100
+ return;
101
+ }
102
+ }
103
+ fs.rmSync(vueDir, { recursive: true });
104
+ }
105
+ /* --- resolve node_modules relative path for tsconfig --- */
106
+ const nodeModules = findNodeModules(absTarget);
107
+ let nodeModulesRelPath;
108
+ if (nodeModules) {
109
+ nodeModulesRelPath = path.relative(vueDir, nodeModules);
110
+ }
111
+ else {
112
+ // fallback: assume node_modules lives in the parent of target
113
+ nodeModulesRelPath = '../node_modules';
114
+ }
115
+ /* --- copy template tree with placeholder substitution --- */
116
+ const templatesDir = getTemplatesDir();
117
+ const vueTplDir = path.join(templatesDir, 'vue');
118
+ if (!fs.existsSync(vueTplDir)) {
119
+ console.error(`Template directory not found: ${vueTplDir}\nThe CLI package may not be installed correctly.`);
120
+ process.exit(1);
121
+ }
122
+ copyTemplateDir(vueTplDir, vueDir, { '{{NODE_MODULES}}': nodeModulesRelPath }, process.cwd());
123
+ /* --- package.json --- */
124
+ const pkgJsonPath = path.join(absTarget, 'package.json');
125
+ if (fs.existsSync(pkgJsonPath)) {
126
+ const existing = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8'));
127
+ existing.scripts = existing.scripts || {};
128
+ existing.scripts.dev ??= 'vite build --watch -c vue/vite.config.ts';
129
+ existing.scripts.build ??= 'vite build -c vue/vite.config.ts';
130
+ existing.scripts.postinstall ??= 'npm run build';
131
+ existing.scripts['gen:types'] ??= 'vue-godot gen-types';
132
+ existing.devDependencies = existing.devDependencies || {};
133
+ existing.devDependencies['@vue-godot/cli'] ??= '*';
134
+ existing.devDependencies['@types/node'] ??= '^20.11.18';
135
+ existing.devDependencies['@vitejs/plugin-vue'] ??= '^5.2.4';
136
+ existing.devDependencies['vite'] ??= '^6.3.5';
137
+ existing.dependencies = existing.dependencies || {};
138
+ existing.dependencies['@vue-godot/runtime-tscn'] ??= '^0.0.2';
139
+ existing.dependencies['@vue/runtime-core'] ??= '^3.5.14';
140
+ fs.writeFileSync(pkgJsonPath, JSON.stringify(existing, null, 2) + '\n');
141
+ console.log(` updated ${path.relative(process.cwd(), pkgJsonPath)}`);
142
+ }
143
+ else {
144
+ const name = path.basename(absTarget);
145
+ fs.writeFileSync(pkgJsonPath, JSON.stringify(newPackageJson(name), null, 2) + '\n');
146
+ console.log(` created ${path.relative(process.cwd(), pkgJsonPath)}`);
147
+ }
148
+ console.log(`\n✔ Vue integration scaffolded in ${path.relative(process.cwd(), vueDir)}`);
149
+ console.log(`\nNext steps:`);
150
+ console.log(` 1. npm install (runs initial build and creates dist/app.js)`);
151
+ console.log(` 2. npm run gen:types`);
152
+ console.log(` 3. npm run dev (rebuilds on change; Godot hot-reloads dist/app.js)`);
153
+ }
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@vue-godot/cli",
3
+ "version": "0.0.1",
4
+ "description": "CLI tool for vue-godot projects — generates types, scaffolds projects, and more",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "bin": {
16
+ "vue-godot": "./dist/cli.js"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "templates"
21
+ ],
22
+ "scripts": {
23
+ "build": "npx tsc -p ."
24
+ },
25
+ "dependencies": {},
26
+ "devDependencies": {
27
+ "@types/node": "^22.13.10",
28
+ "typescript": "^5.8.2"
29
+ },
30
+ "keywords": [
31
+ "vue",
32
+ "godot",
33
+ "cli"
34
+ ],
35
+ "author": "Portwatcher",
36
+ "license": "MIT"
37
+ }
@@ -0,0 +1,4 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
@@ -0,0 +1,2 @@
1
+ # Normalize EOL for all files that Git considers text files.
2
+ * text=auto eol=lf
@@ -0,0 +1,12 @@
1
+ [gd_scene load_steps=2 format=3]
2
+
3
+ [ext_resource type="Script" path="res://dist/app.js" id="1_script"]
4
+
5
+ [node name="app" type="Control"]
6
+ layout_mode = 3
7
+ anchors_preset = 15
8
+ anchor_right = 1.0
9
+ anchor_bottom = 1.0
10
+ grow_horizontal = 2
11
+ grow_vertical = 2
12
+ script = ExtResource("1_script")
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
@@ -0,0 +1,16 @@
1
+ ; Engine configuration file.
2
+ ; It's best edited using the editor UI and not directly,
3
+ ; since the parameters that go here are not all obvious.
4
+ ;
5
+ ; Format:
6
+ ; [section] ; section goes between []
7
+ ; param=value ; assign values to parameters
8
+
9
+ config_version=5
10
+
11
+ [application]
12
+
13
+ config/name="{{PROJECT_NAME}}"
14
+ run/main_scene="res://app.tscn"
15
+ config/features=PackedStringArray("4.4", "Forward Plus")
16
+ config/icon="res://icon.svg"
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,5 @@
1
+ declare module "godot" {
2
+ interface SceneNodes {
3
+ "app.tscn": {},
4
+ }
5
+ }
@@ -0,0 +1,282 @@
1
+
2
+ declare module "godot-jsb" {
3
+ import { Object as GDObject, PackedByteArray, PropertyUsageFlags, PropertyHint, MethodFlags, Variant, Callable0, Callable1, Callable2, Callable3, Callable4, Callable5, StringName, MultiplayerAPI, MultiplayerPeer } from "godot";
4
+
5
+ const DEV_ENABLED: boolean;
6
+ const TOOLS_ENABLED: boolean;
7
+
8
+ /** version of GodotJS */
9
+ const version: string;
10
+
11
+ /** impl currently used */
12
+ const impl: string;
13
+
14
+ /**
15
+ * Create godot Callable with a bound object `self`.
16
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
17
+ */
18
+ function callable<R = void>(self: GDObject, fn: () => R): Callable0<R>;
19
+ /**
20
+ * Create godot Callable with a bound object `self`.
21
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
22
+ */
23
+ function callable<T1, R = void>(self: GDObject, fn: (v1: T1) => R): Callable1<T1, R>;
24
+ /**
25
+ * Create godot Callable with a bound object `self`.
26
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
27
+ */
28
+ function callable<T1, T2, R = void>(self: GDObject, fn: (v1: T1, v2: T2) => R): Callable2<T1, T2, R>;
29
+ /**
30
+ * Create godot Callable with a bound object `self`.
31
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
32
+ */
33
+ function callable<T1, T2, T3, R = void>(self: GDObject, fn: (v1: T1, v2: T2, v3: T3) => R): Callable3<T1, T2, T3, R>;
34
+ /**
35
+ * Create godot Callable with a bound object `self`.
36
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
37
+ */
38
+ function callable<T1, T2, T3, T4, R = void>(self: GDObject, fn: (v1: T1, v2: T2, v3: T3, v4: T4) => R): Callable4<T1, T2, T3, T4, R>;
39
+ /**
40
+ * Create godot Callable with a bound object `self`.
41
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
42
+ */
43
+ function callable<T1, T2, T3, T4, T5, R = void>(self: GDObject, fn: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => R): Callable5<T1, T2, T3, T4, T5, R>;
44
+
45
+ /**
46
+ * Create godot Callable without a bound object.
47
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
48
+ */
49
+ function callable<R = void>(fn: () => R): Callable0<R>;
50
+ /**
51
+ * Create godot Callable without a bound object.
52
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
53
+ */
54
+ function callable<T1, R = void>(fn: (v1: T1) => R): Callable1<T1, R>;
55
+ /**
56
+ * Create godot Callable without a bound object.
57
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
58
+ */
59
+ function callable<T1, T2, R = void>(fn: (v1: T1, v2: T2) => R): Callable2<T1, T2, R>;
60
+ /**
61
+ * Create godot Callable without a bound object.
62
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
63
+ */
64
+ function callable<T1, T2, T3, R = void>(fn: (v1: T1, v2: T2, v3: T3) => R): Callable3<T1, T2, T3, R>;
65
+ /**
66
+ * Create godot Callable without a bound object.
67
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
68
+ */
69
+ function callable<T1, T2, T3, T4, R = void>(fn: (v1: T1, v2: T2, v3: T3, v4: T4) => R): Callable4<T1, T2, T3, T4, R>;
70
+ /**
71
+ * Create godot Callable without a bound object.
72
+ * @deprecated [WARNING] avoid using this function directly, use `Callable.create` instead.
73
+ */
74
+ function callable<T1, T2, T3, T4, T5, R = void>(fn: (v1: T1, v2: T2, v3: T3, v4: T4, v5: T5) => R): Callable5<T1, T2, T3, T4, T5, R>;
75
+
76
+ /**
77
+ * Explicitly convert a `PackedByteArray`(aka `Vector<uint8_t>`) into a javascript `ArrayBuffer`
78
+ * @deprecated [WARNING] This free function '_to_array_buffer' is deprecated and will be removed in a future version, use 'PackedByteArray.to_array_buffer()' instead.
79
+ */
80
+ function to_array_buffer(packed: PackedByteArray): ArrayBuffer;
81
+
82
+ interface ScriptPropertyInfo {
83
+ name: string;
84
+ type: Variant.Type;
85
+ class_?: Function;
86
+ hint?: number;
87
+ hint_string?: string;
88
+ usage?: number;
89
+ }
90
+
91
+ namespace internal {
92
+ type OnReadyEvaluatorFunc = (self: any) => any;
93
+
94
+ interface RPCConfig {
95
+ mode?: MultiplayerAPI.RPCMode,
96
+ sync?: boolean,
97
+ transfer_mode?: MultiplayerPeer.TransferMode,
98
+ transfer_channel?: number,
99
+ }
100
+
101
+ function add_script_signal(target: any, name: string): void;
102
+ function add_script_property(target: any, details: ScriptPropertyInfo): void;
103
+ function add_script_ready(target: any, details: { name: string, evaluator: string | OnReadyEvaluatorFunc }): void;
104
+ function add_script_tool(target: any): void;
105
+ function add_script_icon(target: any, path: string): void;
106
+ function add_script_rpc(target: any, propertyKey: string, config: RPCConfig): void;
107
+
108
+ // 0: deprecated, 1: experimental, 2: help
109
+ function set_script_doc(target: any, propertyKey?: string, field: 0 | 1 | 2, message: string): void;
110
+
111
+ function add_module(id: string, obj: any): void;
112
+ function find_module(id: string): any;
113
+ function notify_microtasks_run(): void;
114
+
115
+ /**
116
+ * Get the transformed type name of a Variant.Type
117
+ */
118
+ function get_type_name(type: Variant.Type): StringName;
119
+ }
120
+
121
+ namespace editor {
122
+ interface PrimitiveConstantInfo {
123
+ name: string;
124
+ type: Variant.Type;
125
+ value: number; /* only if type is literal */
126
+ }
127
+
128
+ interface ConstantInfo {
129
+ name: string;
130
+ value: number; /** int64_t */
131
+ }
132
+
133
+ interface EnumInfo {
134
+ name: string;
135
+
136
+ literals: Array<string>;
137
+ is_bitfield: boolean;
138
+ }
139
+
140
+ interface DefaultArgumentInfo {
141
+ type: Variant.Type;
142
+ value: any;
143
+ }
144
+
145
+ // we treat godot MethodInfo/MethodBind as the same thing here for simplicity
146
+ //NOTE some fields will not be set if it's actually a MethodInfo struct
147
+ interface MethodBind {
148
+ id: number;
149
+ name: string;
150
+
151
+ hint_flags: MethodFlags;
152
+ is_static: boolean;
153
+ is_const: boolean;
154
+ is_vararg: boolean;
155
+ argument_count: number; /** int32_t */
156
+
157
+ args_: Array<PropertyInfo>;
158
+ default_arguments?: Array<DefaultArgumentInfo>;
159
+ return_: PropertyInfo | undefined;
160
+ }
161
+
162
+ interface PropertyInfo {
163
+ name: string;
164
+ type: Variant.Type;
165
+ class_name: string;
166
+ hint: PropertyHint;
167
+ hint_string: string;
168
+ usage: PropertyUsageFlags;
169
+ }
170
+
171
+ interface PropertySetGetInfo {
172
+ name: string;
173
+
174
+ type: Variant.Type;
175
+ index: number;
176
+ setter: string;
177
+ getter: string;
178
+
179
+ info: PropertyInfo;
180
+ }
181
+
182
+ interface PrimitiveGetSetInfo {
183
+ name: string;
184
+ type: Variant.Type;
185
+ }
186
+
187
+ interface SignalInfo {
188
+ name: string;
189
+ method_: MethodBind;
190
+ }
191
+
192
+ interface ArgumentInfo {
193
+ name: string;
194
+ type: Variant.Type;
195
+ }
196
+
197
+ interface ConstructorInfo {
198
+ arguments: Array<ArgumentInfo>
199
+ }
200
+
201
+ interface OperatorInfo {
202
+ name: string;
203
+ return_type: Variant.Type;
204
+ left_type: Variant.Type;
205
+ right_type: Variant.Type;
206
+ }
207
+
208
+ interface BasicClassInfo {
209
+ name: string;
210
+ methods: Array<MethodBind>;
211
+ enums?: Array<EnumInfo>;
212
+ }
213
+
214
+ // godot class
215
+ interface ClassInfo extends BasicClassInfo {
216
+ super: string;
217
+
218
+ properties: Array<PropertySetGetInfo>;
219
+ virtual_methods: Array<MethodBind>;
220
+ signals: Array<SignalInfo>;
221
+ constants?: Array<ConstantInfo>;
222
+ }
223
+
224
+ // variant class
225
+ interface PrimitiveClassInfo extends BasicClassInfo {
226
+ // self type
227
+ type: Variant.Type;
228
+
229
+ // valid only if has_indexing
230
+ element_type?: Variant.Type;
231
+
232
+ // true only if is_keyed
233
+ is_keyed: boolean;
234
+
235
+ constructors: Array<ConstructorInfo>;
236
+ operators: Array<OperatorInfo>;
237
+ properties: Array<PrimitiveGetSetInfo>;
238
+ constants?: Array<PrimitiveConstantInfo>;
239
+ }
240
+
241
+ interface SingletonInfo {
242
+ name: string;
243
+ class_name: string;
244
+ user_created: boolean;
245
+ editor_only: boolean;
246
+ }
247
+
248
+ interface GlobalConstantInfo {
249
+ name: string;
250
+ values: { [name: string]: number /** int64_t */ };
251
+ }
252
+
253
+ interface ClassDoc {
254
+ brief_description: string;
255
+
256
+ constants: { [name: string]: { description: string } };
257
+ methods: { [name: string]: { description: string } };
258
+ properties: { [name: string]: { description: string } };
259
+ signals: { [name: string]: { description: string } };
260
+ }
261
+
262
+ function get_class_doc(class_name: string): ClassDoc | undefined;
263
+
264
+ /**
265
+ * get a list of all classes registered in ClassDB
266
+ */
267
+ function get_classes(): Array<ClassInfo>;
268
+
269
+ function get_primitive_types(): Array<PrimitiveClassInfo>;
270
+
271
+ function get_singletons(): Array<SingletonInfo>;
272
+
273
+ function get_global_constants(): Array<GlobalConstantInfo>;
274
+
275
+ function get_utility_functions(): Array<MethodBind>;
276
+
277
+ function delete_file(filepath: string): void;
278
+
279
+ const VERSION_DOCS_URL: string;
280
+ }
281
+ }
282
+