launchbase 1.1.0 → 1.1.1

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 (2) hide show
  1. package/bin/launchbase.js +14 -9
  2. package/package.json +1 -1
package/bin/launchbase.js CHANGED
@@ -7,7 +7,7 @@ const crypto = require('crypto');
7
7
  const fs = require('fs-extra');
8
8
  const { execSync, spawn } = require('child_process');
9
9
 
10
- const VERSION = '1.1.0';
10
+ const VERSION = '1.1.1';
11
11
  const program = new Command();
12
12
 
13
13
  function findAvailablePort(startPort = 5432, maxAttempts = 100) {
@@ -381,22 +381,26 @@ program
381
381
  }
382
382
 
383
383
  // Copy template files with filtering
384
+ console.log('📂 Copying template files...');
385
+ console.log(` Include frontend: ${options.template ? 'yes' : 'no'}`);
386
+
384
387
  await fs.copy(templateDir, targetDir, {
385
388
  filter: (src) => {
386
- const relativePath = path.relative(templateDir, src);
389
+ // Normalize path separators for cross-platform compatibility
390
+ const relativePath = path.relative(templateDir, src).replace(/\\/g, '/');
387
391
 
388
392
  // Skip node_modules, dist, etc.
389
393
  if (relativePath.includes('node_modules') || relativePath.includes('dist') || relativePath.includes('.next')) {
390
394
  return false;
391
395
  }
392
396
 
393
- // Skip frontend if not requested
394
- if (relativePath.startsWith('frontend') && !options.template) {
397
+ // Skip frontend if not requested (check with trailing slash to avoid partial matches)
398
+ if ((relativePath.startsWith('frontend/') || relativePath === 'frontend') && !options.template) {
395
399
  return false;
396
400
  }
397
401
 
398
402
  // Skip SDK if not requested
399
- if (relativePath.startsWith('sdk') && !options.sdk) {
403
+ if ((relativePath.startsWith('sdk/') || relativePath === 'sdk') && !options.sdk) {
400
404
  return false;
401
405
  }
402
406
 
@@ -583,20 +587,21 @@ program
583
587
  // Copy template files with filtering
584
588
  await fs.copy(templateDir, targetDir, {
585
589
  filter: (src) => {
586
- const relativePath = path.relative(templateDir, src);
590
+ // Normalize path separators for cross-platform compatibility
591
+ const relativePath = path.relative(templateDir, src).replace(/\\/g, '/');
587
592
 
588
593
  // Skip node_modules, dist, etc.
589
594
  if (relativePath.includes('node_modules') || relativePath.includes('dist') || relativePath.includes('.next')) {
590
595
  return false;
591
596
  }
592
597
 
593
- // Skip frontend if not requested
594
- if (relativePath.startsWith('frontend') && !options.template) {
598
+ // Skip frontend if not requested (check with trailing slash to avoid partial matches)
599
+ if ((relativePath.startsWith('frontend/') || relativePath === 'frontend') && !options.template) {
595
600
  return false;
596
601
  }
597
602
 
598
603
  // Skip SDK if not requested
599
- if (relativePath.startsWith('sdk') && !options.sdk) {
604
+ if ((relativePath.startsWith('sdk/') || relativePath === 'sdk') && !options.sdk) {
600
605
  return false;
601
606
  }
602
607
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "launchbase",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Generate production-ready NestJS backends with authentication, multi-tenancy, billing, and deployment in minutes",
5
5
  "author": "LaunchBase",
6
6
  "keywords": [