@digilogiclabs/create-saas-app 1.19.9 → 2.0.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.
- package/CHANGELOG.md +27 -317
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/commands/create.d.ts +10 -0
- package/dist/cli/commands/create.d.ts.map +1 -1
- package/dist/cli/commands/create.js +10 -0
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/prompts/project-setup.d.ts.map +1 -1
- package/dist/cli/prompts/project-setup.js +28 -0
- package/dist/cli/prompts/project-setup.js.map +1 -1
- package/dist/generators/package-installer.d.ts.map +1 -1
- package/dist/generators/package-installer.js +11 -1
- package/dist/generators/package-installer.js.map +1 -1
- package/dist/generators/template-generator.d.ts +13 -1
- package/dist/generators/template-generator.d.ts.map +1 -1
- package/dist/generators/template-generator.js +128 -52
- package/dist/generators/template-generator.js.map +1 -1
- package/dist/templates/mobile/base/template/App.tsx +11 -5
- package/dist/templates/mobile/base/template/babel.config.js +6 -0
- package/dist/templates/mobile/base/template/package.json +4 -4
- package/dist/templates/mobile/ui-auth-payments/template/app/_layout.tsx +11 -4
- package/dist/templates/mobile/ui-auth-payments/template/package.json +5 -5
- package/dist/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +11 -4
- package/dist/templates/mobile/ui-auth-payments-ai/template/package.json +5 -5
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +134 -0
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +5 -5
- package/dist/templates/web/base/template/package.json +5 -4
- package/dist/templates/web/base/template/src/lib/platform.ts +146 -0
- package/dist/templates/web/ui-auth/template/package.json +4 -3
- package/dist/templates/web/ui-auth/template/src/lib/platform.ts +137 -0
- package/dist/templates/web/ui-auth-payments/template/.env.example +51 -15
- package/dist/templates/web/ui-auth-payments/template/package.json +5 -4
- package/dist/templates/web/ui-auth-payments/template/src/lib/platform.ts +146 -0
- package/dist/templates/web/ui-auth-payments-ai/template/.env.example +60 -22
- package/dist/templates/web/ui-auth-payments-ai/template/package.json +6 -5
- package/dist/templates/web/ui-auth-payments-ai/template/src/lib/platform.ts +155 -0
- package/package.json +6 -6
- package/src/templates/mobile/base/template/App.tsx +11 -5
- package/src/templates/mobile/base/template/babel.config.js +6 -0
- package/src/templates/mobile/base/template/package.json +4 -4
- package/src/templates/mobile/ui-auth-payments/template/app/_layout.tsx +11 -4
- package/src/templates/mobile/ui-auth-payments/template/package.json +5 -5
- package/src/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +11 -4
- package/src/templates/mobile/ui-auth-payments-ai/template/package.json +5 -5
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +134 -0
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +5 -5
- package/src/templates/web/base/template/package.json +5 -4
- package/src/templates/web/base/template/src/lib/platform.ts +146 -0
- package/src/templates/web/ui-auth/template/package.json +4 -3
- package/src/templates/web/ui-auth/template/src/lib/platform.ts +137 -0
- package/src/templates/web/ui-auth-payments/template/.env.example +51 -15
- package/src/templates/web/ui-auth-payments/template/package.json +5 -4
- package/src/templates/web/ui-auth-payments/template/src/lib/platform.ts +146 -0
- package/src/templates/web/ui-auth-payments-ai/template/.env.example +60 -22
- package/src/templates/web/ui-auth-payments-ai/template/package.json +6 -5
- package/src/templates/web/ui-auth-payments-ai/template/src/lib/platform.ts +155 -0
- package/bin/index.js +0 -36
|
@@ -4,16 +4,26 @@ interface CreateOptions {
|
|
|
4
4
|
theme?: string;
|
|
5
5
|
themeColor?: string;
|
|
6
6
|
defaultTheme?: string;
|
|
7
|
+
tier?: string;
|
|
7
8
|
withAi?: string | boolean;
|
|
8
9
|
aiProvider?: string;
|
|
9
10
|
install?: boolean;
|
|
10
11
|
git?: boolean;
|
|
11
12
|
yes?: boolean;
|
|
12
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Project tier determines the scope and feature set of the generated project.
|
|
16
|
+
* - micro: Single feature MVP (auth only, minimal deps)
|
|
17
|
+
* - starter: Basic SaaS (auth + payments)
|
|
18
|
+
* - pro: Full SaaS (auth + payments + AI)
|
|
19
|
+
* - enterprise: Full platform (all features + observability + workers)
|
|
20
|
+
*/
|
|
21
|
+
export type ProjectTier = 'micro' | 'starter' | 'pro' | 'enterprise';
|
|
13
22
|
export interface ProjectConfig {
|
|
14
23
|
platform: 'web' | 'mobile' | 'both';
|
|
15
24
|
template: string;
|
|
16
25
|
name: string;
|
|
26
|
+
tier: ProjectTier;
|
|
17
27
|
auth: 'firebase' | 'supabase';
|
|
18
28
|
database: 'supabase' | 'firebase';
|
|
19
29
|
theme: 'default' | 'corporate' | 'startup';
|
|
@@ -1 +1 @@
|
|
|
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,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,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,UAAU,GAAG,UAAU,CAAC;IAC9B,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,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,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,
|
|
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,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,CAAC;IAC9B,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,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,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,iBA+K7E"}
|
|
@@ -52,11 +52,20 @@ async function createProject(platform, template, name, options = {}) {
|
|
|
52
52
|
return 'ui-auth-payments-ai';
|
|
53
53
|
return baseTemplate || 'ui-auth-payments-ai';
|
|
54
54
|
};
|
|
55
|
+
// Determine tier from options or AI config
|
|
56
|
+
const determineTier = () => {
|
|
57
|
+
if (options.tier)
|
|
58
|
+
return options.tier;
|
|
59
|
+
if (aiConfig.enabled)
|
|
60
|
+
return 'pro';
|
|
61
|
+
return 'starter';
|
|
62
|
+
};
|
|
55
63
|
// Set up initial configuration
|
|
56
64
|
let config = {
|
|
57
65
|
platform: platform,
|
|
58
66
|
template: selectTemplateForAI(aiConfig.capabilities, template),
|
|
59
67
|
name: name || 'my-saas-app',
|
|
68
|
+
tier: determineTier(),
|
|
60
69
|
auth: options.auth || 'supabase',
|
|
61
70
|
database: options.database || 'supabase',
|
|
62
71
|
theme: options.theme || 'default',
|
|
@@ -86,6 +95,7 @@ async function createProject(platform, template, name, options = {}) {
|
|
|
86
95
|
// Display configuration
|
|
87
96
|
logger_1.logger.title('🚀 Creating your SaaS application');
|
|
88
97
|
logger_1.logger.info(`Platform: ${config.platform}`);
|
|
98
|
+
logger_1.logger.info(`Tier: ${config.tier}`);
|
|
89
99
|
logger_1.logger.info(`Template: ${config.template}`);
|
|
90
100
|
logger_1.logger.info(`Project: ${config.name}`);
|
|
91
101
|
logger_1.logger.info(`Auth: ${config.auth}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-setup.d.ts","sourceRoot":"","sources":["../../../src/cli/prompts/project-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,
|
|
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,CAiN5F;AAED,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,gBAkD7D;AAED,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,MAAM,gBA+B/D"}
|
|
@@ -9,6 +9,27 @@ exports.getThemeCustomizationPrompts = getThemeCustomizationPrompts;
|
|
|
9
9
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
10
10
|
const project_name_1 = require("../validators/project-name");
|
|
11
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
|
+
];
|
|
12
33
|
async function getProjectPrompts(initialConfig) {
|
|
13
34
|
logger_1.logger.title('🛠️ Project Configuration');
|
|
14
35
|
const questions = [
|
|
@@ -37,6 +58,13 @@ async function getProjectPrompts(initialConfig) {
|
|
|
37
58
|
],
|
|
38
59
|
default: initialConfig.platform,
|
|
39
60
|
},
|
|
61
|
+
{
|
|
62
|
+
type: 'list',
|
|
63
|
+
name: 'tier',
|
|
64
|
+
message: 'Select project tier:',
|
|
65
|
+
choices: TIER_CHOICES,
|
|
66
|
+
default: initialConfig.tier || 'starter',
|
|
67
|
+
},
|
|
40
68
|
{
|
|
41
69
|
type: 'list',
|
|
42
70
|
name: 'template',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../../../src/cli/prompts/project-setup.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../../../src/cli/prompts/project-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-installer.d.ts","sourceRoot":"","sources":["../../src/generators/package-installer.ts"],"names":[],"mappings":"AAUA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAIlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"package-installer.d.ts","sourceRoot":"","sources":["../../src/generators/package-installer.ts"],"names":[],"mappings":"AAUA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAIlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCxB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,GAAG,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCvE,iBAAiB,CAC5B,OAAO,EAAE,OAAO,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,GACD,OAAO,CAAC,IAAI,CAAC;IAoBH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzC,eAAe,IAAI,OAAO,CAAC;QACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,CAAC;IAeW,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAY/B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B3C"}
|
|
@@ -29,6 +29,10 @@ class PackageInstaller {
|
|
|
29
29
|
logger_1.logger.debug(`Installing dependencies with ${packageManager}...`);
|
|
30
30
|
// Get install command
|
|
31
31
|
const command = await (0, package_manager_1.getInstallCommand)(packageManager);
|
|
32
|
+
// Add --legacy-peer-deps flag for npm
|
|
33
|
+
if (packageManager === 'npm') {
|
|
34
|
+
command.push('--legacy-peer-deps');
|
|
35
|
+
}
|
|
32
36
|
// Run installation
|
|
33
37
|
await (0, execa_1.default)(command[0], command.slice(1), {
|
|
34
38
|
cwd: this.projectPath,
|
|
@@ -56,7 +60,13 @@ class PackageInstaller {
|
|
|
56
60
|
? ['yarn', 'add', ...(dev ? ['-D'] : []), ...dependencies]
|
|
57
61
|
: packageManager === 'pnpm'
|
|
58
62
|
? ['pnpm', 'add', ...(dev ? ['-D'] : []), ...dependencies]
|
|
59
|
-
: [
|
|
63
|
+
: [
|
|
64
|
+
'npm',
|
|
65
|
+
'install',
|
|
66
|
+
...(dev ? ['--save-dev'] : []),
|
|
67
|
+
'--legacy-peer-deps',
|
|
68
|
+
...dependencies,
|
|
69
|
+
];
|
|
60
70
|
// Run installation
|
|
61
71
|
await (0, execa_1.default)(command[0], command.slice(1), {
|
|
62
72
|
cwd: this.projectPath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-installer.js","sourceRoot":"","sources":["../../src/generators/package-installer.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,wDAA0B;AAC1B,kDAA0B;AAC1B,kEAIsC;AACtC,gDAA6C;AAE7C,MAAa,gBAAgB;IAG3B,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC;YACH,+BAA+B;YAC/B,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,yBAAyB;YACzB,MAAM,cAAc,GAAG,MAAM,IAAA,sCAAoB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEpE,sCAAsC;YACtC,IAAI,CAAC,CAAC,MAAM,IAAA,2CAAyB,EAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,oBAAoB,cAAc,oBAAoB,CAAC,CAAC;YAC1E,CAAC;YAED,eAAM,CAAC,KAAK,CAAC,gCAAgC,cAAc,KAAK,CAAC,CAAC;YAElE,sBAAsB;YACtB,MAAM,OAAO,GAAG,MAAM,IAAA,mCAAiB,EAAC,cAAc,CAAC,CAAC;YAExD,mBAAmB;YACnB,MAAM,IAAA,eAAK,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACxC,GAAG,EAAE,IAAI,CAAC,WAAW;gBACrB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,eAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,YAAsB,EAAE,GAAG,GAAG,KAAK;QAClE,IAAI,CAAC;YACH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAA,sCAAoB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEpE,IAAI,CAAC,CAAC,MAAM,IAAA,2CAAyB,EAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,oBAAoB,cAAc,oBAAoB,CAAC,CAAC;YAC1E,CAAC;YAED,eAAM,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAExF,kBAAkB;YAClB,MAAM,OAAO,GACX,cAAc,KAAK,MAAM;gBACvB,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC;gBAC1D,CAAC,CAAC,cAAc,KAAK,MAAM;oBACzB,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC;oBAC1D,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"package-installer.js","sourceRoot":"","sources":["../../src/generators/package-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ProjectConfig } from '../cli/commands/create';
|
|
1
|
+
import { ProjectConfig, ProjectTier } from '../cli/commands/create';
|
|
2
2
|
export interface TemplateContext {
|
|
3
3
|
projectName: string;
|
|
4
4
|
platform: string;
|
|
5
5
|
template: string;
|
|
6
|
+
tier: ProjectTier;
|
|
6
7
|
auth: string;
|
|
7
8
|
database: string;
|
|
8
9
|
theme: string;
|
|
@@ -16,6 +17,15 @@ export interface TemplateContext {
|
|
|
16
17
|
hasAudio: boolean;
|
|
17
18
|
hasVideo: boolean;
|
|
18
19
|
};
|
|
20
|
+
features: {
|
|
21
|
+
platformCore: boolean;
|
|
22
|
+
appSdk: boolean;
|
|
23
|
+
auth: boolean;
|
|
24
|
+
payments: boolean;
|
|
25
|
+
ai: boolean;
|
|
26
|
+
observability: boolean;
|
|
27
|
+
workers: boolean;
|
|
28
|
+
};
|
|
19
29
|
packageName: string;
|
|
20
30
|
className: string;
|
|
21
31
|
camelCaseName: string;
|
|
@@ -27,6 +37,8 @@ export interface TemplateContext {
|
|
|
27
37
|
year: number;
|
|
28
38
|
generatedDate: string;
|
|
29
39
|
generatorVersion: string;
|
|
40
|
+
platformCoreVersion: string;
|
|
41
|
+
appSdkVersion: string;
|
|
30
42
|
uiVersion: string;
|
|
31
43
|
authVersion: string;
|
|
32
44
|
paymentsVersion: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-generator.d.ts","sourceRoot":"","sources":["../../src/generators/template-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"template-generator.d.ts","sourceRoot":"","sources":["../../src/generators/template-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAyDpE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE;QACF,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,QAAQ,EAAE;QACR,YAAY,EAAE,OAAO,CAAC;QACtB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,EAAE,EAAE,OAAO,CAAC;QACZ,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,aAAa;IASjC,OAAO,CAAC,qBAAqB;IAyE7B,OAAO,CAAC,eAAe;IA2GvB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,UAAU;IAwBL,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAyB1C,kBAAkB;YAKlB,qBAAqB;YA4BrB,YAAY;YASZ,mBAAmB;YA2EnB,mBAAmB;IAsBjC,OAAO,CAAC,wBAAwB;IAqDhC,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;YAQL,kBAAkB;CAmBjC"}
|
|
@@ -9,6 +9,48 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
9
9
|
const mustache_1 = __importDefault(require("mustache"));
|
|
10
10
|
const glob_1 = require("glob");
|
|
11
11
|
const logger_1 = require("../cli/utils/logger");
|
|
12
|
+
/**
|
|
13
|
+
* Tier-based feature configuration
|
|
14
|
+
* Determines which DLL packages and features are included per tier
|
|
15
|
+
*/
|
|
16
|
+
const TIER_FEATURES = {
|
|
17
|
+
micro: {
|
|
18
|
+
platformCore: true,
|
|
19
|
+
appSdk: true,
|
|
20
|
+
auth: true,
|
|
21
|
+
payments: false,
|
|
22
|
+
ai: false,
|
|
23
|
+
observability: false,
|
|
24
|
+
workers: false,
|
|
25
|
+
},
|
|
26
|
+
starter: {
|
|
27
|
+
platformCore: true,
|
|
28
|
+
appSdk: true,
|
|
29
|
+
auth: true,
|
|
30
|
+
payments: true,
|
|
31
|
+
ai: false,
|
|
32
|
+
observability: false,
|
|
33
|
+
workers: false,
|
|
34
|
+
},
|
|
35
|
+
pro: {
|
|
36
|
+
platformCore: true,
|
|
37
|
+
appSdk: true,
|
|
38
|
+
auth: true,
|
|
39
|
+
payments: true,
|
|
40
|
+
ai: true,
|
|
41
|
+
observability: true,
|
|
42
|
+
workers: false,
|
|
43
|
+
},
|
|
44
|
+
enterprise: {
|
|
45
|
+
platformCore: true,
|
|
46
|
+
appSdk: true,
|
|
47
|
+
auth: true,
|
|
48
|
+
payments: true,
|
|
49
|
+
ai: true,
|
|
50
|
+
observability: true,
|
|
51
|
+
workers: true,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
12
54
|
class TemplateGenerator {
|
|
13
55
|
constructor(config) {
|
|
14
56
|
this.config = config;
|
|
@@ -26,44 +68,59 @@ class TemplateGenerator {
|
|
|
26
68
|
const kebabCaseName = packageName;
|
|
27
69
|
const titleCaseName = this.toTitleCase(projectName);
|
|
28
70
|
const slugNameCamelCase = this.toCamelCase(packageName);
|
|
71
|
+
// Get tier features
|
|
72
|
+
const tier = this.config.tier || 'starter';
|
|
73
|
+
const features = TIER_FEATURES[tier];
|
|
29
74
|
const dependencies = this.getDependencies();
|
|
30
75
|
const generatedDate = new Date().toLocaleDateString('en-US', {
|
|
31
76
|
year: 'numeric',
|
|
32
77
|
month: 'short',
|
|
33
78
|
day: 'numeric',
|
|
34
79
|
});
|
|
80
|
+
// Determine tier description for template
|
|
81
|
+
const tierDescriptions = {
|
|
82
|
+
micro: 'minimal',
|
|
83
|
+
starter: 'standard',
|
|
84
|
+
pro: 'AI-powered',
|
|
85
|
+
enterprise: 'enterprise-grade',
|
|
86
|
+
};
|
|
35
87
|
return {
|
|
36
88
|
projectName,
|
|
37
89
|
platform: this.config.platform,
|
|
38
90
|
template: this.config.template,
|
|
91
|
+
tier,
|
|
39
92
|
auth: this.config.auth,
|
|
40
93
|
database: this.config.database,
|
|
41
94
|
theme: this.config.theme,
|
|
42
95
|
themeColor: this.config.themeColor,
|
|
43
96
|
defaultTheme: this.config.defaultTheme,
|
|
44
97
|
ai: {
|
|
45
|
-
enabled: this.config.ai.enabled,
|
|
98
|
+
enabled: this.config.ai.enabled || features.ai,
|
|
46
99
|
capabilities: this.config.ai.capabilities,
|
|
47
100
|
provider: this.config.ai.provider,
|
|
48
101
|
hasText: this.config.ai.capabilities.includes('text'),
|
|
49
102
|
hasAudio: this.config.ai.capabilities.includes('audio'),
|
|
50
103
|
hasVideo: this.config.ai.capabilities.includes('video'),
|
|
51
104
|
},
|
|
105
|
+
features,
|
|
52
106
|
packageName,
|
|
53
107
|
className,
|
|
54
108
|
camelCaseName,
|
|
55
109
|
kebabCaseName,
|
|
56
110
|
titleCaseName,
|
|
57
111
|
slugNameCamelCase,
|
|
58
|
-
description: `A
|
|
112
|
+
description: `A ${tierDescriptions[tier]} SaaS application built with DLL Platform`,
|
|
59
113
|
author: 'Digi Logic Labs',
|
|
60
114
|
year: new Date().getFullYear(),
|
|
61
115
|
generatedDate,
|
|
62
|
-
generatorVersion: '
|
|
63
|
-
|
|
116
|
+
generatorVersion: '2.0.0',
|
|
117
|
+
// DLL package versions
|
|
118
|
+
platformCoreVersion: dependencies['@digilogiclabs/platform-core']?.replace('^', '') || '1.1.0',
|
|
119
|
+
appSdkVersion: dependencies['@digilogiclabs/app-sdk']?.replace('^', '') || '1.0.0',
|
|
120
|
+
uiVersion: dependencies['@digilogiclabs/saas-factory-ui']?.replace('^', '') || '1.0.1',
|
|
64
121
|
authVersion: dependencies['@digilogiclabs/saas-factory-auth']?.replace('^', '') || '1.0.0',
|
|
65
122
|
paymentsVersion: dependencies['@digilogiclabs/saas-factory-payments']?.replace('^', '') || '1.0.0',
|
|
66
|
-
aiVersion: dependencies['@digilogiclabs/saas-factory-ai']?.replace('^', '') || '
|
|
123
|
+
aiVersion: dependencies['@digilogiclabs/saas-factory-ai']?.replace('^', '') || '1.0.0',
|
|
67
124
|
dependencies,
|
|
68
125
|
devDependencies: this.getDevDependencies(),
|
|
69
126
|
scripts: this.getScripts(),
|
|
@@ -71,7 +128,20 @@ class TemplateGenerator {
|
|
|
71
128
|
}
|
|
72
129
|
getDependencies() {
|
|
73
130
|
const baseDeps = {};
|
|
74
|
-
|
|
131
|
+
const tier = this.config.tier || 'starter';
|
|
132
|
+
const features = TIER_FEATURES[tier];
|
|
133
|
+
// ═══════════════════════════════════════════════════════════════
|
|
134
|
+
// DLL PLATFORM CORE PACKAGES (tier-based)
|
|
135
|
+
// ═══════════════════════════════════════════════════════════════
|
|
136
|
+
// Platform Core - Always included for all tiers (infrastructure abstraction)
|
|
137
|
+
if (features.platformCore) {
|
|
138
|
+
baseDeps['@digilogiclabs/platform-core'] = '^1.1.0';
|
|
139
|
+
}
|
|
140
|
+
// App SDK - Always included for React apps (unified hooks)
|
|
141
|
+
if (features.appSdk && (this.config.platform === 'web' || this.config.platform === 'both')) {
|
|
142
|
+
baseDeps['@digilogiclabs/app-sdk'] = '^1.0.0';
|
|
143
|
+
}
|
|
144
|
+
// UI Components - included for most templates
|
|
75
145
|
if ([
|
|
76
146
|
'ui-only',
|
|
77
147
|
'ui-auth',
|
|
@@ -81,84 +151,90 @@ class TemplateGenerator {
|
|
|
81
151
|
'ui-auth-payments-ai',
|
|
82
152
|
'ui-auth-payments-ai-rag',
|
|
83
153
|
].includes(this.config.template)) {
|
|
84
|
-
baseDeps['@digilogiclabs/saas-factory-ui'] = '^0.
|
|
154
|
+
baseDeps['@digilogiclabs/saas-factory-ui'] = '^1.0.1';
|
|
85
155
|
}
|
|
86
|
-
//
|
|
87
|
-
if (
|
|
88
|
-
'ui-auth',
|
|
89
|
-
'ui-auth-payments',
|
|
90
|
-
'ui-auth-payments-audio',
|
|
91
|
-
'ui-auth-payments-video',
|
|
92
|
-
'ui-auth-payments-ai',
|
|
93
|
-
'ui-auth-payments-ai-rag',
|
|
94
|
-
].includes(this.config.template)) {
|
|
156
|
+
// Auth package (tier: micro+)
|
|
157
|
+
if (features.auth && this.config.template !== 'base' && this.config.template !== 'ui-only') {
|
|
95
158
|
baseDeps['@digilogiclabs/saas-factory-auth'] = '^1.0.0';
|
|
96
159
|
}
|
|
97
|
-
//
|
|
98
|
-
if (
|
|
99
|
-
'
|
|
100
|
-
'ui-auth-payments-audio',
|
|
101
|
-
'ui-auth-payments-video',
|
|
102
|
-
'ui-auth-payments-ai',
|
|
103
|
-
'ui-auth-payments-ai-rag',
|
|
104
|
-
].includes(this.config.template)) {
|
|
160
|
+
// Payments package (tier: starter+)
|
|
161
|
+
if (features.payments &&
|
|
162
|
+
(this.config.template.includes('payments') || ['starter', 'pro', 'enterprise'].includes(tier))) {
|
|
105
163
|
baseDeps['@digilogiclabs/saas-factory-payments'] = '^1.0.0';
|
|
106
164
|
}
|
|
107
|
-
//
|
|
108
|
-
if (this.config.ai.enabled || this.config.template.includes('-ai
|
|
109
|
-
baseDeps['@digilogiclabs/saas-factory-ai'] = '^
|
|
110
|
-
baseDeps['@digilogiclabs/saas-factory-ai-types'] = '^
|
|
165
|
+
// AI packages (tier: pro+)
|
|
166
|
+
if (features.ai && (this.config.ai.enabled || this.config.template.includes('-ai'))) {
|
|
167
|
+
baseDeps['@digilogiclabs/saas-factory-ai'] = '^1.0.0';
|
|
168
|
+
baseDeps['@digilogiclabs/saas-factory-ai-types'] = '^1.0.0';
|
|
111
169
|
}
|
|
170
|
+
// ═══════════════════════════════════════════════════════════════
|
|
171
|
+
// PLATFORM DEPENDENCIES (web/mobile)
|
|
172
|
+
// ═══════════════════════════════════════════════════════════════
|
|
112
173
|
if (this.config.platform === 'web' || this.config.platform === 'both') {
|
|
113
174
|
Object.assign(baseDeps, {
|
|
114
175
|
next: '^15.0.0',
|
|
115
176
|
react: '^19.0.0',
|
|
116
177
|
'react-dom': '^19.0.0',
|
|
117
|
-
tailwindcss: '^
|
|
118
|
-
typescript: '^5.
|
|
178
|
+
tailwindcss: '^4.0.0',
|
|
179
|
+
typescript: '^5.7.0',
|
|
119
180
|
clsx: '^2.0.0',
|
|
120
181
|
'class-variance-authority': '^0.7.0',
|
|
121
182
|
'tailwind-merge': '^2.0.0',
|
|
122
|
-
'next-themes': '^0.
|
|
123
|
-
'lucide-react': '^0.
|
|
124
|
-
autoprefixer: '^10.4.16',
|
|
125
|
-
postcss: '^8.4.31',
|
|
183
|
+
'next-themes': '^0.4.0',
|
|
184
|
+
'lucide-react': '^0.460.0',
|
|
126
185
|
});
|
|
127
186
|
}
|
|
128
187
|
if (this.config.platform === 'mobile' || this.config.platform === 'both') {
|
|
129
188
|
Object.assign(baseDeps, {
|
|
130
|
-
expo: '~
|
|
131
|
-
'react-native': '0.
|
|
189
|
+
expo: '~52.0.0',
|
|
190
|
+
'react-native': '0.76.0',
|
|
132
191
|
'@expo/vector-icons': '^14.0.0',
|
|
133
|
-
'@react-navigation/native': '^
|
|
134
|
-
'@react-navigation/bottom-tabs': '^
|
|
135
|
-
'react-native-screens': '~
|
|
136
|
-
'react-native-safe-area-context': '4.
|
|
137
|
-
'react-native-gesture-handler': '~2.
|
|
138
|
-
'expo-router': '~
|
|
139
|
-
'@stripe/stripe-react-native': '0.37.2',
|
|
192
|
+
'@react-navigation/native': '^7.0.0',
|
|
193
|
+
'@react-navigation/bottom-tabs': '^7.0.0',
|
|
194
|
+
'react-native-screens': '~4.0.0',
|
|
195
|
+
'react-native-safe-area-context': '4.12.0',
|
|
196
|
+
'react-native-gesture-handler': '~2.20.0',
|
|
197
|
+
'expo-router': '~4.0.0',
|
|
140
198
|
});
|
|
199
|
+
// Stripe for mobile if payments enabled
|
|
200
|
+
if (features.payments) {
|
|
201
|
+
baseDeps['@stripe/stripe-react-native'] = '^0.39.0';
|
|
202
|
+
}
|
|
141
203
|
}
|
|
204
|
+
// ═══════════════════════════════════════════════════════════════
|
|
205
|
+
// AUTH PROVIDER SDKS
|
|
206
|
+
// ═══════════════════════════════════════════════════════════════
|
|
142
207
|
if (this.config.auth === 'firebase') {
|
|
143
|
-
baseDeps['firebase'] = '^
|
|
208
|
+
baseDeps['firebase'] = '^11.0.0';
|
|
144
209
|
}
|
|
145
210
|
else if (this.config.auth === 'supabase') {
|
|
146
|
-
baseDeps['@supabase/supabase-js'] = '^2.
|
|
211
|
+
baseDeps['@supabase/supabase-js'] = '^2.46.0';
|
|
212
|
+
if (this.config.platform === 'web' || this.config.platform === 'both') {
|
|
213
|
+
baseDeps['@supabase/ssr'] = '^0.5.0';
|
|
214
|
+
}
|
|
147
215
|
}
|
|
148
216
|
return baseDeps;
|
|
149
217
|
}
|
|
150
218
|
getDevDependencies() {
|
|
151
219
|
const baseDeps = {
|
|
152
|
-
'@types/node': '^
|
|
153
|
-
eslint: '^
|
|
154
|
-
prettier: '^3.
|
|
220
|
+
'@types/node': '^22.0.0',
|
|
221
|
+
eslint: '^9.0.0',
|
|
222
|
+
prettier: '^3.4.0',
|
|
223
|
+
typescript: '^5.7.0',
|
|
155
224
|
};
|
|
156
225
|
if (this.config.platform === 'web' || this.config.platform === 'both') {
|
|
157
226
|
Object.assign(baseDeps, {
|
|
158
|
-
'@types/react': '^
|
|
159
|
-
'@types/react-dom': '^
|
|
160
|
-
|
|
161
|
-
|
|
227
|
+
'@types/react': '^19.0.0',
|
|
228
|
+
'@types/react-dom': '^19.0.0',
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
// Add testing dependencies for pro+ tiers
|
|
232
|
+
const tier = this.config.tier || 'starter';
|
|
233
|
+
if (['pro', 'enterprise'].includes(tier)) {
|
|
234
|
+
Object.assign(baseDeps, {
|
|
235
|
+
vitest: '^2.1.0',
|
|
236
|
+
'@testing-library/react': '^16.0.0',
|
|
237
|
+
'@testing-library/jest-dom': '^6.6.0',
|
|
162
238
|
});
|
|
163
239
|
}
|
|
164
240
|
return baseDeps;
|