@lenne.tech/cli 1.24.0 → 1.25.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/build/commands/dev/{migrate.js → init.js} +35 -47
- package/build/commands/dev/install.js +37 -132
- package/build/commands/dev/status.js +5 -5
- package/build/commands/dev/tunnel.js +1 -1
- package/build/commands/dev/up.js +3 -3
- package/build/commands/fullstack/add-api.js +12 -0
- package/build/commands/fullstack/init.js +19 -1
- package/build/commands/server/create.js +15 -0
- package/build/lib/dev-bootstrap.js +75 -0
- package/build/lib/dev-env.js +6 -1
- package/build/lib/dev-install-helper.js +136 -0
- package/build/lib/dev-migrate-helper.js +41 -3
- package/build/lib/dev-patches.js +66 -24
- package/build/lib/hoist-workspace-pnpm-config.js +144 -18
- package/build/lib/package-name.js +39 -0
- package/build/lib/workspace-integration.js +55 -0
- package/docs/commands.md +11 -5
- package/package.json +15 -8
package/docs/commands.md
CHANGED
|
@@ -312,10 +312,13 @@ One-time per-machine setup. Idempotent — re-run anytime to diagnose what's mis
|
|
|
312
312
|
**Usage:**
|
|
313
313
|
```bash
|
|
314
314
|
lt dev install
|
|
315
|
+
lt dev install --skip-init # do NOT auto-run `lt dev init` afterwards
|
|
315
316
|
```
|
|
316
317
|
|
|
317
318
|
**Alias:** `lt d i`
|
|
318
319
|
|
|
320
|
+
**Auto-chaining:** when run from inside an lt-dev-capable project that is not yet initialized, `lt dev install` runs `lt dev init` for that project **afterwards**. Pass `--skip-init` to opt out. This is one hop deep and never recurses — `install` calls the init *helper*, not the init command.
|
|
321
|
+
|
|
319
322
|
**What it does:**
|
|
320
323
|
1. Verifies `caddy` is on PATH (suggests `brew install caddy` if missing).
|
|
321
324
|
2. Creates `~/.lenneTech/Caddyfile` stub if absent.
|
|
@@ -355,16 +358,19 @@ lt dev uninstall --noConfirm # skip the purge prompt (keep files)
|
|
|
355
358
|
|
|
356
359
|
---
|
|
357
360
|
|
|
358
|
-
### `lt dev
|
|
361
|
+
### `lt dev init`
|
|
359
362
|
|
|
360
|
-
|
|
363
|
+
Initialize an existing project for `lt dev` and apply idempotent env-aware patches. Safe to run multiple times; safe to run after `lt fullstack init`.
|
|
361
364
|
|
|
362
365
|
**Usage:**
|
|
363
366
|
```bash
|
|
364
|
-
lt dev
|
|
367
|
+
lt dev init
|
|
368
|
+
lt dev init --skip-install # do NOT auto-run `lt dev install` first
|
|
365
369
|
```
|
|
366
370
|
|
|
367
|
-
**Alias:** `lt d m`
|
|
371
|
+
**Alias:** `lt d init`, `lt d migrate`, `lt d m` (`migrate` is the former name, kept for backwards compatibility)
|
|
372
|
+
|
|
373
|
+
**Auto-chaining:** if the machine has not been prepared yet (no `lt dev install` has run), `lt dev init` runs the install step **first**, then initializes the project. Pass `--skip-install` to opt out. This is one hop deep and never recurses — `init` calls the install *helper*, not the install command.
|
|
368
374
|
|
|
369
375
|
**What it does:**
|
|
370
376
|
1. Detects the workspace layout (monorepo `projects/api`+`projects/app`, or standalone).
|
|
@@ -538,7 +544,7 @@ lt dev test -- --ui spec.ts # everything after `--` is forwarded to playwri
|
|
|
538
544
|
| `LT_DEV_ACTIVE`, `LT_DEV_DB_NAME` | Marker keys for consumers |
|
|
539
545
|
| `NODE_EXTRA_CA_CERTS` | Path to Caddy's root CA cert (auto-detected) |
|
|
540
546
|
|
|
541
|
-
`lt dev
|
|
547
|
+
`lt dev init` injects a tiny `// >>> lt-dev:bridge >>>` block at the top of `playwright.config.ts` that loads this file at config-load time — making Playwright (CLI, IDE, VS Code extension) automatically use the `lt dev` URLs and trust the local CA, without inheriting the parent shell.
|
|
542
548
|
|
|
543
549
|
`lt dev down` removes the bridge file so subsequent runs without `lt dev up` fall back cleanly to the classic `localhost:3000`/`localhost:3001` defaults.
|
|
544
550
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lenne.tech/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.0",
|
|
4
4
|
"description": "lenne.Tech CLI: lt",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lenne.Tech",
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
"test:vendor-init": "bash scripts/test-vendor-init.sh",
|
|
33
33
|
"test:frontend-vendor-init": "bash scripts/test-frontend-vendor-init.sh",
|
|
34
34
|
"test:incremental-fullstack": "bash scripts/test-incremental-fullstack.sh",
|
|
35
|
+
"test:manual": "jest --testMatch '<rootDir>/*.manual.ts' --testTimeout=60000",
|
|
36
|
+
"test:e2e:service": "jest --testMatch '<rootDir>/dev-service-e2e.manual.ts' --testTimeout=60000",
|
|
35
37
|
"format": "prettier --write 'src/**/*.{js,ts,tsx,json}' '!src/templates/**/*'",
|
|
36
38
|
"lint": "eslint './src/**/*.{ts,js,vue}'",
|
|
37
39
|
"lint:fix": "eslint './src/**/*.{ts,js,vue}' --fix",
|
|
@@ -58,9 +60,9 @@
|
|
|
58
60
|
"bin"
|
|
59
61
|
],
|
|
60
62
|
"dependencies": {
|
|
61
|
-
"@aws-sdk/client-s3": "3.
|
|
63
|
+
"@aws-sdk/client-s3": "3.1053.0",
|
|
62
64
|
"@lenne.tech/cli-plugin-helper": "0.0.14",
|
|
63
|
-
"axios": "1.16.
|
|
65
|
+
"axios": "1.16.1",
|
|
64
66
|
"bcrypt": "6.0.0",
|
|
65
67
|
"defuddle": "0.18.1",
|
|
66
68
|
"glob": "13.0.6",
|
|
@@ -70,7 +72,7 @@
|
|
|
70
72
|
"jsdom": "29.1.1",
|
|
71
73
|
"lodash": "4.18.1",
|
|
72
74
|
"open": "11.0.0",
|
|
73
|
-
"playwright-core": "1.
|
|
75
|
+
"playwright-core": "1.60.0",
|
|
74
76
|
"ts-morph": "28.0.0",
|
|
75
77
|
"ts-node": "10.9.2",
|
|
76
78
|
"turndown": "7.2.4",
|
|
@@ -85,7 +87,7 @@
|
|
|
85
87
|
"@types/js-yaml": "4.0.9",
|
|
86
88
|
"@types/jsdom": "28.0.1",
|
|
87
89
|
"@types/lodash": "4.17.24",
|
|
88
|
-
"@types/node": "25.
|
|
90
|
+
"@types/node": "25.9.1",
|
|
89
91
|
"@types/turndown": "5.0.6",
|
|
90
92
|
"ejs": "5.0.2",
|
|
91
93
|
"eslint": "9.39.4",
|
|
@@ -94,18 +96,23 @@
|
|
|
94
96
|
"prettier": "3.8.3",
|
|
95
97
|
"rimraf": "6.1.3",
|
|
96
98
|
"standard-version": "9.5.0",
|
|
97
|
-
"ts-jest": "29.4.
|
|
99
|
+
"ts-jest": "29.4.11"
|
|
98
100
|
},
|
|
99
101
|
"//overrides": {
|
|
100
|
-
"
|
|
102
|
+
"brace-expansion@5.0.2 - 5.0.5": "Security fix: GHSA-jxxr-4gwj-5jf2 (large numeric range defeats max DoS protection) in brace-expansion 5.0.2-5.0.5 - transitive via minimatch under glob, @ts-morph/common, @typescript-eslint/typescript-estree. Remove once those parents resolve minimatch to a brace-expansion >=5.0.6.",
|
|
103
|
+
"semver@*": "Force latest semver 7.x across all sub-deps; gluegun@5.2.2 pins semver@7.7.0 which is stale - remove once gluegun updates its dep."
|
|
101
104
|
},
|
|
102
105
|
"overrides": {
|
|
103
|
-
"
|
|
106
|
+
"brace-expansion@5.0.2 - 5.0.5": "5.0.6",
|
|
107
|
+
"semver@*": "7.8.1"
|
|
104
108
|
},
|
|
105
109
|
"jest": {
|
|
106
110
|
"testEnvironment": "node",
|
|
107
111
|
"rootDir": "__tests__",
|
|
108
112
|
"testTimeout": 60000,
|
|
113
|
+
"testMatch": [
|
|
114
|
+
"<rootDir>/*.test.ts"
|
|
115
|
+
],
|
|
109
116
|
"transform": {
|
|
110
117
|
"^.+\\.tsx?$": [
|
|
111
118
|
"ts-jest",
|