@digilogiclabs/create-saas-app 2.12.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/index.js +1870 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/templates/mobile/base/template/App.tsx +7 -4
  6. package/dist/templates/mobile/base/template/app/checkout.tsx +5 -2
  7. package/dist/templates/mobile/base/template/package.json +2 -2
  8. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +6 -2
  9. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +7 -3
  10. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +5 -2
  11. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +7 -2
  12. package/dist/templates/mobile/ui-auth-payments/template/app/_layout.tsx +2 -4
  13. package/dist/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +6 -3
  14. package/dist/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +6 -3
  15. package/dist/templates/mobile/ui-auth-payments/template/package.json +2 -2
  16. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +6 -2
  17. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +7 -3
  18. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +5 -2
  19. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +7 -2
  20. package/dist/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +2 -4
  21. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +6 -3
  22. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +6 -3
  23. package/dist/templates/mobile/ui-auth-payments-ai/template/package.json +2 -2
  24. package/dist/templates/shared/config/web/next.config.mjs +0 -1
  25. package/dist/templates/web/ai-platform/template/package.json +3 -4
  26. package/dist/templates/web/ai-platform/template/src/app/chat/page.tsx +5 -2
  27. package/dist/templates/web/ai-platform/template/src/app/playground/page.tsx +5 -2
  28. package/dist/templates/web/ai-platform/template/src/components/providers/app-providers.tsx +2 -5
  29. package/dist/templates/web/base/template/package.json +3 -3
  30. package/dist/templates/web/iot-dashboard/template/package.json +3 -4
  31. package/dist/templates/web/iot-dashboard/template/src/components/providers/app-providers.tsx +2 -5
  32. package/dist/templates/web/marketplace/template/package.json +3 -4
  33. package/dist/templates/web/marketplace/template/src/components/providers/app-providers.tsx +2 -5
  34. package/dist/templates/web/micro-saas/template/package.json +3 -4
  35. package/dist/templates/web/micro-saas/template/src/components/providers/app-providers.tsx +2 -5
  36. package/dist/templates/web/ui-auth/template/package.json +3 -3
  37. package/dist/templates/web/ui-auth-ai/template/package.json +3 -3
  38. package/dist/templates/web/ui-auth-payments/template/package.json +3 -3
  39. package/dist/templates/web/ui-auth-payments-ai/template/package.json +3 -3
  40. package/dist/templates/web/ui-auth-payments-audio/template/package.json +3 -3
  41. package/dist/templates/web/ui-auth-payments-video/template/package.json +3 -3
  42. package/dist/templates/web/ui-only/template/package.json +2 -2
  43. package/dist/templates/web/ui-package-test/template/package.json +3 -3
  44. package/package.json +1 -1
  45. package/src/templates/mobile/base/template/App.tsx +7 -4
  46. package/src/templates/mobile/base/template/app/checkout.tsx +5 -2
  47. package/src/templates/mobile/base/template/package.json +2 -2
  48. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +6 -2
  49. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +7 -3
  50. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +5 -2
  51. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +7 -2
  52. package/src/templates/mobile/ui-auth-payments/template/app/_layout.tsx +2 -4
  53. package/src/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +6 -3
  54. package/src/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +6 -3
  55. package/src/templates/mobile/ui-auth-payments/template/package.json +2 -2
  56. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +6 -2
  57. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +7 -3
  58. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +5 -2
  59. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +7 -2
  60. package/src/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +2 -4
  61. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +6 -3
  62. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +6 -3
  63. package/src/templates/mobile/ui-auth-payments-ai/template/package.json +2 -2
  64. package/src/templates/shared/config/web/next.config.mjs +0 -1
  65. package/src/templates/web/ai-platform/template/package.json +3 -4
  66. package/src/templates/web/ai-platform/template/src/app/chat/page.tsx +5 -2
  67. package/src/templates/web/ai-platform/template/src/app/playground/page.tsx +5 -2
  68. package/src/templates/web/ai-platform/template/src/components/providers/app-providers.tsx +2 -5
  69. package/src/templates/web/base/template/package.json +3 -3
  70. package/src/templates/web/iot-dashboard/template/package.json +3 -4
  71. package/src/templates/web/iot-dashboard/template/src/components/providers/app-providers.tsx +2 -5
  72. package/src/templates/web/marketplace/template/package.json +3 -4
  73. package/src/templates/web/marketplace/template/src/components/providers/app-providers.tsx +2 -5
  74. package/src/templates/web/micro-saas/template/package.json +3 -4
  75. package/src/templates/web/micro-saas/template/src/components/providers/app-providers.tsx +2 -5
  76. package/src/templates/web/ui-auth/template/package.json +3 -3
  77. package/src/templates/web/ui-auth-ai/template/package.json +3 -3
  78. package/src/templates/web/ui-auth-payments/template/package.json +3 -3
  79. package/src/templates/web/ui-auth-payments-ai/template/package.json +3 -3
  80. package/src/templates/web/ui-auth-payments-audio/template/package.json +3 -3
  81. package/src/templates/web/ui-auth-payments-video/template/package.json +3 -3
  82. package/src/templates/web/ui-only/template/package.json +2 -2
  83. package/src/templates/web/ui-package-test/template/package.json +3 -3
  84. package/dist/cli/commands/add.d.ts +0 -6
  85. package/dist/cli/commands/add.d.ts.map +0 -1
  86. package/dist/cli/commands/add.js +0 -39
  87. package/dist/cli/commands/add.js.map +0 -1
  88. package/dist/cli/commands/create.d.ts +0 -49
  89. package/dist/cli/commands/create.d.ts.map +0 -1
  90. package/dist/cli/commands/create.js +0 -173
  91. package/dist/cli/commands/create.js.map +0 -1
  92. package/dist/cli/commands/index.d.ts +0 -4
  93. package/dist/cli/commands/index.d.ts.map +0 -1
  94. package/dist/cli/commands/index.js +0 -20
  95. package/dist/cli/commands/index.js.map +0 -1
  96. package/dist/cli/commands/update.d.ts +0 -6
  97. package/dist/cli/commands/update.d.ts.map +0 -1
  98. package/dist/cli/commands/update.js +0 -68
  99. package/dist/cli/commands/update.js.map +0 -1
  100. package/dist/cli/index.d.ts +0 -4
  101. package/dist/cli/index.d.ts.map +0 -1
  102. package/dist/cli/index.js +0 -63
  103. package/dist/cli/index.js.map +0 -1
  104. package/dist/cli/prompts/index.d.ts +0 -2
  105. package/dist/cli/prompts/index.d.ts.map +0 -1
  106. package/dist/cli/prompts/index.js +0 -18
  107. package/dist/cli/prompts/index.js.map +0 -1
  108. package/dist/cli/prompts/project-setup.d.ts +0 -5
  109. package/dist/cli/prompts/project-setup.d.ts.map +0 -1
  110. package/dist/cli/prompts/project-setup.js +0 -359
  111. package/dist/cli/prompts/project-setup.js.map +0 -1
  112. package/dist/cli/utils/git.d.ts +0 -9
  113. package/dist/cli/utils/git.d.ts.map +0 -1
  114. package/dist/cli/utils/git.js +0 -77
  115. package/dist/cli/utils/git.js.map +0 -1
  116. package/dist/cli/utils/index.d.ts +0 -5
  117. package/dist/cli/utils/index.d.ts.map +0 -1
  118. package/dist/cli/utils/index.js +0 -21
  119. package/dist/cli/utils/index.js.map +0 -1
  120. package/dist/cli/utils/logger.d.ts +0 -16
  121. package/dist/cli/utils/logger.d.ts.map +0 -1
  122. package/dist/cli/utils/logger.js +0 -55
  123. package/dist/cli/utils/logger.js.map +0 -1
  124. package/dist/cli/utils/package-manager.d.ts +0 -8
  125. package/dist/cli/utils/package-manager.d.ts.map +0 -1
  126. package/dist/cli/utils/package-manager.js +0 -92
  127. package/dist/cli/utils/package-manager.js.map +0 -1
  128. package/dist/cli/utils/spinner.d.ts +0 -7
  129. package/dist/cli/utils/spinner.d.ts.map +0 -1
  130. package/dist/cli/utils/spinner.js +0 -48
  131. package/dist/cli/utils/spinner.js.map +0 -1
  132. package/dist/cli/validators/dependencies.d.ts +0 -15
  133. package/dist/cli/validators/dependencies.d.ts.map +0 -1
  134. package/dist/cli/validators/dependencies.js +0 -108
  135. package/dist/cli/validators/dependencies.js.map +0 -1
  136. package/dist/cli/validators/index.d.ts +0 -3
  137. package/dist/cli/validators/index.d.ts.map +0 -1
  138. package/dist/cli/validators/index.js +0 -19
  139. package/dist/cli/validators/index.js.map +0 -1
  140. package/dist/cli/validators/project-name.d.ts +0 -5
  141. package/dist/cli/validators/project-name.d.ts.map +0 -1
  142. package/dist/cli/validators/project-name.js +0 -151
  143. package/dist/cli/validators/project-name.js.map +0 -1
  144. package/dist/generators/file-processor.d.ts +0 -28
  145. package/dist/generators/file-processor.d.ts.map +0 -1
  146. package/dist/generators/file-processor.js +0 -224
  147. package/dist/generators/file-processor.js.map +0 -1
  148. package/dist/generators/index.d.ts +0 -4
  149. package/dist/generators/index.d.ts.map +0 -1
  150. package/dist/generators/index.js +0 -20
  151. package/dist/generators/index.js.map +0 -1
  152. package/dist/generators/package-installer.d.ts +0 -29
  153. package/dist/generators/package-installer.d.ts.map +0 -1
  154. package/dist/generators/package-installer.js +0 -177
  155. package/dist/generators/package-installer.js.map +0 -1
  156. package/dist/generators/template-generator.d.ts +0 -86
  157. package/dist/generators/template-generator.d.ts.map +0 -1
  158. package/dist/generators/template-generator.js +0 -943
  159. package/dist/generators/template-generator.js.map +0 -1
@@ -1,4 +1,4 @@
1
- {
1
+ {
2
2
  "name": "{{packageName}}",
3
3
  "version": "0.1.0",
4
4
  "description": "{{description}}",
@@ -14,8 +14,8 @@
14
14
  "next": "^15.5.0",
15
15
  "react": "^19.0.0",
16
16
  "react-dom": "^19.0.0",
17
- "@digilogiclabs/platform-core": "^1.14.0",
18
- "@digilogiclabs/saas-factory-ui": "^1.8.1",
17
+ "@digilogiclabs/platform-core": "^1.17.3",
18
+ "@digilogiclabs/saas-factory-ui": "^1.27.0",
19
19
  "tailwindcss": "^4.1.0",
20
20
  "@tailwindcss/postcss": "^4.1.0",
21
21
  "clsx": "^2.1.0",
@@ -1,4 +1,4 @@
1
- {
1
+ {
2
2
  "name": "{{packageName}}",
3
3
  "version": "0.1.0",
4
4
  "description": "{{description}}",
@@ -14,8 +14,8 @@
14
14
  "next": "^15.5.0",
15
15
  "react": "^19.0.0",
16
16
  "react-dom": "^19.0.0",
17
- "@digilogiclabs/platform-core": "^1.14.0",
18
- "@digilogiclabs/saas-factory-ui": "^1.8.1",
17
+ "@digilogiclabs/platform-core": "^1.17.3",
18
+ "@digilogiclabs/saas-factory-ui": "^1.27.0",
19
19
  "tailwindcss": "^4.1.0",
20
20
  "@tailwindcss/postcss": "^4.1.0",
21
21
  "clsx": "^2.1.0",
@@ -1,4 +1,4 @@
1
- {
1
+ {
2
2
  "name": "{{packageName}}",
3
3
  "version": "0.1.0",
4
4
  "description": "{{description}}",
@@ -14,8 +14,8 @@
14
14
  "next": "^15.5.0",
15
15
  "react": "^19.0.0",
16
16
  "react-dom": "^19.0.0",
17
- "@digilogiclabs/platform-core": "^1.14.0",
18
- "@digilogiclabs/saas-factory-ui": "^1.8.1",
17
+ "@digilogiclabs/platform-core": "^1.17.3",
18
+ "@digilogiclabs/saas-factory-ui": "^1.27.0",
19
19
  "tailwindcss": "^4.1.0",
20
20
  "@tailwindcss/postcss": "^4.1.0",
21
21
  "clsx": "^2.1.0",
@@ -1,4 +1,4 @@
1
- {
1
+ {
2
2
  "name": "{{packageName}}",
3
3
  "version": "0.1.0",
4
4
  "description": "{{description}}",
@@ -14,8 +14,8 @@
14
14
  "next": "^15.5.0",
15
15
  "react": "^19.0.0",
16
16
  "react-dom": "^19.0.0",
17
- "@digilogiclabs/platform-core": "^1.14.0",
18
- "@digilogiclabs/saas-factory-ui": "^1.8.1",
17
+ "@digilogiclabs/platform-core": "^1.17.3",
18
+ "@digilogiclabs/saas-factory-ui": "^1.27.0",
19
19
  "tailwindcss": "^4.1.0",
20
20
  "@tailwindcss/postcss": "^4.1.0",
21
21
  "clsx": "^2.1.0",
@@ -1,4 +1,4 @@
1
- {
1
+ {
2
2
  "name": "{{packageName}}",
3
3
  "version": "0.1.0",
4
4
  "description": "{{description}}",
@@ -14,8 +14,8 @@
14
14
  "next": "^15.5.0",
15
15
  "react": "^19.0.0",
16
16
  "react-dom": "^19.0.0",
17
- "@digilogiclabs/platform-core": "^1.14.0",
18
- "@digilogiclabs/saas-factory-ui": "^1.8.1",
17
+ "@digilogiclabs/platform-core": "^1.17.3",
18
+ "@digilogiclabs/saas-factory-ui": "^1.27.0",
19
19
  "tailwindcss": "^4.1.0",
20
20
  "@tailwindcss/postcss": "^4.1.0",
21
21
  "clsx": "^2.1.0",
@@ -1,4 +1,4 @@
1
- {
1
+ {
2
2
  "name": "{{packageName}}",
3
3
  "version": "0.1.0",
4
4
  "description": "{{description}}",
@@ -14,7 +14,7 @@
14
14
  "next": "^15.5.0",
15
15
  "react": "^19.0.0",
16
16
  "react-dom": "^19.0.0",
17
- "@digilogiclabs/saas-factory-ui": "^1.8.1",
17
+ "@digilogiclabs/saas-factory-ui": "^1.27.0",
18
18
  "tailwindcss": "^4.1.0",
19
19
  "@tailwindcss/postcss": "^4.1.0",
20
20
  "clsx": "^2.1.0",
@@ -1,7 +1,7 @@
1
- {
1
+ {
2
2
  "name": "{{packageName}}",
3
3
  "version": "0.1.0",
4
- "description": "{{description}} UI package test app",
4
+ "description": "{{description}} — UI package test app",
5
5
  "private": true,
6
6
  "scripts": {
7
7
  "dev": "next dev",
@@ -14,7 +14,7 @@
14
14
  "next": "^15.5.0",
15
15
  "react": "^19.0.0",
16
16
  "react-dom": "^19.0.0",
17
- "@digilogiclabs/saas-factory-ui": "^1.8.1",
17
+ "@digilogiclabs/saas-factory-ui": "^1.27.0",
18
18
  "tailwindcss": "^4.1.0",
19
19
  "@tailwindcss/postcss": "^4.1.0",
20
20
  "clsx": "^2.1.0",
@@ -1,6 +0,0 @@
1
- interface AddOptions {
2
- provider?: string;
3
- }
4
- export declare function addFeature(feature: string, _options?: AddOptions): Promise<void>;
5
- export {};
6
- //# sourceMappingURL=add.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,UAAe,iBAqC1E"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addFeature = addFeature;
4
- const logger_1 = require("../utils/logger");
5
- const spinner_1 = require("../utils/spinner");
6
- async function addFeature(feature, _options = {}) {
7
- try {
8
- logger_1.logger.title(`Adding ${feature} feature`);
9
- const validFeatures = [
10
- 'auth',
11
- 'billing',
12
- 'analytics',
13
- 'teams',
14
- 'notifications',
15
- 'admin',
16
- 'api',
17
- 'docs',
18
- ];
19
- if (!validFeatures.includes(feature)) {
20
- logger_1.logger.error(`Invalid feature: ${feature}`);
21
- logger_1.logger.info('Available features:');
22
- logger_1.logger.list(validFeatures);
23
- process.exit(1);
24
- }
25
- const addSpinner = (0, spinner_1.spinner)(`Adding ${feature} feature...`);
26
- // Simulate feature addition (placeholder for now)
27
- await new Promise((resolve) => setTimeout(resolve, 2000));
28
- addSpinner.succeed(`${feature} feature added successfully`);
29
- logger_1.logger.newLine();
30
- logger_1.logger.success('Feature added successfully!');
31
- logger_1.logger.info("Don't forget to update your environment variables if needed.");
32
- }
33
- catch (error) {
34
- logger_1.logger.error('Failed to add feature:');
35
- logger_1.logger.error(error instanceof Error ? error.message : String(error));
36
- process.exit(1);
37
- }
38
- }
39
- //# sourceMappingURL=add.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":";;AAOA,gCAqCC;AA5CD,4CAAyC;AACzC,8CAA2C;AAMpC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,WAAuB,EAAE;IACzE,IAAI,CAAC;QACH,eAAM,CAAC,KAAK,CAAC,UAAU,OAAO,UAAU,CAAC,CAAC;QAE1C,MAAM,aAAa,GAAG;YACpB,MAAM;YACN,SAAS;YACT,WAAW;YACX,OAAO;YACP,eAAe;YACf,OAAO;YACP,KAAK;YACL,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,eAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC5C,eAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACnC,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,iBAAO,EAAC,UAAU,OAAO,aAAa,CAAC,CAAC;QAE3D,kDAAkD;QAClD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,6BAA6B,CAAC,CAAC;QAE5D,eAAM,CAAC,OAAO,EAAE,CAAC;QACjB,eAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC9C,eAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvC,eAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,49 +0,0 @@
1
- interface CreateOptions {
2
- auth?: string;
3
- database?: string;
4
- theme?: string;
5
- themeColor?: string;
6
- defaultTheme?: string;
7
- landingStyle?: string;
8
- motion?: string;
9
- tier?: string;
10
- withAi?: string | boolean;
11
- aiProvider?: string;
12
- install?: boolean;
13
- git?: boolean;
14
- yes?: boolean;
15
- }
16
- /**
17
- * Project tier determines the scope and feature set of the generated project.
18
- * - micro: Single feature MVP (auth only, minimal deps)
19
- * - starter: Basic SaaS (auth + payments)
20
- * - pro: Full SaaS (auth + payments + AI)
21
- * - enterprise: Full platform (all features + observability + workers)
22
- */
23
- export type ProjectTier = 'micro' | 'starter' | 'pro' | 'enterprise';
24
- export interface ProjectConfig {
25
- platform: 'web' | 'mobile' | 'both';
26
- template: string;
27
- name: string;
28
- tier: ProjectTier;
29
- auth: 'firebase' | 'supabase' | 'keycloak';
30
- database: 'postgresql' | 'supabase' | 'firebase';
31
- theme: 'default' | 'corporate' | 'startup';
32
- themeColor: 'blue' | 'green' | 'purple' | 'orange' | 'red' | 'slate';
33
- defaultTheme: 'light' | 'dark' | 'system';
34
- landingStyle: 'product' | 'editorial' | 'minimal';
35
- motion: 'calm' | 'standard' | 'reduced';
36
- ai: {
37
- enabled: boolean;
38
- capabilities: string[];
39
- provider: 'openai' | 'anthropic' | 'gemini';
40
- };
41
- install: boolean;
42
- git: boolean;
43
- }
44
- export declare function createProject(platform: string, template?: string, name?: string, options?: CreateOptions & {
45
- themeColor?: string;
46
- defaultTheme?: string;
47
- }): Promise<void>;
48
- export {};
49
- //# sourceMappingURL=create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"AAUA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,YAAY,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IAC3C,QAAQ,EAAE,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC3C,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;IACrE,YAAY,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,YAAY,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAClD,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACxC,EAAE,EAAE;QACF,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;KAC7C,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,iBA2K7E"}
@@ -1,173 +0,0 @@
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.createProject = createProject;
7
- const path_1 = __importDefault(require("path"));
8
- const logger_1 = require("../utils/logger");
9
- const spinner_1 = require("../utils/spinner");
10
- const project_name_1 = require("../validators/project-name");
11
- const dependencies_1 = require("../validators/dependencies");
12
- const project_setup_1 = require("../prompts/project-setup");
13
- const template_generator_1 = require("../../generators/template-generator");
14
- const package_installer_1 = require("../../generators/package-installer");
15
- const git_1 = require("../utils/git");
16
- async function createProject(platform, template, name, options = {}) {
17
- try {
18
- // Validate Node.js version
19
- if (!(await (0, dependencies_1.validateNodeVersion)())) {
20
- process.exit(1);
21
- }
22
- // Validate platform
23
- const validPlatforms = ['web', 'mobile', 'both'];
24
- if (!validPlatforms.includes(platform)) {
25
- logger_1.logger.error(`Invalid platform: ${platform}. Must be one of: ${validPlatforms.join(', ')}`);
26
- process.exit(1);
27
- }
28
- // Parse AI capabilities
29
- const parseAiCapabilities = (withAi) => {
30
- if (!withAi)
31
- return { enabled: false, capabilities: [] };
32
- if (withAi === true)
33
- return { enabled: true, capabilities: ['text'] };
34
- if (withAi === 'all')
35
- return { enabled: true, capabilities: ['text', 'audio', 'video'] };
36
- return { enabled: true, capabilities: withAi.split(',').map((c) => c.trim()) };
37
- };
38
- const aiConfig = parseAiCapabilities(options.withAi);
39
- // Auto-select template based on AI capabilities
40
- const selectTemplateForAI = (capabilities, baseTemplate) => {
41
- if (!aiConfig.enabled)
42
- return baseTemplate || 'base';
43
- const hasAudio = capabilities.includes('audio');
44
- const hasVideo = capabilities.includes('video');
45
- const hasText = capabilities.includes('text');
46
- // Use comprehensive AI template for AI capabilities
47
- if (hasVideo || hasAudio || hasText)
48
- return 'ui-auth-payments-ai';
49
- return baseTemplate || 'ui-auth-payments-ai';
50
- };
51
- // Determine tier from options or AI config
52
- const determineTier = () => {
53
- if (options.tier)
54
- return options.tier;
55
- if (aiConfig.enabled)
56
- return 'pro';
57
- return 'starter';
58
- };
59
- // Set up initial configuration
60
- let config = {
61
- platform: platform,
62
- template: selectTemplateForAI(aiConfig.capabilities, template),
63
- name: name || 'my-saas-app',
64
- tier: determineTier(),
65
- auth: options.auth || 'supabase',
66
- database: options.database || 'supabase',
67
- theme: options.theme || 'default',
68
- themeColor: options.themeColor || 'blue',
69
- defaultTheme: options.defaultTheme || 'system',
70
- landingStyle: options.landingStyle || 'product',
71
- motion: options.motion || 'standard',
72
- ai: {
73
- enabled: aiConfig.enabled,
74
- capabilities: aiConfig.capabilities,
75
- provider: options.aiProvider || 'openai',
76
- },
77
- install: options.install !== false,
78
- git: options.git !== false,
79
- };
80
- // Interactive prompts if not in yes mode
81
- if (!options.yes) {
82
- config = await (0, project_setup_1.getProjectPrompts)(config);
83
- }
84
- // Validate project name
85
- if (!(0, project_name_1.validateProjectName)(config.name)) {
86
- process.exit(1);
87
- }
88
- const projectPath = path_1.default.resolve(process.cwd(), config.name);
89
- // Validate project path
90
- if (!(await (0, project_name_1.validateProjectPath)(projectPath))) {
91
- process.exit(1);
92
- }
93
- // Display configuration
94
- logger_1.logger.title('🚀 Creating your SaaS application');
95
- logger_1.logger.info(`Platform: ${config.platform}`);
96
- logger_1.logger.info(`Tier: ${config.tier}`);
97
- logger_1.logger.info(`Template: ${config.template}`);
98
- logger_1.logger.info(`Project: ${config.name}`);
99
- logger_1.logger.info(`Auth: ${config.auth}`);
100
- logger_1.logger.info(`Database: ${config.database}`);
101
- logger_1.logger.info(`Theme: ${config.theme}`);
102
- logger_1.logger.info(`Theme Color: ${config.themeColor}`);
103
- logger_1.logger.info(`Default Theme: ${config.defaultTheme}`);
104
- if (config.ai.enabled) {
105
- logger_1.logger.info(`AI: Enabled (${config.ai.capabilities.join(', ')}) - ${config.ai.provider}`);
106
- }
107
- logger_1.logger.newLine();
108
- // Generate project structure
109
- const templateSpinner = (0, spinner_1.spinner)('Generating project structure...');
110
- try {
111
- const generator = new template_generator_1.TemplateGenerator(config);
112
- await generator.generate(projectPath);
113
- templateSpinner.succeed('Project structure created');
114
- }
115
- catch (_error) {
116
- templateSpinner.fail('Failed to generate project structure');
117
- throw _error;
118
- }
119
- // Install dependencies
120
- if (config.install) {
121
- const installSpinner = (0, spinner_1.spinner)('Installing dependencies...');
122
- try {
123
- const installer = new package_installer_1.PackageInstaller(projectPath);
124
- await installer.install();
125
- installSpinner.succeed('Dependencies installed');
126
- }
127
- catch (_error) {
128
- installSpinner.fail('Failed to install dependencies');
129
- logger_1.logger.warn('You can install dependencies manually by running:');
130
- logger_1.logger.code(`cd ${config.name} && npm install`);
131
- }
132
- }
133
- // Initialize git repository
134
- if (config.git) {
135
- const gitSpinner = (0, spinner_1.spinner)('Initializing git repository...');
136
- try {
137
- await (0, git_1.initializeGit)(projectPath);
138
- gitSpinner.succeed('Git repository initialized');
139
- }
140
- catch (_error) {
141
- gitSpinner.fail('Failed to initialize git repository');
142
- logger_1.logger.warn('You can initialize git manually by running:');
143
- logger_1.logger.code(`cd ${config.name} && git init`);
144
- }
145
- }
146
- // Success message with next steps
147
- logger_1.logger.newLine();
148
- logger_1.logger.success('🎉 Project created successfully!');
149
- logger_1.logger.newLine();
150
- logger_1.logger.title('Next steps:');
151
- logger_1.logger.code(`cd ${config.name}`);
152
- if (!config.install) {
153
- logger_1.logger.code('npm install');
154
- }
155
- if (config.platform === 'web' || config.platform === 'both') {
156
- logger_1.logger.code('npm run dev');
157
- logger_1.logger.info('Open http://localhost:3000 in your browser');
158
- }
159
- if (config.platform === 'mobile' || config.platform === 'both') {
160
- logger_1.logger.code('npx expo start');
161
- logger_1.logger.info('Scan QR code with Expo Go app');
162
- }
163
- logger_1.logger.newLine();
164
- logger_1.logger.info('📚 Documentation: https://docs.digilogiclabs.com');
165
- logger_1.logger.info('💬 Support: https://discord.gg/digilogiclabs');
166
- }
167
- catch (error) {
168
- logger_1.logger.error('Failed to create project:');
169
- logger_1.logger.error(error instanceof Error ? error.message : String(error));
170
- process.exit(1);
171
- }
172
- }
173
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":";;;;;AAwDA,sCA+KC;AAvOD,gDAAwB;AACxB,4CAAyC;AACzC,8CAA2C;AAC3C,6DAAsF;AACtF,6DAAiE;AACjE,4DAA6D;AAC7D,4EAAwE;AACxE,0EAAsE;AACtE,sCAA6C;AAgDtC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,QAAiB,EACjB,IAAa,EACb,UAA0E,EAAE;IAE5E,IAAI,CAAC;QACH,2BAA2B;QAC3B,IAAI,CAAC,CAAC,MAAM,IAAA,kCAAmB,GAAE,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,oBAAoB;QACpB,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,eAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,qBAAqB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,MAAM,mBAAmB,GAAG,CAC1B,MAAyB,EACqB,EAAE;YAChD,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;YACzD,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,IAAI,MAAM,KAAK,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACjF,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAErD,gDAAgD;QAChD,MAAM,mBAAmB,GAAG,CAAC,YAAsB,EAAE,YAAqB,EAAU,EAAE;YACpF,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,OAAO,YAAY,IAAI,MAAM,CAAC;YAErD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9C,oDAAoD;YACpD,IAAI,QAAQ,IAAI,QAAQ,IAAI,OAAO;gBAAE,OAAO,qBAAqB,CAAC;YAElE,OAAO,YAAY,IAAI,qBAAqB,CAAC;QAC/C,CAAC,CAAC;QAEF,2CAA2C;QAC3C,MAAM,aAAa,GAAG,GAAgB,EAAE;YACtC,IAAI,OAAO,CAAC,IAAI;gBAAE,OAAO,OAAO,CAAC,IAAmB,CAAC;YACrD,IAAI,QAAQ,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,+BAA+B;QAC/B,IAAI,MAAM,GAAkB;YAC1B,QAAQ,EAAE,QAAqC;YAC/C,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;YAC9D,IAAI,EAAE,IAAI,IAAI,aAAa;YAC3B,IAAI,EAAE,aAAa,EAAE;YACrB,IAAI,EAAG,OAAO,CAAC,IAA6C,IAAI,UAAU;YAC1E,QAAQ,EAAG,OAAO,CAAC,QAAmD,IAAI,UAAU;YACpF,KAAK,EAAG,OAAO,CAAC,KAA6C,IAAI,SAAS;YAC1E,UAAU,EACP,OAAO,CAAC,UAAuE,IAAI,MAAM;YAC5F,YAAY,EAAG,OAAO,CAAC,YAA4C,IAAI,QAAQ;YAC/E,YAAY,EAAG,OAAO,CAAC,YAAoD,IAAI,SAAS;YACxF,MAAM,EAAG,OAAO,CAAC,MAA0C,IAAI,UAAU;YACzE,EAAE,EAAE;gBACF,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,QAAQ,EAAG,OAAO,CAAC,UAAgD,IAAI,QAAQ;aAChF;YACD,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK;YAClC,GAAG,EAAE,OAAO,CAAC,GAAG,KAAK,KAAK;SAC3B,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,MAAM,IAAA,iCAAiB,EAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,IAAA,kCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7D,wBAAwB;QACxB,IAAI,CAAC,CAAC,MAAM,IAAA,kCAAmB,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,eAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClD,eAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,eAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,eAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,eAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,eAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,eAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,eAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACtC,eAAM,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjD,eAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YACtB,eAAM,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,eAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,6BAA6B;QAC7B,MAAM,eAAe,GAAG,IAAA,iBAAO,EAAC,iCAAiC,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,sCAAiB,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtC,eAAe,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,eAAe,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC7D,MAAM,MAAM,CAAC;QACf,CAAC;QAED,uBAAuB;QACvB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,IAAA,iBAAO,EAAC,4BAA4B,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,oCAAgB,CAAC,WAAW,CAAC,CAAC;gBACpD,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC1B,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,cAAc,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBACtD,eAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBACjE,eAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAA,iBAAO,EAAC,gCAAgC,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,IAAA,mBAAa,EAAC,WAAW,CAAC,CAAC;gBACjC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,UAAU,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACvD,eAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,eAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,cAAc,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,eAAM,CAAC,OAAO,EAAE,CAAC;QACjB,eAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACnD,eAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5B,eAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC5D,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3B,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC/D,eAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,eAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAED,eAAM,CAAC,OAAO,EAAE,CAAC;QACjB,eAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAChE,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,eAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './create';
2
- export * from './add';
3
- export * from './update';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./create"), exports);
18
- __exportStar(require("./add"), exports);
19
- __exportStar(require("./update"), exports);
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,wCAAsB;AACtB,2CAAyB"}
@@ -1,6 +0,0 @@
1
- interface UpdateOptions {
2
- check?: boolean;
3
- }
4
- export declare function updateDependencies(options?: UpdateOptions): Promise<void>;
5
- export {};
6
- //# sourceMappingURL=update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AASD,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,aAAkB,iBAqDnE"}
@@ -1,68 +0,0 @@
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.updateDependencies = updateDependencies;
7
- const logger_1 = require("../utils/logger");
8
- const spinner_1 = require("../utils/spinner");
9
- const package_manager_1 = require("../utils/package-manager");
10
- const execa_1 = __importDefault(require("execa"));
11
- const DIGILOGIC_PACKAGES = [
12
- '@digilogiclabs/saas-factory-ui',
13
- '@digilogiclabs/saas-factory-auth',
14
- '@digilogiclabs/saas-factory-billing',
15
- '@digilogiclabs/saas-factory-analytics',
16
- ];
17
- async function updateDependencies(options = {}) {
18
- try {
19
- logger_1.logger.title('Updating Digi Logic Labs dependencies');
20
- const packageManager = await (0, package_manager_1.detectPackageManager)();
21
- logger_1.logger.info(`Using package manager: ${packageManager}`);
22
- if (options.check) {
23
- const checkSpinner = (0, spinner_1.spinner)('Checking for updates...');
24
- // Check for outdated packages
25
- try {
26
- const result = await (0, execa_1.default)(packageManager, ['outdated', ...DIGILOGIC_PACKAGES], {
27
- reject: false,
28
- });
29
- checkSpinner.succeed('Update check completed');
30
- if (result.stdout) {
31
- logger_1.logger.info('Available updates:');
32
- logger_1.logger.log(result.stdout);
33
- }
34
- else {
35
- logger_1.logger.success('All Digi Logic Labs packages are up to date!');
36
- }
37
- }
38
- catch (error) {
39
- checkSpinner.fail('Failed to check for updates');
40
- throw error;
41
- }
42
- }
43
- else {
44
- const updateSpinner = (0, spinner_1.spinner)('Updating packages...');
45
- try {
46
- // Update packages
47
- const command = await (0, package_manager_1.getAddCommand)(packageManager, DIGILOGIC_PACKAGES);
48
- await (0, execa_1.default)(command[0], command.slice(1), {
49
- stdio: 'inherit',
50
- });
51
- updateSpinner.succeed('Packages updated successfully');
52
- logger_1.logger.newLine();
53
- logger_1.logger.success('All Digi Logic Labs packages have been updated!');
54
- logger_1.logger.info("Don't forget to test your application after updating.");
55
- }
56
- catch (error) {
57
- updateSpinner.fail('Failed to update packages');
58
- throw error;
59
- }
60
- }
61
- }
62
- catch (error) {
63
- logger_1.logger.error('Failed to update dependencies:');
64
- logger_1.logger.error(error instanceof Error ? error.message : String(error));
65
- process.exit(1);
66
- }
67
- }
68
- //# sourceMappingURL=update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":";;;;;AAgBA,gDAqDC;AArED,4CAAyC;AACzC,8CAA2C;AAC3C,8DAA+E;AAC/E,kDAA0B;AAM1B,MAAM,kBAAkB,GAAG;IACzB,gCAAgC;IAChC,kCAAkC;IAClC,qCAAqC;IACrC,uCAAuC;CACxC,CAAC;AAEK,KAAK,UAAU,kBAAkB,CAAC,UAAyB,EAAE;IAClE,IAAI,CAAC;QACH,eAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAEtD,MAAM,cAAc,GAAG,MAAM,IAAA,sCAAoB,GAAE,CAAC;QACpD,eAAM,CAAC,IAAI,CAAC,0BAA0B,cAAc,EAAE,CAAC,CAAC;QAExD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,IAAA,iBAAO,EAAC,yBAAyB,CAAC,CAAC;YAExD,8BAA8B;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAA,eAAK,EAAC,cAAc,EAAE,CAAC,UAAU,EAAE,GAAG,kBAAkB,CAAC,EAAE;oBAC9E,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;gBAEH,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBAE/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,eAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBAClC,eAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,eAAM,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACjD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,IAAA,iBAAO,EAAC,sBAAsB,CAAC,CAAC;YAEtD,IAAI,CAAC;gBACH,kBAAkB;gBAClB,MAAM,OAAO,GAAG,MAAM,IAAA,+BAAa,EAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBACxE,MAAM,IAAA,eAAK,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACxC,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;gBAEH,aAAa,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;gBAEvD,eAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,eAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;gBAClE,eAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAChD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC/C,eAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Command } from 'commander';
2
- declare const program: Command;
3
- export default program;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AA0D9B,eAAe,OAAO,CAAC"}
package/dist/cli/index.js DELETED
@@ -1,63 +0,0 @@
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
- const commander_1 = require("commander");
7
- const create_1 = require("./commands/create");
8
- const add_1 = require("./commands/add");
9
- const update_1 = require("./commands/update");
10
- const logger_1 = require("./utils/logger");
11
- const package_json_1 = __importDefault(require("../../package.json"));
12
- const program = new commander_1.Command();
13
- program
14
- .name('create-saas-app')
15
- .description('Create modern SaaS applications with Digi Logic Labs packages')
16
- .version(package_json_1.default.version);
17
- program
18
- .command('create')
19
- .alias('c')
20
- .description('Create a new SaaS application')
21
- .argument('<platform>', 'Platform: web, mobile, or both')
22
- .argument('[template]', 'Template: base, dashboard, saas (web) | base, tabs, stack (mobile)')
23
- .argument('[name]', 'Project name')
24
- .option('-a, --auth <provider>', 'Auth provider: firebase, supabase')
25
- .option('-d, --database <provider>', 'Database provider: supabase, firebase')
26
- .option('-t, --theme <theme>', 'Theme: default, corporate, startup')
27
- .option('-c, --theme-color <color>', 'Theme color: blue, green, purple, orange, red, slate')
28
- .option('--default-theme <mode>', 'Default theme mode: light, dark, system')
29
- .option('--landing-style <style>', 'Landing page style: product, editorial, minimal')
30
- .option('--motion <preset>', 'Motion preset: calm, standard, reduced')
31
- .option('--with-ai [capabilities]', 'Enable AI features (text,audio,video,knowledge or all)')
32
- .option('--ai-provider <provider>', 'AI provider: openai, anthropic, gemini')
33
- .option('--no-install', 'Skip package installation')
34
- .option('--no-git', 'Skip git initialization')
35
- .option('-y, --yes', 'Skip interactive prompts')
36
- .action(create_1.createProject);
37
- program
38
- .command('add')
39
- .alias('a')
40
- .description('Add features to existing project')
41
- .argument('<feature>', 'Feature to add: auth, billing, analytics, etc.')
42
- .option('-p, --provider <provider>', 'Service provider')
43
- .action(add_1.addFeature);
44
- program
45
- .command('update')
46
- .alias('u')
47
- .description('Update Digi Logic Labs dependencies')
48
- .option('--check', 'Check for updates without installing')
49
- .action(update_1.updateDependencies);
50
- // Handle unknown commands
51
- program.on('command:*', () => {
52
- logger_1.logger.error(`Unknown command: ${program.args.join(' ')}`);
53
- logger_1.logger.info('Run "create-saas-app --help" for available commands');
54
- process.exit(1);
55
- });
56
- // Show help if no arguments provided
57
- if (!process.argv.slice(2).length) {
58
- program.outputHelp();
59
- process.exit(0);
60
- }
61
- program.parse();
62
- exports.default = program;
63
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,8CAAkD;AAClD,wCAA4C;AAC5C,8CAAuD;AACvD,2CAAwC;AACxC,sEAA6C;AAE7C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,iBAAiB,CAAC;KACvB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,+BAA+B,CAAC;KAC5C,QAAQ,CAAC,YAAY,EAAE,gCAAgC,CAAC;KACxD,QAAQ,CAAC,YAAY,EAAE,oEAAoE,CAAC;KAC5F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;KAClC,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;KACpE,MAAM,CAAC,2BAA2B,EAAE,uCAAuC,CAAC;KAC5E,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KACnE,MAAM,CAAC,2BAA2B,EAAE,sDAAsD,CAAC;KAC3F,MAAM,CAAC,wBAAwB,EAAE,yCAAyC,CAAC;KAC3E,MAAM,CAAC,yBAAyB,EAAE,iDAAiD,CAAC;KACpF,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;KACrE,MAAM,CAAC,0BAA0B,EAAE,wDAAwD,CAAC;KAC5F,MAAM,CAAC,0BAA0B,EAAE,wCAAwC,CAAC;KAC5E,MAAM,CAAC,cAAc,EAAE,2BAA2B,CAAC;KACnD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;KACvD,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;KACzD,MAAM,CAAC,2BAAkB,CAAC,CAAC;AAE9B,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,eAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3D,eAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,qCAAqC;AACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,kBAAe,OAAO,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './project-setup';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/prompts/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}