create-krispya 0.4.8 → 0.5.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.
package/dist/index.d.cts CHANGED
@@ -1,86 +1,52 @@
1
- type GenerateDreiOptions = {} | boolean;
2
-
1
+ type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
2
+ type BaseTemplate = "vanilla" | "react" | "r3f";
3
+ type ProjectType = "app" | "library" | "monorepo";
4
+ type LibraryBundler = "unbuild" | "tsdown";
5
+ type PackageVersions = {
6
+ vite?: string;
7
+ vitest?: string;
8
+ eslint?: string;
9
+ oxlint?: string;
10
+ oxfmt?: string;
11
+ prettier?: string;
12
+ biome?: string;
13
+ };
14
+ type File = {
15
+ type: "text";
16
+ content: string;
17
+ } | {
18
+ type: "remote";
19
+ url: string;
20
+ };
21
+ type Linter = "eslint" | "oxlint" | "biome";
22
+ type Formatter = "prettier" | "oxfmt" | "biome";
23
+ type Testing = "vitest" | "none";
24
+ type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
3
25
  type GenerateFiberOptions = {
4
- /**
5
- * @default true
6
- */
26
+ /** @default true */
7
27
  addExample?: boolean;
8
28
  } | boolean;
9
-
10
- type GenerateGithubPagesOptions = {} | boolean;
11
-
29
+ type GenerateDreiOptions = {} | boolean;
12
30
  type GenerateHandleOptions = {} | boolean;
13
-
14
31
  type GenerateKootaOptions = {
15
- /**
16
- * @default true
17
- */
32
+ /** @default true */
18
33
  addExample?: boolean;
19
34
  } | boolean;
20
-
21
35
  type GenerateLevaOptions = {} | boolean;
22
-
23
36
  type GenerateOffscreenOptions = {} | boolean;
24
-
25
37
  type GeneratePostprocessingOptions = {} | boolean;
26
-
27
38
  type GenerateRapierOptions = {} | boolean;
28
-
39
+ type GenerateTriplexOptions = {} | boolean;
29
40
  type GenerateUikitOptions = {} | boolean;
30
-
41
+ type GenerateViverseOptions = {} | boolean;
31
42
  type GenerateXrOptions = {
32
- storeOptions?: any;
43
+ storeOptions?: unknown;
33
44
  } | boolean;
34
-
35
45
  type GenerateZustandOptions = {
36
- /**
37
- * @default true
38
- */
46
+ /** @default true */
39
47
  addExample?: boolean;
40
48
  } | boolean;
41
-
42
- type GenerateTriplexOptions = {} | boolean;
43
-
44
- type GenerateViverseOptions = {} | boolean;
45
-
46
- /**
47
- * Fetches the latest version of an npm package from the registry
48
- * @param packageName The name of the npm package
49
- * @param fallback Fallback version if fetch fails
50
- * @returns The latest version string (e.g., "1.0.0")
51
- */
52
- declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
53
- /**
54
- * Fetches the latest version of pnpm from the npm registry
55
- * @returns The latest pnpm version string (e.g., "10.24.0")
56
- */
57
- declare function getLatestPnpmVersion(): Promise<string>;
58
- /**
59
- * Fetches the latest LTS version of Node.js
60
- * @returns The latest Node.js LTS version string (e.g., "22.13.0")
61
- */
62
- declare function getLatestNodeVersion(): Promise<string>;
63
- /**
64
- * Generates a random name in the format "adjective-noun"
65
- * @returns A randomly generated name string
66
- */
67
- declare function generateRandomName(): string;
68
-
69
- type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
70
- type BaseTemplate = "vanilla" | "react" | "r3f";
71
- declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
72
- declare function getBaseTemplate(template: Template): BaseTemplate;
73
- type PackageVersions = {
74
- vite?: string;
75
- vitest?: string;
76
- eslint?: string;
77
- oxlint?: string;
78
- oxfmt?: string;
79
- prettier?: string;
80
- biome?: string;
81
- };
82
- type ProjectType = "app" | "library";
83
- type LibraryBundler = "unbuild" | "tsdown";
49
+ type GenerateGithubPagesOptions = {} | boolean;
84
50
  type GenerateOptions = {
85
51
  githubUserName?: string;
86
52
  githubRepoName?: string;
@@ -90,6 +56,7 @@ type GenerateOptions = {
90
56
  template?: Template;
91
57
  linter?: Linter;
92
58
  formatter?: Formatter;
59
+ testing?: Testing;
93
60
  versions?: PackageVersions;
94
61
  fiber?: GenerateFiberOptions;
95
62
  handle?: GenerateHandleOptions;
@@ -119,17 +86,9 @@ type GenerateOptions = {
119
86
  pnpmVersion?: string;
120
87
  pnpmManageVersions?: boolean;
121
88
  nodeVersion?: string;
89
+ workspaceRoot?: string;
90
+ workspaceDependencies?: string[];
122
91
  };
123
- type File = {
124
- type: "text";
125
- content: string;
126
- } | {
127
- type: "remote";
128
- url: string;
129
- };
130
- type Linter = "eslint" | "oxlint" | "biome";
131
- type Formatter = "prettier" | "oxfmt" | "biome";
132
- type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
133
92
  type Generator = {
134
93
  get options(): GenerateOptions;
135
94
  get versions(): PackageVersions;
@@ -139,10 +98,56 @@ type Generator = {
139
98
  addScript(name: string, command: string): void;
140
99
  inject(location: CodeInjectionLocation, code: string): void;
141
100
  replace(search: string, replace: string): void;
142
- configureVite(object: any): void;
101
+ configureVite(object: unknown): void;
143
102
  addVscodeSetting(key: string, value: unknown): void;
144
103
  };
104
+ declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
105
+ declare function getBaseTemplate(template: Template): BaseTemplate;
106
+
107
+ /**
108
+ * Fetches the latest version of an npm package from the registry
109
+ * @param packageName The name of the npm package
110
+ * @param fallback Fallback version if fetch fails
111
+ * @returns The latest version string (e.g., "1.0.0")
112
+ */
113
+ declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
114
+ /**
115
+ * Fetches the latest version of pnpm from the npm registry
116
+ * @returns The latest pnpm version string (e.g., "10.24.0")
117
+ */
118
+ declare function getLatestPnpmVersion(): Promise<string>;
119
+ /**
120
+ * Fetches the latest LTS version of Node.js
121
+ * @returns The latest Node.js LTS version string (e.g., "22.13.0")
122
+ */
123
+ declare function getLatestNodeVersion(): Promise<string>;
124
+ /**
125
+ * Generates a random name in the format "adjective-noun"
126
+ * @returns A randomly generated name string
127
+ */
128
+ declare function generateRandomName(): string;
129
+
130
+ type MonorepoParams = {
131
+ name: string;
132
+ linter: Linter;
133
+ formatter: Formatter;
134
+ packageManager: string;
135
+ pnpmVersion?: string;
136
+ pnpmManageVersions?: boolean;
137
+ nodeVersion?: string;
138
+ };
139
+ type MonorepoResult = {
140
+ files: Record<string, File>;
141
+ };
142
+ /**
143
+ * Generates a monorepo workspace root structure with shared config packages.
144
+ */
145
+ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
146
+
147
+ /**
148
+ * Main generation function that creates all project files.
149
+ */
145
150
  declare function generate(options: GenerateOptions): Record<string, File>;
146
151
 
147
- export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
148
- export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
152
+ export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
153
+ export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateDreiOptions, GenerateFiberOptions, GenerateGithubPagesOptions, GenerateHandleOptions, GenerateKootaOptions, GenerateLevaOptions, GenerateOffscreenOptions, GenerateOptions, GeneratePostprocessingOptions, GenerateRapierOptions, GenerateTriplexOptions, GenerateUikitOptions, GenerateViverseOptions, GenerateXrOptions, GenerateZustandOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template, Testing };
package/dist/index.d.mts CHANGED
@@ -1,86 +1,52 @@
1
- type GenerateDreiOptions = {} | boolean;
2
-
1
+ type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
2
+ type BaseTemplate = "vanilla" | "react" | "r3f";
3
+ type ProjectType = "app" | "library" | "monorepo";
4
+ type LibraryBundler = "unbuild" | "tsdown";
5
+ type PackageVersions = {
6
+ vite?: string;
7
+ vitest?: string;
8
+ eslint?: string;
9
+ oxlint?: string;
10
+ oxfmt?: string;
11
+ prettier?: string;
12
+ biome?: string;
13
+ };
14
+ type File = {
15
+ type: "text";
16
+ content: string;
17
+ } | {
18
+ type: "remote";
19
+ url: string;
20
+ };
21
+ type Linter = "eslint" | "oxlint" | "biome";
22
+ type Formatter = "prettier" | "oxfmt" | "biome";
23
+ type Testing = "vitest" | "none";
24
+ type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
3
25
  type GenerateFiberOptions = {
4
- /**
5
- * @default true
6
- */
26
+ /** @default true */
7
27
  addExample?: boolean;
8
28
  } | boolean;
9
-
10
- type GenerateGithubPagesOptions = {} | boolean;
11
-
29
+ type GenerateDreiOptions = {} | boolean;
12
30
  type GenerateHandleOptions = {} | boolean;
13
-
14
31
  type GenerateKootaOptions = {
15
- /**
16
- * @default true
17
- */
32
+ /** @default true */
18
33
  addExample?: boolean;
19
34
  } | boolean;
20
-
21
35
  type GenerateLevaOptions = {} | boolean;
22
-
23
36
  type GenerateOffscreenOptions = {} | boolean;
24
-
25
37
  type GeneratePostprocessingOptions = {} | boolean;
26
-
27
38
  type GenerateRapierOptions = {} | boolean;
28
-
39
+ type GenerateTriplexOptions = {} | boolean;
29
40
  type GenerateUikitOptions = {} | boolean;
30
-
41
+ type GenerateViverseOptions = {} | boolean;
31
42
  type GenerateXrOptions = {
32
- storeOptions?: any;
43
+ storeOptions?: unknown;
33
44
  } | boolean;
34
-
35
45
  type GenerateZustandOptions = {
36
- /**
37
- * @default true
38
- */
46
+ /** @default true */
39
47
  addExample?: boolean;
40
48
  } | boolean;
41
-
42
- type GenerateTriplexOptions = {} | boolean;
43
-
44
- type GenerateViverseOptions = {} | boolean;
45
-
46
- /**
47
- * Fetches the latest version of an npm package from the registry
48
- * @param packageName The name of the npm package
49
- * @param fallback Fallback version if fetch fails
50
- * @returns The latest version string (e.g., "1.0.0")
51
- */
52
- declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
53
- /**
54
- * Fetches the latest version of pnpm from the npm registry
55
- * @returns The latest pnpm version string (e.g., "10.24.0")
56
- */
57
- declare function getLatestPnpmVersion(): Promise<string>;
58
- /**
59
- * Fetches the latest LTS version of Node.js
60
- * @returns The latest Node.js LTS version string (e.g., "22.13.0")
61
- */
62
- declare function getLatestNodeVersion(): Promise<string>;
63
- /**
64
- * Generates a random name in the format "adjective-noun"
65
- * @returns A randomly generated name string
66
- */
67
- declare function generateRandomName(): string;
68
-
69
- type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
70
- type BaseTemplate = "vanilla" | "react" | "r3f";
71
- declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
72
- declare function getBaseTemplate(template: Template): BaseTemplate;
73
- type PackageVersions = {
74
- vite?: string;
75
- vitest?: string;
76
- eslint?: string;
77
- oxlint?: string;
78
- oxfmt?: string;
79
- prettier?: string;
80
- biome?: string;
81
- };
82
- type ProjectType = "app" | "library";
83
- type LibraryBundler = "unbuild" | "tsdown";
49
+ type GenerateGithubPagesOptions = {} | boolean;
84
50
  type GenerateOptions = {
85
51
  githubUserName?: string;
86
52
  githubRepoName?: string;
@@ -90,6 +56,7 @@ type GenerateOptions = {
90
56
  template?: Template;
91
57
  linter?: Linter;
92
58
  formatter?: Formatter;
59
+ testing?: Testing;
93
60
  versions?: PackageVersions;
94
61
  fiber?: GenerateFiberOptions;
95
62
  handle?: GenerateHandleOptions;
@@ -119,17 +86,9 @@ type GenerateOptions = {
119
86
  pnpmVersion?: string;
120
87
  pnpmManageVersions?: boolean;
121
88
  nodeVersion?: string;
89
+ workspaceRoot?: string;
90
+ workspaceDependencies?: string[];
122
91
  };
123
- type File = {
124
- type: "text";
125
- content: string;
126
- } | {
127
- type: "remote";
128
- url: string;
129
- };
130
- type Linter = "eslint" | "oxlint" | "biome";
131
- type Formatter = "prettier" | "oxfmt" | "biome";
132
- type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
133
92
  type Generator = {
134
93
  get options(): GenerateOptions;
135
94
  get versions(): PackageVersions;
@@ -139,10 +98,56 @@ type Generator = {
139
98
  addScript(name: string, command: string): void;
140
99
  inject(location: CodeInjectionLocation, code: string): void;
141
100
  replace(search: string, replace: string): void;
142
- configureVite(object: any): void;
101
+ configureVite(object: unknown): void;
143
102
  addVscodeSetting(key: string, value: unknown): void;
144
103
  };
104
+ declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
105
+ declare function getBaseTemplate(template: Template): BaseTemplate;
106
+
107
+ /**
108
+ * Fetches the latest version of an npm package from the registry
109
+ * @param packageName The name of the npm package
110
+ * @param fallback Fallback version if fetch fails
111
+ * @returns The latest version string (e.g., "1.0.0")
112
+ */
113
+ declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
114
+ /**
115
+ * Fetches the latest version of pnpm from the npm registry
116
+ * @returns The latest pnpm version string (e.g., "10.24.0")
117
+ */
118
+ declare function getLatestPnpmVersion(): Promise<string>;
119
+ /**
120
+ * Fetches the latest LTS version of Node.js
121
+ * @returns The latest Node.js LTS version string (e.g., "22.13.0")
122
+ */
123
+ declare function getLatestNodeVersion(): Promise<string>;
124
+ /**
125
+ * Generates a random name in the format "adjective-noun"
126
+ * @returns A randomly generated name string
127
+ */
128
+ declare function generateRandomName(): string;
129
+
130
+ type MonorepoParams = {
131
+ name: string;
132
+ linter: Linter;
133
+ formatter: Formatter;
134
+ packageManager: string;
135
+ pnpmVersion?: string;
136
+ pnpmManageVersions?: boolean;
137
+ nodeVersion?: string;
138
+ };
139
+ type MonorepoResult = {
140
+ files: Record<string, File>;
141
+ };
142
+ /**
143
+ * Generates a monorepo workspace root structure with shared config packages.
144
+ */
145
+ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
146
+
147
+ /**
148
+ * Main generation function that creates all project files.
149
+ */
145
150
  declare function generate(options: GenerateOptions): Record<string, File>;
146
151
 
147
- export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
148
- export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
152
+ export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
153
+ export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateDreiOptions, GenerateFiberOptions, GenerateGithubPagesOptions, GenerateHandleOptions, GenerateKootaOptions, GenerateLevaOptions, GenerateOffscreenOptions, GenerateOptions, GeneratePostprocessingOptions, GenerateRapierOptions, GenerateTriplexOptions, GenerateUikitOptions, GenerateViverseOptions, GenerateXrOptions, GenerateZustandOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template, Testing };
package/dist/index.d.ts CHANGED
@@ -1,86 +1,52 @@
1
- type GenerateDreiOptions = {} | boolean;
2
-
1
+ type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
2
+ type BaseTemplate = "vanilla" | "react" | "r3f";
3
+ type ProjectType = "app" | "library" | "monorepo";
4
+ type LibraryBundler = "unbuild" | "tsdown";
5
+ type PackageVersions = {
6
+ vite?: string;
7
+ vitest?: string;
8
+ eslint?: string;
9
+ oxlint?: string;
10
+ oxfmt?: string;
11
+ prettier?: string;
12
+ biome?: string;
13
+ };
14
+ type File = {
15
+ type: "text";
16
+ content: string;
17
+ } | {
18
+ type: "remote";
19
+ url: string;
20
+ };
21
+ type Linter = "eslint" | "oxlint" | "biome";
22
+ type Formatter = "prettier" | "oxfmt" | "biome";
23
+ type Testing = "vitest" | "none";
24
+ type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
3
25
  type GenerateFiberOptions = {
4
- /**
5
- * @default true
6
- */
26
+ /** @default true */
7
27
  addExample?: boolean;
8
28
  } | boolean;
9
-
10
- type GenerateGithubPagesOptions = {} | boolean;
11
-
29
+ type GenerateDreiOptions = {} | boolean;
12
30
  type GenerateHandleOptions = {} | boolean;
13
-
14
31
  type GenerateKootaOptions = {
15
- /**
16
- * @default true
17
- */
32
+ /** @default true */
18
33
  addExample?: boolean;
19
34
  } | boolean;
20
-
21
35
  type GenerateLevaOptions = {} | boolean;
22
-
23
36
  type GenerateOffscreenOptions = {} | boolean;
24
-
25
37
  type GeneratePostprocessingOptions = {} | boolean;
26
-
27
38
  type GenerateRapierOptions = {} | boolean;
28
-
39
+ type GenerateTriplexOptions = {} | boolean;
29
40
  type GenerateUikitOptions = {} | boolean;
30
-
41
+ type GenerateViverseOptions = {} | boolean;
31
42
  type GenerateXrOptions = {
32
- storeOptions?: any;
43
+ storeOptions?: unknown;
33
44
  } | boolean;
34
-
35
45
  type GenerateZustandOptions = {
36
- /**
37
- * @default true
38
- */
46
+ /** @default true */
39
47
  addExample?: boolean;
40
48
  } | boolean;
41
-
42
- type GenerateTriplexOptions = {} | boolean;
43
-
44
- type GenerateViverseOptions = {} | boolean;
45
-
46
- /**
47
- * Fetches the latest version of an npm package from the registry
48
- * @param packageName The name of the npm package
49
- * @param fallback Fallback version if fetch fails
50
- * @returns The latest version string (e.g., "1.0.0")
51
- */
52
- declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
53
- /**
54
- * Fetches the latest version of pnpm from the npm registry
55
- * @returns The latest pnpm version string (e.g., "10.24.0")
56
- */
57
- declare function getLatestPnpmVersion(): Promise<string>;
58
- /**
59
- * Fetches the latest LTS version of Node.js
60
- * @returns The latest Node.js LTS version string (e.g., "22.13.0")
61
- */
62
- declare function getLatestNodeVersion(): Promise<string>;
63
- /**
64
- * Generates a random name in the format "adjective-noun"
65
- * @returns A randomly generated name string
66
- */
67
- declare function generateRandomName(): string;
68
-
69
- type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
70
- type BaseTemplate = "vanilla" | "react" | "r3f";
71
- declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
72
- declare function getBaseTemplate(template: Template): BaseTemplate;
73
- type PackageVersions = {
74
- vite?: string;
75
- vitest?: string;
76
- eslint?: string;
77
- oxlint?: string;
78
- oxfmt?: string;
79
- prettier?: string;
80
- biome?: string;
81
- };
82
- type ProjectType = "app" | "library";
83
- type LibraryBundler = "unbuild" | "tsdown";
49
+ type GenerateGithubPagesOptions = {} | boolean;
84
50
  type GenerateOptions = {
85
51
  githubUserName?: string;
86
52
  githubRepoName?: string;
@@ -90,6 +56,7 @@ type GenerateOptions = {
90
56
  template?: Template;
91
57
  linter?: Linter;
92
58
  formatter?: Formatter;
59
+ testing?: Testing;
93
60
  versions?: PackageVersions;
94
61
  fiber?: GenerateFiberOptions;
95
62
  handle?: GenerateHandleOptions;
@@ -119,17 +86,9 @@ type GenerateOptions = {
119
86
  pnpmVersion?: string;
120
87
  pnpmManageVersions?: boolean;
121
88
  nodeVersion?: string;
89
+ workspaceRoot?: string;
90
+ workspaceDependencies?: string[];
122
91
  };
123
- type File = {
124
- type: "text";
125
- content: string;
126
- } | {
127
- type: "remote";
128
- url: string;
129
- };
130
- type Linter = "eslint" | "oxlint" | "biome";
131
- type Formatter = "prettier" | "oxfmt" | "biome";
132
- type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
133
92
  type Generator = {
134
93
  get options(): GenerateOptions;
135
94
  get versions(): PackageVersions;
@@ -139,10 +98,56 @@ type Generator = {
139
98
  addScript(name: string, command: string): void;
140
99
  inject(location: CodeInjectionLocation, code: string): void;
141
100
  replace(search: string, replace: string): void;
142
- configureVite(object: any): void;
101
+ configureVite(object: unknown): void;
143
102
  addVscodeSetting(key: string, value: unknown): void;
144
103
  };
104
+ declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
105
+ declare function getBaseTemplate(template: Template): BaseTemplate;
106
+
107
+ /**
108
+ * Fetches the latest version of an npm package from the registry
109
+ * @param packageName The name of the npm package
110
+ * @param fallback Fallback version if fetch fails
111
+ * @returns The latest version string (e.g., "1.0.0")
112
+ */
113
+ declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
114
+ /**
115
+ * Fetches the latest version of pnpm from the npm registry
116
+ * @returns The latest pnpm version string (e.g., "10.24.0")
117
+ */
118
+ declare function getLatestPnpmVersion(): Promise<string>;
119
+ /**
120
+ * Fetches the latest LTS version of Node.js
121
+ * @returns The latest Node.js LTS version string (e.g., "22.13.0")
122
+ */
123
+ declare function getLatestNodeVersion(): Promise<string>;
124
+ /**
125
+ * Generates a random name in the format "adjective-noun"
126
+ * @returns A randomly generated name string
127
+ */
128
+ declare function generateRandomName(): string;
129
+
130
+ type MonorepoParams = {
131
+ name: string;
132
+ linter: Linter;
133
+ formatter: Formatter;
134
+ packageManager: string;
135
+ pnpmVersion?: string;
136
+ pnpmManageVersions?: boolean;
137
+ nodeVersion?: string;
138
+ };
139
+ type MonorepoResult = {
140
+ files: Record<string, File>;
141
+ };
142
+ /**
143
+ * Generates a monorepo workspace root structure with shared config packages.
144
+ */
145
+ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
146
+
147
+ /**
148
+ * Main generation function that creates all project files.
149
+ */
145
150
  declare function generate(options: GenerateOptions): Record<string, File>;
146
151
 
147
- export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
148
- export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
152
+ export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
153
+ export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateDreiOptions, GenerateFiberOptions, GenerateGithubPagesOptions, GenerateHandleOptions, GenerateKootaOptions, GenerateLevaOptions, GenerateOffscreenOptions, GenerateOptions, GeneratePostprocessingOptions, GenerateRapierOptions, GenerateTriplexOptions, GenerateUikitOptions, GenerateViverseOptions, GenerateXrOptions, GenerateZustandOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template, Testing };