phos 1.3.0 → 1.3.2
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 +9 -9
- package/dist/cli.js +175 -36
- package/dist/cli.js.map +1 -1
- package/dist/generators/backends/elysia.d.ts.map +1 -1
- package/dist/generators/backends/elysia.js +1 -2
- package/dist/generators/backends/elysia.js.map +1 -1
- package/dist/generators/backends/fastapi.d.ts.map +1 -1
- package/dist/generators/backends/fastapi.js +1 -15
- package/dist/generators/backends/fastapi.js.map +1 -1
- package/dist/generators/backends/nestjs.d.ts +3 -0
- package/dist/generators/backends/nestjs.d.ts.map +1 -0
- package/dist/generators/backends/nestjs.js +28 -0
- package/dist/generators/backends/nestjs.js.map +1 -0
- package/dist/generators/frontends/astro.d.ts.map +1 -1
- package/dist/generators/frontends/astro.js +1 -2
- package/dist/generators/frontends/astro.js.map +1 -1
- package/dist/generators/frontends/nextjs.d.ts.map +1 -1
- package/dist/generators/frontends/nextjs.js +1 -2
- package/dist/generators/frontends/nextjs.js.map +1 -1
- package/dist/generators/frontends/svelte.d.ts.map +1 -1
- package/dist/generators/frontends/svelte.js +1 -2
- package/dist/generators/frontends/svelte.js.map +1 -1
- package/dist/generators/frontends/vue.d.ts +3 -0
- package/dist/generators/frontends/vue.d.ts.map +1 -0
- package/dist/generators/frontends/vue.js +23 -0
- package/dist/generators/frontends/vue.js.map +1 -0
- package/dist/generators/monorepo.d.ts.map +1 -1
- package/dist/generators/monorepo.js +50 -29
- package/dist/generators/monorepo.js.map +1 -1
- package/dist/generators/single.d.ts.map +1 -1
- package/dist/generators/single.js +26 -10
- package/dist/generators/single.js.map +1 -1
- package/dist/utils/helpers.d.ts +3 -3
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +0 -2
- package/dist/utils/helpers.js.map +1 -1
- package/package.json +1 -1
- package/src/templates/frontend/astro/package.json +20 -13
- package/src/templates/frontend/nextjs/package.json +30 -2
- package/src/templates/frontend/svelte/package.json +44 -37
- package/src/templates/frontend/vue/package.json +24 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../../src/generators/frontends/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../../src/generators/frontends/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,MAAuB;IAEvB,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;IACrC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACxD,MAAM,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,MAA4C,CAAC,CAAC;IAE5F,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,MAAM,kBAAkB,CAAC,GAAG,WAAW,oBAAoB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC/B,MAAM,kBAAkB,CAAC,GAAG,WAAW,cAAc,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/generators/frontends/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/generators/frontends/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAW5B,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createDirectory,
|
|
1
|
+
import { createDirectory, copyTemplate, getTemplatePath, } from "../../utils/helpers.js";
|
|
2
2
|
import fs from "fs-extra";
|
|
3
3
|
async function removeFileIfExists(filePath) {
|
|
4
4
|
try {
|
|
@@ -20,6 +20,5 @@ export async function generateSvelteFrontend(projectPath, config) {
|
|
|
20
20
|
await removeFileIfExists(`${projectPath}/.prettierrc`);
|
|
21
21
|
await removeFileIfExists(`${projectPath}/.prettierignore`);
|
|
22
22
|
}
|
|
23
|
-
logSuccess(`Svelte frontend generated`);
|
|
24
23
|
}
|
|
25
24
|
//# sourceMappingURL=svelte.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/generators/frontends/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/generators/frontends/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,MAAuB;IAEvB,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;IACrC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACxD,MAAM,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,MAA4C,CAAC,CAAC;IAE5F,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,MAAM,kBAAkB,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC/B,MAAM,kBAAkB,CAAC,GAAG,WAAW,cAAc,CAAC,CAAC;QACvD,MAAM,kBAAkB,CAAC,GAAG,WAAW,kBAAkB,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../../src/generators/frontends/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAW5B,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createDirectory, copyTemplate, getTemplatePath, } from "../../utils/helpers.js";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
async function removeFileIfExists(filePath) {
|
|
4
|
+
try {
|
|
5
|
+
if (await fs.pathExists(filePath)) {
|
|
6
|
+
await fs.unlink(filePath);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
catch (error) { }
|
|
10
|
+
}
|
|
11
|
+
export async function generateVueFrontend(projectPath, config) {
|
|
12
|
+
const srcPath = `${projectPath}/src`;
|
|
13
|
+
await createDirectory(srcPath);
|
|
14
|
+
const templatePath = getTemplatePath("frontend/vue");
|
|
15
|
+
await copyTemplate(templatePath, projectPath, config);
|
|
16
|
+
if (!config.frontend?.eslint) {
|
|
17
|
+
await removeFileIfExists(`${projectPath}/eslint.config.ts`);
|
|
18
|
+
}
|
|
19
|
+
if (!config.frontend?.prettier) {
|
|
20
|
+
await removeFileIfExists(`${projectPath}/.prettierrc.json`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.js","sourceRoot":"","sources":["../../../src/generators/frontends/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB,EACnB,MAAuB;IAEvB,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;IACrC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,MAA4C,CAAC,CAAC;IAE5F,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,MAAM,kBAAkB,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC/B,MAAM,kBAAkB,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monorepo.d.ts","sourceRoot":"","sources":["../../src/generators/monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"monorepo.d.ts","sourceRoot":"","sources":["../../src/generators/monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAU5B,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqF7E"}
|
|
@@ -1,51 +1,72 @@
|
|
|
1
|
-
import { createDirectory, writeFile, getProjectPath,
|
|
1
|
+
import { createDirectory, writeFile, getProjectPath, logInfo, initializeGit, capitalize, getPackageManagerRunCmd, getPackageManagerInstallCmd, } from "../utils/helpers.js";
|
|
2
2
|
import { generateElysiaBackend } from "../generators/backends/elysia.js";
|
|
3
3
|
import { generateFastAPIBackend } from "../generators/backends/fastapi.js";
|
|
4
|
+
import { generateNestJSBackend } from "../generators/backends/nestjs.js";
|
|
4
5
|
import { generateAstroFrontend } from "../generators/frontends/astro.js";
|
|
5
6
|
import { generateSvelteFrontend } from "../generators/frontends/svelte.js";
|
|
6
7
|
import { generateNextJSFrontend } from "../generators/frontends/nextjs.js";
|
|
8
|
+
import { generateVueFrontend } from "../generators/frontends/vue.js";
|
|
9
|
+
import { spinner } from "@clack/prompts";
|
|
7
10
|
export async function generateMonorepo(config) {
|
|
8
11
|
const projectPath = getProjectPath(config.projectName);
|
|
9
|
-
|
|
12
|
+
const s = spinner();
|
|
13
|
+
s.start(`Creating monorepo structure at ${projectPath}...`);
|
|
10
14
|
await createDirectory(projectPath);
|
|
15
|
+
s.message(`Creating workspace directories...`);
|
|
11
16
|
const backendPath = `${projectPath}/${capitalize(config.projectName)}_Backend`;
|
|
12
17
|
const frontendPath = `${projectPath}/${capitalize(config.projectName)}_Frontend`;
|
|
13
18
|
const docsPath = `${projectPath}/Docs`;
|
|
14
19
|
await createDirectory(backendPath);
|
|
15
20
|
await createDirectory(frontendPath);
|
|
16
21
|
await createDirectory(docsPath);
|
|
22
|
+
s.message(`Generating configuration files...`);
|
|
17
23
|
await generateGitIgnore(projectPath);
|
|
18
24
|
await generateReadme(projectPath, config);
|
|
19
25
|
await generateAgentsMd(projectPath, config);
|
|
20
26
|
await generateLicense(projectPath, config);
|
|
21
27
|
await generateEnvExample(projectPath);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
if (config.backend) {
|
|
29
|
+
s.message(`Generating ${capitalize(config.backend.framework)} backend...`);
|
|
30
|
+
switch (config.backend.framework) {
|
|
31
|
+
case "elysia":
|
|
32
|
+
await generateElysiaBackend(backendPath, config);
|
|
33
|
+
break;
|
|
34
|
+
case "fastapi":
|
|
35
|
+
await generateFastAPIBackend(backendPath, config);
|
|
36
|
+
break;
|
|
37
|
+
case "nestjs":
|
|
38
|
+
await generateNestJSBackend(backendPath, config);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
s.stop(`✨ ${capitalize(config.backend.framework)} backend generated`);
|
|
42
|
+
s.start();
|
|
29
43
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
if (config.frontend) {
|
|
45
|
+
s.message(`Generating ${capitalize(config.frontend.framework)} frontend...`);
|
|
46
|
+
switch (config.frontend.framework) {
|
|
47
|
+
case "astro":
|
|
48
|
+
await generateAstroFrontend(frontendPath, config);
|
|
49
|
+
break;
|
|
50
|
+
case "svelte":
|
|
51
|
+
await generateSvelteFrontend(frontendPath, config);
|
|
52
|
+
break;
|
|
53
|
+
case "nextjs":
|
|
54
|
+
await generateNextJSFrontend(frontendPath, config);
|
|
55
|
+
break;
|
|
56
|
+
case "vue":
|
|
57
|
+
await generateVueFrontend(frontendPath, config);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
s.stop(`✨ ${capitalize(config.frontend.framework)} frontend generated`);
|
|
61
|
+
s.start();
|
|
40
62
|
}
|
|
63
|
+
s.message(`Creating documentation structure...`);
|
|
41
64
|
await createDirectory(`${docsPath}/Feature`);
|
|
42
65
|
await createDirectory(`${docsPath}/DatabaseSetup`);
|
|
43
66
|
await generateSchemaDocs(docsPath, config);
|
|
44
67
|
const backendName = `${capitalize(config.projectName)}_Backend`;
|
|
45
68
|
const frontendName = `${capitalize(config.projectName)}_Frontend`;
|
|
46
|
-
|
|
47
|
-
logSuccess(`Frontend created at ${frontendName}`);
|
|
48
|
-
logSuccess("Docs folder created");
|
|
69
|
+
s.stop(`✨ Monorepo created at ${config.projectName}`);
|
|
49
70
|
if (config.git) {
|
|
50
71
|
await initializeGit(projectPath);
|
|
51
72
|
}
|
|
@@ -108,7 +129,6 @@ yarn-error.log*
|
|
|
108
129
|
*~
|
|
109
130
|
`;
|
|
110
131
|
await writeFile(`${projectPath}/.gitignore`, content);
|
|
111
|
-
logSuccess(".gitignore created");
|
|
112
132
|
}
|
|
113
133
|
async function generateReadme(projectPath, config) {
|
|
114
134
|
const backendName = `${capitalize(config.projectName)}_Backend`;
|
|
@@ -174,7 +194,6 @@ ${config.frontend?.packageManager} run dev
|
|
|
174
194
|
- Testing: ${config.frontend?.testing}
|
|
175
195
|
`;
|
|
176
196
|
await writeFile(`${projectPath}/README.md`, content);
|
|
177
|
-
logSuccess("README.md created");
|
|
178
197
|
}
|
|
179
198
|
async function generateAgentsMd(projectPath, config) {
|
|
180
199
|
const projectName = config.projectName;
|
|
@@ -264,7 +283,13 @@ ${config.frontend?.framework === "astro"
|
|
|
264
283
|
- Follow Svelte best practices
|
|
265
284
|
- Use TypeScript if enabled
|
|
266
285
|
`
|
|
267
|
-
:
|
|
286
|
+
: config.frontend?.framework === "vue"
|
|
287
|
+
? `
|
|
288
|
+
- Use Vue 3 Composition API
|
|
289
|
+
- Follow Vue best practices
|
|
290
|
+
- Use TypeScript if enabled
|
|
291
|
+
`
|
|
292
|
+
: `
|
|
268
293
|
- Use Next.js conventions
|
|
269
294
|
- Use App Router for new features
|
|
270
295
|
- Use TypeScript if enabled
|
|
@@ -301,7 +326,6 @@ Check the \`Docs/\` folder for:
|
|
|
301
326
|
- SQL queries
|
|
302
327
|
`;
|
|
303
328
|
await writeFile(`${projectPath}/AGENTS.md`, content);
|
|
304
|
-
logSuccess("AGENTS.md created");
|
|
305
329
|
}
|
|
306
330
|
async function generateLicense(projectPath, config) {
|
|
307
331
|
const content = `MIT License
|
|
@@ -327,7 +351,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
327
351
|
SOFTWARE.
|
|
328
352
|
`;
|
|
329
353
|
await writeFile(`${projectPath}/LICENSE`, content);
|
|
330
|
-
logSuccess("LICENSE created");
|
|
331
354
|
}
|
|
332
355
|
async function generateEnvExample(projectPath) {
|
|
333
356
|
const content = `# Database
|
|
@@ -352,7 +375,6 @@ ENCRYPTION_SALT=your-super-secret-salt-change-in-production
|
|
|
352
375
|
X_API_KEY=1234
|
|
353
376
|
`;
|
|
354
377
|
await writeFile(`${projectPath}/env.example`, content);
|
|
355
|
-
logSuccess("env.example created");
|
|
356
378
|
}
|
|
357
379
|
async function generateSchemaDocs(docsPath, config) {
|
|
358
380
|
const projectName = config.projectName;
|
|
@@ -482,6 +504,5 @@ When deploying to production:
|
|
|
482
504
|
6. Test migrations on staging environment before production
|
|
483
505
|
`;
|
|
484
506
|
await writeFile(`${docsPath}/Schema.md`, content);
|
|
485
|
-
logSuccess("Schema.md created");
|
|
486
507
|
}
|
|
487
508
|
//# sourceMappingURL=monorepo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../src/generators/monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,SAAS,EACT,cAAc,EACd,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../src/generators/monorepo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/generators/single.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/generators/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAU5B,wBAAsB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAwF3E"}
|
|
@@ -1,21 +1,28 @@
|
|
|
1
|
-
import { createDirectory, writeFile, getProjectPath,
|
|
1
|
+
import { createDirectory, writeFile, getProjectPath, logInfo, initializeGit, capitalize, } from "../utils/helpers.js";
|
|
2
2
|
import { generateElysiaBackend } from "../generators/backends/elysia.js";
|
|
3
3
|
import { generateFastAPIBackend } from "../generators/backends/fastapi.js";
|
|
4
|
+
import { generateNestJSBackend } from "../generators/backends/nestjs.js";
|
|
4
5
|
import { generateAstroFrontend } from "../generators/frontends/astro.js";
|
|
5
6
|
import { generateSvelteFrontend } from "../generators/frontends/svelte.js";
|
|
6
7
|
import { generateNextJSFrontend } from "../generators/frontends/nextjs.js";
|
|
8
|
+
import { generateVueFrontend } from "../generators/frontends/vue.js";
|
|
9
|
+
import { spinner } from "@clack/prompts";
|
|
7
10
|
export async function generateSingle(config) {
|
|
8
11
|
const projectPath = getProjectPath(config.projectName);
|
|
9
|
-
|
|
12
|
+
const s = spinner();
|
|
13
|
+
s.start(`Creating single project structure at ${projectPath}...`);
|
|
10
14
|
await createDirectory(projectPath);
|
|
15
|
+
s.message(`Creating Docs folder...`);
|
|
11
16
|
const docsPath = `${projectPath}/Docs`;
|
|
12
17
|
await createDirectory(docsPath);
|
|
18
|
+
s.message(`Generating configuration files...`);
|
|
13
19
|
await generateGitIgnore(projectPath);
|
|
14
20
|
await generateReadme(projectPath, config);
|
|
15
21
|
await generateAgentsMd(projectPath, config);
|
|
16
22
|
await generateLicense(projectPath, config);
|
|
17
23
|
await generateEnvExample(projectPath);
|
|
18
24
|
if (config.backend?.framework) {
|
|
25
|
+
s.message(`Generating ${capitalize(config.backend.framework)} backend...`);
|
|
19
26
|
await createDirectory(`${projectPath}/src`);
|
|
20
27
|
switch (config.backend.framework) {
|
|
21
28
|
case "elysia":
|
|
@@ -24,9 +31,15 @@ export async function generateSingle(config) {
|
|
|
24
31
|
case "fastapi":
|
|
25
32
|
await generateFastAPIBackend(projectPath, config);
|
|
26
33
|
break;
|
|
34
|
+
case "nestjs":
|
|
35
|
+
await generateNestJSBackend(projectPath, config);
|
|
36
|
+
break;
|
|
27
37
|
}
|
|
38
|
+
s.stop(`✨ ${capitalize(config.backend.framework)} backend generated`);
|
|
39
|
+
s.start();
|
|
28
40
|
}
|
|
29
41
|
else if (config.frontend?.framework) {
|
|
42
|
+
s.message(`Generating ${capitalize(config.frontend.framework)} frontend...`);
|
|
30
43
|
await createDirectory(`${projectPath}/src`);
|
|
31
44
|
switch (config.frontend.framework) {
|
|
32
45
|
case "astro":
|
|
@@ -38,13 +51,18 @@ export async function generateSingle(config) {
|
|
|
38
51
|
case "nextjs":
|
|
39
52
|
await generateNextJSFrontend(projectPath, config);
|
|
40
53
|
break;
|
|
54
|
+
case "vue":
|
|
55
|
+
await generateVueFrontend(projectPath, config);
|
|
56
|
+
break;
|
|
41
57
|
}
|
|
58
|
+
s.stop(`✨ ${capitalize(config.frontend.framework)} frontend generated`);
|
|
59
|
+
s.start();
|
|
42
60
|
}
|
|
61
|
+
s.message(`Creating documentation structure...`);
|
|
43
62
|
await createDirectory(`${docsPath}/Feature`);
|
|
44
63
|
await createDirectory(`${docsPath}/DatabaseSetup`);
|
|
45
64
|
await generateSchemaDocs(docsPath, config);
|
|
46
|
-
|
|
47
|
-
logSuccess("Docs folder created");
|
|
65
|
+
s.stop(`✨ Project created at ${config.projectName}`);
|
|
48
66
|
if (config.git) {
|
|
49
67
|
await initializeGit(projectPath);
|
|
50
68
|
}
|
|
@@ -118,6 +136,10 @@ pnpm-debug.log*
|
|
|
118
136
|
# Svelte
|
|
119
137
|
.svelte-kit/
|
|
120
138
|
|
|
139
|
+
# Vue
|
|
140
|
+
dist/
|
|
141
|
+
.vite/
|
|
142
|
+
|
|
121
143
|
# Python
|
|
122
144
|
__pycache__/
|
|
123
145
|
*.py[cod]
|
|
@@ -138,7 +160,6 @@ build/
|
|
|
138
160
|
*~
|
|
139
161
|
`;
|
|
140
162
|
await writeFile(`${projectPath}/.gitignore`, content);
|
|
141
|
-
logSuccess(".gitignore created");
|
|
142
163
|
}
|
|
143
164
|
async function generateReadme(projectPath, config) {
|
|
144
165
|
let content = `# ${config.projectName}
|
|
@@ -186,7 +207,6 @@ ${config.frontend.packageManager} run dev
|
|
|
186
207
|
`;
|
|
187
208
|
}
|
|
188
209
|
await writeFile(`${projectPath}/README.md`, content);
|
|
189
|
-
logSuccess("README.md created");
|
|
190
210
|
}
|
|
191
211
|
async function generateAgentsMd(projectPath, config) {
|
|
192
212
|
const projectName = config.projectName;
|
|
@@ -243,7 +263,6 @@ ${projectName}/
|
|
|
243
263
|
- Ask for help in team channels when stuck
|
|
244
264
|
`;
|
|
245
265
|
await writeFile(`${projectPath}/AGENTS.md`, content);
|
|
246
|
-
logSuccess("AGENTS.md created");
|
|
247
266
|
}
|
|
248
267
|
async function generateLicense(projectPath, config) {
|
|
249
268
|
const year = new Date().getFullYear();
|
|
@@ -270,7 +289,6 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
|
270
289
|
DEALINGS IN THE SOFTWARE.
|
|
271
290
|
`;
|
|
272
291
|
await writeFile(`${projectPath}/LICENSE`, content);
|
|
273
|
-
logSuccess("LICENSE created");
|
|
274
292
|
}
|
|
275
293
|
async function generateEnvExample(projectPath) {
|
|
276
294
|
const content = `# Database
|
|
@@ -295,7 +313,6 @@ ENCRYPTION_SALT=your-super-secret-salt-change-in-production
|
|
|
295
313
|
X_API_KEY=1234
|
|
296
314
|
`;
|
|
297
315
|
await writeFile(`${projectPath}/env.example`, content);
|
|
298
|
-
logSuccess("env.example created");
|
|
299
316
|
}
|
|
300
317
|
async function generateSchemaDocs(docsPath, config) {
|
|
301
318
|
const projectName = config.projectName;
|
|
@@ -425,6 +442,5 @@ When deploying to production:
|
|
|
425
442
|
6. Test migrations on staging environment before production
|
|
426
443
|
`;
|
|
427
444
|
await writeFile(`${docsPath}/Schema.md`, content);
|
|
428
|
-
logSuccess("Schema.md created");
|
|
429
445
|
}
|
|
430
446
|
//# sourceMappingURL=single.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/generators/single.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,SAAS,EACT,cAAc,EACd,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/generators/single.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -3,20 +3,20 @@ export interface GeneratorConfig {
|
|
|
3
3
|
projectName: string;
|
|
4
4
|
projectType: "monorepo" | "single";
|
|
5
5
|
backend?: {
|
|
6
|
-
framework: "elysia" | "fastapi";
|
|
6
|
+
framework: "elysia" | "fastapi" | "nestjs";
|
|
7
7
|
packageManager: "npm" | "yarn" | "pnpm" | "bun" | "venv" | "pip";
|
|
8
8
|
typescript: boolean;
|
|
9
9
|
eslint: boolean;
|
|
10
10
|
prettier: boolean;
|
|
11
11
|
};
|
|
12
12
|
frontend?: {
|
|
13
|
-
framework: "astro" | "svelte" | "nextjs";
|
|
13
|
+
framework: "astro" | "svelte" | "nextjs" | "vue";
|
|
14
14
|
packageManager: "npm" | "yarn" | "pnpm" | "bun";
|
|
15
15
|
typescript: boolean;
|
|
16
16
|
eslint: boolean;
|
|
17
17
|
prettier: boolean;
|
|
18
18
|
cssFramework: "none" | "tailwind" | "scss" | "css-modules";
|
|
19
|
-
uiComponents: "none" | "shadcn" | "radix";
|
|
19
|
+
uiComponents: "none" | "ant-design" | "shadcn" | "radix" | "mui" | "heroui" | "vuetify" | "element-plus" | "quasar" | "primevue" | "naive-ui" | "daisyui" | "fulldev-ui" | "shadcn-svelte" | "smui" | "headless-ui" | "agnostic-ui";
|
|
20
20
|
testing: "none" | "vitest" | "playwright" | "both";
|
|
21
21
|
};
|
|
22
22
|
git: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAOpE;AAUD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,GAAG,QAAQ,CAAC;IACnC,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAOpE;AAUD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,GAAG,QAAQ,CAAC;IACnC,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC3C,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;QACjE,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;QACjD,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;QAChD,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;QAC3D,YAAY,EACR,MAAM,GACN,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,KAAK,GACL,QAAQ,GACR,SAAS,GACT,cAAc,GACd,QAAQ,GACR,UAAU,GACV,UAAU,GACV,SAAS,GACT,YAAY,GACZ,eAAe,GACf,MAAM,GACN,aAAa,GACb,aAAa,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC;KACpD,CAAC;IACF,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;AAED,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiDf;AAED,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAiB1E;AAED,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBtF;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWtE;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
package/dist/utils/helpers.js
CHANGED
|
@@ -133,14 +133,12 @@ export async function installDependencies(projectPath, packageManager) {
|
|
|
133
133
|
}
|
|
134
134
|
export async function initializeGit(projectPath) {
|
|
135
135
|
try {
|
|
136
|
-
logStep("Initializing Git repository...");
|
|
137
136
|
execSync("git init", { cwd: projectPath, stdio: "inherit" });
|
|
138
137
|
execSync("git add .", { cwd: projectPath, stdio: "inherit" });
|
|
139
138
|
execSync('git commit -m "Initial commit from Phos"', {
|
|
140
139
|
cwd: projectPath,
|
|
141
140
|
stdio: "inherit",
|
|
142
141
|
});
|
|
143
|
-
logSuccess("Git repository initialized");
|
|
144
142
|
}
|
|
145
143
|
catch (error) {
|
|
146
144
|
throw new Error(`Failed to initialize Git: ${error}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,eAAe,CAAC,oBAA4B;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,qCAAqC;IACrC,sCAAsC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAC;AAC9D,CAAC;AAED,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,eAAe,CAAC,oBAA4B;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,qCAAqC;IACrC,sCAAsC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAC;AAC9D,CAAC;AAED,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AA2CH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACnD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IAC/D,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,YAAoB,EACpB,UAAkB,EAClB,IAA6B;IAE7B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,MAAM,gBAAgB,GAAG;QACvB,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,OAAO;QACP,QAAQ;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,KAAK;QACL,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,KAAK;QACL,QAAQ;KACT,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAEzE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,cAAsB;IAChE,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,aAAa,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,KAAK;YACR,OAAO,aAAa,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,6DAA6D,CAAC;QACvE,KAAK,KAAK;YACR,OAAO,iCAAiC,CAAC;QAC3C;YACE,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,cAAsB,EAAE,MAAc;IAC5E,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,WAAW,MAAM,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,QAAQ,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM;YACT,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,KAAK,KAAK;YACR,OAAO,WAAW,MAAM,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,gDAAgD,CAAC;QAC1D,KAAK,KAAK;YACR,OAAO,oBAAoB,CAAC;QAC9B;YACE,OAAO,WAAW,MAAM,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB,EACnB,cAAsB;IAEtB,IAAI,CAAC;QACH,OAAO,CAAC,gCAAgC,cAAc,KAAK,CAAC,CAAC;QAC7D,QAAQ,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE;YACpD,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAmB;IACrD,IAAI,CAAC;QACH,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,QAAQ,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,QAAQ,CAAC,0CAA0C,EAAE;YACnD,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACpG,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,25 +4,32 @@
|
|
|
4
4
|
"version": "0.1.0",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "astro dev",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"lint": "eslint ."{{/if}}{{#if frontend.prettier}},
|
|
7
|
+
"start": "astro dev",
|
|
8
|
+
"build": "astro check && astro build",
|
|
9
|
+
"preview": "astro preview"{{#if frontend.eslint}},
|
|
10
|
+
"lint": "eslint . --fix"{{/if}}{{#if frontend.prettier}},
|
|
11
11
|
"format": "prettier --write ."{{/if}}
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"astro": "^5.
|
|
14
|
+
"astro": "^5.2.5"{{#if (eq frontend.uiComponents 'fulldev-ui')}},
|
|
15
|
+
"@fulldev/ui": "^0.6.1"{{/if}}
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
18
|
"@astrojs/check": "^0.9.4",
|
|
18
|
-
"@astrojs/ts-plugin": "^1.10.
|
|
19
|
-
"typescript": "^5.
|
|
19
|
+
"@astrojs/ts-plugin": "^1.10.4",
|
|
20
|
+
"typescript": "^5.7.2"{{#if frontend.eslint}},
|
|
20
21
|
"eslint": "^9",
|
|
21
|
-
"eslint-plugin-astro": "^1.
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
22
|
+
"eslint-plugin-astro": "^1"{{/if}}{{#if (eq frontend.cssFramework 'tailwind')}},
|
|
23
|
+
"@astrojs/tailwind": "^6",
|
|
24
|
+
"tailwindcss": "^4.1.18f}}{{#if (eq frontend.uiComponents 'daisyui')}},
|
|
25
|
+
"daisyui": "^5.5.18"{{/if}}{{#if (eq frontend.uiComponents 'shadcn')}},
|
|
26
|
+
"class-variance-authority": "^0.7.1",
|
|
27
|
+
"clsx": "^2.1.1",
|
|
28
|
+
"lucide-react": "^0.564.0",
|
|
29
|
+
"tailwind-merge": "^3.4.0",
|
|
30
|
+
"@astrojs/react": "^4.2.1",
|
|
31
|
+
"react": "^19.2.3",
|
|
32
|
+
"react-dom": "^19.2.3"{{/if}}{{#if frontend.prettier}},
|
|
33
|
+
"prettier": "^3"{{/if}}
|
|
27
34
|
}
|
|
28
35
|
}
|
|
@@ -12,7 +12,34 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"next": "16.1.6",
|
|
14
14
|
"react": "19.2.3",
|
|
15
|
-
"react-dom": "19.2.3"
|
|
15
|
+
"react-dom": "19.2.3"{{#if (eq frontend.uiComponents 'ant-design')}},
|
|
16
|
+
"antd": "^5.24.3"{{/if}}{{#if (eq frontend.uiComponents 'shadcn')}},
|
|
17
|
+
"@radix-ui/react-slot": "^1.2.2",
|
|
18
|
+
"class-variance-authority": "^0.7.1",
|
|
19
|
+
"clsx": "^2.1.1",
|
|
20
|
+
"lucide-react": "^0.564.0",
|
|
21
|
+
"tailwind-merge": "^2.6.0",
|
|
22
|
+
"tailwindcss-animate": "^1.0.7"{{/if}}{{#if (eq frontend.uiComponents 'radix')}},
|
|
23
|
+
"@radix-ui/react-accordion": "^1.2.4",
|
|
24
|
+
"@radix-ui/react-alert-dialog": "^1.1.5",
|
|
25
|
+
"@radix-ui/react-dialog": "^1.1.6",
|
|
26
|
+
"@radix-ui/react-dropdown-menu": "^2.1.5",
|
|
27
|
+
"@radix-ui/react-label": "^2.1.3",
|
|
28
|
+
"@radix-ui/react-popover": "^1.1.5",
|
|
29
|
+
"@radix-ui/react-scroll-area": "^1.2.2",
|
|
30
|
+
"@radix-ui/react-select": "^2.1.5",
|
|
31
|
+
"@radix-ui/react-separator": "^1.1.3",
|
|
32
|
+
"@radix-ui/react-slider": "^1.2.4",
|
|
33
|
+
"@radix-ui/react-switch": "^1.1.3",
|
|
34
|
+
"@radix-ui/react-tabs": "^1.1.3",
|
|
35
|
+
"@radix-ui/react-toast": "^1.2.5",
|
|
36
|
+
"@radix-ui/react-tooltip": "^1.1.9"{{/if}}{{#if (eq frontend.uiComponents 'mui')}},
|
|
37
|
+
"@mui/material": "^6.4.5",
|
|
38
|
+
"@mui/icons-material": "^6.4.5",
|
|
39
|
+
"@emotion/react": "^11.14.0",
|
|
40
|
+
"@emotion/styled": "^11.14.0"{{/if}}{{#if (eq frontend.uiComponents 'heroui')}},
|
|
41
|
+
"@heroui/react": "^2.7.5",
|
|
42
|
+
"framer-motion": "^12.4.7"{{/if}}
|
|
16
43
|
},
|
|
17
44
|
"devDependencies": {
|
|
18
45
|
"@tailwindcss/postcss": "^4",
|
|
@@ -23,6 +50,7 @@
|
|
|
23
50
|
"eslint-config-next": "16.1.6"{{/if}}{{#if (eq frontend.cssFramework 'tailwind')}},
|
|
24
51
|
"tailwindcss": "^4"{{/if}},
|
|
25
52
|
"typescript": "^5"{{#if frontend.prettier}},
|
|
26
|
-
"prettier": "^3"{{/if}}
|
|
53
|
+
"prettier": "^3"{{/if}}{{#if (eq frontend.uiComponents 'heroui')}},
|
|
54
|
+
"tailwindcss": "^3.4.17"{{/if}}
|
|
27
55
|
}
|
|
28
56
|
}
|