inup 1.6.6 → 1.6.8

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.
Files changed (110) hide show
  1. package/README.md +25 -2
  2. package/dist/{interactive-ui.js → app/interactive-ui.js} +34 -21
  3. package/dist/{core → app}/upgrade-runner.js +18 -22
  4. package/dist/cli.js +19 -18
  5. package/dist/{services → features/audit}/background-audit.js +2 -2
  6. package/dist/features/{headless/vulnerability-audit.js → audit/headless-audit.js} +8 -11
  7. package/dist/features/audit/index.js +36 -0
  8. package/dist/{ui/presenters/vulnerability.js → features/audit/presenter.js} +1 -3
  9. package/dist/{ui/controllers → features/audit}/vulnerability-audit-controller.js +14 -8
  10. package/dist/{services → features/audit}/vulnerability-checker.js +9 -10
  11. package/dist/features/changelog/clients/github-client.js +41 -21
  12. package/dist/features/changelog/clients/npm-registry-client.js +16 -2
  13. package/dist/features/changelog/index.js +1 -1
  14. package/dist/features/changelog/services/package-metadata-service.js +6 -2
  15. package/dist/features/changelog/services/release-notes-service.js +9 -12
  16. package/dist/features/changelog/types.js +3 -0
  17. package/dist/features/debug/index.js +3 -4
  18. package/dist/features/debug/{services/perf-logger.js → perf-logger.js} +15 -15
  19. package/dist/features/debug/types.js +3 -0
  20. package/dist/features/headless/headless-runner.js +32 -19
  21. package/dist/features/headless/index.js +2 -5
  22. package/dist/features/headless/report.js +2 -0
  23. package/dist/features/interactive/controllers/index.js +6 -0
  24. package/dist/{ui → features/interactive}/controllers/package-info-modal-controller.js +3 -3
  25. package/dist/features/interactive/index.js +21 -0
  26. package/dist/{ui → features/interactive}/input-handler.js +6 -6
  27. package/dist/{ui → features/interactive}/modal/index.js +1 -1
  28. package/dist/{ui → features/interactive}/modal/layout.js +5 -5
  29. package/dist/{ui/renderer/package-list.js → features/interactive/modal/package-info-sections/index.js} +3 -3
  30. package/dist/{ui → features/interactive}/modal/package-info-sections/release-notes.js +1 -1
  31. package/dist/{ui → features/interactive}/modal/package-info-sections/sections.js +55 -24
  32. package/dist/{ui → features/interactive}/modal/package-info-sections/text.js +6 -6
  33. package/dist/{ui → features/interactive}/modal/package-info.js +33 -18
  34. package/dist/features/interactive/modal/types.js +3 -0
  35. package/dist/{ui → features/interactive}/presenters/health.js +2 -2
  36. package/dist/{ui → features/interactive}/renderer/confirmation.js +6 -3
  37. package/dist/{ui → features/interactive}/renderer/help-modal.js +3 -3
  38. package/dist/{ui → features/interactive}/renderer/index.js +3 -4
  39. package/dist/{types.js → features/interactive/renderer/package-list/index.js} +3 -4
  40. package/dist/{ui → features/interactive}/renderer/package-list/interface.js +15 -16
  41. package/dist/{ui → features/interactive}/renderer/package-list/rows.js +31 -25
  42. package/dist/features/{debug → interactive}/renderer/performance-modal.js +3 -3
  43. package/dist/{ui/utils/version.js → features/interactive/renderer/version-format.js} +9 -13
  44. package/dist/{ui → features/interactive}/session/action-dispatcher.js +2 -2
  45. package/dist/{ui → features/interactive}/session/index.js +5 -4
  46. package/dist/{ui → features/interactive}/session/interactive-session.js +44 -23
  47. package/dist/{ui → features/interactive}/session/selection-state-builder.js +25 -9
  48. package/dist/{ui → features/interactive}/state/filter-manager.js +3 -3
  49. package/dist/{ui → features/interactive}/state/index.js +7 -7
  50. package/dist/{ui → features/interactive}/state/state-manager.js +10 -8
  51. package/dist/{ui → features/interactive}/state/theme-manager.js +7 -5
  52. package/dist/{ui → features/interactive}/themes-colors.js +3 -1
  53. package/dist/features/upgrade/index.js +8 -0
  54. package/dist/{core → features/upgrade}/package-detector.js +96 -37
  55. package/dist/{core → features/upgrade}/upgrader.js +84 -35
  56. package/dist/index.js +2 -2
  57. package/dist/{config → shared/config}/package-meta.js +1 -1
  58. package/dist/{config → shared/config}/project-config.js +10 -8
  59. package/dist/{utils/config.js → shared/config/user-config.js} +11 -11
  60. package/dist/{utils → shared}/debug-logger.js +9 -9
  61. package/dist/{utils → shared}/exec.js +4 -4
  62. package/dist/{ui/modal/package-info-sections.js → shared/fs/index.js} +4 -3
  63. package/dist/{utils/filesystem → shared/fs}/io.js +3 -4
  64. package/dist/shared/fs/paths.js +19 -0
  65. package/dist/{utils/filesystem → shared/fs}/scan.js +23 -20
  66. package/dist/{utils → shared}/git.js +3 -3
  67. package/dist/{services → shared}/http/etag-store.js +56 -4
  68. package/dist/{services → shared}/http/resizable-semaphore.js +3 -1
  69. package/dist/{utils → shared}/local-env.js +8 -8
  70. package/dist/{services/package-manager-detector.js → shared/package-manager.js} +26 -25
  71. package/dist/shared/pnpm-catalogs.js +138 -0
  72. package/dist/{services → shared/registry}/npm-registry.js +54 -33
  73. package/dist/shared/registry/registry-config.js +76 -0
  74. package/dist/{services → shared/registry}/version-checker.js +25 -26
  75. package/dist/{ui/utils → shared/terminal}/cursor.js +1 -1
  76. package/dist/{ui/utils → shared/terminal}/index.js +5 -7
  77. package/dist/{ui/utils → shared/terminal}/terminal-input.js +5 -0
  78. package/dist/shared/terminal/text.js +48 -0
  79. package/dist/shared/types/index.js +20 -0
  80. package/dist/{utils/version.js → shared/versions.js} +45 -30
  81. package/package.json +21 -8
  82. package/dist/core/index.js +0 -23
  83. package/dist/features/changelog/types/changelog.types.js +0 -3
  84. package/dist/features/debug/types/debug.types.js +0 -3
  85. package/dist/services/index.js +0 -25
  86. package/dist/ui/controllers/index.js +0 -8
  87. package/dist/ui/index.js +0 -27
  88. package/dist/ui/presenters/index.js +0 -11
  89. package/dist/ui/utils/text.js +0 -76
  90. package/dist/utils/filesystem/paths.js +0 -19
  91. package/dist/utils/filesystem.js +0 -20
  92. package/dist/utils/index.js +0 -34
  93. /package/dist/{ui/modal → features/audit}/types.js +0 -0
  94. /package/dist/features/debug/{services/performance-tracker.js → performance-tracker.js} +0 -0
  95. /package/dist/{ui → features/interactive}/keymap.js +0 -0
  96. /package/dist/{ui → features/interactive}/modal/theme-selector.js +0 -0
  97. /package/dist/{ui → features/interactive}/state/modal-manager.js +0 -0
  98. /package/dist/{ui → features/interactive}/state/navigation-manager.js +0 -0
  99. /package/dist/{ui → features/interactive}/themes.js +0 -0
  100. /package/dist/{config → shared/config}/constants.js +0 -0
  101. /package/dist/{config → shared/config}/index.js +0 -0
  102. /package/dist/{utils → shared}/engines.js +0 -0
  103. /package/dist/{services → shared}/http/adaptive-controller.js +0 -0
  104. /package/dist/{services → shared}/http/inflight.js +0 -0
  105. /package/dist/{services → shared}/http/retry.js +0 -0
  106. /package/dist/{utils → shared}/manifest.js +0 -0
  107. /package/dist/{utils → shared/terminal}/color.js +0 -0
  108. /package/dist/{types → shared/types}/domain.js +0 -0
  109. /package/dist/{types → shared/types}/streaming.js +0 -0
  110. /package/dist/{types → shared/types}/ui.js +0 -0
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.stripAnsi = stripAnsi;
7
+ exports.getVisualLength = getVisualLength;
8
+ exports.truncatePlainText = truncatePlainText;
9
+ exports.wrapPlainText = wrapPlainText;
10
+ const cli_truncate_1 = __importDefault(require("cli-truncate"));
11
+ const string_width_1 = __importDefault(require("string-width"));
12
+ const strip_ansi_1 = __importDefault(require("strip-ansi"));
13
+ const wrap_ansi_1 = __importDefault(require("wrap-ansi"));
14
+ // Thin wrappers over the battle-tested terminal-string stack (string-width,
15
+ // strip-ansi, wrap-ansi, cli-truncate). The previous hand-rolled versions
16
+ // handled emoji but had no East Asian Width tables, so CJK text was counted at
17
+ // width 1 and misaligned every column that contained it.
18
+ function stripAnsi(text) {
19
+ return (0, strip_ansi_1.default)(text);
20
+ }
21
+ /** Terminal columns `text` occupies: ANSI-aware, emoji- and CJK-correct. */
22
+ function getVisualLength(text) {
23
+ return (0, string_width_1.default)(text);
24
+ }
25
+ function truncatePlainText(text, maxWidth) {
26
+ if (maxWidth <= 0) {
27
+ return '';
28
+ }
29
+ if (getVisualLength(text) <= maxWidth) {
30
+ return text;
31
+ }
32
+ if (maxWidth <= 3) {
33
+ return '.'.repeat(maxWidth);
34
+ }
35
+ return (0, cli_truncate_1.default)(text, maxWidth, { truncationCharacter: '...' });
36
+ }
37
+ function wrapPlainText(text, maxWidth) {
38
+ if (!text) {
39
+ return [];
40
+ }
41
+ if (maxWidth <= 0 || getVisualLength(text) <= maxWidth) {
42
+ return [text];
43
+ }
44
+ // Soft wrap: words longer than maxWidth get their own (overflowing) line,
45
+ // matching the previous behavior. ANSI codes are re-balanced per line.
46
+ return (0, wrap_ansi_1.default)(text, maxWidth).split('\n');
47
+ }
48
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./domain"), exports);
18
+ __exportStar(require("./streaming"), exports);
19
+ __exportStar(require("./ui"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -40,6 +40,8 @@ exports.parseVersions = parseVersions;
40
40
  exports.isVersionOutdated = isVersionOutdated;
41
41
  exports.getOptimizedRangeVersion = getOptimizedRangeVersion;
42
42
  exports.findClosestMinorVersion = findClosestMinorVersion;
43
+ exports.findHighestPatchVersion = findHighestPatchVersion;
44
+ exports.applyVersionPrefix = applyVersionPrefix;
43
45
  const semver = __importStar(require("semver"));
44
46
  const manifest_1 = require("./manifest");
45
47
  function extractMajorVersion(version) {
@@ -94,15 +96,9 @@ function isVersionOutdated(current, latest) {
94
96
  */
95
97
  function getOptimizedRangeVersion(_packageName, currentRange, allVersions, latestVersion) {
96
98
  try {
97
- // Find the highest version that satisfies the current range
98
- const satisfyingVersions = allVersions.filter((version) => {
99
- try {
100
- return semver.satisfies(version, currentRange);
101
- }
102
- catch {
103
- return false;
104
- }
105
- });
99
+ // Find the highest version that satisfies the current range. satisfies()
100
+ // returns false (never throws) for invalid input, so no guard is needed.
101
+ const satisfyingVersions = allVersions.filter((version) => semver.satisfies(version, currentRange));
106
102
  if (satisfyingVersions.length === 0) {
107
103
  return latestVersion;
108
104
  }
@@ -125,7 +121,6 @@ function findClosestMinorVersion(installedVersion, allVersions) {
125
121
  }
126
122
  const installedMajor = semver.major(coercedInstalled);
127
123
  const installedMinor = semver.minor(coercedInstalled);
128
- const installedPatch = semver.patch(coercedInstalled);
129
124
  let bestMinorVersion = null;
130
125
  let bestMinorValue = -1;
131
126
  // Single pass to find best minor version in same major
@@ -145,28 +140,48 @@ function findClosestMinorVersion(installedVersion, allVersions) {
145
140
  if (bestMinorVersion) {
146
141
  return bestMinorVersion;
147
142
  }
148
- // Fallback: find highest patch version in same major.minor that's higher than installed
149
- let bestPatchVersion = null;
150
- for (const version of allVersions) {
151
- try {
152
- const major = semver.major(version);
153
- const minor = semver.minor(version);
154
- const patch = semver.patch(version);
155
- // Same major and minor, but higher patch
156
- if (major === installedMajor && minor === installedMinor && patch > installedPatch) {
157
- if (!bestPatchVersion || semver.gt(version, bestPatchVersion)) {
158
- bestPatchVersion = version;
159
- }
160
- }
161
- }
162
- catch {
163
- // Skip invalid versions
164
- }
165
- }
166
- return bestPatchVersion;
143
+ // Fallback: highest patch version in the same major.minor that's higher than installed
144
+ return findHighestPatchVersion(installedVersion, allVersions);
167
145
  }
168
146
  catch {
169
147
  return null;
170
148
  }
171
149
  }
172
- //# sourceMappingURL=version.js.map
150
+ /**
151
+ * Find the highest patch version in the installed version's own major.minor line.
152
+ * This is the `--target patch` policy: never crosses a minor (or major) boundary.
153
+ */
154
+ function findHighestPatchVersion(installedVersion, allVersions) {
155
+ const coercedInstalled = semver.coerce(installedVersion);
156
+ if (!coercedInstalled) {
157
+ return null;
158
+ }
159
+ const installedMajor = semver.major(coercedInstalled);
160
+ const installedMinor = semver.minor(coercedInstalled);
161
+ const installedPatch = semver.patch(coercedInstalled);
162
+ let bestPatchVersion = null;
163
+ for (const version of allVersions) {
164
+ try {
165
+ const major = semver.major(version);
166
+ const minor = semver.minor(version);
167
+ const patch = semver.patch(version);
168
+ // Same major and minor, but higher patch
169
+ if (major === installedMajor && minor === installedMinor && patch > installedPatch) {
170
+ if (!bestPatchVersion || semver.gt(version, bestPatchVersion)) {
171
+ bestPatchVersion = version;
172
+ }
173
+ }
174
+ }
175
+ catch {
176
+ // Skip invalid versions
177
+ }
178
+ }
179
+ return bestPatchVersion;
180
+ }
181
+ /** Re-apply the original specifier's range prefix (^, ~, >=, …) to a new version. */
182
+ function applyVersionPrefix(originalSpecifier, targetVersion) {
183
+ const prefixMatch = originalSpecifier.match(/^([^\d]+)/);
184
+ const prefix = prefixMatch ? prefixMatch[1] : '';
185
+ return prefix + targetVersion;
186
+ }
187
+ //# sourceMappingURL=versions.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inup",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
4
4
  "description": "Interactive dependency upgrader for npm, yarn, pnpm & bun. Zero-config, monorepo-ready. Upgrade-interactive for every package manager.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -30,7 +30,7 @@
30
30
  "ncu"
31
31
  ],
32
32
  "license": "MIT",
33
- "homepage": "https://github.com/donfear/inup#readme",
33
+ "homepage": "https://donfear.github.io/inup/",
34
34
  "repository": {
35
35
  "type": "git",
36
36
  "url": "git+https://github.com/donfear/inup.git"
@@ -43,20 +43,27 @@
43
43
  "README.md"
44
44
  ],
45
45
  "devDependencies": {
46
+ "@biomejs/biome": "^2.5.2",
46
47
  "@types/node": "^25.9.4",
47
48
  "@types/semver": "^7.7.1",
48
49
  "@vitest/coverage-v8": "^4.1.9",
49
- "prettier": "^3.9.4",
50
+ "dependency-cruiser": "^18.0.0",
50
51
  "typescript": "^6.0.3",
51
52
  "vitest": "^4.1.9"
52
53
  },
53
54
  "dependencies": {
54
55
  "chalk": "^5.6.2",
56
+ "cli-truncate": "^6.1.0",
55
57
  "commander": "^15.0.0",
56
58
  "env-paths": "^4.0.0",
57
59
  "nanospinner": "^1.2.2",
60
+ "registry-auth-token": "^5.1.1",
58
61
  "semver": "^7.8.5",
59
- "undici": "^8.5.0"
62
+ "string-width": "^8.2.1",
63
+ "strip-ansi": "^7.2.0",
64
+ "undici": "^8.6.0",
65
+ "wrap-ansi": "^10.0.0",
66
+ "yaml": "^2.9.0"
60
67
  },
61
68
  "engines": {
62
69
  "node": ">=22.19.0"
@@ -66,13 +73,19 @@
66
73
  "dev": "tsc --watch",
67
74
  "start": "node dist/cli.js",
68
75
  "link": "pnpm build && pnpm add -g .",
69
- "format": "prettier --write src/**/*.ts",
70
- "format:check": "prettier --check src/**/*.ts",
76
+ "check": "biome check --write .",
77
+ "check:ci": "biome ci .",
78
+ "typecheck": "tsc --noEmit",
71
79
  "demo:record": "bash docs/demo/record-demo.sh",
72
80
  "demo:setup": "cd docs/demo-project && pnpm install",
73
81
  "test": "vitest run",
74
82
  "test:watch": "vitest",
75
- "test:coverage": "vitest run --coverage",
76
- "docs:keys": "UPDATE_README=1 vitest run keymap-readme"
83
+ "test:coverage": "vitest run --coverage --reporter=default --reporter=json --outputFile.json=coverage/test-results.json",
84
+ "lint:deps": "depcruise src --config .dependency-cruiser.cjs",
85
+ "docs:keys": "UPDATE_README=1 vitest run keymap-readme",
86
+ "docs:badges": "pnpm test:coverage && UPDATE_README=1 vitest run badges-readme",
87
+ "site:dev": "pnpm --filter @inup/website dev",
88
+ "site:build": "pnpm --filter @inup/website build",
89
+ "site:preview": "pnpm --filter @inup/website preview"
77
90
  }
78
91
  }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- /**
3
- * Core business logic
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- __exportStar(require("./upgrade-runner"), exports);
21
- __exportStar(require("./package-detector"), exports);
22
- __exportStar(require("./upgrader"), exports);
23
- //# sourceMappingURL=index.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=changelog.types.js.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=debug.types.js.map
@@ -1,25 +0,0 @@
1
- "use strict";
2
- /**
3
- * External service integrations
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- __exportStar(require("./npm-registry"), exports);
21
- __exportStar(require("../features/changelog"), exports);
22
- __exportStar(require("./version-checker"), exports);
23
- __exportStar(require("./vulnerability-checker"), exports);
24
- __exportStar(require("./background-audit"), exports);
25
- //# sourceMappingURL=index.js.map
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PackageInfoModalController = exports.VulnerabilityAuditController = void 0;
4
- var vulnerability_audit_controller_1 = require("./vulnerability-audit-controller");
5
- Object.defineProperty(exports, "VulnerabilityAuditController", { enumerable: true, get: function () { return vulnerability_audit_controller_1.VulnerabilityAuditController; } });
6
- var package_info_modal_controller_1 = require("./package-info-modal-controller");
7
- Object.defineProperty(exports, "PackageInfoModalController", { enumerable: true, get: function () { return package_info_modal_controller_1.PackageInfoModalController; } });
8
- //# sourceMappingURL=index.js.map
package/dist/ui/index.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./utils"), exports);
18
- __exportStar(require("./state"), exports);
19
- __exportStar(require("./renderer"), exports);
20
- __exportStar(require("./modal"), exports);
21
- __exportStar(require("./presenters"), exports);
22
- __exportStar(require("./controllers"), exports);
23
- __exportStar(require("./input-handler"), exports);
24
- __exportStar(require("./keymap"), exports);
25
- __exportStar(require("./themes"), exports);
26
- __exportStar(require("./themes-colors"), exports);
27
- //# sourceMappingURL=index.js.map
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.selectRepresentativeAdvisory = exports.mergeVulnerabilitySummary = exports.getVulnerabilitySeverityColor = exports.getVulnerabilityLinkLabel = exports.getVulnerabilityBadge = exports.createVulnerabilitySummary = void 0;
4
- var vulnerability_1 = require("./vulnerability");
5
- Object.defineProperty(exports, "createVulnerabilitySummary", { enumerable: true, get: function () { return vulnerability_1.createVulnerabilitySummary; } });
6
- Object.defineProperty(exports, "getVulnerabilityBadge", { enumerable: true, get: function () { return vulnerability_1.getVulnerabilityBadge; } });
7
- Object.defineProperty(exports, "getVulnerabilityLinkLabel", { enumerable: true, get: function () { return vulnerability_1.getVulnerabilityLinkLabel; } });
8
- Object.defineProperty(exports, "getVulnerabilitySeverityColor", { enumerable: true, get: function () { return vulnerability_1.getVulnerabilitySeverityColor; } });
9
- Object.defineProperty(exports, "mergeVulnerabilitySummary", { enumerable: true, get: function () { return vulnerability_1.mergeVulnerabilitySummary; } });
10
- Object.defineProperty(exports, "selectRepresentativeAdvisory", { enumerable: true, get: function () { return vulnerability_1.selectRepresentativeAdvisory; } });
11
- //# sourceMappingURL=index.js.map
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stripAnsi = stripAnsi;
4
- exports.getVisualLength = getVisualLength;
5
- exports.truncatePlainText = truncatePlainText;
6
- exports.wrapPlainText = wrapPlainText;
7
- const ANSI_PATTERN = /\[[0-9;?]*[ -/]*[@-~]/g;
8
- const OSC8_PATTERN = /]8;;.*?(?:|\\)|]8;;(?:|\\)/g;
9
- function stripAnsi(text) {
10
- return text.replace(OSC8_PATTERN, '').replace(ANSI_PATTERN, '');
11
- }
12
- function getVisualLength(text) {
13
- const cleaned = stripAnsi(text);
14
- const SegmenterCtor = Intl.Segmenter;
15
- let length = 0;
16
- const segments = SegmenterCtor
17
- ? SegmenterCtor.prototype.segment.call(new SegmenterCtor(undefined, { granularity: 'grapheme' }), cleaned)
18
- : cleaned;
19
- for (const item of segments) {
20
- const segment = typeof item === 'string' ? item : item.segment;
21
- if (/\p{Extended_Pictographic}/u.test(segment) || segment.includes('\uFE0F')) {
22
- length += 2;
23
- }
24
- else {
25
- for (const char of segment) {
26
- const codePoint = char.codePointAt(0) ?? 0;
27
- if ((codePoint >= 0xfe00 && codePoint <= 0xfe0f) ||
28
- (codePoint >= 0x0300 && codePoint <= 0x036f)) {
29
- continue;
30
- }
31
- length += 1;
32
- }
33
- }
34
- }
35
- return length;
36
- }
37
- function truncatePlainText(text, maxWidth) {
38
- if (maxWidth <= 0) {
39
- return '';
40
- }
41
- if (getVisualLength(text) <= maxWidth) {
42
- return text;
43
- }
44
- if (maxWidth <= 3) {
45
- return '.'.repeat(maxWidth);
46
- }
47
- return text.substring(0, maxWidth - 3) + '...';
48
- }
49
- function wrapPlainText(text, maxWidth) {
50
- if (!text) {
51
- return [];
52
- }
53
- if (maxWidth <= 0 || getVisualLength(text) <= maxWidth) {
54
- return [text];
55
- }
56
- const lines = [];
57
- let current = '';
58
- const words = text.split(' ');
59
- for (const word of words) {
60
- const candidate = (current + ' ' + word).trim();
61
- if (getVisualLength(candidate) > maxWidth) {
62
- if (current) {
63
- lines.push(current);
64
- }
65
- current = word;
66
- }
67
- else {
68
- current = current ? `${current} ${word}` : word;
69
- }
70
- }
71
- if (current) {
72
- lines.push(current);
73
- }
74
- return lines;
75
- }
76
- //# sourceMappingURL=text.js.map
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findPackageJson = findPackageJson;
4
- exports.findWorkspaceRoot = findWorkspaceRoot;
5
- const fs_1 = require("fs");
6
- const path_1 = require("path");
7
- const package_manager_detector_1 = require("../../services/package-manager-detector");
8
- function findPackageJson(cwd = process.cwd()) {
9
- const packageJsonPath = (0, path_1.join)(cwd, 'package.json');
10
- return (0, fs_1.existsSync)(packageJsonPath) ? packageJsonPath : null;
11
- }
12
- function findWorkspaceRoot(cwd = process.cwd(), packageManager) {
13
- if (!packageManager) {
14
- const detected = package_manager_detector_1.PackageManagerDetector.detect(cwd);
15
- packageManager = detected.name;
16
- }
17
- return package_manager_detector_1.PackageManagerDetector.findWorkspaceRoot(cwd, packageManager);
18
- }
19
- //# sourceMappingURL=paths.js.map
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./filesystem/paths"), exports);
18
- __exportStar(require("./filesystem/io"), exports);
19
- __exportStar(require("./filesystem/scan"), exports);
20
- //# sourceMappingURL=filesystem.js.map
@@ -1,34 +0,0 @@
1
- "use strict";
2
- /**
3
- * Shared utilities
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.collectAllDependenciesAsync = exports.readPackageJsonAsync = void 0;
21
- __exportStar(require("./filesystem"), exports);
22
- __exportStar(require("./exec"), exports);
23
- __exportStar(require("./git"), exports);
24
- __exportStar(require("./version"), exports);
25
- __exportStar(require("./debug-logger"), exports);
26
- __exportStar(require("./local-env"), exports);
27
- __exportStar(require("./color"), exports);
28
- __exportStar(require("./engines"), exports);
29
- __exportStar(require("./manifest"), exports);
30
- // Re-export async functions for convenience
31
- var filesystem_1 = require("./filesystem");
32
- Object.defineProperty(exports, "readPackageJsonAsync", { enumerable: true, get: function () { return filesystem_1.readPackageJsonAsync; } });
33
- Object.defineProperty(exports, "collectAllDependenciesAsync", { enumerable: true, get: function () { return filesystem_1.collectAllDependenciesAsync; } });
34
- //# sourceMappingURL=index.js.map
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes