@idealyst/cli 1.0.36 → 1.0.38

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 (63) hide show
  1. package/dist/generators/api.js +3 -4
  2. package/dist/generators/api.js.map +1 -1
  3. package/dist/generators/database.js +32 -0
  4. package/dist/generators/database.js.map +1 -0
  5. package/dist/generators/index.js +5 -0
  6. package/dist/generators/index.js.map +1 -1
  7. package/dist/generators/utils.js +2 -1
  8. package/dist/generators/utils.js.map +1 -1
  9. package/dist/index.js +9 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/templates/api/.env.example +6 -0
  12. package/dist/templates/api/README.md +25 -35
  13. package/dist/templates/api/package.json +0 -8
  14. package/dist/templates/api/src/context.ts +4 -8
  15. package/dist/templates/database/.env.example +8 -0
  16. package/dist/templates/database/README.md +93 -0
  17. package/dist/templates/database/__tests__/database.test.ts +14 -0
  18. package/dist/templates/database/jest.config.js +19 -0
  19. package/dist/templates/database/jest.setup.js +11 -0
  20. package/dist/templates/database/package.json +61 -0
  21. package/dist/templates/{api → database}/prisma/schema.prisma +1 -1
  22. package/dist/templates/database/prisma/seed.ts +28 -0
  23. package/dist/templates/database/src/client.ts +18 -0
  24. package/dist/templates/database/src/index.ts +11 -0
  25. package/dist/templates/database/src/schemas.ts +26 -0
  26. package/dist/templates/database/tsconfig.json +32 -0
  27. package/dist/templates/workspace/.devcontainer/Dockerfile +23 -0
  28. package/dist/templates/workspace/.devcontainer/README.md +0 -0
  29. package/dist/templates/workspace/.devcontainer/devcontainer.json +71 -99
  30. package/dist/templates/workspace/.devcontainer/docker-compose.yml +19 -46
  31. package/dist/templates/workspace/.devcontainer/fix-permissions.sh +0 -0
  32. package/dist/templates/workspace/.devcontainer/post-create.sh +0 -89
  33. package/dist/templates/workspace/.devcontainer/setup.sh +64 -0
  34. package/dist/templates/workspace/Dockerfile +24 -6
  35. package/dist/types/generators/database.d.ts +2 -0
  36. package/dist/types/generators/index.d.ts +1 -0
  37. package/dist/types/types.d.ts +1 -1
  38. package/package.json +8 -3
  39. package/templates/api/.env.example +6 -0
  40. package/templates/api/README.md +25 -35
  41. package/templates/api/package.json +0 -8
  42. package/templates/api/src/context.ts +4 -8
  43. package/templates/database/.env.example +8 -0
  44. package/templates/database/README.md +93 -0
  45. package/templates/database/__tests__/database.test.ts +14 -0
  46. package/templates/database/jest.config.js +19 -0
  47. package/templates/database/jest.setup.js +11 -0
  48. package/templates/database/package.json +61 -0
  49. package/templates/{api → database}/prisma/schema.prisma +1 -1
  50. package/templates/database/prisma/seed.ts +28 -0
  51. package/templates/database/src/client.ts +18 -0
  52. package/templates/database/src/index.ts +11 -0
  53. package/templates/database/src/schemas.ts +26 -0
  54. package/templates/database/tsconfig.json +32 -0
  55. package/templates/workspace/.devcontainer/Dockerfile +4 -6
  56. package/templates/workspace/.devcontainer/README.md +0 -0
  57. package/templates/workspace/.devcontainer/docker-compose.yml +13 -27
  58. package/templates/workspace/.devcontainer/fix-permissions.sh +0 -0
  59. package/templates/workspace/.devcontainer/post-create.sh +0 -0
  60. package/dist/templates/api/env.example +0 -12
  61. package/dist/templates/workspace/.env.production +0 -56
  62. package/dist/templates/workspace/scripts/docker-build.sh +0 -151
  63. package/templates/api/env.example +0 -12
@@ -15,19 +15,18 @@ async function generateApiProject(options) {
15
15
  console.log(chalk_1.default.blue(`🚀 Creating API project: ${name}`));
16
16
  const { projectPath, workspacePath, workspaceScope } = await (0, utils_1.resolveProjectPath)(name, directory);
17
17
  const templatePath = path_1.default.join(__dirname, '..', 'templates', 'api');
18
- const templateData = (0, utils_1.getTemplateData)(name, `Clean API server template with tRPC, Prisma, and Zod`, undefined, workspaceScope || undefined);
18
+ const templateData = (0, utils_1.getTemplateData)(name, `API server template with tRPC and Express`, undefined, workspaceScope || undefined);
19
19
  await (0, utils_1.copyTemplate)(templatePath, projectPath, templateData);
20
20
  await (0, utils_1.installDependencies)(projectPath, skipInstall);
21
21
  await (0, utils_1.updateWorkspacePackageJson)(workspacePath, directory);
22
22
  console.log(chalk_1.default.green('✅ API project created successfully!'));
23
23
  console.log(chalk_1.default.blue('📋 Project includes:'));
24
24
  console.log(chalk_1.default.white(' • tRPC for type-safe APIs'));
25
- console.log(chalk_1.default.white(' • Prisma for database management'));
26
25
  console.log(chalk_1.default.white(' • Zod for schema validation'));
27
26
  console.log(chalk_1.default.white(' • Express.js server'));
28
27
  console.log(chalk_1.default.white(' • TypeScript configuration'));
29
28
  console.log(chalk_1.default.white(' • CORS and middleware setup'));
30
- console.log(chalk_1.default.white(' • Database migration scripts'));
31
- console.log(chalk_1.default.white(' • Clean template ready for your models'));
29
+ console.log(chalk_1.default.white(' • Clean template ready for your endpoints'));
30
+ console.log(chalk_1.default.white(' • Example controllers and routing'));
32
31
  }
33
32
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/generators/api.ts"],"names":[],"mappings":";;;;;AAKA,gDA4BC;AAjCD,gDAAwB;AACxB,kDAA0B;AAE1B,mCAAkJ;AAE3I,KAAK,UAAU,kBAAkB,CAAC,OAA+B;IACtE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEjD,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5D,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,sDAAsD,EAAE,SAAS,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC;IAE3I,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,IAAA,kCAA0B,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/generators/api.ts"],"names":[],"mappings":";;;;;AAKA,gDA2BC;AAhCD,gDAAwB;AACxB,kDAA0B;AAE1B,mCAAkJ;AAE3I,KAAK,UAAU,kBAAkB,CAAC,OAA+B;IACtE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEjD,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5D,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC;IAEhI,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,IAAA,kCAA0B,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateDatabaseProject = generateDatabaseProject;
7
+ const path_1 = __importDefault(require("path"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const utils_1 = require("./utils");
10
+ async function generateDatabaseProject(options) {
11
+ const { name, directory, skipInstall } = options;
12
+ if (!(0, utils_1.validateProjectName)(name)) {
13
+ throw new Error(`Invalid project name: ${name}`);
14
+ }
15
+ console.log(chalk_1.default.blue(`🗄️ Creating Database project: ${name}`));
16
+ const { projectPath, workspacePath, workspaceScope } = await (0, utils_1.resolveProjectPath)(name, directory);
17
+ const templatePath = path_1.default.join(__dirname, '..', 'templates', 'database');
18
+ const templateData = (0, utils_1.getTemplateData)(name, `Database models and client library with Prisma`, undefined, workspaceScope || undefined);
19
+ await (0, utils_1.copyTemplate)(templatePath, projectPath, templateData);
20
+ await (0, utils_1.installDependencies)(projectPath, skipInstall);
21
+ await (0, utils_1.updateWorkspacePackageJson)(workspacePath, directory);
22
+ console.log(chalk_1.default.green('✅ Database project created successfully!'));
23
+ console.log(chalk_1.default.blue('📋 Project includes:'));
24
+ console.log(chalk_1.default.white(' • Prisma for database management'));
25
+ console.log(chalk_1.default.white(' • TypeScript configuration'));
26
+ console.log(chalk_1.default.white(' • Database migration scripts'));
27
+ console.log(chalk_1.default.white(' • Exportable client and models'));
28
+ console.log(chalk_1.default.white(' • Zod schemas for validation'));
29
+ console.log(chalk_1.default.white(' • Clean template ready for your models'));
30
+ console.log(chalk_1.default.white(' • Shared database types for client consumption'));
31
+ }
32
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/generators/database.ts"],"names":[],"mappings":";;;;;AAKA,0DA2BC;AAhCD,gDAAwB;AACxB,kDAA0B;AAE1B,mCAAkJ;AAE3I,KAAK,UAAU,uBAAuB,CAAC,OAA+B;IAC3E,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEjD,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAEzE,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC;IAErI,MAAM,IAAA,oBAAY,EAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,IAAA,kCAA0B,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;AAC/E,CAAC"}
@@ -20,6 +20,7 @@ const web_1 = require("./web");
20
20
  const shared_1 = require("./shared");
21
21
  const workspace_1 = require("./workspace");
22
22
  const api_1 = require("./api");
23
+ const database_1 = require("./database");
23
24
  async function generateProject(options) {
24
25
  const { type } = options;
25
26
  switch (type) {
@@ -38,6 +39,9 @@ async function generateProject(options) {
38
39
  case 'api':
39
40
  await (0, api_1.generateApiProject)(options);
40
41
  break;
42
+ case 'database':
43
+ await (0, database_1.generateDatabaseProject)(options);
44
+ break;
41
45
  default:
42
46
  throw new Error(`Unknown project type: ${type}`);
43
47
  }
@@ -47,4 +51,5 @@ __exportStar(require("./web"), exports);
47
51
  __exportStar(require("./shared"), exports);
48
52
  __exportStar(require("./workspace"), exports);
49
53
  __exportStar(require("./api"), exports);
54
+ __exportStar(require("./database"), exports);
50
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOA,0CAsBC;AA5BD,qCAAiD;AACjD,+BAA2C;AAC3C,qCAAiD;AACjD,2CAAgD;AAChD,+BAA2C;AAEpC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,KAAK;YACR,MAAM,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAClC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,WAAW;YACd,MAAM,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,KAAK;YACR,MAAM,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAClC,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,2CAAyB;AACzB,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,wCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,0CAyBC;AAhCD,qCAAiD;AACjD,+BAA2C;AAC3C,qCAAiD;AACjD,2CAAgD;AAChD,+BAA2C;AAC3C,yCAAqD;AAE9C,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,KAAK;YACR,MAAM,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAClC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,WAAW;YACd,MAAM,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,KAAK;YACR,MAAM,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAClC,MAAM;QACR,KAAK,UAAU;YACb,MAAM,IAAA,kCAAuB,EAAC,OAAO,CAAC,CAAC;YACvC,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,2CAAyB;AACzB,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,wCAAsB;AACtB,6CAA2B"}
@@ -394,7 +394,8 @@ async function promptForProjectType() {
394
394
  { name: 'React Native App', value: 'native' },
395
395
  { name: 'React Web App', value: 'web' },
396
396
  { name: 'Shared Library', value: 'shared' },
397
- { name: 'API Server (tRPC + Prisma + Zod)', value: 'api' }
397
+ { name: 'API Server (tRPC + Express)', value: 'api' },
398
+ { name: 'Database (Prisma + Zod)', value: 'database' }
398
399
  ],
399
400
  default: 'native'
400
401
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/generators/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/generators/utils.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -49,7 +49,7 @@ program
49
49
  program
50
50
  .command('create [project-name]')
51
51
  .description('Create a new Idealyst project')
52
- .option('-t, --type <type>', 'Project type: native, web, shared, or api')
52
+ .option('-t, --type <type>', 'Project type: native, web, shared, api, or database')
53
53
  .option('-d, --directory <directory>', 'Output directory', '.')
54
54
  .option('-a, --app-name <app-name>', 'Display name for native apps (e.g., "My Awesome App")')
55
55
  .option('--with-trpc', 'Include tRPC boilerplate and setup (for web/native projects)')
@@ -75,7 +75,7 @@ program
75
75
  if (!projectType) {
76
76
  projectType = await (0, utils_1.promptForProjectType)();
77
77
  }
78
- const validTypes = ['native', 'web', 'shared', 'api'];
78
+ const validTypes = ['native', 'web', 'shared', 'api', 'database'];
79
79
  if (!validTypes.includes(projectType)) {
80
80
  console.error(chalk_1.default.red(`Invalid project type: ${projectType}`));
81
81
  console.error(chalk_1.default.yellow(`Valid types are: ${validTypes.join(', ')}`));
@@ -115,8 +115,15 @@ program
115
115
  console.log(chalk_1.default.yellow('\n🚀 Next steps for API Server:'));
116
116
  console.log(chalk_1.default.white(' cd packages/' + projectName));
117
117
  console.log(chalk_1.default.white(' yarn dev # Start development server'));
118
+ console.log(chalk_1.default.white(' yarn build # Build for production'));
119
+ }
120
+ else if (projectType === 'database') {
121
+ console.log(chalk_1.default.yellow('\n🗄️ Next steps for Database:'));
122
+ console.log(chalk_1.default.white(' cd packages/' + projectName));
123
+ console.log(chalk_1.default.white(' yarn db:generate # Generate Prisma client'));
118
124
  console.log(chalk_1.default.white(' yarn db:push # Push database schema'));
119
125
  console.log(chalk_1.default.white(' yarn db:studio # Open Prisma Studio'));
126
+ console.log(chalk_1.default.white(' yarn build # Build for export to other packages'));
120
127
  }
121
128
  else {
122
129
  console.log(chalk_1.default.yellow('\n📦 Next steps for Shared Library:'));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ # Server Configuration
2
+ PORT=3000
3
+ NODE_ENV=development
4
+
5
+ # Add your environment variables here
6
+ # Example: API keys, external service URLs, etc.
@@ -4,7 +4,6 @@
4
4
 
5
5
  This API project is built with:
6
6
  - **tRPC** - End-to-end typesafe APIs
7
- - **Prisma** - Modern database toolkit
8
7
  - **Zod** - TypeScript-first schema validation
9
8
  - **Express.js** - Web framework for Node.js
10
9
  - **TypeScript** - Type-safe JavaScript
@@ -13,7 +12,7 @@ This API project is built with:
13
12
 
14
13
  1. **Setup environment variables:**
15
14
  ```bash
16
- cp env.example .env
15
+ cp .env.example .env
17
16
  ```
18
17
 
19
18
  2. **Install dependencies:**
@@ -21,19 +20,7 @@ This API project is built with:
21
20
  yarn install
22
21
  ```
23
22
 
24
- 3. **Setup database:**
25
- ```bash
26
- # Generate Prisma client
27
- yarn db:generate
28
-
29
- # Push schema to database (for development)
30
- yarn db:push
31
-
32
- # Or run migrations (for production)
33
- yarn db:migrate
34
- ```
35
-
36
- 4. **Start development server:**
23
+ 3. **Start development server:**
37
24
  ```bash
38
25
  yarn dev
39
26
  ```
@@ -45,11 +32,6 @@ The API will be available at `http://localhost:3000`
45
32
  - `yarn dev` - Start development server with hot reload
46
33
  - `yarn build` - Build for production
47
34
  - `yarn start` - Start production server
48
- - `yarn db:generate` - Generate Prisma client
49
- - `yarn db:push` - Push schema changes to database
50
- - `yarn db:studio` - Open Prisma Studio (database GUI)
51
- - `yarn db:migrate` - Run database migrations
52
- - `yarn db:reset` - Reset database and run all migrations
53
35
  - `yarn lint` - Run ESLint
54
36
  - `yarn type-check` - Run TypeScript type checking
55
37
 
@@ -67,13 +49,21 @@ All tRPC routes are available at `/trpc/[procedure]`
67
49
  - `GET /` - API information
68
50
  - `GET /health` - Health check
69
51
 
70
- ## Database
52
+ ## Connecting to a Database
71
53
 
72
- This project uses SQLite by default for development. You can switch to PostgreSQL or MySQL by updating the `DATABASE_URL` in your `.env` file and the `provider` in `prisma/schema.prisma`.
54
+ For database functionality, create a separate database package using:
55
+ ```bash
56
+ idealyst create my-database --type database
57
+ ```
73
58
 
74
- ### Database Schema
59
+ Then import and use it in your API:
60
+ ```typescript
61
+ // In your API context or controllers
62
+ import { db } from '@your-org/my-database';
75
63
 
76
- The schema starts empty - you can add your own models in `prisma/schema.prisma`. Example model structure is provided in comments.
64
+ // Use the database client
65
+ const users = await db.user.findMany();
66
+ ```
77
67
 
78
68
  ## Development
79
69
 
@@ -107,9 +97,11 @@ export class PostController extends BaseController {
107
97
  getAll = this.createQuery(
108
98
  z.object({ published: z.boolean().optional() }),
109
99
  async (input, ctx) => {
110
- return ctx.prisma.post.findMany({
111
- where: { published: input.published }
112
- });
100
+ // Mock data - replace with your database calls
101
+ return [
102
+ { id: '1', title: 'Post 1', content: 'Content 1', published: true },
103
+ { id: '2', title: 'Post 2', content: 'Content 2', published: false },
104
+ ];
113
105
  }
114
106
  );
115
107
 
@@ -118,7 +110,8 @@ export class PostController extends BaseController {
118
110
  createPostSchema,
119
111
  [logger, rateLimit(5, 60000), requireAuth],
120
112
  async (input, ctx) => {
121
- return ctx.prisma.post.create({ data: input });
113
+ // Mock creation - replace with your database calls
114
+ return { id: '3', ...input, published: false };
122
115
  }
123
116
  );
124
117
 
@@ -127,7 +120,8 @@ export class PostController extends BaseController {
127
120
  z.object({ id: z.string() }),
128
121
  [requireAuth, requireAdmin],
129
122
  async (input, ctx) => {
130
- return ctx.prisma.post.delete({ where: { id: input.id } });
123
+ // Mock deletion - replace with your database calls
124
+ return { success: true, deletedId: input.id };
131
125
  }
132
126
  );
133
127
  }
@@ -185,9 +179,8 @@ const healthStatus = await client.health.query();
185
179
 
186
180
  ## Environment Variables
187
181
 
188
- Copy `env.example` to `.env` and configure:
182
+ Copy `.env.example` to `.env` and configure:
189
183
 
190
- - `DATABASE_URL` - Database connection string
191
184
  - `PORT` - Server port (default: 3000)
192
185
  - `NODE_ENV` - Environment (development/production)
193
186
  - `CORS_ORIGIN` - CORS origin for client requests
@@ -195,13 +188,10 @@ Copy `env.example` to `.env` and configure:
195
188
  ## Deployment
196
189
 
197
190
  1. Build the project: `yarn build`
198
- 2. Set up your production database
199
- 3. Run migrations: `yarn db:migrate`
200
- 4. Start the server: `yarn start`
191
+ 2. Start the server: `yarn start`
201
192
 
202
193
  ## Learn More
203
194
 
204
195
  - [tRPC Documentation](https://trpc.io/)
205
- - [Prisma Documentation](https://www.prisma.io/docs/)
206
196
  - [Zod Documentation](https://zod.dev/)
207
197
  - [Express.js Documentation](https://expressjs.com/)
@@ -18,17 +18,11 @@
18
18
  "test": "jest",
19
19
  "test:watch": "jest --watch",
20
20
  "test:coverage": "jest --coverage",
21
- "db:generate": "prisma generate",
22
- "db:push": "prisma db push",
23
- "db:studio": "prisma studio",
24
- "db:migrate": "prisma migrate dev",
25
- "db:reset": "prisma migrate reset",
26
21
  "lint": "eslint src --ext .ts,.tsx",
27
22
  "lint:fix": "eslint src --ext .ts,.tsx --fix",
28
23
  "type-check": "tsc --noEmit"
29
24
  },
30
25
  "dependencies": {
31
- "@prisma/client": "^5.7.1",
32
26
  "@trpc/server": "^10.44.1",
33
27
  "cors": "^2.8.5",
34
28
  "dotenv": "^16.3.1",
@@ -44,7 +38,6 @@
44
38
  "@typescript-eslint/parser": "^6.13.1",
45
39
  "eslint": "^8.54.0",
46
40
  "jest": "^29.7.0",
47
- "prisma": "^5.7.1",
48
41
  "ts-jest": "^29.1.2",
49
42
  "tsx": "^4.6.2",
50
43
  "typescript": "^5.3.3"
@@ -52,7 +45,6 @@
52
45
  "keywords": [
53
46
  "api",
54
47
  "trpc",
55
- "prisma",
56
48
  "zod",
57
49
  "typescript",
58
50
  "express"
@@ -1,22 +1,18 @@
1
- import { PrismaClient } from '@prisma/client';
2
1
  import type { CreateExpressContextOptions } from '@trpc/server/adapters/express';
3
2
 
4
- // Create Prisma client
5
- const prisma = new PrismaClient({
6
- log: process.env.NODE_ENV === 'development' ? ['query', 'error', 'warn'] : ['error'],
7
- });
8
-
9
3
  export interface Context {
10
- prisma: PrismaClient;
11
4
  req: CreateExpressContextOptions['req'];
12
5
  res: CreateExpressContextOptions['res'];
6
+ // Add your dependencies here (e.g., database client, external services)
7
+ // Example: db: PrismaClient;
13
8
  }
14
9
 
15
10
  export const createContext = ({ req, res }: CreateExpressContextOptions): Context => {
16
11
  return {
17
- prisma,
18
12
  req,
19
13
  res,
14
+ // Initialize your dependencies here
15
+ // Example: db: prisma,
20
16
  };
21
17
  };
22
18
 
@@ -0,0 +1,8 @@
1
+ # Database
2
+ DATABASE_URL="file:./dev.db"
3
+
4
+ # Optional: PostgreSQL example
5
+ # DATABASE_URL="postgresql://username:password@localhost:5432/mydb?schema=public"
6
+
7
+ # Optional: MySQL example
8
+ # DATABASE_URL="mysql://username:password@localhost:3306/mydb"
@@ -0,0 +1,93 @@
1
+ # {{projectName}}
2
+
3
+ {{description}}
4
+
5
+ A database layer built with Prisma and TypeScript, designed to be shared across multiple applications in your monorepo.
6
+
7
+ ## Features
8
+
9
+ - 🗄️ **Prisma ORM** - Type-safe database access
10
+ - 📝 **Zod Schemas** - Runtime validation matching your database models
11
+ - 📦 **Exportable Client** - Share database access across packages
12
+ - 🔒 **TypeScript** - Full type safety
13
+ - 🧪 **Testing Setup** - Jest configuration for database testing
14
+ - 🔄 **Migration Scripts** - Database versioning and seeding
15
+
16
+ ## Getting Started
17
+
18
+ 1. **Environment Setup**
19
+ ```bash
20
+ cp .env.example .env
21
+ # Edit .env with your database URL
22
+ ```
23
+
24
+ 2. **Generate Prisma Client**
25
+ ```bash
26
+ yarn db:generate
27
+ ```
28
+
29
+ 3. **Push Schema to Database**
30
+ ```bash
31
+ yarn db:push
32
+ ```
33
+
34
+ 4. **Open Prisma Studio** (Optional)
35
+ ```bash
36
+ yarn db:studio
37
+ ```
38
+
39
+ ## Usage
40
+
41
+ ### In Other Packages
42
+
43
+ ```typescript
44
+ import { db, schemas } from '@your-org/{{projectName}}';
45
+
46
+ // Use the database client
47
+ const users = await db.user.findMany();
48
+
49
+ // Use Zod schemas for validation
50
+ const userData = schemas.createUser.parse(input);
51
+ ```
52
+
53
+ ### Adding Models
54
+
55
+ 1. Update `prisma/schema.prisma` with your models
56
+ 2. Update `src/schemas.ts` with corresponding Zod schemas
57
+ 3. Run `yarn db:generate` to update the client
58
+ 4. Run `yarn db:push` to update the database
59
+
60
+ ## Scripts
61
+
62
+ - `yarn build` - Build the package for distribution
63
+ - `yarn dev` - Run in development mode with file watching
64
+ - `yarn test` - Run tests
65
+ - `yarn test:watch` - Run tests in watch mode
66
+ - `yarn db:generate` - Generate Prisma client
67
+ - `yarn db:push` - Push schema changes to database
68
+ - `yarn db:studio` - Open Prisma Studio
69
+ - `yarn db:migrate` - Create and apply migrations
70
+ - `yarn db:reset` - Reset database and apply migrations
71
+ - `yarn db:seed` - Seed the database
72
+
73
+ ## Project Structure
74
+
75
+ ```
76
+ src/
77
+ ├── index.ts # Main exports
78
+ ├── client.ts # Prisma client setup
79
+ └── schemas.ts # Zod validation schemas
80
+ prisma/
81
+ ├── schema.prisma # Database schema
82
+ └── migrations/ # Database migrations
83
+ __tests__/
84
+ └── database.test.ts # Database tests
85
+ ```
86
+
87
+ ## Best Practices
88
+
89
+ - Always update Zod schemas when changing Prisma models
90
+ - Use meaningful migration names
91
+ - Test database operations
92
+ - Export only what's needed from the main index
93
+ - Keep the client singleton pattern for performance
@@ -0,0 +1,14 @@
1
+ import { describe, it, expect } from '@jest/globals';
2
+ import { db } from '../src';
3
+
4
+ describe('Database', () => {
5
+ it('should export database client', () => {
6
+ expect(db).toBeDefined();
7
+ });
8
+
9
+ it('should connect to database', async () => {
10
+ // This is a basic connection test
11
+ // Add your own model-specific tests here
12
+ expect(db.$connect).toBeDefined();
13
+ });
14
+ });
@@ -0,0 +1,19 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ collectCoverageFrom: [
5
+ 'src/**/*.{ts,tsx}',
6
+ '!src/**/*.d.ts',
7
+ ],
8
+ testMatch: [
9
+ '**/__tests__/**/*.test.{ts,tsx}',
10
+ ],
11
+ setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
12
+ moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
13
+ transform: {
14
+ '^.+\\.(ts|tsx)$': 'ts-jest',
15
+ },
16
+ moduleNameMapping: {
17
+ '^@/(.*)$': '<rootDir>/src/$1',
18
+ },
19
+ };
@@ -0,0 +1,11 @@
1
+ // Global test setup
2
+ import { beforeEach, afterEach } from '@jest/globals';
3
+
4
+ // Mock environment variables for testing
5
+ process.env.NODE_ENV = 'test';
6
+ process.env.DATABASE_URL = 'file:./test.db';
7
+
8
+ // Clean up after each test
9
+ afterEach(async () => {
10
+ // Add any cleanup logic here
11
+ });