create-krispya 0.2.0 → 0.3.0
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/cli.cjs +550 -0
- package/dist/cli.d.cts +1 -0
- package/dist/cli.d.mts +1 -0
- package/dist/cli.d.ts +1 -2
- package/dist/cli.mjs +531 -0
- package/dist/index.cjs +1688 -0
- package/dist/index.d.cts +148 -0
- package/dist/index.d.mts +148 -0
- package/dist/index.d.ts +88 -27
- package/dist/index.mjs +1676 -0
- package/package.json +6 -5
- package/dist/cli.js +0 -504
- package/dist/constants.d.ts +0 -33
- package/dist/constants.js +0 -110
- package/dist/index.js +0 -397
- package/dist/integrations/biome.d.ts +0 -8
- package/dist/integrations/biome.js +0 -80
- package/dist/integrations/drei.d.ts +0 -3
- package/dist/integrations/drei.js +0 -9
- package/dist/integrations/eslint.d.ts +0 -3
- package/dist/integrations/eslint.js +0 -78
- package/dist/integrations/fiber.d.ts +0 -8
- package/dist/integrations/fiber.js +0 -35
- package/dist/integrations/github-pages.d.ts +0 -3
- package/dist/integrations/github-pages.js +0 -58
- package/dist/integrations/handle.d.ts +0 -3
- package/dist/integrations/handle.js +0 -7
- package/dist/integrations/koota.d.ts +0 -8
- package/dist/integrations/koota.js +0 -7
- package/dist/integrations/leva.d.ts +0 -3
- package/dist/integrations/leva.js +0 -7
- package/dist/integrations/offscreen.d.ts +0 -3
- package/dist/integrations/offscreen.js +0 -12
- package/dist/integrations/oxfmt.d.ts +0 -3
- package/dist/integrations/oxfmt.js +0 -27
- package/dist/integrations/oxlint.d.ts +0 -3
- package/dist/integrations/oxlint.js +0 -52
- package/dist/integrations/postprocessing.d.ts +0 -3
- package/dist/integrations/postprocessing.js +0 -12
- package/dist/integrations/prettier.d.ts +0 -3
- package/dist/integrations/prettier.js +0 -28
- package/dist/integrations/rapier.d.ts +0 -3
- package/dist/integrations/rapier.js +0 -7
- package/dist/integrations/triplex.d.ts +0 -26
- package/dist/integrations/triplex.js +0 -159
- package/dist/integrations/uikit.d.ts +0 -3
- package/dist/integrations/uikit.js +0 -7
- package/dist/integrations/vitest.d.ts +0 -2
- package/dist/integrations/vitest.js +0 -20
- package/dist/integrations/viverse.d.ts +0 -3
- package/dist/integrations/viverse.js +0 -74
- package/dist/integrations/xr.d.ts +0 -5
- package/dist/integrations/xr.js +0 -51
- package/dist/integrations/zustand.d.ts +0 -8
- package/dist/integrations/zustand.js +0 -7
- package/dist/lib/array.d.ts +0 -1
- package/dist/lib/array.js +0 -9
- package/dist/merge.d.ts +0 -1
- package/dist/merge.js +0 -26
- package/dist/utils.d.ts +0 -22
- package/dist/utils.js +0 -123
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
type GenerateDreiOptions = {} | boolean;
|
|
2
|
+
|
|
3
|
+
type GenerateFiberOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* @default true
|
|
6
|
+
*/
|
|
7
|
+
addExample?: boolean;
|
|
8
|
+
} | boolean;
|
|
9
|
+
|
|
10
|
+
type GenerateGithubPagesOptions = {} | boolean;
|
|
11
|
+
|
|
12
|
+
type GenerateHandleOptions = {} | boolean;
|
|
13
|
+
|
|
14
|
+
type GenerateKootaOptions = {
|
|
15
|
+
/**
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
addExample?: boolean;
|
|
19
|
+
} | boolean;
|
|
20
|
+
|
|
21
|
+
type GenerateLevaOptions = {} | boolean;
|
|
22
|
+
|
|
23
|
+
type GenerateOffscreenOptions = {} | boolean;
|
|
24
|
+
|
|
25
|
+
type GeneratePostprocessingOptions = {} | boolean;
|
|
26
|
+
|
|
27
|
+
type GenerateRapierOptions = {} | boolean;
|
|
28
|
+
|
|
29
|
+
type GenerateUikitOptions = {} | boolean;
|
|
30
|
+
|
|
31
|
+
type GenerateXrOptions = {
|
|
32
|
+
storeOptions?: any;
|
|
33
|
+
} | boolean;
|
|
34
|
+
|
|
35
|
+
type GenerateZustandOptions = {
|
|
36
|
+
/**
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
addExample?: boolean;
|
|
40
|
+
} | 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";
|
|
84
|
+
type GenerateOptions = {
|
|
85
|
+
githubUserName?: string;
|
|
86
|
+
githubRepoName?: string;
|
|
87
|
+
name: string;
|
|
88
|
+
projectType?: ProjectType;
|
|
89
|
+
libraryBundler?: LibraryBundler;
|
|
90
|
+
template?: Template;
|
|
91
|
+
linter?: Linter;
|
|
92
|
+
formatter?: Formatter;
|
|
93
|
+
versions?: PackageVersions;
|
|
94
|
+
fiber?: GenerateFiberOptions;
|
|
95
|
+
handle?: GenerateHandleOptions;
|
|
96
|
+
drei?: GenerateDreiOptions;
|
|
97
|
+
koota?: GenerateKootaOptions;
|
|
98
|
+
leva?: GenerateLevaOptions;
|
|
99
|
+
offscreen?: GenerateOffscreenOptions;
|
|
100
|
+
postprocessing?: GeneratePostprocessingOptions;
|
|
101
|
+
rapier?: GenerateRapierOptions;
|
|
102
|
+
triplex?: GenerateTriplexOptions;
|
|
103
|
+
viverse?: GenerateViverseOptions;
|
|
104
|
+
uikit?: GenerateUikitOptions;
|
|
105
|
+
xr?: GenerateXrOptions;
|
|
106
|
+
zustand?: GenerateZustandOptions;
|
|
107
|
+
githubPages?: GenerateGithubPagesOptions;
|
|
108
|
+
dependencies?: Record<string, string>;
|
|
109
|
+
files?: Record<string, File>;
|
|
110
|
+
injections?: Array<{
|
|
111
|
+
location: CodeInjectionLocation;
|
|
112
|
+
code: string;
|
|
113
|
+
}>;
|
|
114
|
+
replacements?: Array<{
|
|
115
|
+
search: string;
|
|
116
|
+
replace: string;
|
|
117
|
+
}>;
|
|
118
|
+
packageManager?: string;
|
|
119
|
+
pnpmVersion?: string;
|
|
120
|
+
pnpmManageVersions?: boolean;
|
|
121
|
+
nodeVersion?: string;
|
|
122
|
+
};
|
|
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
|
+
type Generator = {
|
|
134
|
+
get options(): GenerateOptions;
|
|
135
|
+
get versions(): PackageVersions;
|
|
136
|
+
addDependency(name: string, semver: string): void;
|
|
137
|
+
addDevDependency(name: string, semver: string): void;
|
|
138
|
+
addFile(path: string, file: File): void;
|
|
139
|
+
addScript(name: string, command: string): void;
|
|
140
|
+
inject(location: CodeInjectionLocation, code: string): void;
|
|
141
|
+
replace(search: string, replace: string): void;
|
|
142
|
+
configureVite(object: any): void;
|
|
143
|
+
addVscodeSetting(key: string, value: unknown): void;
|
|
144
|
+
};
|
|
145
|
+
declare function generate(options: GenerateOptions): Record<string, File>;
|
|
146
|
+
|
|
147
|
+
export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
|
|
148
|
+
export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
type GenerateDreiOptions = {} | boolean;
|
|
2
|
+
|
|
3
|
+
type GenerateFiberOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* @default true
|
|
6
|
+
*/
|
|
7
|
+
addExample?: boolean;
|
|
8
|
+
} | boolean;
|
|
9
|
+
|
|
10
|
+
type GenerateGithubPagesOptions = {} | boolean;
|
|
11
|
+
|
|
12
|
+
type GenerateHandleOptions = {} | boolean;
|
|
13
|
+
|
|
14
|
+
type GenerateKootaOptions = {
|
|
15
|
+
/**
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
addExample?: boolean;
|
|
19
|
+
} | boolean;
|
|
20
|
+
|
|
21
|
+
type GenerateLevaOptions = {} | boolean;
|
|
22
|
+
|
|
23
|
+
type GenerateOffscreenOptions = {} | boolean;
|
|
24
|
+
|
|
25
|
+
type GeneratePostprocessingOptions = {} | boolean;
|
|
26
|
+
|
|
27
|
+
type GenerateRapierOptions = {} | boolean;
|
|
28
|
+
|
|
29
|
+
type GenerateUikitOptions = {} | boolean;
|
|
30
|
+
|
|
31
|
+
type GenerateXrOptions = {
|
|
32
|
+
storeOptions?: any;
|
|
33
|
+
} | boolean;
|
|
34
|
+
|
|
35
|
+
type GenerateZustandOptions = {
|
|
36
|
+
/**
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
addExample?: boolean;
|
|
40
|
+
} | 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";
|
|
84
|
+
type GenerateOptions = {
|
|
85
|
+
githubUserName?: string;
|
|
86
|
+
githubRepoName?: string;
|
|
87
|
+
name: string;
|
|
88
|
+
projectType?: ProjectType;
|
|
89
|
+
libraryBundler?: LibraryBundler;
|
|
90
|
+
template?: Template;
|
|
91
|
+
linter?: Linter;
|
|
92
|
+
formatter?: Formatter;
|
|
93
|
+
versions?: PackageVersions;
|
|
94
|
+
fiber?: GenerateFiberOptions;
|
|
95
|
+
handle?: GenerateHandleOptions;
|
|
96
|
+
drei?: GenerateDreiOptions;
|
|
97
|
+
koota?: GenerateKootaOptions;
|
|
98
|
+
leva?: GenerateLevaOptions;
|
|
99
|
+
offscreen?: GenerateOffscreenOptions;
|
|
100
|
+
postprocessing?: GeneratePostprocessingOptions;
|
|
101
|
+
rapier?: GenerateRapierOptions;
|
|
102
|
+
triplex?: GenerateTriplexOptions;
|
|
103
|
+
viverse?: GenerateViverseOptions;
|
|
104
|
+
uikit?: GenerateUikitOptions;
|
|
105
|
+
xr?: GenerateXrOptions;
|
|
106
|
+
zustand?: GenerateZustandOptions;
|
|
107
|
+
githubPages?: GenerateGithubPagesOptions;
|
|
108
|
+
dependencies?: Record<string, string>;
|
|
109
|
+
files?: Record<string, File>;
|
|
110
|
+
injections?: Array<{
|
|
111
|
+
location: CodeInjectionLocation;
|
|
112
|
+
code: string;
|
|
113
|
+
}>;
|
|
114
|
+
replacements?: Array<{
|
|
115
|
+
search: string;
|
|
116
|
+
replace: string;
|
|
117
|
+
}>;
|
|
118
|
+
packageManager?: string;
|
|
119
|
+
pnpmVersion?: string;
|
|
120
|
+
pnpmManageVersions?: boolean;
|
|
121
|
+
nodeVersion?: string;
|
|
122
|
+
};
|
|
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
|
+
type Generator = {
|
|
134
|
+
get options(): GenerateOptions;
|
|
135
|
+
get versions(): PackageVersions;
|
|
136
|
+
addDependency(name: string, semver: string): void;
|
|
137
|
+
addDevDependency(name: string, semver: string): void;
|
|
138
|
+
addFile(path: string, file: File): void;
|
|
139
|
+
addScript(name: string, command: string): void;
|
|
140
|
+
inject(location: CodeInjectionLocation, code: string): void;
|
|
141
|
+
replace(search: string, replace: string): void;
|
|
142
|
+
configureVite(object: any): void;
|
|
143
|
+
addVscodeSetting(key: string, value: unknown): void;
|
|
144
|
+
};
|
|
145
|
+
declare function generate(options: GenerateOptions): Record<string, File>;
|
|
146
|
+
|
|
147
|
+
export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
|
|
148
|
+
export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
type GenerateDreiOptions = {} | boolean;
|
|
2
|
+
|
|
3
|
+
type GenerateFiberOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* @default true
|
|
6
|
+
*/
|
|
7
|
+
addExample?: boolean;
|
|
8
|
+
} | boolean;
|
|
9
|
+
|
|
10
|
+
type GenerateGithubPagesOptions = {} | boolean;
|
|
11
|
+
|
|
12
|
+
type GenerateHandleOptions = {} | boolean;
|
|
13
|
+
|
|
14
|
+
type GenerateKootaOptions = {
|
|
15
|
+
/**
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
addExample?: boolean;
|
|
19
|
+
} | boolean;
|
|
20
|
+
|
|
21
|
+
type GenerateLevaOptions = {} | boolean;
|
|
22
|
+
|
|
23
|
+
type GenerateOffscreenOptions = {} | boolean;
|
|
24
|
+
|
|
25
|
+
type GeneratePostprocessingOptions = {} | boolean;
|
|
26
|
+
|
|
27
|
+
type GenerateRapierOptions = {} | boolean;
|
|
28
|
+
|
|
29
|
+
type GenerateUikitOptions = {} | boolean;
|
|
30
|
+
|
|
31
|
+
type GenerateXrOptions = {
|
|
32
|
+
storeOptions?: any;
|
|
33
|
+
} | boolean;
|
|
34
|
+
|
|
35
|
+
type GenerateZustandOptions = {
|
|
36
|
+
/**
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
addExample?: boolean;
|
|
40
|
+
} | 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 = {
|
|
21
74
|
vite?: string;
|
|
22
75
|
vitest?: string;
|
|
23
76
|
eslint?: string;
|
|
@@ -26,10 +79,14 @@ export type PackageVersions = {
|
|
|
26
79
|
prettier?: string;
|
|
27
80
|
biome?: string;
|
|
28
81
|
};
|
|
29
|
-
|
|
82
|
+
type ProjectType = "app" | "library";
|
|
83
|
+
type LibraryBundler = "unbuild" | "tsdown";
|
|
84
|
+
type GenerateOptions = {
|
|
30
85
|
githubUserName?: string;
|
|
31
86
|
githubRepoName?: string;
|
|
32
87
|
name: string;
|
|
88
|
+
projectType?: ProjectType;
|
|
89
|
+
libraryBundler?: LibraryBundler;
|
|
33
90
|
template?: Template;
|
|
34
91
|
linter?: Linter;
|
|
35
92
|
formatter?: Formatter;
|
|
@@ -63,20 +120,21 @@ export type GenerateOptions = {
|
|
|
63
120
|
pnpmManageVersions?: boolean;
|
|
64
121
|
nodeVersion?: string;
|
|
65
122
|
};
|
|
66
|
-
|
|
123
|
+
type File = {
|
|
67
124
|
type: "text";
|
|
68
125
|
content: string;
|
|
69
126
|
} | {
|
|
70
127
|
type: "remote";
|
|
71
128
|
url: string;
|
|
72
129
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
+
type Generator = {
|
|
77
134
|
get options(): GenerateOptions;
|
|
78
135
|
get versions(): PackageVersions;
|
|
79
136
|
addDependency(name: string, semver: string): void;
|
|
137
|
+
addDevDependency(name: string, semver: string): void;
|
|
80
138
|
addFile(path: string, file: File): void;
|
|
81
139
|
addScript(name: string, command: string): void;
|
|
82
140
|
inject(location: CodeInjectionLocation, code: string): void;
|
|
@@ -84,4 +142,7 @@ export type Generator = {
|
|
|
84
142
|
configureVite(object: any): void;
|
|
85
143
|
addVscodeSetting(key: string, value: unknown): void;
|
|
86
144
|
};
|
|
87
|
-
|
|
145
|
+
declare function generate(options: GenerateOptions): Record<string, File>;
|
|
146
|
+
|
|
147
|
+
export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
|
|
148
|
+
export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
|