@launchframe/cli 1.0.0-beta.6 → 1.0.0-beta.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchframe/cli",
3
- "version": "1.0.0-beta.6",
3
+ "version": "1.0.0-beta.8",
4
4
  "description": "Production-ready B2B SaaS boilerplate with subscriptions, credits, and multi-tenancy",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -71,16 +71,25 @@ async function deployConfigure() {
71
71
  'admin-portal/public/env-config.js',
72
72
  'admin-portal/src/config/runtime.ts',
73
73
  'admin-portal/src/config/pageMetadata.ts',
74
- 'admin-portal/src/pages/FirstProject.tsx',
75
- 'admin-portal/src/components/projects/NewProject.tsx',
76
- 'admin-portal/src/components/settings/CustomDomain.tsx',
77
74
  'admin-portal/src/App.tsx',
78
75
  'admin-portal/src/components/common/PageTitle.tsx',
79
76
  'admin-portal/src/sentry.tsx',
80
- 'admin-portal/src/pages/AppSumo.tsx',
81
- 'customers-portal/src/App.tsx'
82
77
  ];
83
78
 
79
+ if (config.variants.tenancy === 'multi-tenant') {
80
+ filesToUpdate.push(
81
+ 'admin-portal/src/pages/FirstProject.tsx',
82
+ 'admin-portal/src/components/projects/NewProject.tsx',
83
+ );
84
+ }
85
+
86
+ if (config.variants.userModel === 'b2b2c') {
87
+ filesToUpdate.push(
88
+ 'admin-portal/src/components/settings/CustomDomain.tsx',
89
+ 'customers-portal/src/App.tsx'
90
+ )
91
+ }
92
+
84
93
  const projectRoot = process.cwd();
85
94
  let filesUpdated = 0;
86
95
 
package/src/generator.js CHANGED
@@ -73,7 +73,7 @@ async function generateProject(answers, variantChoices, templateRoot) {
73
73
 
74
74
  // Step 2: Process admin-portal service with variants
75
75
  // Note: admin-portal folder might not exist yet in templates, skip if missing
76
- const adminPortalTemplatePath = path.join(templateRoot, 'admin-portal/templates/base');
76
+ const adminPortalTemplatePath = path.join(templateRoot, 'admin-portal/base');
77
77
  if (await fs.pathExists(adminPortalTemplatePath)) {
78
78
  console.log('🔧 Processing admin-portal service...');
79
79
  await processServiceVariant(
@@ -98,7 +98,7 @@ async function generateProject(answers, variantChoices, templateRoot) {
98
98
  // Step 3: Process customers-portal service (ONLY if B2B2C selected)
99
99
  if (variantChoices.userModel === 'b2b2c') {
100
100
  // Note: customers-portal folder might not exist yet in templates, skip if missing
101
- const customersPortalTemplatePath = path.join(templateRoot, 'customers-portal/templates/base');
101
+ const customersPortalTemplatePath = path.join(templateRoot, 'customers-portal/base');
102
102
  if (await fs.pathExists(customersPortalTemplatePath)) {
103
103
  console.log('🔧 Processing customers-portal service...');
104
104
  await processServiceVariant(
@@ -11,9 +11,9 @@
11
11
 
12
12
  const VARIANT_CONFIG = {
13
13
  backend: {
14
- base: 'backend/templates/base',
15
- sectionsDir: 'backend/templates/sections',
16
- filesDir: 'backend/templates/files',
14
+ base: 'backend/base',
15
+ sectionsDir: 'backend/variants/sections',
16
+ filesDir: 'backend/variants/files',
17
17
 
18
18
  variants: {
19
19
  // Multi-tenant variant: Adds project/workspace support
@@ -180,9 +180,9 @@ const VARIANT_CONFIG = {
180
180
 
181
181
  // Admin portal inherits tenancy choice from backend
182
182
  'admin-portal': {
183
- base: 'admin-portal/templates/base',
184
- sectionsDir: 'admin-portal/templates/sections',
185
- filesDir: 'admin-portal/templates/files',
183
+ base: 'admin-portal/base',
184
+ sectionsDir: 'admin-portal/variants/sections',
185
+ filesDir: 'admin-portal/variants/files',
186
186
 
187
187
  variants: {
188
188
  'multi-tenant': {
@@ -284,9 +284,9 @@ const VARIANT_CONFIG = {
284
284
 
285
285
  // Customers portal (B2B2C only - no pure B2B use case)
286
286
  'customers-portal': {
287
- base: 'customers-portal/templates/base', // B2B2C + Single-tenant base
288
- sectionsDir: 'customers-portal/templates/sections',
289
- filesDir: 'customers-portal/templates/files',
287
+ base: 'customers-portal/base', // B2B2C + Single-tenant base
288
+ sectionsDir: 'customers-portal/variants/sections',
289
+ filesDir: 'customers-portal/variants/files',
290
290
 
291
291
  variants: {
292
292
  'single-tenant': {
@@ -321,9 +321,9 @@ const VARIANT_CONFIG = {
321
321
 
322
322
  // Infrastructure (Docker Compose orchestration)
323
323
  infrastructure: {
324
- base: 'infrastructure',
325
- sectionsDir: 'infrastructure/templates/sections',
326
- filesDir: 'infrastructure/templates/files',
324
+ base: 'infrastructure/base',
325
+ sectionsDir: 'infrastructure/variants/sections',
326
+ filesDir: 'infrastructure/variants/files',
327
327
 
328
328
  variants: {
329
329
  // B2B2C variant: Adds customers-portal service to docker-compose files