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/README.md +89 -30
- package/dist/chunks/index.cjs +2360 -0
- package/dist/chunks/index.mjs +2346 -0
- package/dist/cli.cjs +816 -195
- package/dist/cli.mjs +818 -197
- package/dist/index.cjs +10 -1714
- package/dist/index.d.cts +84 -79
- package/dist/index.d.mts +84 -79
- package/dist/index.d.ts +84 -79
- package/dist/index.mjs +2 -1707
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,86 +1,52 @@
|
|
|
1
|
-
type
|
|
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?:
|
|
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:
|
|
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
|
|
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?:
|
|
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:
|
|
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
|
|
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?:
|
|
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:
|
|
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 };
|