diff --git a/package.json b/package.json index fcb5d599a..2db4fcf0b 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "is-es5-identifier-name": "1.0.0", "jest-docblock": "30.0.1", "json5": "2.2.3", - "leven": "4.0.0", + "leven": "4.1.0", "linguist-languages": "9.0.0", "meriyah": "6.1.4", "micromatch": "4.0.8", @@ -106,7 +106,7 @@ "unicode-regex": "4.2.0", "unified": "9.2.2", "url-or-path": "2.6.1", - "vnopts": "2.0.2", + "vnopts": "2.0.3", "wcwidth.js": "2.0.0", "yaml": "1.10.2", "yaml-unist-parser": "2.0.5" diff --git a/src/cli/options/normalize-cli-options.js b/src/cli/options/normalize-cli-options.js index cb1afa65a..09b4cc2b2 100644 --- a/src/cli/options/normalize-cli-options.js +++ b/src/cli/options/normalize-cli-options.js @@ -1,5 +1,5 @@ import { - leven, + closetLevenshteinMatch, normalizeOptions, picocolors, vnopts, @@ -31,7 +31,9 @@ class FlagSchema extends vnopts.ChoiceSchema { value.length > 0 && !this.#flags.includes(value) ) { - const suggestion = this.#flags.find((flag) => leven(flag, value) < 3); + const suggestion = closetLevenshteinMatch(value, this.#flags, { + maxDistance: 3, + }); if (suggestion) { utils.logger.warn( [ diff --git a/src/cli/prettier-internal.js b/src/cli/prettier-internal.js index 055114054..3d3babc9a 100644 --- a/src/cli/prettier-internal.js +++ b/src/cli/prettier-internal.js @@ -13,5 +13,5 @@ export const { fastGlob, createTwoFilesPatch, picocolors, - leven, + closetLevenshteinMatch, } = sharedWithCli; diff --git a/src/index.js b/src/index.js index 1ac5a26ad..8a8a7050b 100644 --- a/src/index.js +++ b/src/index.js @@ -1,13 +1,13 @@ /* The following are bundled here since they are used in API too - fast-glob -- createTwoFilesPatch -- leven +- diff.createTwoFilesPatch +- leven.closestMatch - picocolors */ import { createTwoFilesPatch } from "diff"; import fastGlob from "fast-glob"; -import leven from "leven"; +import { closestMatch as closetLevenshteinMatch } from "leven"; import picocolors from "picocolors"; import * as vnopts from "vnopts"; import * as errors from "./common/errors.js"; @@ -108,7 +108,7 @@ const sharedWithCli = { fastGlob, createTwoFilesPatch, picocolors, - leven, + closetLevenshteinMatch, utils: { omit, createMockable, diff --git a/yarn.lock b/yarn.lock index d5043cf7f..769f105e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6407,10 +6407,10 @@ __metadata: languageName: node linkType: hard -"leven@npm:4.0.0, leven@npm:^4.0.0": - version: 4.0.0 - resolution: "leven@npm:4.0.0" - checksum: 10/d70b9fef4cca487a38021bb173a5cae98d39b1c7f4a5b2439763bd89df8e389f178a3c941b6fc3fab1582f5052b5e8c91353d9607799a2ad3841e7ea22f9720f +"leven@npm:4.1.0, leven@npm:^4.1.0": + version: 4.1.0 + resolution: "leven@npm:4.1.0" + checksum: 10/ab6c1af4a44e9cd83d3fba79a36ed405afce146e7f12c6653d3ac02f17d3d6de0ace0e0d2728b38446e7f40c1df7692352d8b1278cb3ff0dfb868324219636e5 languageName: node linkType: hard @@ -7502,7 +7502,7 @@ __metadata: jest-watch-typeahead: "npm:3.0.1" json5: "npm:2.2.3" knip: "npm:5.61.2" - leven: "npm:4.0.0" + leven: "npm:4.1.0" linguist-languages: "npm:9.0.0" magic-string: "npm:0.30.18" meriyah: "npm:6.1.4" @@ -7547,7 +7547,7 @@ __metadata: unicode-regex: "npm:4.2.0" unified: "npm:9.2.2" url-or-path: "npm:2.6.1" - vnopts: "npm:2.0.2" + vnopts: "npm:2.0.3" wcwidth.js: "npm:2.0.0" yaml: "npm:1.10.2" yaml-unist-parser: "npm:2.0.5" @@ -8998,13 +8998,13 @@ __metadata: languageName: node linkType: hard -"vnopts@npm:2.0.2": - version: 2.0.2 - resolution: "vnopts@npm:2.0.2" +"vnopts@npm:2.0.3": + version: 2.0.3 + resolution: "vnopts@npm:2.0.3" dependencies: - leven: "npm:^4.0.0" + leven: "npm:^4.1.0" picocolors: "npm:^1.1.1" - checksum: 10/aec69bf34f4cbb4cd426641ec30489945e823ba1e2f20d8cffa08ad82f4b05ebc92c20958c3c88b745d0ee2df588aad81cf14825c6fb77776a76a137564256c8 + checksum: 10/afcbd467bc1bef0e39c5210647556979dc5cddcfc37fb4e7d33176943bd9e215d94c08e59c58db69e745bd65b66ed9bf76510a168cf3a0baa9c218169ab4b90d languageName: node linkType: hard