From b2b659c7e14cc1690a0715f136f7c40cda165554 Mon Sep 17 00:00:00 2001 From: bzp2010 Date: Thu, 16 Apr 2026 18:53:01 +0800 Subject: [PATCH 1/2] feat(cli): improve ux when throw error --- apps/cli/node-sea.json | 3 + apps/cli/package.json | 46 ++++++----- apps/cli/src/main.ts | 29 +++++++ package.json | 1 - pnpm-lock.yaml | 173 +++++------------------------------------ pnpm-workspace.yaml | 7 +- 6 files changed, 76 insertions(+), 183 deletions(-) diff --git a/apps/cli/node-sea.json b/apps/cli/node-sea.json index a7840301..8937bd91 100644 --- a/apps/cli/node-sea.json +++ b/apps/cli/node-sea.json @@ -1,5 +1,8 @@ { "main": "dist/apps/cli/main.cjs", + "assets": { + "main.js.map": "dist/apps/cli/main.cjs.map" + }, "output": "sea-prep.blob", "disableExperimentalSEAWarning": true } diff --git a/apps/cli/package.json b/apps/cli/package.json index a7d556e0..928c1eb8 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -6,39 +6,41 @@ "@types/express": "^5.0.3", "@types/js-yaml": "^4.0.9", "@types/lodash-es": "catalog:", - "@types/supertest": "^7.2.0", "@types/pluralize": "^0.0.33", "@types/qs": "^6.9.15", - "@types/signale": "^1.4.7", "@types/semver": "catalog:", + "@types/signale": "^1.4.7", + "@types/supertest": "^7.2.0", + "@types/source-map-support": "^0.5.10", + "semver": "catalog:", "supertest": "^7.1.4", - "vitest": "catalog:", - "semver": "catalog:" + "vitest": "catalog:" }, "dependencies": { - "@api7/adc-sdk": "workspace:*", "@api7/adc-backend-api7": "workspace:*", "@api7/adc-backend-apisix": "workspace:*", "@api7/adc-backend-apisix-standalone": "workspace:*", "@api7/adc-converter-openapi": "workspace:*", "@api7/adc-differ": "workspace:*", - "express": "^5.1.0", - "winston": "^3.17.0", + "@api7/adc-sdk": "workspace:*", + "agentkeepalive": "^4.6.0", "axios": "catalog:", - "rxjs": "catalog:", - "lodash-es": "catalog:", - "zod": "catalog:", - "pluralize": "^8.0.0", - "listr2": "catalog:", - "commander": "^14.0.3", "chalk": "^5.6.2", + "commander": "^14.0.3", + "dotenv": "^17.3.1", + "express": "^5.1.0", + "glob": "^13.0.0", + "js-yaml": "catalog:", + "listr2": "catalog:", + "lodash-es": "catalog:", "parse-duration": "^2.1.5", + "pluralize": "^8.0.0", "qs": "^6.14.1", - "dotenv": "^17.3.1", - "agentkeepalive": "^4.6.0", + "rxjs": "catalog:", "signale": "^1.4.0", - "glob": "^13.0.0", - "js-yaml": "catalog:" + "source-map-support": "catalog:", + "winston": "^3.17.0", + "zod": "catalog:" }, "nx": { "name": "cli", @@ -65,15 +67,11 @@ "declarationRootDir": "apps/cli/src", "bundle": true, "thirdParty": true, - "sourcemap": "inline" + "sourcemap": "linked" }, "configurations": { - "development": { - "minify": false - }, - "production": { - "minify": true - } + "development": {}, + "production": {} } }, "lint": { diff --git a/apps/cli/src/main.ts b/apps/cli/src/main.ts index 912ecb2b..250718f5 100644 --- a/apps/cli/src/main.ts +++ b/apps/cli/src/main.ts @@ -1,6 +1,35 @@ +import { getAsset, isSea } from 'node:sea'; +import sourceMapSupport from 'source-map-support'; + import { setupCommands, setupIngressCommands } from './command'; +function setupSourceMap() { + if (!isSea()) { + sourceMapSupport.install(); + return; + } + + try { + const sourceMapFile = getAsset('main.js.map', 'utf-8'); + const map = JSON.parse(sourceMapFile); + sourceMapSupport.install({ + environment: 'node', + retrieveSourceMap: (source) => { + if (source.startsWith('node:') || source.startsWith('internal')) + return null; + return { url: source, map }; + }, + }); + } catch (err) { + console.warn( + `Failed to load source map for SEA: ${err instanceof Error ? err.message : String(err)}`, + ); + } +} + async function bootstrap() { + setupSourceMap(); + await ( process.env.ADC_RUNNING_MODE === 'ingress' ? setupIngressCommands() diff --git a/package.json b/package.json index 6b2b82af..97cb7dd9 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,6 @@ "@nx/eslint-plugin": "22.6.3", "@nx/js": "22.6.3", "@nx/vitest": "22.6.3", - "@nx/web": "22.6.3", "@nx/workspace": "22.6.3", "@swc-node/register": "1.11.1", "@swc/core": "1.15.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f81a78c7..972f8b13 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,6 +48,9 @@ catalogs: semver: specifier: ^7.7.3 version: 7.7.3 + source-map-support: + specifier: ^0.5.21 + version: 0.5.21 tslib: specifier: ^2.6.2 version: 2.8.1 @@ -77,9 +80,6 @@ importers: '@nx/vitest': specifier: 22.6.3 version: 22.6.3(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))(nx@22.6.3(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20)))(typescript@5.9.3)(vite@7.1.9(@types/node@24.12.0)(jiti@2.4.2)(less@4.5.1)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.46.1)(yaml@2.8.3))(vitest@4.1.2) - '@nx/web': - specifier: 22.6.3 - version: 22.6.3(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))(nx@22.6.3(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))) '@nx/workspace': specifier: 22.6.3 version: 22.6.3(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20)) @@ -203,6 +203,9 @@ importers: signale: specifier: ^1.4.0 version: 1.4.0 + source-map-support: + specifier: 'catalog:' + version: 0.5.21 winston: specifier: ^3.17.0 version: 3.17.0 @@ -231,6 +234,9 @@ importers: '@types/signale': specifier: ^1.4.7 version: 1.4.7 + '@types/source-map-support': + specifier: ^0.5.10 + version: 0.5.10 '@types/supertest': specifier: ^7.2.0 version: 7.2.0 @@ -1544,9 +1550,6 @@ packages: vitest: optional: true - '@nx/web@22.6.3': - resolution: {integrity: sha512-j9PLU1U8Un/PGRzX7u7B62TtcH8WaJMOn+hSmXXCw9ZCw+JrnhSdvNr7q3JVZ4Z+Kaisd+OzoDPcFc1wIpz+BQ==} - '@nx/workspace@22.6.3': resolution: {integrity: sha512-Tdu3K6mpRAU0LI2gpi61WLY7mPR61nj1Szvhwj4T88PhGQXSlN6PuUhb5nMPHnZG/bDmUFeTSv/+MCgbEm563A==} @@ -2105,6 +2108,9 @@ packages: '@types/signale@1.4.7': resolution: {integrity: sha512-nc0j37QupTT7OcYeH3gRE1ZfzUalEUsDKJsJ3IsJr0pjjFZTjtrX1Bsn6Kv56YXI/H9rNSwAkIPRxNlZI8GyQw==} + '@types/source-map-support@0.5.10': + resolution: {integrity: sha512-tgVP2H469x9zq34Z0m/fgPewGhg/MLClalNOiPIzQlXrSS2YrKu/xCdSCKnEDwkFha51VKEKB6A9wW26/ZNwzA==} + '@types/superagent@8.1.9': resolution: {integrity: sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==} @@ -2381,10 +2387,6 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - basic-auth@2.0.1: - resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} - engines: {node: '>= 0.8'} - bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -2556,10 +2558,6 @@ packages: core-js-compat@3.49.0: resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} - corser@2.0.1: - resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} - engines: {node: '>= 0.4.0'} - cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} @@ -2793,9 +2791,6 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} @@ -2984,14 +2979,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -2999,15 +2986,6 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - - http-server@14.1.1: - resolution: {integrity: sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==} - engines: {node: '>=12'} - hasBin: true - humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -3428,10 +3406,6 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -3553,10 +3527,6 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - portfinder@1.0.38: - resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} - engines: {node: '>= 10.12'} - postcss@8.5.8: resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} engines: {node: ^10 || ^12 || >=14} @@ -3593,10 +3563,6 @@ packages: resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} engines: {node: '>=0.6'} - qs@6.15.0: - resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} - engines: {node: '>=0.6'} - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -3642,9 +3608,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3681,9 +3644,6 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3820,9 +3780,6 @@ packages: resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} engines: {node: '>=11.0.0'} - secure-compare@3.0.1: - resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -4096,10 +4053,6 @@ packages: resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} - union@0.5.0: - resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} - engines: {node: '>= 0.8.0'} - unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -4113,9 +4066,6 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - url-join@4.0.1: - resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} - util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -4204,11 +4154,6 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -5452,23 +5397,6 @@ snapshots: - typescript - verdaccio - '@nx/web@22.6.3(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))(nx@22.6.3(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20)))': - dependencies: - '@nx/devkit': 22.6.3(nx@22.6.3(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))) - '@nx/js': 22.6.3(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))(nx@22.6.3(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))) - detect-port: 1.6.1 - http-server: 14.1.1 - picocolors: 1.1.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@babel/traverse' - - '@swc-node/register' - - '@swc/core' - - debug - - nx - - supports-color - - verdaccio - '@nx/workspace@22.6.3(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))': dependencies: '@nx/devkit': 22.6.3(nx@22.6.3(@swc-node/register@1.11.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(@swc/core@1.15.8(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.20))) @@ -5913,6 +5841,10 @@ snapshots: dependencies: '@types/node': 22.16.5 + '@types/source-map-support@0.5.10': + dependencies: + source-map: 0.6.1 + '@types/superagent@8.1.9': dependencies: '@types/cookiejar': 2.1.5 @@ -6244,10 +6176,6 @@ snapshots: baseline-browser-mapping@2.10.12: {} - basic-auth@2.0.1: - dependencies: - safe-buffer: 5.1.2 - bl@4.1.0: dependencies: buffer: 5.7.1 @@ -6430,8 +6358,6 @@ snapshots: dependencies: browserslist: 4.28.1 - corser@2.0.1: {} - cosmiconfig@7.1.0: dependencies: '@types/parse-json': 4.0.2 @@ -6709,8 +6635,6 @@ snapshots: etag@1.8.1: {} - eventemitter3@4.0.7: {} - eventemitter3@5.0.1: {} expect-type@1.3.0: {} @@ -6907,12 +6831,6 @@ snapshots: dependencies: function-bind: 1.1.2 - he@1.2.0: {} - - html-encoding-sniffer@3.0.0: - dependencies: - whatwg-encoding: 2.0.0 - html-escaper@2.0.2: {} http-errors@2.0.0: @@ -6923,33 +6841,6 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 - http-proxy@1.18.1: - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.11 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - - http-server@14.1.1: - dependencies: - basic-auth: 2.0.1 - chalk: 4.1.2 - corser: 2.0.1 - he: 1.2.0 - html-encoding-sniffer: 3.0.0 - http-proxy: 1.18.1 - mime: 1.6.0 - minimist: 1.2.8 - opener: 1.5.2 - portfinder: 1.0.38 - secure-compare: 3.0.1 - union: 0.5.0 - url-join: 4.0.1 - transitivePeerDependencies: - - debug - - supports-color - humanize-ms@1.2.1: dependencies: ms: 2.1.3 @@ -7235,7 +7126,8 @@ snapshots: dependencies: mime-db: 1.54.0 - mime@1.6.0: {} + mime@1.6.0: + optional: true mime@2.6.0: {} @@ -7370,8 +7262,6 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - opener@1.5.2: {} - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -7504,13 +7394,6 @@ snapshots: pluralize@8.0.0: {} - portfinder@1.0.38: - dependencies: - async: 3.2.6 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - postcss@8.5.8: dependencies: nanoid: 3.3.11 @@ -7543,10 +7426,6 @@ snapshots: dependencies: side-channel: 1.1.0 - qs@6.15.0: - dependencies: - side-channel: 1.1.0 - range-parser@1.2.1: {} raw-body@3.0.0: @@ -7592,8 +7471,6 @@ snapshots: require-from-string@2.0.2: {} - requires-port@1.0.0: {} - resolve-from@4.0.0: {} resolve.exports@2.0.3: {} @@ -7658,8 +7535,6 @@ snapshots: dependencies: tslib: 2.8.1 - safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} safe-stable-stringify@2.5.0: {} @@ -7766,8 +7641,6 @@ snapshots: sax@1.6.0: optional: true - secure-compare@3.0.1: {} - semver@5.7.2: optional: true @@ -8055,10 +7928,6 @@ snapshots: unicode-property-aliases-ecmascript@2.2.0: {} - union@0.5.0: - dependencies: - qs: 6.15.0 - unpipe@1.0.0: {} update-browserslist-db@1.2.3(browserslist@4.28.1): @@ -8071,8 +7940,6 @@ snapshots: dependencies: punycode: 2.3.1 - url-join@4.0.1: {} - util-deprecate@1.0.2: {} varint@6.0.0: @@ -8130,10 +7997,6 @@ snapshots: dependencies: defaults: 1.0.4 - whatwg-encoding@2.0.0: - dependencies: - iconv-lite: 0.6.3 - which@2.0.2: dependencies: isexe: 2.0.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index cfc0e7d1..376844dd 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - apps/* - libs/* +autoInstallPeers: true catalog: "@nx/esbuild": 22.6.3 @@ -17,6 +18,7 @@ catalog: lodash-es: ^4.17.23 rxjs: ^7.8.2 semver: ^7.7.3 + source-map-support: ^0.5.21 tslib: ^2.6.2 vitest: ^4.1.2 zod: ^4.1.12 @@ -24,8 +26,7 @@ catalog: catalogMode: strict minimumReleaseAge: 1440 - -strictPeerDependencies: false -autoInstallPeers: true publicHoistPattern: - "@types/*" + +strictPeerDependencies: false From e786ebca3a7e34b154716bd6752443cc74a4cb21 Mon Sep 17 00:00:00 2001 From: bzp2010 Date: Thu, 16 Apr 2026 19:10:15 +0800 Subject: [PATCH 2/2] fix --- apps/cli/src/command/index.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/cli/src/command/index.ts b/apps/cli/src/command/index.ts index 9ea67898..a7a6537e 100644 --- a/apps/cli/src/command/index.ts +++ b/apps/cli/src/command/index.ts @@ -15,13 +15,17 @@ import { configurePluralize } from './utils'; const versionCode = '0.24.3'; -// initialize dotenv -dotenv.config({ quiet: true }); +function setupInternal() { + // initialize dotenv + dotenv.config({ quiet: true }); -// initialize pluralize -configurePluralize(); + // initialize pluralize + configurePluralize(); +} export const setupCommands = (): Command => { + setupInternal(); + const program = new Command('adc'); program @@ -56,6 +60,8 @@ export const setupCommands = (): Command => { }; export const setupIngressCommands = (): Command => { + setupInternal(); + const program = new Command('adc-ingress'); program