@digilogiclabs/create-saas-app 2.12.1 → 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 (113) hide show
  1. package/CHANGELOG.md +11 -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/package.json +2 -2
  6. package/dist/templates/mobile/ui-auth-payments/template/package.json +2 -2
  7. package/dist/templates/mobile/ui-auth-payments-ai/template/package.json +2 -2
  8. package/dist/templates/web/ai-platform/template/package.json +3 -3
  9. package/dist/templates/web/base/template/package.json +3 -3
  10. package/dist/templates/web/iot-dashboard/template/package.json +3 -3
  11. package/dist/templates/web/marketplace/template/package.json +3 -3
  12. package/dist/templates/web/micro-saas/template/package.json +3 -3
  13. package/dist/templates/web/ui-auth/template/package.json +3 -3
  14. package/dist/templates/web/ui-auth-ai/template/package.json +3 -3
  15. package/dist/templates/web/ui-auth-payments/template/package.json +3 -3
  16. package/dist/templates/web/ui-auth-payments-ai/template/package.json +3 -3
  17. package/dist/templates/web/ui-auth-payments-audio/template/package.json +3 -3
  18. package/dist/templates/web/ui-auth-payments-video/template/package.json +3 -3
  19. package/dist/templates/web/ui-only/template/package.json +2 -2
  20. package/dist/templates/web/ui-package-test/template/package.json +3 -3
  21. package/package.json +1 -1
  22. package/src/templates/mobile/base/template/package.json +2 -2
  23. package/src/templates/mobile/ui-auth-payments/template/package.json +2 -2
  24. package/src/templates/mobile/ui-auth-payments-ai/template/package.json +2 -2
  25. package/src/templates/web/ai-platform/template/package.json +3 -3
  26. package/src/templates/web/base/template/package.json +3 -3
  27. package/src/templates/web/iot-dashboard/template/package.json +3 -3
  28. package/src/templates/web/marketplace/template/package.json +3 -3
  29. package/src/templates/web/micro-saas/template/package.json +3 -3
  30. package/src/templates/web/ui-auth/template/package.json +3 -3
  31. package/src/templates/web/ui-auth-ai/template/package.json +3 -3
  32. package/src/templates/web/ui-auth-payments/template/package.json +3 -3
  33. package/src/templates/web/ui-auth-payments-ai/template/package.json +3 -3
  34. package/src/templates/web/ui-auth-payments-audio/template/package.json +3 -3
  35. package/src/templates/web/ui-auth-payments-video/template/package.json +3 -3
  36. package/src/templates/web/ui-only/template/package.json +2 -2
  37. package/src/templates/web/ui-package-test/template/package.json +3 -3
  38. package/dist/cli/commands/add.d.ts +0 -6
  39. package/dist/cli/commands/add.d.ts.map +0 -1
  40. package/dist/cli/commands/add.js +0 -39
  41. package/dist/cli/commands/add.js.map +0 -1
  42. package/dist/cli/commands/create.d.ts +0 -49
  43. package/dist/cli/commands/create.d.ts.map +0 -1
  44. package/dist/cli/commands/create.js +0 -173
  45. package/dist/cli/commands/create.js.map +0 -1
  46. package/dist/cli/commands/index.d.ts +0 -4
  47. package/dist/cli/commands/index.d.ts.map +0 -1
  48. package/dist/cli/commands/index.js +0 -20
  49. package/dist/cli/commands/index.js.map +0 -1
  50. package/dist/cli/commands/update.d.ts +0 -6
  51. package/dist/cli/commands/update.d.ts.map +0 -1
  52. package/dist/cli/commands/update.js +0 -68
  53. package/dist/cli/commands/update.js.map +0 -1
  54. package/dist/cli/index.d.ts +0 -4
  55. package/dist/cli/index.d.ts.map +0 -1
  56. package/dist/cli/index.js +0 -63
  57. package/dist/cli/index.js.map +0 -1
  58. package/dist/cli/prompts/index.d.ts +0 -2
  59. package/dist/cli/prompts/index.d.ts.map +0 -1
  60. package/dist/cli/prompts/index.js +0 -18
  61. package/dist/cli/prompts/index.js.map +0 -1
  62. package/dist/cli/prompts/project-setup.d.ts +0 -5
  63. package/dist/cli/prompts/project-setup.d.ts.map +0 -1
  64. package/dist/cli/prompts/project-setup.js +0 -359
  65. package/dist/cli/prompts/project-setup.js.map +0 -1
  66. package/dist/cli/utils/git.d.ts +0 -9
  67. package/dist/cli/utils/git.d.ts.map +0 -1
  68. package/dist/cli/utils/git.js +0 -77
  69. package/dist/cli/utils/git.js.map +0 -1
  70. package/dist/cli/utils/index.d.ts +0 -5
  71. package/dist/cli/utils/index.d.ts.map +0 -1
  72. package/dist/cli/utils/index.js +0 -21
  73. package/dist/cli/utils/index.js.map +0 -1
  74. package/dist/cli/utils/logger.d.ts +0 -16
  75. package/dist/cli/utils/logger.d.ts.map +0 -1
  76. package/dist/cli/utils/logger.js +0 -55
  77. package/dist/cli/utils/logger.js.map +0 -1
  78. package/dist/cli/utils/package-manager.d.ts +0 -8
  79. package/dist/cli/utils/package-manager.d.ts.map +0 -1
  80. package/dist/cli/utils/package-manager.js +0 -92
  81. package/dist/cli/utils/package-manager.js.map +0 -1
  82. package/dist/cli/utils/spinner.d.ts +0 -7
  83. package/dist/cli/utils/spinner.d.ts.map +0 -1
  84. package/dist/cli/utils/spinner.js +0 -48
  85. package/dist/cli/utils/spinner.js.map +0 -1
  86. package/dist/cli/validators/dependencies.d.ts +0 -15
  87. package/dist/cli/validators/dependencies.d.ts.map +0 -1
  88. package/dist/cli/validators/dependencies.js +0 -108
  89. package/dist/cli/validators/dependencies.js.map +0 -1
  90. package/dist/cli/validators/index.d.ts +0 -3
  91. package/dist/cli/validators/index.d.ts.map +0 -1
  92. package/dist/cli/validators/index.js +0 -19
  93. package/dist/cli/validators/index.js.map +0 -1
  94. package/dist/cli/validators/project-name.d.ts +0 -5
  95. package/dist/cli/validators/project-name.d.ts.map +0 -1
  96. package/dist/cli/validators/project-name.js +0 -151
  97. package/dist/cli/validators/project-name.js.map +0 -1
  98. package/dist/generators/file-processor.d.ts +0 -28
  99. package/dist/generators/file-processor.d.ts.map +0 -1
  100. package/dist/generators/file-processor.js +0 -224
  101. package/dist/generators/file-processor.js.map +0 -1
  102. package/dist/generators/index.d.ts +0 -4
  103. package/dist/generators/index.d.ts.map +0 -1
  104. package/dist/generators/index.js +0 -20
  105. package/dist/generators/index.js.map +0 -1
  106. package/dist/generators/package-installer.d.ts +0 -29
  107. package/dist/generators/package-installer.d.ts.map +0 -1
  108. package/dist/generators/package-installer.js +0 -177
  109. package/dist/generators/package-installer.js.map +0 -1
  110. package/dist/generators/template-generator.d.ts +0 -84
  111. package/dist/generators/template-generator.d.ts.map +0 -1
  112. package/dist/generators/template-generator.js +0 -937
  113. package/dist/generators/template-generator.js.map +0 -1
@@ -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"}
@@ -1,18 +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("./project-setup"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/prompts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
@@ -1,5 +0,0 @@
1
- import { ProjectConfig } from '../commands/create';
2
- export declare function getProjectPrompts(initialConfig: ProjectConfig): Promise<ProjectConfig>;
3
- export declare function getAuthSetupPrompts(authProvider: string): Promise<any>;
4
- export declare function getThemeCustomizationPrompts(theme: string): Promise<any>;
5
- //# sourceMappingURL=project-setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-setup.d.ts","sourceRoot":"","sources":["../../../src/cli/prompts/project-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAe,MAAM,oBAAoB,CAAC;AA0BhE,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA2P5F;AAED,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,gBAkD7D;AAED,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,MAAM,gBA+B/D"}
@@ -1,359 +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.getProjectPrompts = getProjectPrompts;
7
- exports.getAuthSetupPrompts = getAuthSetupPrompts;
8
- exports.getThemeCustomizationPrompts = getThemeCustomizationPrompts;
9
- const inquirer_1 = __importDefault(require("inquirer"));
10
- const project_name_1 = require("../validators/project-name");
11
- const logger_1 = require("../utils/logger");
12
- /**
13
- * Tier descriptions for the CLI selection
14
- */
15
- const TIER_CHOICES = [
16
- {
17
- name: '🚀 Micro - Single feature MVP (auth only, minimal deps)',
18
- value: 'micro',
19
- },
20
- {
21
- name: '💼 Starter - Basic SaaS (auth + payments) [Recommended]',
22
- value: 'starter',
23
- },
24
- {
25
- name: '⚡ Pro - Full SaaS (auth + payments + AI)',
26
- value: 'pro',
27
- },
28
- {
29
- name: '🏢 Enterprise - Full platform (all features + observability)',
30
- value: 'enterprise',
31
- },
32
- ];
33
- async function getProjectPrompts(initialConfig) {
34
- logger_1.logger.title('🛠️ Project Configuration');
35
- const questions = [
36
- {
37
- type: 'input',
38
- name: 'name',
39
- message: 'Project name:',
40
- default: initialConfig.name,
41
- validate: (input) => {
42
- if (!(0, project_name_1.validateProjectName)(input)) {
43
- const suggestion = (0, project_name_1.suggestProjectName)(input);
44
- return `Invalid project name. Try: ${suggestion}`;
45
- }
46
- return true;
47
- },
48
- filter: (input) => input.trim(),
49
- },
50
- {
51
- type: 'list',
52
- name: 'platform',
53
- message: 'Select platform:',
54
- choices: [
55
- { name: '🌐 Web (Next.js)', value: 'web' },
56
- { name: '📱 Mobile (Expo)', value: 'mobile' },
57
- { name: '🚀 Both (Full-stack)', value: 'both' },
58
- ],
59
- default: initialConfig.platform,
60
- },
61
- {
62
- type: 'list',
63
- name: 'tier',
64
- message: 'Select project tier:',
65
- choices: TIER_CHOICES,
66
- default: initialConfig.tier || 'starter',
67
- },
68
- {
69
- type: 'list',
70
- name: 'template',
71
- message: 'Select template:',
72
- choices: (answers) => {
73
- if (answers.platform === 'web') {
74
- return [
75
- // ═══════════════════════════════════════════════════════════════
76
- // STARTER TEMPLATES (Recommended for new projects)
77
- // ═══════════════════════════════════════════════════════════════
78
- new inquirer_1.default.Separator('─── Starter Templates ───'),
79
- {
80
- name: '💼 Micro-SaaS - Single feature MVP (subscriptions, analytics)',
81
- value: 'micro-saas',
82
- },
83
- {
84
- name: '💳 UI + Auth + Payments - Complete SaaS foundation [Recommended]',
85
- value: 'ui-auth-payments',
86
- },
87
- // ═══════════════════════════════════════════════════════════════
88
- // VERTICAL TEMPLATES (Industry-specific)
89
- // ═══════════════════════════════════════════════════════════════
90
- new inquirer_1.default.Separator('─── Vertical Templates ───'),
91
- {
92
- name: '🛒 Marketplace - Multi-vendor platform (products, orders, vendors)',
93
- value: 'marketplace',
94
- },
95
- {
96
- name: '🤖 AI Platform - LLM-powered SaaS (chat, model selection)',
97
- value: 'ai-platform',
98
- },
99
- {
100
- name: '📡 IoT Dashboard - Device monitoring & telemetry',
101
- value: 'iot-dashboard',
102
- },
103
- // ═══════════════════════════════════════════════════════════════
104
- // CORE TEMPLATES (Building blocks)
105
- // ═══════════════════════════════════════════════════════════════
106
- new inquirer_1.default.Separator('─── Core Templates ───'),
107
- {
108
- name: '📄 Base - Clean Next.js 15 starter',
109
- value: 'base',
110
- },
111
- {
112
- name: '🎨 UI Only - Components library showcase (no auth)',
113
- value: 'ui-only',
114
- },
115
- {
116
- name: '🔐 UI + Auth - Modern authentication flow',
117
- value: 'ui-auth',
118
- },
119
- // ═══════════════════════════════════════════════════════════════
120
- // AI-POWERED TEMPLATES
121
- // ═══════════════════════════════════════════════════════════════
122
- new inquirer_1.default.Separator('─── AI-Powered Templates ───'),
123
- {
124
- name: '🤖 AI + Auth - Text & chat AI integration',
125
- value: 'ui-auth-ai',
126
- },
127
- {
128
- name: '🤖 AI + Auth + Payments - Full AI SaaS platform',
129
- value: 'ui-auth-payments-ai',
130
- },
131
- // ═══════════════════════════════════════════════════════════════
132
- // MEDIA TEMPLATES
133
- // ═══════════════════════════════════════════════════════════════
134
- new inquirer_1.default.Separator('─── Media Templates ───'),
135
- {
136
- name: '🎵 Audio SaaS - Music streaming & audio processing',
137
- value: 'ui-auth-payments-audio',
138
- },
139
- {
140
- name: '🎬 Video SaaS - Video streaming & media platform',
141
- value: 'ui-auth-payments-video',
142
- },
143
- // ═══════════════════════════════════════════════════════════════
144
- // DEVELOPMENT TEMPLATES
145
- // ═══════════════════════════════════════════════════════════════
146
- new inquirer_1.default.Separator('─── Development Templates ───'),
147
- {
148
- name: '🧪 UI Package Test - Component testing environment',
149
- value: 'ui-package-test',
150
- },
151
- ];
152
- }
153
- else if (answers.platform === 'mobile') {
154
- return [
155
- {
156
- name: '📱 Base - React Native + Expo starter',
157
- value: 'base',
158
- },
159
- {
160
- name: '💳 UI + Auth + Payments - Full mobile SaaS (v0.22.0)',
161
- value: 'ui-auth-payments',
162
- },
163
- {
164
- name: '🤖 AI + Auth + Payments - Mobile AI SaaS with generation tools',
165
- value: 'ui-auth-payments-ai',
166
- },
167
- ];
168
- }
169
- else {
170
- // Both platform - show available cross-platform options
171
- return [
172
- {
173
- name: '🚀 Full Stack - Web + Mobile SaaS platform',
174
- value: 'ui-auth-payments',
175
- },
176
- {
177
- name: '🤖 AI Full Stack - Web + Mobile AI platform',
178
- value: 'ui-auth-payments-ai',
179
- },
180
- ];
181
- }
182
- },
183
- default: initialConfig.template,
184
- },
185
- {
186
- type: 'list',
187
- name: 'auth',
188
- message: 'Select authentication provider:',
189
- choices: [
190
- { name: '🔑 Keycloak - Self-hosted OIDC (recommended)', value: 'keycloak' },
191
- { name: '⚡ Supabase - Open source alternative', value: 'supabase' },
192
- { name: "🔥 Firebase - Google's platform", value: 'firebase' },
193
- ],
194
- default: initialConfig.auth,
195
- },
196
- {
197
- type: 'list',
198
- name: 'database',
199
- message: 'Select database provider:',
200
- choices: (answers) => {
201
- const choices = [
202
- {
203
- name: '🐘 PostgreSQL + Drizzle - Self-hosted, full control (recommended)',
204
- value: 'postgresql',
205
- },
206
- { name: '⚡ Supabase - PostgreSQL with real-time & dashboard', value: 'supabase' },
207
- { name: '🔥 Firebase - NoSQL with real-time', value: 'firebase' },
208
- ];
209
- // For Firebase auth, suggest Firebase DB first
210
- if (answers.auth === 'firebase') {
211
- return choices.reverse();
212
- }
213
- return choices;
214
- },
215
- default: (answers) => {
216
- // Keycloak pairs best with self-hosted PostgreSQL
217
- if (answers.auth === 'keycloak')
218
- return 'postgresql';
219
- if (answers.auth === 'firebase')
220
- return 'firebase';
221
- return 'supabase';
222
- },
223
- },
224
- {
225
- type: 'list',
226
- name: 'theme',
227
- message: 'Select theme:',
228
- choices: [
229
- { name: '🎨 Default - Clean and modern', value: 'default' },
230
- { name: '🏢 Corporate - Professional business theme', value: 'corporate' },
231
- { name: '🚀 Startup - Bold and innovative', value: 'startup' },
232
- ],
233
- default: initialConfig.theme,
234
- },
235
- {
236
- type: 'list',
237
- name: 'themeColor',
238
- message: 'Select theme color:',
239
- choices: [
240
- { name: '🔵 Blue - Classic and trustworthy', value: 'blue' },
241
- { name: '🟢 Green - Fresh and natural', value: 'green' },
242
- { name: '🟣 Purple - Creative and modern', value: 'purple' },
243
- { name: '🟠 Orange - Energetic and friendly', value: 'orange' },
244
- { name: '🔴 Red - Bold and attention-grabbing', value: 'red' },
245
- { name: '⚫ Slate - Professional and minimal', value: 'slate' },
246
- ],
247
- default: initialConfig.themeColor,
248
- },
249
- {
250
- type: 'list',
251
- name: 'defaultTheme',
252
- message: 'Select default theme mode:',
253
- choices: [
254
- { name: '🌙 System - Follow system preference', value: 'system' },
255
- { name: '☀️ Light - Always light mode', value: 'light' },
256
- { name: '🌙 Dark - Always dark mode', value: 'dark' },
257
- ],
258
- default: initialConfig.defaultTheme,
259
- },
260
- {
261
- type: 'confirm',
262
- name: 'install',
263
- message: 'Install dependencies?',
264
- default: initialConfig.install,
265
- },
266
- {
267
- type: 'confirm',
268
- name: 'git',
269
- message: 'Initialize git repository?',
270
- default: initialConfig.git,
271
- },
272
- ];
273
- const answers = await inquirer_1.default.prompt(questions);
274
- return {
275
- ...initialConfig,
276
- ...answers,
277
- };
278
- }
279
- async function getAuthSetupPrompts(authProvider) {
280
- logger_1.logger.title(`🔐 ${authProvider} Configuration`);
281
- if (authProvider === 'firebase') {
282
- const questions = [
283
- {
284
- type: 'input',
285
- name: 'projectId',
286
- message: 'Firebase Project ID:',
287
- validate: (input) => input.length > 0 || 'Project ID is required',
288
- },
289
- {
290
- type: 'input',
291
- name: 'apiKey',
292
- message: 'Firebase API Key:',
293
- validate: (input) => input.length > 0 || 'API Key is required',
294
- },
295
- {
296
- type: 'input',
297
- name: 'authDomain',
298
- message: 'Firebase Auth Domain:',
299
- validate: (input) => input.length > 0 || 'Auth Domain is required',
300
- },
301
- ];
302
- return await inquirer_1.default.prompt(questions);
303
- }
304
- else if (authProvider === 'supabase') {
305
- const questions = [
306
- {
307
- type: 'input',
308
- name: 'url',
309
- message: 'Supabase URL:',
310
- validate: (input) => {
311
- if (!input.length)
312
- return 'URL is required';
313
- if (!input.startsWith('https://'))
314
- return 'URL must start with https://';
315
- return true;
316
- },
317
- },
318
- {
319
- type: 'input',
320
- name: 'anonKey',
321
- message: 'Supabase Anon Key:',
322
- validate: (input) => input.length > 0 || 'Anon Key is required',
323
- },
324
- ];
325
- return await inquirer_1.default.prompt(questions);
326
- }
327
- return {};
328
- }
329
- async function getThemeCustomizationPrompts(theme) {
330
- logger_1.logger.title(`🎨 ${theme} Theme Customization`);
331
- const questions = [
332
- {
333
- type: 'input',
334
- name: 'primaryColor',
335
- message: 'Primary color (hex):',
336
- default: theme === 'corporate' ? '#1e40af' : theme === 'startup' ? '#7c3aed' : '#3b82f6',
337
- validate: (input) => {
338
- if (!/^#[0-9A-F]{6}$/i.test(input)) {
339
- return 'Please enter a valid hex color (e.g., #3b82f6)';
340
- }
341
- return true;
342
- },
343
- },
344
- {
345
- type: 'input',
346
- name: 'fontFamily',
347
- message: 'Font family:',
348
- default: theme === 'corporate' ? 'Inter' : theme === 'startup' ? 'Poppins' : 'System UI',
349
- },
350
- {
351
- type: 'confirm',
352
- name: 'darkMode',
353
- message: 'Enable dark mode support?',
354
- default: true,
355
- },
356
- ];
357
- return await inquirer_1.default.prompt(questions);
358
- }
359
- //# sourceMappingURL=project-setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../../../src/cli/prompts/project-setup.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export declare function initializeGit(projectPath: string): Promise<void>;
2
- export declare function isGitRepository(projectPath: string): Promise<boolean>;
3
- export declare function getGitUserInfo(): Promise<{
4
- name?: string;
5
- email?: string;
6
- }>;
7
- export declare function hasGitChanges(projectPath: string): Promise<boolean>;
8
- export declare function commitChanges(projectPath: string, message: string): Promise<void>;
9
- //# sourceMappingURL=git.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/git.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtE;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAcjF;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzE;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvF"}