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 +1 -4
- package/CHANGELOG.md +116 -1
- package/README.md +3 -3
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +10 -80
- package/dist/cli.js.map +1 -1
- package/dist/configs.d.ts +4 -4
- package/dist/configs.js +2 -2
- package/dist/configs.js.map +1 -1
- package/dist/generator.js +113 -91
- package/dist/generator.js.map +1 -1
- package/eslint.config.mjs +1 -1
- package/package.json +9 -5
- package/vitest.config.ts +8 -0
package/.husky/pre-commit
CHANGED
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
|
-
|
|
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
|
|
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
|
-
- `
|
|
236
|
+
- `tsx`
|
|
237
237
|
|
|
238
238
|
---
|
|
239
239
|
|
|
240
240
|
## Requirements
|
|
241
241
|
|
|
242
|
-
- **Node.js**
|
|
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
|
-
|
|
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
|
-
//
|
|
117
|
-
//
|
|
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,
|
|
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":";;;;;;
|
|
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' | '
|
|
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' | '
|
|
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: "
|
|
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: "
|
|
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: '
|
|
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:
|
|
94
|
+
preCommitHook: 'npx lint-staged\n',
|
|
95
95
|
},
|
|
96
96
|
};
|
|
97
97
|
//# sourceMappingURL=configs.js.map
|
package/dist/configs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,YAAY,
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
113
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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'),
|
|
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 =
|
|
297
|
+
const pm = toolOptions.pm ?? 'npm';
|
|
268
298
|
try {
|
|
269
|
-
|
|
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
|
|
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 (
|
|
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);
|
package/dist/generator.js.map
CHANGED
|
@@ -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
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "launchts",
|
|
3
|
-
"version": "1.0
|
|
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": "
|
|
10
|
+
"dev": "tsx src/cli.ts",
|
|
11
11
|
"test": "vitest",
|
|
12
12
|
"lint": "eslint .",
|
|
13
|
-
"prepare": "husky
|
|
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": "^
|
|
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": "^
|
|
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"
|