phos 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +3 -1
  2. package/dist/generators/backends/elysia.d.ts.map +1 -1
  3. package/dist/generators/backends/elysia.js +2 -3
  4. package/dist/generators/backends/elysia.js.map +1 -1
  5. package/dist/generators/backends/fastapi.d.ts.map +1 -1
  6. package/dist/generators/backends/fastapi.js +2 -3
  7. package/dist/generators/backends/fastapi.js.map +1 -1
  8. package/dist/generators/frontends/astro.d.ts.map +1 -1
  9. package/dist/generators/frontends/astro.js +2 -3
  10. package/dist/generators/frontends/astro.js.map +1 -1
  11. package/dist/generators/frontends/nextjs.d.ts.map +1 -1
  12. package/dist/generators/frontends/nextjs.js +2 -3
  13. package/dist/generators/frontends/nextjs.js.map +1 -1
  14. package/dist/generators/frontends/svelte.d.ts.map +1 -1
  15. package/dist/generators/frontends/svelte.js +2 -3
  16. package/dist/generators/frontends/svelte.js.map +1 -1
  17. package/dist/utils/helpers.d.ts +1 -0
  18. package/dist/utils/helpers.d.ts.map +1 -1
  19. package/dist/utils/helpers.js +10 -1
  20. package/dist/utils/helpers.js.map +1 -1
  21. package/package.json +5 -1
  22. package/src/templates/frontend/astro/.vscode/extensions.json +4 -0
  23. package/src/templates/frontend/astro/.vscode/launch.json +11 -0
  24. package/src/templates/frontend/svelte/.vscode/settings.json +5 -0
  25. package/.eslintignore +0 -3
  26. package/AGENTS.md +0 -172
  27. package/CHANGELOG.md +0 -202
  28. package/bun.lock +0 -125
  29. package/src/cli.ts +0 -500
  30. package/src/generators/backends/elysia.ts +0 -45
  31. package/src/generators/backends/fastapi.ts +0 -71
  32. package/src/generators/frontends/astro.ts +0 -37
  33. package/src/generators/frontends/nextjs.ts +0 -37
  34. package/src/generators/frontends/svelte.ts +0 -38
  35. package/src/generators/monorepo.ts +0 -529
  36. package/src/generators/single.ts +0 -465
  37. package/src/utils/helpers.ts +0 -198
  38. package/tsconfig.json +0 -24
package/README.md CHANGED
@@ -10,7 +10,7 @@ Full-stack interactive project generator CLI
10
10
  [![Node.js Version](https://img.shields.io/node/v/phos)](https://nodejs.org)
11
11
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
12
12
 
13
- **Version 1.0.1 - Production Release** 🎉
13
+ **Version 1.0.3 - Production Release** 🎉
14
14
 
15
15
  [View on npmjs.com](https://www.npmjs.com/package/phos)
16
16
 
@@ -278,6 +278,8 @@ Contributions are welcome! Please feel free to submit a Pull Request.
278
278
 
279
279
  Phos follows [semantic versioning](https://semver.org/).
280
280
 
281
+ - **1.0.3** - Patch release (template path fix)
282
+ - **1.0.2** - Patch release (template missing fix)
281
283
  - **1.0.1** - Patch release (bug fixes)
282
284
  - **1.0.0** - Production release with full feature support
283
285
  - **1.x.0** - Minor releases (new features, non-breaking changes)
@@ -1 +1 @@
1
- {"version":3,"file":"elysia.d.ts","sourceRoot":"","sources":["../../../src/generators/backends/elysia.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAY5B,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
1
+ {"version":3,"file":"elysia.d.ts","sourceRoot":"","sources":["../../../src/generators/backends/elysia.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EAGrB,MAAM,oBAAoB,CAAC;AAW5B,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -1,5 +1,4 @@
1
- import { createDirectory, logSuccess, copyTemplate, capitalize, } from "../../utils/helpers.js";
2
- import { resolve } from "path";
1
+ import { createDirectory, logSuccess, copyTemplate, capitalize, getTemplatePath, } from "../../utils/helpers.js";
3
2
  import fs from "fs-extra";
4
3
  async function removeFileIfExists(filePath) {
5
4
  try {
@@ -12,7 +11,7 @@ async function removeFileIfExists(filePath) {
12
11
  export async function generateElysiaBackend(projectPath, config) {
13
12
  const srcPath = `${projectPath}/src`;
14
13
  await createDirectory(srcPath);
15
- const templatePath = resolve(process.cwd(), "src/templates/backend/elysia");
14
+ const templatePath = getTemplatePath("backend/elysia");
16
15
  const backendName = `${capitalize(config.projectName)}_Backend`;
17
16
  const templateData = {
18
17
  ...config,
@@ -1 +1 @@
1
- {"version":3,"file":"elysia.js","sourceRoot":"","sources":["../../../src/generators/backends/elysia.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EAEZ,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,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,qBAAqB,CACzC,WAAmB,EACnB,MAAuB;IAEvB,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;IACrC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;IAEhE,MAAM,YAAY,GAAG;QACnB,GAAG,MAAM;QACT,WAAW;KACZ,CAAC;IAEF,MAAM,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,YAAkD,CAAC,CAAC;IAElG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC5B,MAAM,kBAAkB,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC9B,MAAM,kBAAkB,CAAC,GAAG,WAAW,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,UAAU,CAAC,0BAA0B,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"elysia.js","sourceRoot":"","sources":["../../../src/generators/backends/elysia.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EAEZ,UAAU,EACV,eAAe,GAChB,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,qBAAqB,CACzC,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,gBAAgB,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;IAEhE,MAAM,YAAY,GAAG;QACnB,GAAG,MAAM;QACT,WAAW;KACZ,CAAC;IAEF,MAAM,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,YAAkD,CAAC,CAAC;IAElG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC5B,MAAM,kBAAkB,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC9B,MAAM,kBAAkB,CAAC,GAAG,WAAW,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,UAAU,CAAC,0BAA0B,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fastapi.d.ts","sourceRoot":"","sources":["../../../src/generators/backends/fastapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,eAAe,EAGrB,MAAM,oBAAoB,CAAC;AAiB5B,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAyCf"}
1
+ {"version":3,"file":"fastapi.d.ts","sourceRoot":"","sources":["../../../src/generators/backends/fastapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,eAAe,EAIrB,MAAM,oBAAoB,CAAC;AAgB5B,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAyCf"}
@@ -1,5 +1,4 @@
1
- import { createDirectory, logSuccess, logInfo, copyTemplate, capitalize, getPackageManagerInstallCmd, getPackageManagerRunCmd, } from "../../utils/helpers.js";
2
- import { resolve } from "path";
1
+ import { createDirectory, logSuccess, logInfo, copyTemplate, capitalize, getPackageManagerInstallCmd, getPackageManagerRunCmd, getTemplatePath, } from "../../utils/helpers.js";
3
2
  import fs from "fs-extra";
4
3
  async function removeFileIfExists(filePath) {
5
4
  try {
@@ -16,7 +15,7 @@ async function copyAndRenameFile(srcPath, destPath) {
16
15
  export async function generateFastAPIBackend(projectPath, config) {
17
16
  const srcPath = `${projectPath}/src`;
18
17
  await createDirectory(srcPath);
19
- const templatePath = resolve(process.cwd(), "src/templates/backend/fastapi");
18
+ const templatePath = getTemplatePath("backend/fastapi");
20
19
  const backendName = `${capitalize(config.projectName)}_Backend`;
21
20
  const templateData = {
22
21
  ...config,
@@ -1 +1 @@
1
- {"version":3,"file":"fastapi.js","sourceRoot":"","sources":["../../../src/generators/backends/fastapi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EACP,YAAY,EACZ,UAAU,EAEV,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,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,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,QAAgB;IAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,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,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;IAEhE,MAAM,YAAY,GAAG;QACnB,GAAG,MAAM;QACT,WAAW;KACZ,CAAC;IAEF,MAAM,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,YAAkD,CAAC,CAAC;IAElG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC5B,MAAM,kBAAkB,CAAC,GAAG,WAAW,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC7B,MAAM,iBAAiB,CACrB,GAAG,YAAY,0BAA0B,EACzC,GAAG,WAAW,iBAAiB,CAChC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,CAAC,GAAG,WAAW,0BAA0B,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,KAAK,CAAC,CAAC;IAEvF,UAAU,CAAC,2BAA2B,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1B,OAAO,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,OAAO,EAAE,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC/B,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"fastapi.js","sourceRoot":"","sources":["../../../src/generators/backends/fastapi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EACP,YAAY,EACZ,UAAU,EAEV,2BAA2B,EAC3B,uBAAuB,EACvB,eAAe,GAChB,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,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,QAAgB;IAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,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,WAAW,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;IAEhE,MAAM,YAAY,GAAG;QACnB,GAAG,MAAM;QACT,WAAW;KACZ,CAAC;IAEF,MAAM,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,YAAkD,CAAC,CAAC;IAElG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC5B,MAAM,kBAAkB,CAAC,GAAG,WAAW,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC7B,MAAM,iBAAiB,CACrB,GAAG,YAAY,0BAA0B,EACzC,GAAG,WAAW,iBAAiB,CAChC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,CAAC,GAAG,WAAW,0BAA0B,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,KAAK,CAAC,CAAC;IAEvF,UAAU,CAAC,2BAA2B,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1B,OAAO,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,OAAO,EAAE,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC/B,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"astro.d.ts","sourceRoot":"","sources":["../../../src/generators/frontends/astro.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAY5B,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
1
+ {"version":3,"file":"astro.d.ts","sourceRoot":"","sources":["../../../src/generators/frontends/astro.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAW5B,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -1,5 +1,4 @@
1
- import { createDirectory, logSuccess, copyTemplate, } from "../../utils/helpers.js";
2
- import { resolve } from "path";
1
+ import { createDirectory, logSuccess, copyTemplate, getTemplatePath, } from "../../utils/helpers.js";
3
2
  import fs from "fs-extra";
4
3
  async function removeFileIfExists(filePath) {
5
4
  try {
@@ -12,7 +11,7 @@ async function removeFileIfExists(filePath) {
12
11
  export async function generateAstroFrontend(projectPath, config) {
13
12
  const srcPath = `${projectPath}/src`;
14
13
  await createDirectory(srcPath);
15
- const templatePath = resolve(process.cwd(), "src/templates/frontend/astro");
14
+ const templatePath = getTemplatePath("frontend/astro");
16
15
  await copyTemplate(templatePath, projectPath, config);
17
16
  if (!config.frontend?.eslint) {
18
17
  await removeFileIfExists(`${projectPath}/eslint.config.js`);
@@ -1 +1 @@
1
- {"version":3,"file":"astro.js","sourceRoot":"","sources":["../../../src/generators/frontends/astro.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,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,qBAAqB,CACzC,WAAmB,EACnB,MAAuB;IAEvB,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;IACrC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAC5E,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;IACzD,CAAC;IAED,UAAU,CAAC,0BAA0B,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"astro.js","sourceRoot":"","sources":["../../../src/generators/frontends/astro.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,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,qBAAqB,CACzC,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,gBAAgB,CAAC,CAAC;IACvD,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;IACzD,CAAC;IAED,UAAU,CAAC,0BAA0B,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../../../src/generators/frontends/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAY5B,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
1
+ {"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../../../src/generators/frontends/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAW5B,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -1,5 +1,4 @@
1
- import { createDirectory, logSuccess, copyTemplate, } from "../../utils/helpers.js";
2
- import { resolve } from "path";
1
+ import { createDirectory, logSuccess, copyTemplate, getTemplatePath, } from "../../utils/helpers.js";
3
2
  import fs from "fs-extra";
4
3
  async function removeFileIfExists(filePath) {
5
4
  try {
@@ -12,7 +11,7 @@ async function removeFileIfExists(filePath) {
12
11
  export async function generateNextJSFrontend(projectPath, config) {
13
12
  const srcPath = `${projectPath}/src`;
14
13
  await createDirectory(srcPath);
15
- const templatePath = resolve(process.cwd(), "src/templates/frontend/nextjs");
14
+ const templatePath = getTemplatePath("frontend/nextjs");
16
15
  await copyTemplate(templatePath, projectPath, config);
17
16
  if (!config.frontend?.eslint) {
18
17
  await removeFileIfExists(`${projectPath}/eslint.config.mjs`);
@@ -1 +1 @@
1
- {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../../src/generators/frontends/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,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,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAC7E,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;IAED,UAAU,CAAC,4BAA4B,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../../src/generators/frontends/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,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;IAED,UAAU,CAAC,4BAA4B,CAAC,CAAC;AAC3C,CAAC"}
@@ -1 +1 @@
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;AAY5B,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/generators/frontends/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAW5B,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -1,5 +1,4 @@
1
- import { createDirectory, logSuccess, copyTemplate, } from "../../utils/helpers.js";
2
- import { resolve } from "path";
1
+ import { createDirectory, logSuccess, copyTemplate, getTemplatePath, } from "../../utils/helpers.js";
3
2
  import fs from "fs-extra";
4
3
  async function removeFileIfExists(filePath) {
5
4
  try {
@@ -12,7 +11,7 @@ async function removeFileIfExists(filePath) {
12
11
  export async function generateSvelteFrontend(projectPath, config) {
13
12
  const srcPath = `${projectPath}/src`;
14
13
  await createDirectory(srcPath);
15
- const templatePath = resolve(process.cwd(), "src/templates/frontend/svelte");
14
+ const templatePath = getTemplatePath("frontend/svelte");
16
15
  await copyTemplate(templatePath, projectPath, config);
17
16
  if (!config.frontend?.eslint) {
18
17
  await removeFileIfExists(`${projectPath}/eslint.config.js`);
@@ -1 +1 @@
1
- {"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/generators/frontends/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,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,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAC7E,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;IAED,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/generators/frontends/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,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;IAED,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,3 +1,4 @@
1
+ export declare function getTemplatePath(relativeTemplatePath: string): string;
1
2
  export interface GeneratorConfig {
2
3
  projectName: string;
3
4
  projectType: "monorepo" | "single";
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAcA,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;QAChC,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,CAAC;QACzC,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,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;QAC1C,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,CAatE;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"}
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;QAChC,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,CAAC;QACzC,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,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;QAC1C,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,CAatE;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"}
@@ -2,7 +2,16 @@ import fs from "fs-extra";
2
2
  import Handlebars from "handlebars";
3
3
  import pc from "picocolors";
4
4
  import { execSync } from "child_process";
5
- import { resolve, join } from "path";
5
+ import { resolve, join, dirname } from "path";
6
+ import { fileURLToPath } from "url";
7
+ export function getTemplatePath(relativeTemplatePath) {
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = dirname(__filename);
10
+ // Phos/src/utils/helpers.ts -> Phos/
11
+ // Phos/dist/utils/helpers.js -> Phos/
12
+ const root = resolve(__dirname, "../../");
13
+ return resolve(root, "src/templates", relativeTemplatePath);
14
+ }
6
15
  Handlebars.registerHelper("eq", function (a, b) {
7
16
  return a === b;
8
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phos",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Full-stack interactive project generator CLI - Phos",
5
5
  "type": "module",
6
6
  "bin": {
@@ -40,6 +40,10 @@
40
40
  "url": "git+https://github.com/DotJumpDot/Phos.git"
41
41
  },
42
42
  "types": "./dist/cli.d.ts",
43
+ "files": [
44
+ "dist",
45
+ "src/templates"
46
+ ],
43
47
  "bugs": {
44
48
  "url": "https://github.com/DotJumpDot/Phos/issues"
45
49
  },
@@ -0,0 +1,4 @@
1
+ {
2
+ "recommendations": ["astro-build.astro-vscode"],
3
+ "unwantedRecommendations": []
4
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "command": "./node_modules/.bin/astro dev",
6
+ "name": "Development server",
7
+ "request": "launch",
8
+ "type": "node-terminal"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "files.associations": {
3
+ "*.css": "tailwindcss"
4
+ }
5
+ }
package/.eslintignore DELETED
@@ -1,3 +0,0 @@
1
- src/templates
2
- dist
3
- node_modules
package/AGENTS.md DELETED
@@ -1,172 +0,0 @@
1
- # AGENTS Guidelines for This Repository
2
-
3
- ## Project Name: Phos CLI
4
-
5
- Full-stack interactive project generator CLI that scaffolds modern web applications with configurable backends and frontends.
6
-
7
- **Version:** 1.0.0 (Production Release)
8
-
9
- ### Core Features:
10
-
11
- 1. **Interactive CLI** - Beautiful prompts using @clack/prompts
12
- 2. **Multiple Backends** - Elysia (Bun), FastAPI (Python)
13
- 3. **Multiple Frontends** - Astro, Svelte, Next.js
14
- 4. **Monorepo Support** - Workspace configuration for scalable projects
15
- 5. **Configurable Tooling** - TypeScript, ESLint, Prettier options
16
- 6. **CSS Frameworks** - Tailwind, SCSS, CSS Modules
17
- 7. **UI Components** - shadcn/ui, Radix UI
18
- 8. **Testing Support** - Vitest, Playwright
19
-
20
- ### Technology Stack:
21
-
22
- - **CLI**: Node.js + TypeScript
23
- - **CLI Framework**: Commander.js
24
- - **Interactive Prompts**: @clack/prompts
25
- - **File Operations**: fs-extra
26
- - **Template Engine**: Handlebars
27
- - **Terminal Colors**: picocolors
28
- - **Backend**: Elysia (Bun), FastAPI (Python)
29
- - **Frontend**: Astro, SvelteKit, Next.js
30
- - **Package Managers**: npm, yarn, pnpm, bun
31
-
32
- ## 1. Development Workflow
33
-
34
- ### CLI Tool (Phos)
35
-
36
- - Use Commander.js for CLI argument parsing
37
- - Use @clack/prompts for beautiful interactive UI
38
- - Use fs-extra for file system operations
39
- - Use Handlebars for template rendering
40
- - Use picocolors for terminal colors
41
-
42
- ## 2. Architecture
43
-
44
- ### Core Components
45
-
46
- ```
47
- src/
48
- ├── cli.ts # Main CLI entry point
49
- ├── generators/
50
- │ ├── monorepo.ts # Monorepo scaffold generator
51
- │ ├── single.ts # Single project generator
52
- │ ├── backends/
53
- │ │ ├── elysia.ts # Elysia (Bun) backend generator
54
- │ │ └── fastapi.ts # FastAPI (Python) backend generator
55
- │ └── frontends/
56
- │ ├── astro.ts # Astro frontend generator
57
- │ ├── svelte.ts # Svelte frontend generator
58
- │ └── nextjs.ts # Next.js frontend generator
59
- ├── templates/ # Project templates
60
- └── utils/
61
- └── helpers.ts # Helper functions
62
- ```
63
-
64
- ### File Naming Conventions
65
-
66
- | Layer | Pattern | Example |
67
- | ------------ | ---------------- | ----------------------- |
68
- | CLI Commands | `*.ts` | `cli.ts`, `monorepo.ts` |
69
- | Generators | `{framework}.ts` | `elysia.ts`, `astro.ts` |
70
- | Utils | `*.ts` | `helpers.ts` |
71
-
72
- **Rules:**
73
-
74
- - Use **PascalCase** for generator files
75
- - Use **camelCase** for utility functions
76
- - Export generators as named exports
77
-
78
- ## 3. Keep Dependencies in Sync
79
-
80
- When adding/updating packages:
81
-
82
- ```bash
83
- bun install <package>
84
- # OR
85
- npm install <package>
86
- ```
87
-
88
- ## 4. Coding Conventions
89
-
90
- ### TypeScript
91
-
92
- - Use modern TypeScript with strict mode enabled
93
- - Import using `@/` alias for internal modules
94
- - Use ES modules with `.js` extensions
95
-
96
- ### Project Templates
97
-
98
- - Use Handlebars for dynamic content
99
- - Include TypeScript/ESLint/Prettier options as needed
100
- - Generate complete project structures
101
-
102
- ## 5. Key Technologies
103
-
104
- ### CLI Framework
105
-
106
- - **Commander.js** - Command-line interface framework
107
- - **@clack/prompts** - Interactive prompts
108
- - **fs-extra** - Enhanced file system operations
109
- - **Handlebars** - Template engine
110
- - **picocolors** - Terminal colors
111
-
112
- ### Supported Backends
113
-
114
- - **Elysia** - Fast and elegant Bun web framework
115
- - **FastAPI** - Modern Python web framework
116
-
117
- ### Supported Frontends
118
-
119
- - **Astro** - Modern static site generator
120
- - **SvelteKit** - Full-stack Svelte framework
121
- - **Next.js** - React framework with server components
122
-
123
- ## 6. Configuration Options
124
-
125
- ### Backend Options
126
-
127
- - **TypeScript** - Enable/disable TypeScript
128
- - **ESLint** - Add ESLint configuration
129
- - **Prettier** - Add Prettier configuration
130
-
131
- ### Frontend Options
132
-
133
- - **TypeScript** - Enable/disable TypeScript
134
- - **ESLint** - Add ESLint configuration
135
- - **Prettier** - Add Prettier configuration
136
- - **CSS Framework** - Tailwind, SCSS, CSS Modules
137
- - **UI Components** - shadcn/ui, Radix UI
138
- - **Testing** - Vitest, Playwright, or both
139
-
140
- ## 7. Available Commands
141
-
142
- | Command | Purpose |
143
- | ------------------------- | ------------------------------ |
144
- | `bun run dev create` | Run CLI in development mode |
145
- | `bun run build` | Build TypeScript to JavaScript |
146
- | `bun run start` | Run built CLI |
147
- | `node dist/cli.js create` | Run CLI directly |
148
- | `bun link` | Link CLI globally |
149
- | `phos create` | Run CLI (after linking) |
150
-
151
- ## 8. Versioning
152
-
153
- Phos CLI follows semantic versioning:
154
-
155
- - **x.y.z (Patch/Bugfix)**: `0.0.x`, `1.0.x`, `2.0.x`
156
- - Bug fixes
157
- - Documentation updates
158
- - Small improvements
159
-
160
- - **x.y.0 (Minor/Feature)**: `0.x.0`, `1.x.0`, `2.x.0`
161
- - New features
162
- - Breaking changes (when < 1.0.0)
163
- - Significant updates
164
-
165
- - **x.0.0 (Major/Milestone)**: `1.0.0`, `2.0.0`, `3.0.0`
166
- - Major architectural changes
167
- - Complete rewrites
168
- - Production-ready releases
169
-
170
- **Current Version: 1.0.0** - Production Release
171
-
172
- See [CHANGELOG.md](CHANGELOG.md) for detailed version history.