launchts 1.0.7 → 1.1.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/.husky/pre-commit CHANGED
@@ -1,4 +1 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- npx lint-staged
1
+ npx lint-staged
package/CHANGELOG.md CHANGED
@@ -5,6 +5,48 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.1.0] - 2026-03-21
9
+
10
+ ### Added
11
+
12
+ - `start: node dist/index.js` script in all generated projects (was documented in README but never actually generated)
13
+ - `vitest.config.ts` with explicit test include pattern and timeout
14
+ - 7 unit tests for `detectPackageManager` covering user agent parsing, lockfile detection, and npm fallback
15
+ - `-d, --default` flag now properly registered in cac — was dead code before (only handled in a parser that never ran with flags)
16
+
17
+ ### Changed
18
+
19
+ - Extended generated `.gitignore`: now includes `.env.local`, `*.log`, `npm-debug.log*`, `coverage/`, `.DS_Store`
20
+ - Replaced `spawnSync` with async `spawn` in generator — no longer blocks the event loop during git and install operations
21
+ - `dev` script in root project switched from `ts-node` to `tsx` for consistency with generated projects
22
+ - `prepare` script updated from deprecated `husky install` to `husky`
23
+ - ESLint config: replaced `globals.jest` with `globals.vitest`
24
+ - `publish.yml` workflow: Node 18 (EOL) → Node 20 to match CI
25
+ - `generator.test.ts`: disabled real `npm install` (was the only test running a live install, now consistent with all other tests)
26
+ - Pinned `tsx ^4.21.0` in devDependencies so generated projects get a deterministic version instead of `latest`
27
+ - Node.js minimum requirement bumped to 20.19.0 (required by cac v7)
28
+ - README: corrected `ts-node` → `tsx` in nodemon section, updated Node.js requirement
29
+
30
+ ### Fixed
31
+
32
+ - Git commit guard condition was `!insideRepo || !hasCommits` — would attempt to commit outside a git repo; corrected to `insideRepo && !hasCommits`
33
+ - `Omit<ToolOptions, 'yes' | 'default'>` used a non-existent key `'default'` — corrected to `'useDefaults'`
34
+ - `--no-commit` test now asserts `git rev-parse HEAD` fails (repo has no commits), not just that `.git` exists
35
+
36
+ ### Removed
37
+
38
+ - `parseFlagsFromArgv` (80 lines of dead code — only executed with zero CLI arguments, always returned `{}`)
39
+ - `.husky/pre-commit.bak` stale backup file
40
+
41
+ ## [1.0.8] - 2026-01-19
42
+
43
+ ### Changed
44
+
45
+ - Updated development dependencies
46
+ - Migrated Husky hooks to v10+ (no legacy sourcing)
47
+ - Fixed npm audit vulnerabilities
48
+ - Validated local project generation (minimal template)
49
+
8
50
  ## [1.0.7] - 2026-01-16
9
51
 
10
52
  ### Changed
@@ -22,4 +64,77 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
22
64
  - typescript-eslint from 8.50.1 to 8.51.0
23
65
  - globals from 16.5.0 to 17.0.0 (major version with new environments: audioWorklet, paintWorklet, sharedWorker, bunBuiltin, denoBuiltin)
24
66
 
25
- ...existing changelog entries...
67
+ ## [1.0.5] - 2025-12-30
68
+
69
+ ### Changed
70
+
71
+ - Updated development dependencies
72
+ - typescript-eslint from 8.50.0 to 8.50.1
73
+
74
+ ## [1.0.4] - 2025-12-22
75
+
76
+ ### Changed
77
+
78
+ - Updated development dependencies
79
+ - typescript-eslint from 8.49.0 to 8.50.0
80
+
81
+ ## [1.0.3] - 2025-12-16
82
+
83
+ ### Changed
84
+
85
+ - Updated development dependencies
86
+ - @eslint/js from 9.39.1 to 9.39.2
87
+ - eslint from 9.39.1 to 9.39.2
88
+ - typescript-eslint from 8.48.1 to 8.49.0
89
+
90
+ ## [1.0.2] - 2025-12-08
91
+
92
+ ### Changed
93
+
94
+ - Updated development dependencies
95
+ - prettier from 3.7.3 to 3.7.4
96
+ - typescript-eslint from 8.18.0 to 8.48.1
97
+ - typescript from 5.7.3 to 5.9.3
98
+ - Package maintenance and security updates
99
+
100
+ ### Fixed
101
+
102
+ - Resolved Jest and ts-jest dependency compatibility issue
103
+
104
+ ## [1.0.1] - 2025-12-02
105
+
106
+ ### Changed
107
+
108
+ - Dev dependency: tsx replaces ts-node in generated projects
109
+ - Updated dev script to use tsx instead of ts-node
110
+
111
+ ### Fixed
112
+
113
+ - Include package-lock.json in initial git commit
114
+ - Fix TypeScript ESM module error with nodemon by replacing ts-node with tsx
115
+
116
+ ## [1.0.0] - 2025-12-02
117
+
118
+ ### Added
119
+
120
+ - Prettier 3.7.3 for code formatting
121
+ - Husky 9.1.7 + lint-staged 16.2.7 for pre-commit hooks
122
+ - GitHub Actions v6 (checkout, setup-node)
123
+ - Publish workflow for GitHub Release-based npm publishing
124
+ - Issue and PR templates
125
+ - Dependabot configuration
126
+ - CONTRIBUTING.md guide
127
+ - Comprehensive README badges (CI, npm downloads, license)
128
+
129
+ ### Changed
130
+
131
+ - Upgraded all dependencies to latest versions
132
+ - Removed semantic-release in favor of GitHub Release workflow
133
+ - Simplified CI workflow (removed matrix, added format check)
134
+ - Formatted all code with Prettier
135
+ - Improved package.json with format script, engines, and lint-staged config
136
+ - Cleaned up README and removed duplicates
137
+
138
+ ### Fixed
139
+
140
+ - Fixed 15 security vulnerabilities by upgrading dependencies
package/README.md CHANGED
@@ -54,7 +54,7 @@ You'll be asked about:
54
54
  - **ESLint** — TypeScript linting with recommended rules
55
55
  - **Prettier** — Code formatting with opinionated defaults
56
56
  - **Husky** — Pre-commit hooks with lint-staged
57
- - **nodemon** — Auto-reload dev script with ts-node
57
+ - **nodemon** — Auto-reload dev script with tsx
58
58
  - **Git** — Initialize repository with .gitignore
59
59
  - **Install** — Run `npm install` automatically
60
60
 
@@ -233,13 +233,13 @@ Adds development auto-reload:
233
233
  **Packages:**
234
234
 
235
235
  - `nodemon`
236
- - `ts-node`
236
+ - `tsx`
237
237
 
238
238
  ---
239
239
 
240
240
  ## Requirements
241
241
 
242
- - **Node.js** 18.0.0 or higher
242
+ - **Node.js** 20.19.0 or higher
243
243
  - **npm** 7+ (or **yarn** 1.22+, **pnpm** 7+)
244
244
 
245
245
  ---
package/dist/cli.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare function detectPackageManager(): 'npm' | 'yarn' | 'pnpm';
package/dist/cli.js CHANGED
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.detectPackageManager = detectPackageManager;
7
8
  const cac_1 = require("cac");
8
9
  const generator_1 = require("./generator");
9
10
  const configs_1 = require("./configs");
@@ -26,6 +27,7 @@ cli
26
27
  .option('--install', 'Run package manager install in the created project')
27
28
  .option('--no-git', 'Do not initialize a git repository')
28
29
  .option('--no-install', 'Do not run package manager install')
30
+ .option('-d, --default', 'Skip prompts and use sensible defaults')
29
31
  .option('--verbose', 'Show verbose output during scaffold')
30
32
  .option('--no-commit', 'Do not make initial git commit')
31
33
  .example(" $ launchts my-app Create 'my-app' interactively")
@@ -33,97 +35,25 @@ cli
33
35
  .example(' $ launchts my-app --default Create with sensible defaults')
34
36
  .example(' $ launchts my-app --pm pnpm Use pnpm as package manager')
35
37
  .action(async (name, options) => {
36
- await runCreateFlow(name, options);
38
+ const { default: useDefaultsAlias, ...rest } = options;
39
+ await runCreateFlow(name, {
40
+ ...rest,
41
+ useDefaults: useDefaultsAlias ?? rest.useDefaults,
42
+ });
37
43
  });
38
44
  cli.help();
39
45
  const pkg = JSON.parse(fs_1.default.readFileSync(path_1.default.resolve(__dirname, '..', 'package.json'), 'utf8'));
40
46
  cli.version(pkg.version);
41
- // lightweight argv flag parser to be used when invoking the binary without
42
- // explicit command. This allows `launchts` (no args) to start the
43
- // interactive create flow and still respect flags like `--yes` or `--pm`.
44
- function parseFlagsFromArgv(argv) {
45
- const out = {};
46
- const args = argv.slice(2);
47
- // Simple boolean flag mapping
48
- const booleanFlags = {
49
- '-y': 'yes',
50
- '--yes': 'yes',
51
- '-d': 'useDefaults',
52
- '--default': 'useDefaults',
53
- '--eslint': 'eslint',
54
- '--prettier': 'prettier',
55
- '--husky': 'husky',
56
- '--nodemon': 'nodemon',
57
- '--git': 'git',
58
- '--install': 'install',
59
- '--no-commit': 'noCommit',
60
- '--verbose': 'verbose',
61
- };
62
- const knownFlags = new Set([
63
- ...Object.keys(booleanFlags),
64
- '--no-git',
65
- '--no-install',
66
- '--pm',
67
- '-h',
68
- '--help',
69
- '-v',
70
- '--version',
71
- ]);
72
- for (let i = 0; i < args.length; i++) {
73
- const arg = args[i];
74
- // Handle boolean flags
75
- if (arg in booleanFlags) {
76
- const key = booleanFlags[arg];
77
- out[key] = true;
78
- }
79
- else if (arg === '--no-git') {
80
- out.git = false;
81
- }
82
- else if (arg === '--no-install') {
83
- out.install = false;
84
- }
85
- else if (arg.startsWith('--pm=')) {
86
- const pmValue = arg.split('=', 2)[1];
87
- if (['npm', 'yarn', 'pnpm'].includes(pmValue)) {
88
- out.pm = pmValue;
89
- }
90
- else {
91
- console.warn(messages_1.MESSAGES.unknownPackageManager(pmValue));
92
- out.pm = 'npm';
93
- }
94
- }
95
- else if (arg === '--pm') {
96
- const pmValue = args[i + 1];
97
- if (['npm', 'yarn', 'pnpm'].includes(pmValue)) {
98
- out.pm = pmValue;
99
- }
100
- else {
101
- console.warn(messages_1.MESSAGES.unknownPackageManager(pmValue));
102
- out.pm = 'npm';
103
- }
104
- i++;
105
- }
106
- else if (arg.startsWith('-') &&
107
- !knownFlags.has(arg) &&
108
- !arg.startsWith('--pm=')) {
109
- console.warn(messages_1.MESSAGES.unknownFlag(arg));
110
- }
111
- }
112
- return out;
113
- }
114
47
  // Parse normally to register commands/options with cac
115
48
  cli.parse();
116
- // If no command was provided, start the interactive create flow by default.
117
- // We avoid blocking the non-interactive help output when the user explicitly
118
- // asked for `--help` or `--version` because cac handles those earlier.
49
+ // cac does not fire the action for the no-args case trigger the interactive
50
+ // flow manually. --help and --version are handled by cac before this point.
119
51
  if (process.argv.length <= 2) {
120
52
  (async () => {
121
- const flags = parseFlagsFromArgv(process.argv);
122
53
  try {
123
- await runCreateFlow(undefined, flags);
54
+ await runCreateFlow(undefined, {});
124
55
  }
125
56
  catch (e) {
126
- // Show error then exit non-zero
127
57
  console.error('✖', e instanceof Error ? e.message : e);
128
58
  process.exit(1);
129
59
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/configs.d.ts CHANGED
@@ -2,11 +2,11 @@ import type { ToolOptions } from './types';
2
2
  /**
3
3
  * Default configuration when using --yes flag (all options enabled)
4
4
  */
5
- export declare const YES_DEFAULTS: Omit<ToolOptions, 'yes' | 'default'>;
5
+ export declare const YES_DEFAULTS: Omit<ToolOptions, 'yes' | 'useDefaults'>;
6
6
  /**
7
7
  * Default configuration when using --default flag (sensible defaults)
8
8
  */
9
- export declare const DEFAULT_OPTIONS: Omit<ToolOptions, 'yes' | 'default'>;
9
+ export declare const DEFAULT_OPTIONS: Omit<ToolOptions, 'yes' | 'useDefaults'>;
10
10
  /**
11
11
  * Tool configurations for injection into generated projects
12
12
  * Note: deps will be populated from rootPkg in generator.ts
@@ -40,12 +40,12 @@ export declare const TOOL_CONFIGS: {
40
40
  readonly husky: {
41
41
  readonly deps: readonly ["husky", "lint-staged"];
42
42
  readonly scripts: {
43
- readonly prepare: "husky install";
43
+ readonly prepare: "echo \"Husky is managed automatically\"";
44
44
  };
45
45
  readonly lintStaged: {
46
46
  readonly '*.ts': readonly ["eslint --fix", "prettier --write"];
47
47
  readonly '*.json': readonly ["prettier --write"];
48
48
  };
49
- readonly preCommitHook: "#!/bin/sh\n. $(dirname \"$0\")/_/husky.sh\nnpx lint-staged\n";
49
+ readonly preCommitHook: "npx lint-staged\n";
50
50
  };
51
51
  };
package/dist/configs.js CHANGED
@@ -86,12 +86,12 @@ export default tseslint.config(
86
86
  },
87
87
  husky: {
88
88
  deps: ['husky', 'lint-staged'],
89
- scripts: { prepare: 'husky install' },
89
+ scripts: { prepare: 'echo "Husky is managed automatically"' },
90
90
  lintStaged: {
91
91
  '*.ts': ['eslint --fix', 'prettier --write'],
92
92
  '*.json': ['prettier --write'],
93
93
  },
94
- preCommitHook: `#!/bin/sh\n. $(dirname "$0")/_/husky.sh\nnpx lint-staged\n`,
94
+ preCommitHook: 'npx lint-staged\n',
95
95
  },
96
96
  };
97
97
  //# sourceMappingURL=configs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configs.js","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,YAAY,GAAyC;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;GAEG;AACU,QAAA,eAAe,GAAyC;IACnE,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;;GAGG;AACU,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE;QACP,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;QACxB,OAAO,EAAE;YACP,GAAG,EAAE,qDAAqD;SAC3D;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,QAAQ;YACR,YAAY;YACZ,mBAAmB;YACnB,SAAS;YACT,wBAAwB;SACzB;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7B,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BX;KACE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,OAAO,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;QACzC,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,EAAE;SACf;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9B,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;QACrC,UAAU,EAAE;YACV,MAAM,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC;YAC5C,QAAQ,EAAE,CAAC,kBAAkB,CAAC;SAC/B;QACD,aAAa,EAAE,4DAA4D;KAC5E;CACO,CAAC"}
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,YAAY,GAA6C;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;GAEG;AACU,QAAA,eAAe,GAA6C;IACvE,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;;GAGG;AACU,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE;QACP,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;QACxB,OAAO,EAAE;YACP,GAAG,EAAE,qDAAqD;SAC3D;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,QAAQ;YACR,YAAY;YACZ,mBAAmB;YACnB,SAAS;YACT,wBAAwB;SACzB;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7B,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BX;KACE;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,OAAO,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;QACzC,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,EAAE;SACf;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9B,OAAO,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE;QAC7D,UAAU,EAAE;YACV,MAAM,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC;YAC5C,QAAQ,EAAE,CAAC,kBAAkB,CAAC;SAC/B;QACD,aAAa,EAAE,mBAAmB;KACnC;CACO,CAAC"}
package/dist/generator.js CHANGED
@@ -12,19 +12,27 @@ const configs_1 = require("./configs");
12
12
  const messages_1 = require("./messages");
13
13
  // Helper to run commands with consistent behavior
14
14
  function runCommand(command, args, cwd, verbose, silent = false) {
15
- const result = (0, child_process_1.spawnSync)(command, args, {
16
- cwd,
17
- stdio: verbose ? 'inherit' : 'pipe',
18
- });
19
- // Log errors even in non-verbose mode for better debugging
20
- // Skip logging if silent=true (for check commands like git rev-parse)
21
- if (result.status !== 0 && !verbose && !silent && result.stderr) {
22
- const stderrOutput = result.stderr.toString().trim();
23
- if (stderrOutput) {
24
- console.error(`Error running ${command}: ${stderrOutput}`);
15
+ return new Promise((resolve) => {
16
+ const child = (0, child_process_1.spawn)(command, args, {
17
+ cwd,
18
+ stdio: verbose ? 'inherit' : 'pipe',
19
+ });
20
+ let stderr = '';
21
+ if (!verbose && child.stderr) {
22
+ child.stderr.on('data', (data) => {
23
+ stderr += data.toString();
24
+ });
25
25
  }
26
- }
27
- return result.status === 0;
26
+ child.on('close', (code) => {
27
+ if (code !== 0 && !verbose && !silent && stderr) {
28
+ const trimmed = stderr.trim();
29
+ if (trimmed)
30
+ console.error(`Error running ${command}: ${trimmed}`);
31
+ }
32
+ resolve(code === 0);
33
+ });
34
+ child.on('error', () => resolve(false));
35
+ });
28
36
  }
29
37
  // Validate project name: alphanumeric, hyphens, underscores, 1-214 characters
30
38
  function isValidProjectName(name) {
@@ -43,6 +51,7 @@ function minimalPackageJson(projectName) {
43
51
  type: 'module',
44
52
  scripts: {
45
53
  build: 'tsc -p tsconfig.json',
54
+ start: 'node dist/index.js',
46
55
  },
47
56
  };
48
57
  }
@@ -64,7 +73,37 @@ function baseTsconfig() {
64
73
  },
65
74
  };
66
75
  }
67
- // Helper functions for README generation
76
+ function getActiveScripts(toolOptions) {
77
+ const scripts = [
78
+ {
79
+ cmd: 'npm run build',
80
+ short: 'build ',
81
+ desc: 'Compiles TypeScript files to JavaScript in the `dist/` directory',
82
+ },
83
+ ];
84
+ if (toolOptions?.nodemon) {
85
+ scripts.push({
86
+ cmd: 'npm run dev',
87
+ short: 'dev ',
88
+ desc: 'Starts the development server with auto-reload on file changes',
89
+ });
90
+ }
91
+ if (toolOptions?.eslint) {
92
+ scripts.push({
93
+ cmd: 'npm run lint',
94
+ short: 'lint ',
95
+ desc: 'Checks code quality with ESLint',
96
+ });
97
+ }
98
+ if (toolOptions?.prettier) {
99
+ scripts.push({
100
+ cmd: 'npm run format',
101
+ short: 'format ',
102
+ desc: 'Formats all files with Prettier',
103
+ });
104
+ }
105
+ return scripts;
106
+ }
68
107
  function generateReadmeHeader(projectName) {
69
108
  return `# ${projectName}
70
109
 
@@ -74,23 +113,15 @@ TypeScript project generated with [launchts](https://github.com/Jszigeti/launcht
74
113
  `;
75
114
  }
76
115
  function generateReadmeScripts(toolOptions) {
77
- let scripts = `### Development
116
+ const lines = getActiveScripts(toolOptions)
117
+ .map(({ cmd, short }) => `npm run ${short} # ${cmd.replace('npm run ', '')}`)
118
+ .join('\n');
119
+ return `### Development
78
120
 
79
121
  \`\`\`bash
80
- npm run build # Compile TypeScript to JavaScript
81
- `;
82
- if (toolOptions?.nodemon) {
83
- scripts += `npm run dev # Start development server with auto-reload\n`;
84
- }
85
- if (toolOptions?.eslint) {
86
- scripts += `npm run lint # Run ESLint\n`;
87
- }
88
- if (toolOptions?.prettier) {
89
- scripts += `npm run format # Format code with Prettier\n`;
90
- }
91
- scripts += `\`\`\`
122
+ ${lines}
123
+ \`\`\`
92
124
  `;
93
- return scripts;
94
125
  }
95
126
  function generateReadmeStructure(projectName, toolOptions) {
96
127
  let structure = `### Project Structure
@@ -109,12 +140,9 @@ ${projectName}/
109
140
  if (toolOptions?.prettier) {
110
141
  structure += `├── .prettierrc # Prettier configuration\n`;
111
142
  }
112
- if (toolOptions?.husky) {
113
- structure += `└── .husky/ # Git hooks\n`;
114
- }
115
- else {
116
- structure += `└── ...\n`;
117
- }
143
+ structure += toolOptions?.husky
144
+ ? `└── .husky/ # Git hooks\n`
145
+ : `└── ...\n`;
118
146
  structure += `\`\`\`
119
147
  `;
120
148
  return structure;
@@ -125,36 +153,21 @@ function generateReadmeTechStack(toolOptions) {
125
153
  - **TypeScript** - Type-safe JavaScript with ESNext target
126
154
  - **Node.js** - Runtime environment with ESM modules
127
155
  `;
128
- if (toolOptions?.eslint) {
156
+ if (toolOptions?.eslint)
129
157
  techStack += `- **ESLint** - Code quality and consistency with TypeScript support\n`;
130
- }
131
- if (toolOptions?.prettier) {
158
+ if (toolOptions?.prettier)
132
159
  techStack += `- **Prettier** - Code formatting\n`;
133
- }
134
- if (toolOptions?.nodemon) {
160
+ if (toolOptions?.nodemon)
135
161
  techStack += `- **Nodemon** - Auto-reload during development\n`;
136
- }
137
- if (toolOptions?.husky) {
162
+ if (toolOptions?.husky)
138
163
  techStack += `- **Husky + lint-staged** - Pre-commit hooks for code quality\n`;
139
- }
140
164
  return techStack;
141
165
  }
142
166
  function generateReadmeScriptsDetails(toolOptions) {
143
- let scriptsDetails = `
144
- ## Scripts
145
-
146
- - \`npm run build\` - Compiles TypeScript files to JavaScript in the \`dist/\` directory
147
- `;
148
- if (toolOptions?.nodemon) {
149
- scriptsDetails += `- \`npm run dev\` - Starts the development server with auto-reload on file changes\n`;
150
- }
151
- if (toolOptions?.eslint) {
152
- scriptsDetails += `- \`npm run lint\` - Checks code quality with ESLint\n`;
153
- }
154
- if (toolOptions?.prettier) {
155
- scriptsDetails += `- \`npm run format\` - Formats all files with Prettier\n`;
156
- }
157
- return scriptsDetails;
167
+ const lines = getActiveScripts(toolOptions)
168
+ .map(({ cmd, desc }) => `- \`${cmd}\` - ${desc}`)
169
+ .join('\n');
170
+ return `\n## Scripts\n\n${lines}\n`;
158
171
  }
159
172
  function generateReadmeGitHooks(toolOptions) {
160
173
  if (!toolOptions?.husky)
@@ -168,18 +181,15 @@ This project uses Husky to run quality checks before commits:
168
181
  `;
169
182
  }
170
183
  function generateReadme(projectName, toolOptions) {
171
- let readme = generateReadmeHeader(projectName);
172
- readme += generateReadmeScripts(toolOptions);
173
- readme += generateReadmeStructure(projectName, toolOptions);
174
- readme += generateReadmeTechStack(toolOptions);
175
- readme += generateReadmeScriptsDetails(toolOptions);
176
- readme += generateReadmeGitHooks(toolOptions);
177
- readme += `
178
- ## License
179
-
180
- MIT
181
- `;
182
- return readme;
184
+ return [
185
+ generateReadmeHeader(projectName),
186
+ generateReadmeScripts(toolOptions),
187
+ generateReadmeStructure(projectName, toolOptions),
188
+ generateReadmeTechStack(toolOptions),
189
+ generateReadmeScriptsDetails(toolOptions),
190
+ generateReadmeGitHooks(toolOptions),
191
+ '\n## License\n\nMIT\n',
192
+ ].join('');
183
193
  }
184
194
  // Helper to get dependency version from root package.json or fallback
185
195
  function getDependencyVersion(rootPkg, depName, fallback) {
@@ -249,12 +259,32 @@ async function createProject(opts) {
249
259
  // optionally initialize git and install dependencies
250
260
  if (toolOptions.git ?? true) {
251
261
  try {
252
- const gitAvailable = runCommand('git', ['--version'], target, false, true);
262
+ const gitAvailable = await runCommand('git', ['--version'], target, false, true);
253
263
  if (gitAvailable) {
254
- const insideRepo = runCommand('git', ['rev-parse', '--is-inside-work-tree'], target, false, true);
264
+ const insideRepo = await runCommand('git', ['rev-parse', '--is-inside-work-tree'], target, false, true);
255
265
  if (!insideRepo) {
256
- runCommand('git', ['init'], target, toolOptions.verbose ?? false);
257
- await fs_extra_1.default.outputFile(path_1.default.join(target, '.gitignore'), 'node_modules\ndist\n.env\n', 'utf8');
266
+ await runCommand('git', ['init'], target, toolOptions.verbose ?? false);
267
+ await fs_extra_1.default.outputFile(path_1.default.join(target, '.gitignore'), [
268
+ '# Dependencies',
269
+ 'node_modules/',
270
+ '',
271
+ '# Build output',
272
+ 'dist/',
273
+ '',
274
+ '# Environment',
275
+ '.env',
276
+ '.env.local',
277
+ '',
278
+ '# Logs',
279
+ '*.log',
280
+ 'npm-debug.log*',
281
+ '',
282
+ '# Test coverage',
283
+ 'coverage/',
284
+ '',
285
+ '# OS',
286
+ '.DS_Store',
287
+ ].join('\n') + '\n', 'utf8');
258
288
  }
259
289
  }
260
290
  }
@@ -264,22 +294,14 @@ async function createProject(opts) {
264
294
  }
265
295
  }
266
296
  if (toolOptions.install ?? true) {
267
- const pm = (toolOptions && toolOptions.pm) || 'npm';
297
+ const pm = toolOptions.pm ?? 'npm';
268
298
  try {
269
- if (pm === 'pnpm') {
270
- runCommand('pnpm', ['install'], target, toolOptions.verbose ?? false);
271
- }
272
- else if (pm === 'yarn') {
273
- runCommand('yarn', ['install'], target, toolOptions.verbose ?? false);
274
- }
275
- else {
276
- runCommand('npm', ['install'], target, toolOptions.verbose ?? false);
277
- }
299
+ await runCommand(pm, ['install'], target, toolOptions.verbose ?? false);
278
300
  if (toolOptions.husky) {
279
- runCommand('npx', ['husky', 'install'], target, toolOptions.verbose ?? false);
301
+ await runCommand('npx', ['husky', 'install'], target, toolOptions.verbose ?? false);
280
302
  const preCommitHook = path_1.default.join(target, '.husky', 'pre-commit');
281
303
  if (!(await fs_extra_1.default.pathExists(preCommitHook))) {
282
- runCommand('npx', ['husky', 'add', '.husky/pre-commit', 'npx lint-staged'], target, toolOptions.verbose ?? false);
304
+ await runCommand('npx', ['husky', 'add', '.husky/pre-commit', 'npx lint-staged'], target, toolOptions.verbose ?? false);
283
305
  }
284
306
  }
285
307
  }
@@ -288,17 +310,17 @@ async function createProject(opts) {
288
310
  console.warn(messages_1.MESSAGES.installFailed(pm, errMsg));
289
311
  }
290
312
  }
291
- // Git initial commit AFTER npm install to include package-lock.json
313
+ // Git initial commit AFTER install to include lockfile
292
314
  if ((toolOptions.git ?? true) && !(toolOptions.noCommit ?? false)) {
293
315
  try {
294
- const gitAvailable = runCommand('git', ['--version'], target, false, true);
316
+ const gitAvailable = await runCommand('git', ['--version'], target, false, true);
295
317
  if (gitAvailable) {
296
- const insideRepo = runCommand('git', ['rev-parse', '--is-inside-work-tree'], target, false, true);
297
- const hasCommits = runCommand('git', ['rev-parse', 'HEAD'], target, false, true);
298
- if (!insideRepo || !hasCommits) {
318
+ const insideRepo = await runCommand('git', ['rev-parse', '--is-inside-work-tree'], target, false, true);
319
+ const hasCommits = await runCommand('git', ['rev-parse', 'HEAD'], target, false, true);
320
+ if (insideRepo && !hasCommits) {
299
321
  try {
300
- runCommand('git', ['add', '-A'], target, toolOptions.verbose ?? false);
301
- runCommand('git', ['commit', '-m', 'chore: initial commit'], target, toolOptions.verbose ?? false);
322
+ await runCommand('git', ['add', '-A'], target, toolOptions.verbose ?? false);
323
+ await runCommand('git', ['commit', '-m', 'chore: initial commit'], target, toolOptions.verbose ?? false);
302
324
  }
303
325
  catch (e) {
304
326
  const errMsg = e instanceof Error ? e.message : String(e);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/eslint.config.mjs CHANGED
@@ -14,7 +14,7 @@ export default tseslint.config(
14
14
  sourceType: 'module',
15
15
  globals: {
16
16
  ...globals.node,
17
- ...globals.jest,
17
+ ...globals.vitest,
18
18
  },
19
19
  },
20
20
  rules: {
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "launchts",
3
- "version": "1.0.7",
3
+ "version": "1.1.0",
4
4
  "description": "Fast, interactive CLI to scaffold TypeScript projects",
5
5
  "bin": {
6
6
  "launchts": "dist/cli.js"
7
7
  },
8
8
  "scripts": {
9
9
  "build": "tsc -p tsconfig.json",
10
- "dev": "ts-node src/cli.ts",
10
+ "dev": "tsx src/cli.ts",
11
11
  "test": "vitest",
12
12
  "lint": "eslint .",
13
- "prepare": "husky install",
13
+ "prepare": "husky",
14
14
  "format": "prettier --write ."
15
15
  },
16
16
  "lint-staged": {
@@ -22,6 +22,9 @@
22
22
  "prettier --write"
23
23
  ]
24
24
  },
25
+ "engines": {
26
+ "node": ">=20.19.0"
27
+ },
25
28
  "keywords": [
26
29
  "typescript",
27
30
  "scaffold",
@@ -30,7 +33,7 @@
30
33
  "author": "Jonas Szigeti <jonas.szigeti@icloud.com>",
31
34
  "license": "MIT",
32
35
  "dependencies": {
33
- "cac": "^6.7.2",
36
+ "cac": "^7.0.0",
34
37
  "enquirer": "^2.3.6",
35
38
  "fs-extra": "^11.1.1"
36
39
  },
@@ -45,7 +48,8 @@
45
48
  "lint-staged": "^16.2.7",
46
49
  "nodemon": "^3.1.11",
47
50
  "prettier": "^3.7.3",
48
- "ts-node": "^1.7.1",
51
+ "ts-node": "^10.9.2",
52
+ "tsx": "^4.21.0",
49
53
  "typescript": "^5.7.0",
50
54
  "typescript-eslint": "^8.48.0",
51
55
  "vitest": "^4.0.14"
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vitest/config';
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ include: ['tests/**/*.test.ts'],
6
+ testTimeout: 15000,
7
+ },
8
+ });