@lenne.tech/cli 1.46.0 → 1.48.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lenne.tech/cli",
3
- "version": "1.46.0",
3
+ "version": "1.48.0",
4
4
  "description": "lenne.Tech CLI: lt",
5
5
  "keywords": [
6
6
  "lenne.Tech",
@@ -24,7 +24,8 @@
24
24
  "check:audit": "bash scripts/check.sh --audit-only",
25
25
  "check:fix": "npm install && npm audit fix && npm run format && npm run lint:fix && npm run build && npm run check:start",
26
26
  "check:start": "bash scripts/check-cli-start.sh",
27
- "postinstall": "node bin/postinstall.js 2>/dev/null || true",
27
+ "sync:check-template": "ts-node --transpile-only extras/sync-check-template.ts",
28
+ "postinstall": "node bin/postinstall.js",
28
29
  "build": "npm run lint && npm run test && npm run clean-build && npm run compile && npm run copy-templates",
29
30
  "clean-build": "npx rimraf ./build",
30
31
  "compile": "tsc -p .",
@@ -33,11 +34,11 @@
33
34
  "test:vendor-init": "bash scripts/test-vendor-init.sh",
34
35
  "test:frontend-vendor-init": "bash scripts/test-frontend-vendor-init.sh",
35
36
  "test:incremental-fullstack": "bash scripts/test-incremental-fullstack.sh",
36
- "test:manual": "jest --testMatch '<rootDir>/*.manual.ts' --testTimeout=60000",
37
- "test:e2e:service": "jest --testMatch '<rootDir>/dev-service-e2e.manual.ts' --testTimeout=60000",
38
- "format": "prettier --write 'src/**/*.{js,ts,tsx,json}' '!src/templates/**/*'",
39
- "lint": "eslint './src/**/*.{ts,js,vue}'",
40
- "lint:fix": "eslint './src/**/*.{ts,js,vue}' --fix",
37
+ "test:manual": "jest --testMatch \"<rootDir>/*.manual.ts\" --testTimeout=60000",
38
+ "test:e2e:service": "jest --testMatch \"<rootDir>/dev-service-e2e.manual.ts\" --testTimeout=60000",
39
+ "format": "prettier --write \"src/**/*.{js,ts,tsx,json}\" \"!src/templates/**/*\"",
40
+ "lint": "eslint \"./src/**/*.{ts,js,vue}\"",
41
+ "lint:fix": "eslint \"./src/**/*.{ts,js,vue}\" --fix",
41
42
  "prepublishOnly": "npm run build",
42
43
  "preversion": "npm run lint",
43
44
  "reinit": "npx rimraf package-lock.json && npx rimraf node_modules && npm cache clean --force && npm i && npm run build",
@@ -61,11 +62,12 @@
61
62
  "@lenne.tech/cli-plugin-helper": "0.0.14",
62
63
  "axios": "1.19.0",
63
64
  "bcrypt": "6.0.0",
65
+ "cross-spawn": "7.0.6",
64
66
  "defuddle": "0.19.2",
65
67
  "glob": "13.0.6",
66
68
  "gluegun": "5.2.2",
67
69
  "js-sha256": "1.0.0",
68
- "js-yaml": "4.3.1",
70
+ "js-yaml": "4.3.2",
69
71
  "jsdom": "29.1.1",
70
72
  "jsonc-parser": "3.3.1",
71
73
  "lodash": "4.18.1",
@@ -86,6 +88,7 @@
86
88
  "@emnapi/runtime": "^1.11.3",
87
89
  "@lenne.tech/eslint-config-ts": "2.3.0",
88
90
  "@lenne.tech/npm-package-helper": "0.0.12",
91
+ "@types/cross-spawn": "6.0.6",
89
92
  "@types/ejs": "3.1.5",
90
93
  "@types/jest": "30.0.0",
91
94
  "@types/js-yaml": "4.0.9",
@@ -110,8 +113,7 @@
110
113
  "//minimatch-note": "brace-expansion 1.x and 2.x are END OF LINE for GHSA-mh99-v99m-4gvg: the advisory range is <=5.0.7 across ALL majors and upstream patched ONLY 5.0.8+. 1.1.18 and 2.1.4 are the newest releases of their majors and remain vulnerable. Forcing brace-expansion 5.x globally is NOT an option: 5.x is ESM/tshy and exports an object ({ expand, ... }) while 1.x/2.x export the function itself, so minimatch 3.x/5.x would die on `expand is not a function`. The only real fix is to raise each CONSUMER off minimatch 3.x/5.x, which is what the scoped entries below do. Each was verified against the consumer's actual call site before being added. The eslint / @eslint/eslintrc / @eslint/config-array entries were REMOVED in 1.42.0: eslint 10 requests minimatch ^10.2.5 itself, config-array ^10.2.4, and eslintrc is no longer in the tree at all.",
111
114
  "minimatch@>=4 <10": "Bounded raise of every minimatch 4.x-9.x install to 10.2.6, whose brace-expansion ^5.0.8 is patched. Covers filelist (gluegun > ejs > jake > filelist, PRODUCTION-reachable, minimatch ^5.0.1), @typescript-eslint/typescript-estree (^9.0.4) and jest-config/jest-runtime/@jest/reporters (^9). Verified safe per consumer: filelist calls only the static helper `minimatch.match(files, pat, opts)`; typescript-estree calls the named `minimatch(filePath, pattern, { dot: true })`; the three jest packages declare minimatch but never require it. Floored at >=4 so the 3.x line is NOT swept in: minimatch 3.x is callable while 9.x/10.x export an object with __esModule but no `default` key, so sweeping it would break any consumer that calls the default export. Drop once these consumers request minimatch >=10 themselves.",
112
115
  "babel-plugin-istanbul > test-exclude@<8": "test-exclude 6.0.0 pins minimatch ^3.0.4 and glob ^7. test-exclude 8.0.0 uses minimatch ^10.2.2 + glob ^13 (the glob major this project already ships) and is still CJS with the same `module.exports = TestExclude` class shape, so babel-plugin-istanbul's _interopRequireDefault + `new TestExclude(opts)` keeps working. Drop once babel-plugin-istanbul widens its ^6.0.0 range.",
113
- "fs-jetpack > minimatch@<10": "Same chain, PRODUCTION-reachable (gluegun > fs-jetpack). Safe: lib/utils/matcher.js does `require('minimatch').Minimatch` and uses only `new Minimatch(pattern, { matchBase, nocomment, nocase, dot })`, `.negate` and `.match()` - all verified against 10.x. Not fixable by upgrading fs-jetpack: gluegun@5.2.2 is the latest release and fs-jetpack@5.1.0 still requests minimatch ^5.1.0 (brace-expansion ^2.0.1, also unpatched).",
114
- "@istanbuljs/load-nyc-config": "GHSA-5p4m-2wfm-xmqj (high): quadratic CPU consumption resolving !!omap. Patched only in 4.3.1 - the advisory states the fix was NOT backported to 3.x, so 3.15.0 is the end of its line and there is nothing to raise it to within the major. The one 3.x path is dev-only: ts-jest > @jest/transform > babel-plugin-istanbul > @istanbuljs/load-nyc-config > js-yaml@3.15.0. Cross-major export shape verified before adding (repo policy): load-nyc-config calls `require('js-yaml').load(...)` at index.js:80, and 4.x exports `load` - so the raise is API-compatible. It is also strictly SAFER: 4.x `load` behaves like 3.x `safeLoad`, refusing arbitrary type construction, and the input here is a repo-local .nycrc.yml. Scoped to this ONE consumer rather than raised globally: that is the call site whose shape was verified, and a global raise would silently apply to consumers nobody checked. A top-level `js-yaml@<4.3.1` selector was tried first and npm did not apply it to this nested path at all - the scoped form is what actually resolves. Remove once ts-jest's istanbul chain requests a patched js-yaml itself."
116
+ "fs-jetpack > minimatch@<10": "Same chain, PRODUCTION-reachable (gluegun > fs-jetpack). Safe: lib/utils/matcher.js does `require('minimatch').Minimatch` and uses only `new Minimatch(pattern, { matchBase, nocomment, nocase, dot })`, `.negate` and `.match()` - all verified against 10.x. Not fixable by upgrading fs-jetpack: gluegun@5.2.2 is the latest release and fs-jetpack@5.1.0 still requests minimatch ^5.1.0 (brace-expansion ^2.0.1, also unpatched)."
115
117
  },
116
118
  "overrides": {
117
119
  "semver@*": "7.8.5",
@@ -124,10 +126,7 @@
124
126
  "babel-plugin-istanbul": {
125
127
  "test-exclude@<8": "8.0.0"
126
128
  },
127
- "minimatch@>=4 <10": "10.2.6",
128
- "@istanbuljs/load-nyc-config": {
129
- "js-yaml": "4.3.1"
130
- }
129
+ "minimatch@>=4 <10": "10.2.6"
131
130
  },
132
131
  "//jest.workerIdleMemoryLimit": "Recycle a ts-jest worker once its heap passes this. Guards against an intermittent `A jest worker process was terminated by another process: signal=SIGSEGV` that kills ONE suite while every other test passes (seen twice in marketplace*, both under `npm run check`, never reproducible on demand - 0 in 9 targeted runs incl. --maxWorkers=16). It is a worker crash, NOT an assertion failure: the signature is `Test suite failed to run` with the remaining count still green. All versions are current and in-range (node 24 / jest 30 / ts-jest 29 / ts 6), so this is a resilience measure against unbounded worker heap growth, not a proven root-cause fix - if it recurs, capture the suite name and re-open.",
133
132
  "jest": {