From 303e2254047cd6e17854918f2e1a0bc1b8c2e5f5 Mon Sep 17 00:00:00 2001 From: Jason3S Date: Wed, 15 Feb 2023 12:02:02 +0000 Subject: [PATCH] fix: Workflow Bot -- Update ALL Dependencies --- action-src/package.json | 6 +- .../cspell-default.config.js | 1 + .../@cspell/cspell-bundled-dicts/package.json | 9 +- .../@cspell/cspell-pipe/package.json | 6 +- .../@cspell/cspell-service-bus/package.json | 6 +- .../@cspell/cspell-types/cspell.schema.json | 42 + .../@cspell/cspell-types/dist/cjs/index.cjs | 1 + .../cspell-types/dist/esm/configFields.js | 1 + .../@cspell/cspell-types/package.json | 6 +- .../dict-en-common-misspellings/LICENSE | 21 + .../dict-en-common-misspellings/README.md | 76 + .../cspell-ext.json | 25 + .../dict-en-gb.yaml | 102 + .../dict-en-us.yaml | 103 + .../dict-en-common-misspellings/dict-en.yaml | 4183 +++++++++++++++++ .../dict-en-common-misspellings/package.json | 42 + .../@cspell/dynamic-import/README.md | 28 +- .../@cspell/dynamic-import/package.json | 6 +- .../@cspell/strong-weak-map/package.json | 4 +- .../SpellingDictionary/FlagWordsDictionary.js | 18 +- .../IgnoreWordsDictionary.js | 28 +- .../SpellingDictionaryCollection.js | 6 +- .../SpellingDictionaryMethods.js | 7 +- .../SpellingDictionary/SuggestDictionary.js | 125 + .../SpellingDictionary/Typos/typosParser.js | 17 + .../dist/SpellingDictionary/Typos/util.js | 52 +- .../SpellingDictionary/TyposDictionary.js | 13 +- .../createInlineSpellingDictionary.js | 20 +- .../dist/SpellingDictionary/index.js | 4 +- .../cspell-dictionary/dist/index.js | 3 +- .../dist/util/AutoResolve.js | 62 + .../cspell-dictionary/package.json | 10 +- .../cspell-gitignore/package.json | 12 +- action/node_modules/cspell-glob/package.json | 4 +- .../node_modules/cspell-grammar/package.json | 8 +- action/node_modules/cspell-io/package.json | 6 +- .../cspell-lib/dist/LanguageIds.js | 1 + .../dist/Models/CSpellSettingsInternalDef.js | 10 +- .../dist/Settings/CSpellSettingsServer.js | 22 +- .../cspell-lib/dist/Settings/InDocSettings.js | 63 +- .../dist/Settings/LanguageSettings.js | 25 +- .../dist/SpellingDictionary/Dictionaries.js | 4 +- .../cspell-lib/dist/suggestions.js | 119 +- .../textValidation/ValidateTextOptions.js | 3 + .../dist/textValidation/docValidator.js | 37 +- .../settingsToValidateOptions.js | 12 + .../dist/textValidation/validator.js | 18 +- action/node_modules/cspell-lib/package.json | 24 +- .../node_modules/cspell-trie-lib/package.json | 8 +- .../node_modules/cspell/dist/cli-reporter.js | 4 +- .../dist/emitters/suggestionsEmitter.js | 24 +- action/node_modules/cspell/dist/lint/lint.js | 3 +- action/node_modules/cspell/package.json | 24 +- action/package.json | 4 +- package.json | 4 +- yarn.lock | 993 ++-- 56 files changed, 5782 insertions(+), 683 deletions(-) create mode 100644 action/node_modules/@cspell/dict-en-common-misspellings/LICENSE create mode 100644 action/node_modules/@cspell/dict-en-common-misspellings/README.md create mode 100644 action/node_modules/@cspell/dict-en-common-misspellings/cspell-ext.json create mode 100644 action/node_modules/@cspell/dict-en-common-misspellings/dict-en-gb.yaml create mode 100644 action/node_modules/@cspell/dict-en-common-misspellings/dict-en-us.yaml create mode 100644 action/node_modules/@cspell/dict-en-common-misspellings/dict-en.yaml create mode 100644 action/node_modules/@cspell/dict-en-common-misspellings/package.json create mode 100644 action/node_modules/cspell-dictionary/dist/SpellingDictionary/SuggestDictionary.js create mode 100644 action/node_modules/cspell-dictionary/dist/util/AutoResolve.js create mode 100644 action/node_modules/cspell-lib/dist/textValidation/ValidateTextOptions.js create mode 100644 action/node_modules/cspell-lib/dist/textValidation/settingsToValidateOptions.js diff --git a/action-src/package.json b/action-src/package.json index 4130707ab..232b1a3bc 100644 --- a/action-src/package.json +++ b/action-src/package.json @@ -26,7 +26,7 @@ "@pollyjs/persister-fs": "^6.0.5", "@types/jest": "^29.4.0", "env-cmd": "^10.1.0", - "jest": "^29.4.2", + "jest": "^29.4.3", "ts-jest": "^29.0.5", "typescript": "^4.9.5" }, @@ -36,8 +36,8 @@ "@octokit/core": "^4.2.0", "@octokit/plugin-rest-endpoint-methods": "^7.0.1", "@octokit/rest": "^19.0.7", - "cspell": "^6.23.1", - "cspell-glob": "^6.23.1", + "cspell": "^6.26.1", + "cspell-glob": "^6.26.1", "vscode-uri": "^3.0.7" } } diff --git a/action/node_modules/@cspell/cspell-bundled-dicts/cspell-default.config.js b/action/node_modules/@cspell/cspell-bundled-dicts/cspell-default.config.js index b91de7a1b..7d6859dca 100644 --- a/action/node_modules/@cspell/cspell-bundled-dicts/cspell-default.config.js +++ b/action/node_modules/@cspell/cspell-bundled-dicts/cspell-default.config.js @@ -130,6 +130,7 @@ const settings = { '@cspell/dict-dotnet/cspell-ext.json', '@cspell/dict-elixir/cspell-ext.json', '@cspell/dict-en_us/cspell-ext.json', + '@cspell/dict-en-common-misspellings/cspell-ext.json', '@cspell/dict-en-gb/cspell-ext.json', '@cspell/dict-filetypes/cspell-ext.json', '@cspell/dict-fonts/cspell-ext.json', diff --git a/action/node_modules/@cspell/cspell-bundled-dicts/package.json b/action/node_modules/@cspell/cspell-bundled-dicts/package.json index 6af8e428c..d208b43d4 100644 --- a/action/node_modules/@cspell/cspell-bundled-dicts/package.json +++ b/action/node_modules/@cspell/cspell-bundled-dicts/package.json @@ -1,6 +1,6 @@ { "name": "@cspell/cspell-bundled-dicts", - "version": "6.23.1", + "version": "6.26.1", "description": "Dictionaries bundled with cspell", "publishConfig": { "access": "public" @@ -58,6 +58,7 @@ "@cspell/dict-docker": "^1.1.5", "@cspell/dict-dotnet": "^4.0.1", "@cspell/dict-elixir": "^4.0.1", + "@cspell/dict-en-common-misspellings": "^1.0.1", "@cspell/dict-en-gb": "1.1.33", "@cspell/dict-en_us": "^4.2.2", "@cspell/dict-filetypes": "^3.0.0", @@ -95,9 +96,9 @@ "node": ">=14" }, "devDependencies": { - "@cspell/cspell-tools": "6.23.1", - "@cspell/cspell-types": "6.23.1", + "@cspell/cspell-tools": "6.26.1", + "@cspell/cspell-types": "6.26.1", "typescript": "^4.9.5" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/@cspell/cspell-pipe/package.json b/action/node_modules/@cspell/cspell-pipe/package.json index e5a2231a5..c8dda4826 100644 --- a/action/node_modules/@cspell/cspell-pipe/package.json +++ b/action/node_modules/@cspell/cspell-pipe/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "6.23.1", + "version": "6.26.1", "description": "Library to make working with Iterators/AsyncIterators easier.", "keywords": [ "cspell", @@ -144,7 +144,7 @@ "jest": "^29.4.2", "rollup": "^3.15.0", "tslib": "^2.5.0", - "vitest": "^0.28.4" + "vitest": "^0.28.5" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/@cspell/cspell-service-bus/package.json b/action/node_modules/@cspell/cspell-service-bus/package.json index 7149d0e4f..8e19d93c6 100644 --- a/action/node_modules/@cspell/cspell-service-bus/package.json +++ b/action/node_modules/@cspell/cspell-service-bus/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "6.23.1", + "version": "6.26.1", "description": "A Library for connecting requests to services that can fulfill them.", "keywords": [ "cspell" @@ -49,7 +49,7 @@ }, "devDependencies": { "@types/node": "^18.13.0", - "vitest": "^0.28.4" + "vitest": "^0.28.5" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/@cspell/cspell-types/cspell.schema.json b/action/node_modules/@cspell/cspell-types/cspell.schema.json index f6af158b6..d497248b1 100644 --- a/action/node_modules/@cspell/cspell-types/cspell.schema.json +++ b/action/node_modules/@cspell/cspell-types/cspell.schema.json @@ -395,6 +395,13 @@ "$ref": "#/definitions/ReplaceMap", "description": "Replacement pairs." }, + "suggestWords": { + "description": "A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix) - `word: suggestion` - `word->suggestion`\n- Multiple suggestions (not auto fixable) - `word: first, second, third` - `word->first, second, third`", + "items": { + "type": "string" + }, + "type": "array" + }, "type": { "$ref": "#/definitions/DictionaryFileTypes", "default": "S", @@ -451,6 +458,13 @@ "$ref": "#/definitions/ReplaceMap", "description": "Replacement pairs." }, + "suggestWords": { + "description": "A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix) - `word: suggestion` - `word->suggestion`\n- Multiple suggestions (not auto fixable) - `word: first, second, third` - `word->first, second, third`", + "items": { + "type": "string" + }, + "type": "array" + }, "type": { "$ref": "#/definitions/DictionaryFileTypes", "default": "S", @@ -507,6 +521,13 @@ "$ref": "#/definitions/ReplaceMap", "description": "Replacement pairs." }, + "suggestWords": { + "description": "A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix) - `word: suggestion` - `word->suggestion`\n- Multiple suggestions (not auto fixable) - `word: first, second, third` - `word->first, second, third`", + "items": { + "type": "string" + }, + "type": "array" + }, "type": { "$ref": "#/definitions/DictionaryFileTypes", "default": "S", @@ -953,6 +974,13 @@ }, "type": "array" }, + "suggestWords": { + "description": "A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix) - `word: suggestion` - `word->suggestion`\n- Multiple suggestions (not auto fixable) - `word: first, second, third` - `word->first, second, third`", + "items": { + "type": "string" + }, + "type": "array" + }, "words": { "description": "List of words to be considered correct.", "items": { @@ -1132,6 +1160,13 @@ }, "type": "array" }, + "suggestWords": { + "description": "A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix) - `word: suggestion` - `word->suggestion`\n- Multiple suggestions (not auto fixable) - `word: first, second, third` - `word->first, second, third`", + "items": { + "type": "string" + }, + "type": "array" + }, "suggestionNumChanges": { "default": 3, "description": "The maximum number of changes allowed on a word to be considered a suggestions.\n\nFor example, appending an `s` onto `example` -> `examples` is considered 1 change.\n\nRange: between 1 and 5.", @@ -1649,6 +1684,13 @@ "description": "Delay in ms after a document has changed before checking it for spelling errors.", "type": "number" }, + "suggestWords": { + "description": "A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.\n\nFormat of `suggestWords`\n- Single suggestion (possible auto fix) - `word: suggestion` - `word->suggestion`\n- Multiple suggestions (not auto fixable) - `word: first, second, third` - `word->first, second, third`", + "items": { + "type": "string" + }, + "type": "array" + }, "suggestionNumChanges": { "default": 3, "description": "The maximum number of changes allowed on a word to be considered a suggestions.\n\nFor example, appending an `s` onto `example` -> `examples` is considered 1 change.\n\nRange: between 1 and 5.", diff --git a/action/node_modules/@cspell/cspell-types/dist/cjs/index.cjs b/action/node_modules/@cspell/cspell-types/dist/cjs/index.cjs index 74d3e8840..57c0ae77c 100644 --- a/action/node_modules/@cspell/cspell-types/dist/cjs/index.cjs +++ b/action/node_modules/@cspell/cspell-types/dist/cjs/index.cjs @@ -42,6 +42,7 @@ const ConfigFields = { spellCheckDelayMs: 'spellCheckDelayMs', suggestionNumChanges: 'suggestionNumChanges', suggestionsTimeout: 'suggestionsTimeout', + suggestWords: 'suggestWords', useGitignore: 'useGitignore', usePnP: 'usePnP', userWords: 'userWords', diff --git a/action/node_modules/@cspell/cspell-types/dist/esm/configFields.js b/action/node_modules/@cspell/cspell-types/dist/esm/configFields.js index 23b5f75d8..7ef4c6105 100644 --- a/action/node_modules/@cspell/cspell-types/dist/esm/configFields.js +++ b/action/node_modules/@cspell/cspell-types/dist/esm/configFields.js @@ -40,6 +40,7 @@ export const ConfigFields = { spellCheckDelayMs: 'spellCheckDelayMs', suggestionNumChanges: 'suggestionNumChanges', suggestionsTimeout: 'suggestionsTimeout', + suggestWords: 'suggestWords', useGitignore: 'useGitignore', usePnP: 'usePnP', userWords: 'userWords', diff --git a/action/node_modules/@cspell/cspell-types/package.json b/action/node_modules/@cspell/cspell-types/package.json index 580b6694d..eaf56e429 100644 --- a/action/node_modules/@cspell/cspell-types/package.json +++ b/action/node_modules/@cspell/cspell-types/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "6.23.1", + "version": "6.26.1", "description": "Types for cspell and cspell-lib", "type": "module", "main": "./dist/cjs/index.cjs", @@ -92,7 +92,7 @@ "jest": "^29.4.2", "ts-json-schema-generator": "^1.2.0", "typescript": "^4.9.5", - "vitest": "^0.28.4" + "vitest": "^0.28.5" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/@cspell/dict-en-common-misspellings/LICENSE b/action/node_modules/@cspell/dict-en-common-misspellings/LICENSE new file mode 100644 index 000000000..58d55ba5b --- /dev/null +++ b/action/node_modules/@cspell/dict-en-common-misspellings/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017-2022 Street Side Software + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/action/node_modules/@cspell/dict-en-common-misspellings/README.md b/action/node_modules/@cspell/dict-en-common-misspellings/README.md new file mode 100644 index 000000000..be19e581b --- /dev/null +++ b/action/node_modules/@cspell/dict-en-common-misspellings/README.md @@ -0,0 +1,76 @@ +# CSpell Common English Misspellings Dictionary + +Common English Misspellings dictionary for cspell. + +This is a pre-built dictionary for use with CSpell. + +## Requirements + +| Tool | Version | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------ | +| [cspell](https://github.com/streetsidesoftware/cspell) | `>= 6.23.0 ` | +| [Code Spell Checker - Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) | `>= 2.17.0` | + +## Installation + +Global Install and add to CSpell global settings. + +```sh +npm install -g @cspell/dict-en-common-misspellings +cspell link add @cspell/dict-en-common-misspellings +``` + +## Uninstall from CSpell + +```sh +cspell link remove @cspell/dict-en-common-misspellings +``` + +## Manual Installation + +Manual installation is useful if you want to include this dictionary as part of your CI/CD lint process. + +``` +npm i @cspell/dict-en-common-misspellings +``` + +The `cspell-ext.json` file in this package should be added to the import section in your `cspell.json` file. + +```javascript +{ + // … + "import": ["@cspell/dict-en-common-misspellings/cspell-ext.json"], + // … +} +``` + +## Reference + +The source of this dictionary comes from: + +- [Wikipedia:Lists of common misspellings/For machines - Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines) +- [Wikipedia:Lists of common misspellings - Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings) + +## Dictionary Development + +See: [How to Create a New Dictionary](https://github.com/streetsidesoftware/cspell-dicts#how-to-create-a-new-dictionary) + +## License + +MIT + +> Some packages may have other licenses included. + + + +
+ +--- + +

+Brought to you by +Street Side Software Logo Street Side Software + +

+ + diff --git a/action/node_modules/@cspell/dict-en-common-misspellings/cspell-ext.json b/action/node_modules/@cspell/dict-en-common-misspellings/cspell-ext.json new file mode 100644 index 000000000..84ccdb50b --- /dev/null +++ b/action/node_modules/@cspell/dict-en-common-misspellings/cspell-ext.json @@ -0,0 +1,25 @@ +{ + "id": "en-common-misspellings", + "version": "0.2", + "name": "English - Common Misspellings", + "description": "Common English misspellings dictionary for cspell.", + "readonly": true, + "import": ["./dict-en.yaml", "./dict-en-gb.yaml", "./dict-en-us.yaml"], + "languageSettings": [ + { + "languageId": "*", + "locale": "en", + "dictionaries": ["en-common-misspellings"] + }, + { + "languageId": "*", + "locale": "en-gb", + "dictionaries": ["en-gb-common-misspellings"] + }, + { + "languageId": "*", + "locale": "en-us", + "dictionaries": ["en-us-common-misspellings"] + } + ] +} diff --git a/action/node_modules/@cspell/dict-en-common-misspellings/dict-en-gb.yaml b/action/node_modules/@cspell/dict-en-common-misspellings/dict-en-gb.yaml new file mode 100644 index 000000000..e10764e61 --- /dev/null +++ b/action/node_modules/@cspell/dict-en-common-misspellings/dict-en-gb.yaml @@ -0,0 +1,102 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json +# cspell:ignoreRegExp /- \w+-/ +# cspell:locale en-gb +# cspell:ignore unmanoeuvrable futhorc lippizaner + +# The words below apply only to British English +dictionaryDefinitions: + - name: en-gb-common-misspellings + suggestWords: + - ansalisation->nasalisation + - behavour->behaviour + - councellor->counsellor, councillor + - councellors->counsellors, councillors + - critising->criticising + - critisising->criticising + - critisize->criticise + - critisized->criticised + - critisizes->criticises + - critisizing->criticising + - crticised->criticised + - crystalisation->crystallisation + - draughtman->draughtsman + - emphaised->emphasised + - favoutrable->favourable + - fontrier->frontier + - haemorrage->haemorrhage + - Hallowean->Halloween + - intepretator->interpretor + - jewllery->jewellery + - liscense->licence + - lisence->licence + - lisense->licence + - maneouvre->manoeuvre + - maneouvred->manoeuvred + - maneouvres->manoeuvres + - maneouvring->manoeuvring + - manoeuverability->manoeuvrability + - manouver->manoeuvre + - manouverability->manoeuvrability + - manouverable->manoeuvrable + - manouvers->manoeuvres + - manuever->manoeuvre + - manuevers->manoeuvres + - neigborhood->neighbourhood + - neigbour->neighbour + - neigbourhood->neighbourhood + - neigbouring->neighbouring + - neigbours->neighbours + - organistion->organisation + - organiztion->organization + - orginize->organise + - paralel->parallel + - paralell->parallel + - paralelly->parallelly + - paralely->parallelly + - parallely->parallelly + - parralel->parallel + - parrallel->parallel + - parrallell->parallel + - parrallelly->parallelly + - parrallely->parallelly + - recogise->recognise + - recogize->recognise, recognize + - relized->realised, realized + - reorganision->reorganisation + - resignement->resignment + - speciallized->specialised, specialized + - spendour->splendour + - unathorised->unauthorised + - unmanouverable->unmanoeuvrable + - vigeur->vigour + - archaoelogy->archaeology + - archaology->archaeology + - archeaologist->archaeologist + - archeaologists->archaeologists + - calaber->calibre + - damenor->demeanour + - enameld->enamelled + - endevors->endeavours + - fufill->fulfil + - fullfill->fulfil + - futhroc->futhorc + - hemmorhage->haemorrhage + - humer->humour + - labled->labelled + - lipizzaner->lippizaner + - manuver->manoeuvre + - misdameanor->misdemeanour + - misdameanors->misdemeanours + - misdemenor->misdemeanour + - misdemenors->misdemeanours + - noncombatents->non-combatants + - paleolitic->palaeolithic + - passerbys->passers-by, passer-by + - preminence->pre-eminence + - relected->re-elected + - rigeur->rigueur, rigour + - roomate->room-mate + - sepulchure->sepulchre + - sepulcre->sepulchre + - theather->theatre + - unoperational->non-operational diff --git a/action/node_modules/@cspell/dict-en-common-misspellings/dict-en-us.yaml b/action/node_modules/@cspell/dict-en-common-misspellings/dict-en-us.yaml new file mode 100644 index 000000000..b0fbb7d82 --- /dev/null +++ b/action/node_modules/@cspell/dict-en-common-misspellings/dict-en-us.yaml @@ -0,0 +1,103 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json +# cspell:ignoreRegExp /- \w+-/ +# cspell:locale en-us + +# The words below apply only to American English +dictionaryDefinitions: + - name: en-us-common-misspellings + suggestWords: + - ansalization->nasalization + - behavour->behavior + - councellor->counselor, councilor + - councellors->counselors, councilors + - critising->criticizing + - critisising->criticizing + - critisize->criticize + - critisized->criticized + - critisizes->criticizes + - critisizing->criticizing + - crticised->criticized + - crystalisation->crystallization + - draughtman->draftsman + - emphaised->emphasized + - favoutrable->favorable + - fontrier->frontier + - haemorrage->hemorrhage + - Hallowean->Halloween + - intepretator->interpreter + - jewllery->jewelry + - liscense->license + - lisence->license + - lisense->license + - maneouvre->maneuver + - maneouvred->maneuvered + - maneouvres->maneuvers + - maneouvring->maneuvering + - manoeuverability->maneuverability + - manouver->maneuver + - manouverability->maneuverability + - manouverable->maneuverable + - manouvers->maneuvers + - manuever->maneuver + - manuevers->maneuvers + - neigborhood->neighborhood + - neigbour->neighbor + - neigbourhood->neighborhood + - neigbouring->neighboring + - neigbours->neighbors + - organistion->organization + - organiztion->organization + - orginize->organize + - paralel->parallel + - paralell->parallel + - parralel->parallel + - parrallel->parallel + - parrallell->parallel + - recogise->recognize + - recogize->recognize + - relized->realized + - reorganision->reorganization + - speciallized->specialized + - spendour->splendor + - unathorised->unauthorized + - unmanouverable->unmaneuverable + - vigeur->vigour, vigor + - archaoelogy->archeology, archaeology + - archaology->archeology, archaeology + - archeaologist->archeologist, archaeologist + - archeaologists->archeologists, archaeologists + - calaber->caliber + - damenor->demeanor + - Dardenelles->Dardanelles + - enameld->enameled + - endevors->endeavors + - Formalhaut->Fomalhaut + - fufill->fulfill + - fullfill->fulfill + - futhroc->futhark, futhorc + - Godounov->Godunov + - hemmorhage->hemorrhage + - humer->humor + - labled->labeled + - lippizaner->lipizzaner + - manuver->maneuver + - membranaphone->membranophone + - misdameanor->misdemeanor + - misdameanors->misdemeanors + - misdemenor->misdemeanor + - misdemenors->misdemeanors + - noncombatents->noncombatants + - paleolitic->paleolithic + - passerbys->passersby + - premillenial->premillennial + - preminence->preeminence + - relected->reelected + - rigeur->rigueur, rigour, rigor + - roomate->roommate + - sepulchure->sepulchre, sepulcher + - sepulcre->sepulchre, sepulcher + - sophmore->sophomore + - surveill->surveil + - theather->theater + - unoperational->nonoperational + - Yementite->Yemenite, Yemeni diff --git a/action/node_modules/@cspell/dict-en-common-misspellings/dict-en.yaml b/action/node_modules/@cspell/dict-en-common-misspellings/dict-en.yaml new file mode 100644 index 000000000..a061f243f --- /dev/null +++ b/action/node_modules/@cspell/dict-en-common-misspellings/dict-en.yaml @@ -0,0 +1,4183 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json +# cspell:ignoreRegExp /- [\w'-]+->/ +# cspell:words extremophile gardaí guaraná Gothenburg Gottlieb Giulia Giulio Johannine Rican Ricans +# cspell:locale en + +# The words below apply to both US English and British English +dictionaryDefinitions: + - name: en-common-misspellings + suggestWords: + - abandonned->abandoned + - abbout->about + - aberation->aberration + - abilityes->abilities + - abilties->abilities + - abilty->ability + - abondon->abandon + - abondoned->abandoned + - abondoning->abandoning + - abondons->abandons + - aborigene->aborigine + - abortificant->abortifacient + - abotu->about + - abouta->about a + - aboutit->about it + - aboutthe->about the + - abreviate->abbreviate + - abreviated->abbreviated + - abreviation->abbreviation + - abritrary->arbitrary + - absail->abseil + - absailing->abseiling + - abscence->absence + - absense->absence + - absolutly->absolutely + - absorbsion->absorption + - absorbtion->absorption + - abudance->abundance + - abundacies->abundances + - abundancies->abundances + - abundunt->abundant + - abutts->abuts + - acadamy->academy + - acadmic->academic + - accademic->academic + - accademy->academy + - acccused->accused + - accelleration->acceleration + - accension->accession, ascension + - acceptence->acceptance + - acceptible->acceptable + - accesories->accessories + - accessable->accessible + - accidant->accident + - accidentaly->accidentally + - accidently->accidentally + - acclimitization->acclimatization + - accomadate->accommodate + - accomadated->accommodated + - accomadates->accommodates + - accomadating->accommodating + - accomadation->accommodation + - accomadations->accommodations + - accomdate->accommodate + - accomodate->accommodate + - accomodated->accommodated + - accomodates->accommodates + - accomodating->accommodating + - accomodation->accommodation + - accomodations->accommodations + - accompanyed->accompanied + - accordeon->accordion + - accordian->accordion + - accoring->according + - accoustic->acoustic + - accquainted->acquainted + - accrediation->accreditation + - accredidation->accreditation + - accross->across + - accussed->accused + - acedemic->academic + - acheive->achieve + - acheived->achieved + - acheivement->achievement + - acheivements->achievements + - acheives->achieves + - acheiving->achieving + - acheivment->achievement + - acheivments->achievements + - achievment->achievement + - achievments->achievements + - achive->achieve, archive + - achived->achieved, archived + - achivement->achievement + - achivements->achievements + - acident->accident + - acknowldeged->acknowledged + - acknowledgeing->acknowledging + - ackward->awkward, backward + - acommodate->accommodate + - acomplish->accomplish + - acomplished->accomplished + - acomplishment->accomplishment + - acomplishments->accomplishments + - acording->according + - acordingly->accordingly + - acquaintence->acquaintance + - acquaintences->acquaintances + - acquiantence->acquaintance + - acquiantences->acquaintances + - acquited->acquitted + - activites->activities + - activly->actively + - actualy->actually + - acuracy->accuracy + - acused->accused + - acustom->accustom + - acustommed->accustomed + - adavanced->advanced + - adbandon->abandon + - addional->additional + - addionally->additionally + - additinally->additionally + - additionaly->additionally + - additonal->additional + - additonally->additionally + - addmission->admission + - addopt->adopt + - addopted->adopted + - addoptive->adoptive + - addres->address, adders + - addresable->addressable + - addresed->addressed + - addresing->addressing + - addressess->addresses + - addtion->addition + - addtional->additional + - adecuate->adequate + - adequit->adequate + - adhearing->adhering + - adherance->adherence + - admendment->amendment + - admininistrative->administrative + - adminstered->administered + - adminstrate->administrate + - adminstration->administration + - adminstrative->administrative + - adminstrator->administrator + - admissability->admissibility + - admissable->admissible + - admited->admitted + - admitedly->admittedly + - adn->and + - adolecent->adolescent + - adquire->acquire + - adquired->acquired + - adquires->acquires + - adquiring->acquiring + - adres->address + - adresable->addressable + - adresing->addressing + - adress->address + - adressable->addressable + - adressed->addressed + - adressing->addressing, dressing + - adventrous->adventurous + - advertisment->advertisement + - advertisments->advertisements + - advesary->adversary + - adviced->advised + - aeriel->aerial + - aeriels->aerials + - afair->affair + - afficianados->aficionados + - afficionado->aficionado + - afficionados->aficionados + - affilate->affiliate + - affilliate->affiliate + - affort->afford, effort + - aforememtioned->aforementioned + - againnst->against + - agains->against + - agaisnt->against + - aganist->against + - aggaravates->aggravates + - aggreed->agreed + - aggreement->agreement + - aggregious->egregious + - aggregrator->aggregator + - aggresive->aggressive + - agian->again + - agianst->against + - agin->again + - agina->again, angina + - aginst->against + - agravate->aggravate + - agre->agree + - agred->agreed + - agreeement->agreement + - agreemnt->agreement + - agregate->aggregate + - agregates->aggregates + - agreing->agreeing + - agression->aggression + - agressive->aggressive + - agressively->aggressively + - agressor->aggressor + - agricultue->agriculture + - agriculure->agriculture + - agricuture->agriculture + - agrieved->aggrieved + - ahev->have + - ahppen->happen + - ahve->have + - aicraft->aircraft + - aiport->airport + - airbourne->airborne + - aircaft->aircraft + - aircrafts->aircraft + - aircrafts'->aircraft's + - airporta->airports + - airrcraft->aircraft + - aisian->asian + - albiet->albeit + - alchohol->alcohol + - alchoholic->alcoholic + - alchol->alcohol + - alcholic->alcoholic + - alcohal->alcohol + - alcoholical->alcoholic + - aledge->allege + - aledged->alleged + - aledges->alleges + - alege->allege + - aleged->alleged + - alegience->allegiance + - algebraical->algebraic + - algorhitms->algorithms + - algoritm->algorithm + - algoritms->algorithms + - alientating->alienating + - alledge->allege + - alledged->alleged + - alledgedly->allegedly + - alledges->alleges + - allegedely->allegedly + - allegedy->allegedly + - allegely->allegedly + - allegence->allegiance + - allegience->allegiance + - allign->align + - alligned->aligned + - alliviate->alleviate + - allopone->allophone + - allopones->allophones + - allready->already + - allthough->although + - alltime->all-time + - alltogether->altogether + - almsot->almost + - alochol->alcohol + - alomst->almost + - alot->a lot, allot + - alotted->allotted + - alowed->allowed + - alowing->allowing + - alreayd->already + - alse->else + - alsot->also + - alternitives->alternatives + - altho->although + - althought->although + - altough->although + - alusion->allusion, illusion + - alwasy->always + - alwyas->always + - amalgomated->amalgamated + - amatuer->amateur + - amature->armature, amateur + - amendmant->amendment + - Amercia->America + - amerliorate->ameliorate + - amke->make + - amking->making + - ammend->amend + - ammended->amended + - ammendment->amendment + - ammendments->amendments + - ammount->amount + - ammused->amused + - amoung->among + - amoungst->amongst + - amung->among + - amunition->ammunition + - analagous->analogous + - analitic->analytic + - analogeous->analogous + - anarchim->anarchism + - anarchistm->anarchism + - anbd->and + - ancestory->ancestry + - ancilliary->ancillary + - andd->and + - androgenous->androgynous + - androgeny->androgyny + - anihilation->annihilation + - aniversary->anniversary + - annoint->anoint + - annointed->anointed + - annointing->anointing + - annoints->anoints + - annouced->announced + - annualy->annually + - annuled->annulled + - anohter->another + - anomolies->anomalies + - anomolous->anomalous + - anomoly->anomaly + - anonimity->anonymity + - anounced->announced + - anouncement->announcement + - ansalization->nasalization + - ansestors->ancestors + - antartic->antarctic + - anthromorphization->anthropomorphization + - anthropolgist->anthropologist + - anthropolgy->anthropology + - antiapartheid->anti-apartheid + - anual->annual + - anulled->annulled + - anwsered->answered + - anyhwere->anywhere + - anyother->any other + - anytying->anything + - aparent->apparent + - aparment->apartment + - apenines->apennines, Apennines + - aplication->application + - aplied->applied + - apolegetics->apologetics + - apon->upon, apron + - apparant->apparent + - apparantly->apparently + - appart->apart + - appartment->apartment + - appartments->apartments + - appealling->appealing, appalling + - appeareance->appearance + - appearence->appearance + - appearences->appearances + - appenines->apennines, Apennines + - apperance->appearance + - apperances->appearances + - appereance->appearance + - appereances->appearances + - applicaiton->application + - applicaitons->applications + - appologies->apologies + - appology->apology + - apprearance->appearance + - apprieciate->appreciate + - approachs->approaches + - appropiate->appropriate + - appropraite->appropriate + - appropropiate->appropriate + - approproximate->approximate + - approxamately->approximately + - approxiately->approximately + - approximitely->approximately + - aprehensive->apprehensive + - apropriate->appropriate + - aproval->approval + - aproximate->approximate + - aproximately->approximately + - aquaduct->aqueduct + - aquaintance->acquaintance + - aquainted->acquainted + - aquiantance->acquaintance + - aquire->acquire + - aquired->acquired + - aquiring->acquiring + - aquisition->acquisition + - aquitted->acquitted + - aranged->arranged + - arangement->arrangement + - arbitarily->arbitrarily + - arbitary->arbitrary + - archaelogical->archaeological + - archaelogists->archaeologists + - archaelogy->archaeology + - archetect->architect + - archetects->architects + - archetectural->architectural + - archetecturally->architecturally + - archetecture->architecture + - archiac->archaic + - archictect->architect + - archimedian->archimedean + - architecht->architect + - architechturally->architecturally + - architechture->architecture + - architechtures->architectures + - architectual->architectural + - archtype->archetype + - archtypes->archetypes + - aready->already + - areodynamics->aerodynamics + - argubly->arguably + - arguement->argument + - arguements->arguments + - arised->arose + - arival->arrival + - armamant->armament + - armistace->armistice + - arogant->arrogant + - arogent->arrogant + - aroud->around + - arrangment->arrangement + - arrangments->arrangements + - arrengement->arrangement + - arrengements->arrangements + - arround->around + - artcile->article + - artical->article + - artice->article + - articel->article + - artifical->artificial + - artifically->artificially + - artillary->artillery + - arund->around + - asetic->ascetic + - asfar->as far + - asign->assign + - aslo->also + - asociated->associated + - asorbed->absorbed + - asphyxation->asphyxiation + - assasin->assassin + - assasinate->assassinate + - assasinated->assassinated + - assasinates->assassinates + - assasination->assassination + - assasinations->assassinations + - assasined->assassinated + - assasins->assassins + - assassintation->assassination + - assemple->assemble + - assertation->assertion + - asside->aside + - assisnate->assassinate + - assit->assist + - assitant->assistant + - assocation->association + - assoicate->associate + - assoicated->associated + - assoicates->associates + - assosication->assassination + - asssassans->assassins + - assualt->assault + - assualted->assaulted + - assymetric->asymmetric + - assymetrical->asymmetrical + - asteriod->asteroid + - asthetic->aesthetic + - asthetical->aesthetical + - asthetically->aesthetically + - asume->assume + - aswell->as well + - atain->attain + - atempting->attempting + - atheistical->atheistic + - athenean->athenian + - atheneans->athenians + - athiesm->atheism + - athiest->atheist + - atorney->attorney + - atribute->attribute + - atributed->attributed + - atributes->attributes + - attaindre->attainder, attained + - attemp->attempt + - attemped->attempted + - attemt->attempt + - attemted->attempted + - attemting->attempting + - attemts->attempts + - attendence->attendance + - attendent->attendant + - attendents->attendants + - attened->attended + - attension->attention + - attitide->attitude + - attributred->attributed + - attrocities->atrocities + - audeince->audience + - auromated->automated + - austrailia->Australia + - austrailian->Australian + - auther->author + - authobiographic->autobiographic + - authobiography->autobiography + - authorative->authoritative + - authorites->authorities + - authorithy->authority + - authoritiers->authorities + - authoritive->authoritative + - authrorities->authorities + - autochtonous->autochthonous + - autoctonous->autochthonous + - automaticly->automatically + - automibile->automobile + - automonomous->autonomous + - autor->author + - autority->authority + - auxilary->auxiliary + - auxillaries->auxiliaries + - auxillary->auxiliary + - auxilliaries->auxiliaries + - auxilliary->auxiliary + - availabe->available + - availablity->availability + - availaible->available + - availble->available + - availiable->available + - availible->available + - avalable->available + - avalance->avalanche + - avaliable->available + - avation->aviation + - avengence->a vengeance + - averageed->averaged + - avilable->available + - awared->awarded + - awya->away + - bacame->became + - baceause->because + - backgorund->background + - backrounds->backgrounds + - bakc->back + - banannas->bananas + - bandwith->bandwidth + - bankrupcy->bankruptcy + - banruptcy->bankruptcy + - baout->about, bout + - basicaly->basically + - basicly->basically + - bcak->back + - beachead->beachhead + - beacuse->because + - beastiality->bestiality + - beatiful->beautiful + - beaurocracy->bureaucracy + - beaurocratic->bureaucratic + - beautyfull->beautiful + - becamae->became + - becames->becomes, became + - becasue->because + - beccause->because + - becomeing->becoming + - becomming->becoming + - becouse->because + - becuase->because + - bedore->before + - beeing->being + - befoer->before + - beggin->begin, begging + - begginer->beginner + - begginers->beginners + - beggining->beginning + - begginings->beginnings + - beggins->begins + - begining->beginning + - beginnig->beginning + - beleagured->beleaguered + - beleif->belief + - beleive->believe + - beleived->believed + - beleives->believes + - beleiving->believing + - beligum->belgium + - belive->believe + - belived->believed, beloved + - belives->believes, beliefs + - belligerant->belligerent + - bellweather->bellwether + - bemusemnt->bemusement + - beneficary->beneficiary + - beng->being + - benificial->beneficial + - benifit->benefit + - benifits->benefits + - bergamont->bergamot + - Bernouilli->Bernoulli + - beseige->besiege + - beseiged->besieged + - beseiging->besieging + - beteen->between + - betwen->between + - beween->between + - bewteen->between + - bigining->beginning + - biginning->beginning + - bilateraly->bilaterally + - billingualism->bilingualism + - binominal->binomial + - bizzare->bizarre + - blaim->blame + - blaimed->blamed + - blessure->blessing + - Blitzkreig->Blitzkrieg + - boaut->bout, boat, about + - bodydbuilder->bodybuilder + - bombardement->bombardment + - bombarment->bombardment + - bondary->boundary + - Bonnano->Bonanno + - boook->book + - borke->broke + - boundry->boundary + - bouyancy->buoyancy + - bouyant->buoyant + - boyant->buoyant + - bradcast->broadcast + - Brasillian->Brazilian + - breakthough->breakthrough + - breakthroughts->breakthroughs + - breif->brief + - breifly->briefly + - brethen->brethren + - bretheren->brethren + - briliant->brilliant + - brillant->brilliant + - brimestone->brimstone + - Britian->Britain + - Brittish->British + - broacasted->broadcast + - broadacasting->broadcasting + - broady->broadly + - Buddah->Buddha + - Buddist->Buddhist + - buisness->business + - buisnessman->businessman + - buoancy->buoyancy + - buring->burying, burning, burin, during + - burried->buried + - busines->business + - busineses->business, businesses + - busness->business + - bussiness->business + - caculater->calculator + - cacuses->caucuses + - cahracters->characters + - calander->calendar, calender, colander + - calculater->calculator + - calculs->calculus + - calenders->calendars + - caligraphy->calligraphy + - caluclate->calculate + - caluclated->calculated + - caluculate->calculate + - caluculated->calculated + - calulate->calculate + - calulated->calculated + - calulater->calculator + - Cambrige->Cambridge + - camoflage->camouflage + - campagin->campaign + - campain->campaign + - campains->campaigns + - candadate->candidate + - candiate->candidate + - candidiate->candidate + - cannister->canister + - cannisters->canisters + - cannnot->cannot + - cannonical->canonical + - cannotation->connotation + - cannotations->connotations + - caost->coast + - caperbility->capability + - Capetown->Cape Town + - capible->capable + - captial->capital + - captued->captured + - capturd->captured + - carachter->character + - caracterized->characterized + - carcas->carcass, Caracas + - carefull->careful + - careing->caring + - carismatic->charismatic + - Carmalite->Carmelite + - Carnagie->Carnegie + - Carnagie-Mellon->Carnegie-Mellon + - carnege->carnage, Carnegie + - carnige->carnage, Carnegie + - Carnigie->Carnegie + - Carnigie-Mellon->Carnegie-Mellon + - carreer->career + - carrers->careers + - Carribbean->Caribbean + - Carribean->Caribbean + - carryng->carrying + - cartdridge->cartridge + - Carthagian->Carthaginian + - carthographer->cartographer + - cartilege->cartilage + - cartilidge->cartilage + - cartrige->cartridge + - casette->cassette + - casion->caisson + - cassawory->cassowary + - cassowarry->cassowary + - casue->cause + - casued->caused + - casues->causes + - casuing->causing + - casulaties->casualties + - casulaty->casualty + - catagories->categories + - catagorized->categorized + - catagory->category + - Cataline->Catiline, Catalina + - catapillar->caterpillar + - catapillars->caterpillars + - catapiller->caterpillar + - catapillers->caterpillars + - catepillar->caterpillar + - catepillars->caterpillars + - catergorize->categorize + - catergorized->categorized + - caterpilar->caterpillar + - caterpilars->caterpillars + - caterpiller->caterpillar + - caterpillers->caterpillars + - cathlic->catholic + - catholocism->catholicism + - catterpilar->caterpillar + - catterpilars->caterpillars + - catterpillar->caterpillar + - catterpillars->caterpillars + - cattleship->battleship + - causalities->casualties + - Ceasar->Caesar + - Celcius->Celsius + - cellpading->cellpadding + - cementary->cemetery + - cemetarey->cemetery + - cemetaries->cemeteries + - cemetary->cemetery + - cencus->census + - censur->censor, censure + - cententenial->centennial + - centruies->centuries + - centruy->century + - centuties->centuries + - centuty->century + - ceratin->certain, keratin + - cerimonial->ceremonial + - cerimonies->ceremonies + - cerimonious->ceremonious + - cerimony->ceremony + - ceromony->ceremony + - certainity->certainty + - certaintly->certainly + - certian->certain + - cervial->cervical, servile, serval + - chalenging->challenging + - challange->challenge + - challanged->challenged + - challege->challenge + - Champange->Champagne + - changable->changeable + - charachter->character + - charachters->characters + - charactersistic->characteristic + - charactor->character + - charactors->characters + - charasmatic->charismatic + - charaterized->characterized + - chariman->chairman + - charistics->characteristics + - chasr->chaser, chase + - cheif->chief + - cheifs->chiefs + - chemcial->chemical + - chemcially->chemically + - chemestry->chemistry + - chemicaly->chemically + - childbird->childbirth + - childen->children + - choclate->chocolate + - choosen->chosen + - chracter->character + - chuch->church + - churchs->churches + - Cincinatti->Cincinnati + - Cincinnatti->Cincinnati + - circulaton->circulation + - circumsicion->circumcision + - circut->circuit + - ciricuit->circuit + - ciriculum->curriculum + - civillian->civilian + - claer->clear + - claerer->clearer + - claerly->clearly + - claimes->claims + - clas->class + - clasic->classic + - clasical->classical + - clasically->classically + - cleareance->clearance + - clera->clear + - clincial->clinical + - clinicaly->clinically + - cmo->com + - cmoputer->computer + - co-incided->coincided + - Coca Cola->Coca-Cola + - coctail->cocktail + - coform->conform + - cognizent->cognizant + - coincedentally->coincidentally + - colaborations->collaborations + - colateral->collateral + - colelctive->collective + - collaberative->collaborative + - collecton->collection + - collegue->colleague + - collegues->colleagues + - collonade->colonnade + - collonies->colonies + - collony->colony + - collosal->colossal + - colonizators->colonizers + - comander->commander, commandeer + - comando->commando + - comandos->commandos + - comany->company + - comapany->company + - comback->comeback + - combanations->combinations + - combinatins->combinations + - combusion->combustion + - comdemnation->condemnation + - comemmorates->commemorates + - comemoretion->commemoration + - comision->commission + - comisioned->commissioned + - comisioner->commissioner + - comisioning->commissioning + - comisions->commissions + - comission->commission + - comissioned->commissioned + - comissioner->commissioner + - comissioning->commissioning + - comissions->commissions + - comited->committed + - comiting->committing + - comitted->committed + - comittee->committee + - comitting->committing + - commandoes->commandos + - commedic->comedic + - commemerative->commemorative + - commemmorate->commemorate + - commemmorating->commemorating + - commerical->commercial + - commerically->commercially + - commericial->commercial + - commericially->commercially + - commerorative->commemorative + - comming->coming + - comminication->communication + - commision->commission + - commisioned->commissioned + - commisioner->commissioner + - commisioning->commissioning + - commisions->commissions + - commited->committed + - commitee->committee + - commiting->committing + - committe->committee + - committment->commitment + - committments->commitments + - commmemorated->commemorated + - commongly->commonly + - commonweath->commonwealth + - commuications->communications + - commuinications->communications + - communciation->communication + - communiation->communication + - communites->communities + - compability->compatibility + - comparision->comparison + - comparisions->comparisons + - comparitive->comparative + - comparitively->comparatively + - compatabilities->compatibilities + - compatability->compatibility + - compatable->compatible + - compatablities->compatibilities + - compatablity->compatibility + - compatiable->compatible + - compatiblities->compatibilities + - compatiblity->compatibility + - compeitions->competitions + - compensantion->compensation + - competance->competence + - competant->competent + - competative->competitive + - competion->competition, completion + - competitiion->competition + - competive->competitive + - competiveness->competitiveness + - comphrehensive->comprehensive + - compitent->competent + - completedthe->completed the + - completelyl->completely + - completetion->completion + - complier->compiler + - componant->component + - comprable->comparable + - comprimise->compromise + - compulsary->compulsory + - compulsery->compulsory + - computarized->computerized + - concensus->consensus + - concider->consider + - concidered->considered + - concidering->considering + - conciders->considers + - concieted->conceited + - concieved->conceived + - concious->conscious + - conciously->consciously + - conciousness->consciousness + - condamned->condemned + - condemmed->condemned + - condidtion->condition + - condidtions->conditions + - conditionsof->conditions of + - conected->connected + - conection->connection + - conesencus->consensus + - confidental->confidential + - confidentally->confidentially + - confids->confides + - configureable->configurable + - confortable->comfortable + - congradulations->congratulations + - congresional->congressional + - conived->connived + - conjecutre->conjecture + - conjuction->conjunction + - Conneticut->Connecticut + - conotations->connotations + - conquerd->conquered + - conquerer->conqueror + - conquerers->conquerors + - conqured->conquered + - conscent->consent + - consciouness->consciousness + - consdider->consider + - consdidered->considered + - consdiered->considered + - consectutive->consecutive + - consenquently->consequently + - consentrate->concentrate + - consentrated->concentrated + - consentrates->concentrates + - consept->concept + - consequentually->consequently + - consequeseces->consequences + - consern->concern + - conserned->concerned + - conserning->concerning + - conservitive->conservative + - consiciousness->consciousness + - consicousness->consciousness + - considerd->considered + - consideres->considered + - consious->conscious + - consistant->consistent + - consistantly->consistently + - consituencies->constituencies + - consituency->constituency + - consituted->constituted + - consitution->constitution + - consitutional->constitutional + - consolodate->consolidate + - consolodated->consolidated + - consonent->consonant + - consonents->consonants + - consorcium->consortium + - conspiracys->conspiracies + - conspiriator->conspirator + - constaints->constraints + - constanly->constantly + - constarnation->consternation + - constatn->constant + - constinually->continually + - constituant->constituent + - constituants->constituents + - constituion->constitution + - constituional->constitutional + - consttruction->construction + - constuction->construction + - consulant->consultant + - consumate->consummate + - consumated->consummated + - contaiminate->contaminate + - containes->contains + - contamporaries->contemporaries + - contamporary->contemporary + - contempoary->contemporary + - contemporaneus->contemporaneous + - contempory->contemporary + - contendor->contender + - contian->contain + - contians->contains + - contibute->contribute + - contibuted->contributed + - contibutes->contributes + - contigent->contingent + - contined->continued + - continential->continental + - continous->continuous + - continously->continuously + - continueing->continuing + - contravercial->controversial + - contraversy->controversy + - contributer->contributor + - contributers->contributors + - contritutions->contributions + - controled->controlled + - controling->controlling + - controll->control + - controlls->controls + - controvercial->controversial + - controvercy->controversy + - controveries->controversies + - controversal->controversial + - controversey->controversy + - controvertial->controversial + - controvery->controversy + - contruction->construction + - contstruction->construction + - conveinent->convenient + - convenant->covenant + - convential->conventional + - convertables->convertibles + - convertion->conversion + - conviced->convinced + - convienient->convenient + - coordiantion->coordination + - coorperation->cooperation, corporation + - coorperations->corporations + - copmetitors->competitors + - coputer->computer + - copywrite->copyright + - coridal->cordial + - cornmitted->committed + - corosion->corrosion + - corparate->corporate + - corperations->corporations + - correcters->correctors + - correponding->corresponding + - correposding->corresponding + - correspondant->correspondent + - correspondants->correspondents + - corridoors->corridors + - corrispond->correspond + - corrispondant->correspondent + - corrispondants->correspondents + - corrisponded->corresponded + - corrisponding->corresponding + - corrisponds->corresponds + - costitution->constitution + - coucil->council + - coudl->could, cloud + - counries->countries + - countains->contains + - countires->countries + - countrie's->countries, countries', country's + - coururier->courier, couturier + - coverted->converted, covered, coveted + - cpoy->coy, copy + - creaeted->created + - creche->crèche + - creedence->credence + - critereon->criterion + - criterias->criteria + - criticists->critics + - critisism->criticism + - critisisms->criticisms + - critized->criticized + - critizing->criticizing + - crockodiles->crocodiles + - crowm->crown + - crtical->critical + - crucifiction->crucifixion + - crusies->cruises + - crutial->crucial + - culiminating->culminating + - cumulatative->cumulative + - curch->church + - curcuit->circuit + - currenly->currently + - curriculem->curriculum + - cxan->cyan + - cyclinder->cylinder + - dacquiri->daiquiri + - daed->dead + - dael->deal, dial, dahl + - dalmation->dalmatian + - dammage->damage + - daugher->daughter + - debateable->debatable + - decendant->descendant + - decendants->descendants + - decendent->descendant + - decendents->descendants + - decideable->decidable + - decidely->decidedly + - decieved->deceived + - decison->decision + - decomissioned->decommissioned + - decomposit->decompose + - decomposited->decomposed + - decompositing->decomposing + - decomposits->decomposes + - decress->decrees + - decribe->describe + - decribed->described + - decribes->describes + - decribing->describing + - dectect->detect + - defendent->defendant + - defendents->defendants + - deffensively->defensively + - deffine->define + - deffined->defined + - definance->defiance + - definate->definite + - definately->definitely + - definatly->definitely + - definetly->definitely + - definining->defining + - definit->definite + - definitly->definitely + - definiton->definition + - defintion->definition + - degrate->degrade + - delagates->delegates + - delapidated->dilapidated + - delerious->delirious + - delevopment->development + - deliberatly->deliberately + - delusionally->delusively + - demographical->demographic + - demolision->demolition + - demorcracy->democracy + - demostration->demonstration + - denegrating->denigrating + - densly->densely + - deparment->department + - deparmental->departmental + - deparments->departments + - dependance->dependence + - dependancy->dependency + - deram->dram, dream + - deriviated->derived + - derivitive->derivative + - derogitory->derogatory + - descendands->descendants + - descibed->described + - descision->decision + - descisions->decisions + - descriibes->describes + - descripters->descriptors + - descripton->description + - desctruction->destruction + - descuss->discuss + - desgined->designed + - deside->decide + - desigining->designing + - desinations->destinations + - desintegrated->disintegrated + - desintegration->disintegration + - desireable->desirable + - desitned->destined + - desktiop->desktop + - desorder->disorder + - desoriented->disoriented + - desparate->desperate, disparate + - despict->depict + - despiration->desperation + - dessicated->desiccated + - dessigned->designed + - destablized->destabilized + - destory->destroy + - detailled->detailed + - detatched->detached + - deteoriated->deteriorated + - deteriate->deteriorate + - deterioriating->deteriorating + - determinining->determining + - detremental->detrimental + - devasted->devastated + - develope->develop + - developement->development + - developped->developed + - develpment->development + - devels->delves + - devestated->devastated + - devestating->devastating + - devide->divide + - devided->divided + - devistating->devastating + - devolopement->development + - diablical->diabolical + - diamons->diamonds + - diaster->disaster + - dichtomy->dichotomy + - diconnects->disconnects + - dicover->discover + - dicovered->discovered + - dicovering->discovering + - dicovers->discovers + - dicovery->discovery + - dictionarys->dictionaries + - dicussed->discussed + - didnt->didn't + - diea->idea, die + - dieing->dying, dyeing + - dieties->deities + - diety->deity + - diferent->different + - diferrent->different + - differentiatiations->differentiations + - differnt->different + - difficulity->difficulty + - diffrent->different + - dificulties->difficulties + - dificulty->difficulty + - dimenions->dimensions + - dimention->dimension + - dimentional->dimensional + - dimentions->dimensions + - dimesnional->dimensional + - diminuitive->diminutive + - dimunitive->diminutive + - diosese->diocese + - diphtong->diphthong + - diphtongs->diphthongs + - diplomancy->diplomacy + - dipthong->diphthong + - dipthongs->diphthongs + - directoty->directory + - dirived->derived + - disagreeed->disagreed + - disapeared->disappeared + - disapointing->disappointing + - disappearred->disappeared + - disaproval->disapproval + - disasterous->disastrous + - disatisfaction->dissatisfaction + - disatisfied->dissatisfied + - disatrous->disastrous + - discontentment->discontent + - discribe->describe + - discribed->described + - discribes->describes + - discribing->describing + - disctinction->distinction + - disctinctive->distinctive + - disemination->dissemination + - disenchanged->disenchanted + - disiplined->disciplined + - disobediance->disobedience + - disobediant->disobedient + - disolved->dissolved + - disover->discover + - dispair->despair + - disparingly->disparagingly + - dispence->dispense + - dispenced->dispensed + - dispencing->dispensing + - dispicable->despicable + - dispite->despite + - dispostion->disposition + - disproportiate->disproportionate + - disricts->districts + - dissagreement->disagreement + - dissapear->disappear + - dissapearance->disappearance + - dissapeared->disappeared + - dissapearing->disappearing + - dissapears->disappears + - dissappear->disappear + - dissappears->disappears + - dissappointed->disappointed + - dissarray->disarray + - dissobediance->disobedience + - dissobediant->disobedient + - dissobedience->disobedience + - dissobedient->disobedient + - distiction->distinction + - distingish->distinguish + - distingished->distinguished + - distingishes->distinguishes + - distingishing->distinguishing + - distingquished->distinguished + - distrubution->distribution + - distruction->destruction + - distructive->destructive + - ditributed->distributed + - diversed->diverse, diverged + - divice->device + - divinition->divination + - divison->division + - divisons->divisions + - doccument->document + - doccumented->documented + - doccuments->documents + - docrines->doctrines + - doctines->doctrines + - documenatry->documentary + - doens->does + - doesnt->doesn't + - doign->doing + - dominaton->domination + - dominent->dominant + - dominiant->dominant + - donig->doing + - dosen't->doesn't + - doub->doubt, daub + - doulbe->double + - dowloads->downloads + - dramtic->dramatic + - Dravadian->Dravidian + - dreasm->dreams + - driectly->directly + - drnik->drink + - druming->drumming + - drummless->drumless + - dum->dumb + - dupicate->duplicate + - durig->during + - durring->during + - duting->during + - dyas->dryas + - eahc->each + - ealier->earlier + - earlies->earliest + - earnt->earned + - ecclectic->eclectic + - eceonomy->economy + - ecidious->deciduous + - eclispe->eclipse + - ecomonic->economic + - econoimic->economic + - ect->etc + - eearly->early + - efel->evil + - effeciency->efficiency + - effecient->efficient + - effeciently->efficiently + - efficency->efficiency + - efficent->efficient + - efficently->efficiently + - efford->effort, afford + - effords->efforts, affords + - effulence->effluence + - eigth->eighth, eight + - eiter->either + - elction->election + - electic->eclectic, electric + - electon->election, electron + - electrial->electrical + - electricly->electrically + - electricty->electricity + - elementay->elementary + - eleminated->eliminated + - eleminating->eliminating + - eles->eels + - eletricity->electricity + - elicided->elicited + - eligable->eligible + - elimentary->elementary + - ellected->elected + - elphant->elephant + - embarass->embarrass + - embarassed->embarrassed + - embarassing->embarrassing + - embarassment->embarrassment + - embargos->embargoes + - embarras->embarrass + - embarrased->embarrassed + - embarrasing->embarrassing + - embarrasment->embarrassment + - embezelled->embezzled + - emblamatic->emblematic + - eminate->emanate + - eminated->emanated + - emision->emission + - emited->emitted + - emiting->emitting + - emition->emission, emotion + - emmediately->immediately + - emmigrated->emigrated, immigrated + - emminent->eminent, imminent + - emminently->eminently + - emmisaries->emissaries + - emmisarries->emissaries + - emmisarry->emissary + - emmisary->emissary + - emmision->emission + - emmisions->emissions + - emmited->emitted + - emmiting->emitting + - emmitted->emitted + - emmitting->emitting + - emnity->enmity + - emperical->empirical + - emphsis->emphasis + - emphysyma->emphysema + - empirial->empirical, imperial + - emporer->emperor + - emprisoned->imprisoned + - enchancement->enhancement + - encouraing->encouraging + - encryptiion->encryption + - encylopedia->encyclopedia + - endevour->endeavour + - endig->ending + - endolithes->endoliths + - enduce->induce + - ened->need + - enforceing->enforcing + - engagment->engagement + - engeneer->engineer + - engeneering->engineering + - engieneer->engineer + - engieneers->engineers + - enlargment->enlargement + - enlargments->enlargements + - Enlish->English, enlist + - enourmous->enormous + - enourmously->enormously + - ensconsed->ensconced + - entaglements->entanglements + - enteratinment->entertainment + - enthusiatic->enthusiastic + - entitity->entity + - entitlied->entitled + - entrepeneur->entrepreneur + - entrepeneurs->entrepreneurs + - enviorment->environment + - enviormental->environmental + - enviormentally->environmentally + - enviorments->environments + - enviornment->environment + - enviornmental->environmental + - enviornmentalist->environmentalist + - enviornmentally->environmentally + - enviornments->environments + - enviroment->environment + - enviromental->environmental + - enviromentalist->environmentalist + - enviromentally->environmentally + - enviroments->environments + - envolutionary->evolutionary + - envrionments->environments + - enxt->next + - epidsodes->episodes + - epsiode->episode + - equalibrium->equilibrium + - equelibrium->equilibrium + - equialent->equivalent + - equilibium->equilibrium + - equilibrum->equilibrium + - equiped->equipped + - equippment->equipment + - equitorial->equatorial + - equivelant->equivalent + - equivelent->equivalent + - equivilant->equivalent + - equivilent->equivalent + - equivlalent->equivalent + - erally->orally, really + - eratic->erratic + - eratically->erratically + - eraticly->erratically + - erested->arrested, erected + - errupted->erupted + - esential->essential + - esitmated->estimated + - esle->else + - especialy->especially + - essencial->essential + - essense->essence + - essentail->essential + - essentialy->essentially + - essentual->essential + - essesital->essential + - estabishes->establishes + - establising->establishing + - ethnocentricm->ethnocentrism + - ethose->those, ethos + - Europian->European + - Europians->Europeans + - Eurpean->European + - Eurpoean->European + - evenhtually->eventually + - eventally->eventually + - eventhough->even though + - eventially->eventually + - eventualy->eventually + - everthing->everything + - everytime->every time + - everyting->everything + - eveyr->every + - evidentally->evidently + - exagerate->exaggerate + - exagerated->exaggerated + - exagerates->exaggerates + - exagerating->exaggerating + - exagerrate->exaggerate + - exagerrated->exaggerated + - exagerrates->exaggerates + - exagerrating->exaggerating + - examinated->examined + - exampt->exempt + - exapansion->expansion + - excact->exact + - excange->exchange + - excecute->execute + - excecuted->executed + - excecutes->executes + - excecuting->executing + - excecution->execution + - excedded->exceeded + - excelent->excellent + - excell->excel + - excellance->excellence + - excellant->excellent + - excells->excels + - excercise->exercise + - exchanching->exchanging + - excisted->existed + - exculsivly->exclusively + - execising->exercising + - exection->execution + - exectued->executed + - exeedingly->exceedingly + - exelent->excellent + - exellent->excellent + - exemple->example + - exept->except + - exeptional->exceptional + - exerbate->exacerbate + - exerbated->exacerbated + - exerciese->exercises + - exerpt->excerpt + - exerpts->excerpts + - exersize->exercise + - exerternal->external + - exhalted->exalted + - exhibtion->exhibition + - exibition->exhibition + - exibitions->exhibitions + - exicting->exciting + - exinct->extinct + - existance->existence + - existant->existent + - existince->existence + - exliled->exiled + - exludes->excludes + - exmaple->example + - exonorate->exonerate + - exoskelaton->exoskeleton + - expalin->explain + - expatriot->expatriate + - expeced->expected + - expecially->especially + - expeditonary->expeditionary + - expeiments->experiments + - expell->expel + - expells->expels + - experiance->experience + - experianced->experienced + - expiditions->expeditions + - expierence->experience + - explaination->explanation + - explaning->explaining + - explictly->explicitly + - exploititive->exploitative + - explotation->exploitation + - expropiated->expropriated + - expropiation->expropriation + - exressed->expressed + - extemely->extremely + - extention->extension + - extentions->extensions + - extered->exerted + - extermist->extremist + - extint->extinct, extant + - extradiction->extradition + - extraterrestial->extraterrestrial + - extraterrestials->extraterrestrials + - extravagent->extravagant + - extrememly->extremely + - extremeophile->extremophile + - extremly->extremely + - extrordinarily->extraordinarily + - extrordinary->extraordinary + - eyar->year + - eyars->years + - eyasr->years + - faciliate->facilitate + - faciliated->facilitated + - faciliates->facilitates + - facilites->facilities + - facillitate->facilitate + - facinated->fascinated + - facist->fascist + - familes->families + - familliar->familiar + - famoust->famous + - fanatism->fanaticism + - Farenheit->Fahrenheit + - fatc->fact + - faught->fought + - feasable->feasible + - Febuary->February + - Feburary->February + - fedreally->federally + - femminist->feminist + - feromone->pheromone + - fertily->fertility + - fianite->finite + - fianlly->finally + - ficticious->fictitious + - fictious->fictitious + - fidn->find + - fiel->feel, field, file, phial + - fiels->feels, fields, files, phials + - fiercly->fiercely + - fightings->fighting + - filiament->filament + - fimilies->families + - finacial->financial + - finaly->finally + - financialy->financially + - firends->friends + - firts->flirts, first + - fisionable->fissionable + - flamable->flammable + - flawess->flawless + - fleed->fled, freed + - Flemmish->Flemish + - florescent->fluorescent + - flourescent->fluorescent + - flourine->fluorine + - flourishment->flourishing + - fluorish->flourish + - follwoing->following + - folowing->following + - fomed->formed + - fomr->from, form + - fonetic->phonetic + - foootball->football + - forbad->forbade + - forbiden->forbidden + - foreward->foreword + - forfiet->forfeit + - forhead->forehead + - foriegn->foreign + - formallize->formalize + - formallized->formalized + - formaly->formally, formerly + - formelly->formerly + - formidible->formidable + - formost->foremost + - forsaw->foresaw + - forseeable->foreseeable + - fortelling->foretelling + - forunner->forerunner + - foucs->focus + - foudn->found + - fougth->fought + - foundaries->foundries + - foundary->foundry + - Foundland->Newfoundland + - fourties->forties + - fourty->forty + - fouth->fourth + - foward->forward + - Fransiscan->Franciscan + - Fransiscans->Franciscans + - freind->friend + - freindly->friendly + - frequentily->frequently + - frome->from + - fromed->formed + - froniter->frontier + - fucntion->function + - fucntioning->functioning + - fufilled->fulfilled + - fulfiled->fulfilled + - fullfilled->fulfilled + - fundametal->fundamental + - fundametals->fundamentals + - funguses->fungi + - funtion->function + - furuther->further + - futher->further + - futhermore->furthermore + - gae->game, Gael, gale + - galatic->galactic + - Galations->Galatians + - gallaxies->galaxies + - galvinized->galvanized + - Gameboy->Game Boy + - ganerate->generate + - ganes->games + - ganster->gangster + - garantee->guarantee + - garanteed->guaranteed + - garantees->guarantees + - gardai->gardaí + - garnison->garrison + - gauarana->guaraná + - gaurantee->guarantee + - gauranteed->guaranteed + - gaurantees->guarantees + - gaurd->guard, gourd + - gaurentee->guarantee + - gaurenteed->guaranteed + - gaurentees->guarantees + - geneological->genealogical + - geneologies->genealogies + - geneology->genealogy + - generaly->generally + - generatting->generating + - genialia->genitalia + - geographicial->geographical + - geometrician->geometer + - geometricians->geometers + - gerat->great + - Ghandi->Gandhi + - glamourous->glamorous + - glight->flight + - gnawwed->gnawed + - godess->goddess + - godesses->goddesses + - gogin->going, Gauguin + - goign->going + - gonig->going + - Gothenberg->Gothenburg + - Gottleib->Gottlieb + - gouvener->governor + - govement->government + - govenment->government + - govenrment->government + - goverance->governance + - goverment->government + - govermental->governmental + - governer->governor + - governmnet->government + - govorment->government + - govormental->governmental + - govornment->government + - gracefull->graceful + - graet->great + - grafitti->graffiti + - gramatically->grammatically + - grammaticaly->grammatically + - grammer->grammar + - grat->great + - gratuitious->gratuitous + - greatful->grateful + - greatfully->gratefully + - greif->grief + - gridles->griddles + - gropu->group + - grwo->grow + - Guaduloupe->Guadalupe, Guadeloupe + - Guadulupe->Guadalupe, Guadeloupe + - guage->gauge + - guarentee->guarantee + - guarenteed->guaranteed + - guarentees->guarantees + - Guatamala->Guatemala + - Guatamalan->Guatemalan + - guerrila->guerrilla + - guerrilas->guerrillas + - guidence->guidance + - Guilia->Giulia + - Guilio->Giulio + - Guiness->Guinness + - Guiseppe->Giuseppe + - gunanine->guanine + - gurantee->guarantee + - guranteed->guaranteed + - gurantees->guarantees + - guttaral->guttural + - gutteral->guttural + - habaeus->habeas + - habeus->habeas + - Habsbourg->Habsburg + - haev->have, heave + - halarious->hilarious + - halp->help + - hapen->happen + - hapened->happened + - hapening->happening + - happend->happened + - happended->happened + - happenned->happened + - harased->harassed + - harases->harasses + - harasment->harassment + - harasments->harassments + - harassement->harassment + - harras->harass + - harrased->harassed + - harrases->harasses + - harrasing->harassing + - harrasment->harassment + - harrasments->harassments + - harrassed->harassed + - harrasses->harassed + - harrassing->harassing + - harrassment->harassment + - harrassments->harassments + - hasnt->hasn't + - Hatian->Haitian + - haviest->heaviest + - headquarer->headquarter + - headquater->headquarter + - headquatered->headquartered + - headquaters->headquarters + - healthercare->healthcare + - heared->heard + - heathy->healthy + - Heidelburg->Heidelberg + - heigher->higher + - heirarchy->hierarchy + - heiroglyphics->hieroglyphics + - helment->helmet + - helpfull->helpful + - helpped->helped + - herad->heard, Hera + - heridity->heredity + - heroe->hero + - heros->heroes + - hertiage->heritage + - hertzs->hertz + - hesistant->hesitant + - heterogenous->heterogeneous + - hieght->height + - hierachical->hierarchical + - hierachies->hierarchies + - hierachy->hierarchy + - hierarcical->hierarchical + - hierarcy->hierarchy + - hieroglph->hieroglyph + - hieroglphs->hieroglyphs + - higer->higher + - higest->highest + - higway->highway + - hillarious->hilarious + - himselv->himself + - hinderance->hindrance + - hinderence->hindrance + - hindrence->hindrance + - hipopotamus->hippopotamus + - hismelf->himself + - histocompatability->histocompatibility + - historicians->historians + - hitsingles->hit singles + - holf->hold + - holliday->holiday + - homestate->home state + - homogeneize->homogenize + - homogeneized->homogenized + - honory->honorary + - horrifing->horrifying + - hosited->hoisted + - hospitible->hospitable + - hounour->honour + - housr->hours, house + - howver->however + - hsitorians->historians + - hstory->history + - hten->then, hen, the + - htere->there, here + - htey->they + - htikn->think + - hting->thing + - htink->think + - htis->this + - humerous->humorous, humerus + - huminoid->humanoid + - humoural->humoral + - humurous->humorous + - husban->husband + - hvae->have + - hvaing->having + - hvea->have, heave + - hwihc->which + - hwile->while + - hwole->whole + - hydogen->hydrogen + - hydropile->hydrophile + - hydropilic->hydrophilic + - hydropobe->hydrophobe + - hydropobic->hydrophobic + - hygeine->hygiene + - hyjack->hijack + - hyjacking->hijacking + - hypocracy->hypocrisy + - hypocrasy->hypocrisy + - hypocricy->hypocrisy + - hypocrit->hypocrite + - hypocrits->hypocrites + - iconclastic->iconoclastic + - idaeidae->idea + - idaes->ideas + - idealogies->ideologies + - idealogy->ideology + - identicial->identical + - identifers->identifiers + - ideosyncratic->idiosyncratic + - idesa->ideas, ides + - idiosyncracy->idiosyncrasy + - Ihaca->Ithaca + - illegimacy->illegitimacy + - illegitmate->illegitimate + - illess->illness + - illiegal->illegal + - illution->illusion + - ilness->illness + - ilogical->illogical + - imagenary->imaginary + - imagin->imagine + - imaginery->imaginary, imagery + - imanent->eminent, imminent + - imcomplete->incomplete + - imediately->immediately + - imense->immense + - imigrant->emigrant, immigrant + - imigrated->emigrated, immigrated + - imigration->emigration, immigration + - iminent->eminent, imminent, immanent + - immediatley->immediately + - immediatly->immediately + - immidately->immediately + - immidiately->immediately + - immitate->imitate + - immitated->imitated + - immitating->imitating + - immitator->imitator + - immunosupressant->immunosuppressant + - impecabbly->impeccably + - impedence->impedance + - implamenting->implementing + - impliment->implement + - implimented->implemented + - imploys->employs + - importamt->important + - impressario->impresario + - imprioned->imprisoned + - imprisonned->imprisoned + - improvision->improvisation + - improvments->improvements + - inablility->inability + - inaccessable->inaccessible + - inadiquate->inadequate + - inadquate->inadequate + - inadvertant->inadvertent + - inadvertantly->inadvertently + - inagurated->inaugurated + - inaguration->inauguration + - inappropiate->inappropriate + - inaugures->inaugurates + - inbalance->imbalance + - inbalanced->imbalanced + - inbetween->between + - incarcirated->incarcerated + - incidentially->incidentally + - incidently->incidentally + - inclreased->increased + - includ->include + - includng->including + - incompatabilities->incompatibilities + - incompatability->incompatibility + - incompatable->incompatible + - incompatablities->incompatibilities + - incompatablity->incompatibility + - incompatiblities->incompatibilities + - incompatiblity->incompatibility + - incompetance->incompetence + - incompetant->incompetent + - incomptable->incompatible + - incomptetent->incompetent + - inconsistant->inconsistent + - incoroporated->incorporated + - incorperation->incorporation + - incorportaed->incorporated + - incorprates->incorporates + - incorruptable->incorruptible + - incramentally->incrementally + - increadible->incredible + - incredable->incredible + - inctroduce->introduce + - inctroduced->introduced + - incuding->including + - incunabla->incunabula + - indefinately->indefinitely + - indefineable->undefinable + - indefinitly->indefinitely + - indentical->identical + - indepedantly->independently + - indepedence->independence + - independance->independence + - independant->independent + - independantly->independently + - independece->independence + - independendet->independent + - indespensable->indispensable + - indespensible->indispensable + - indictement->indictment + - indigineous->indigenous + - indipendence->independence + - indipendent->independent + - indipendently->independently + - indispensible->indispensable + - indisputible->indisputable + - indisputibly->indisputably + - indite->indict + - individualy->individually + - indpendent->independent + - indpendently->independently + - indulgue->indulge + - indutrial->industrial + - indviduals->individuals + - inefficienty->inefficiently + - inevatible->inevitable + - inevitible->inevitable + - inevititably->inevitably + - infalability->infallibility + - infallable->infallible + - infectuous->infectious + - infered->inferred + - infilitrate->infiltrate + - infilitrated->infiltrated + - infilitration->infiltration + - infinit->infinite + - inflamation->inflammation + - influencial->influential + - influented->influenced + - infomation->information + - informtion->information + - infrantryman->infantryman + - infrigement->infringement + - ingenius->ingenious + - ingreediants->ingredients + - inhabitans->inhabitants + - inherantly->inherently + - inheritage->heritage, inheritance + - inheritence->inheritance + - inital->initial + - initally->initially + - initation->initiation + - initiaitive->initiative + - inlcuding->including + - inmigrant->immigrant + - inmigrants->immigrants + - innoculated->inoculated + - inocence->innocence + - inofficial->unofficial + - inot->into + - inpeach->impeach + - inpending->impending + - inpenetrable->impenetrable + - inpolite->impolite + - inprisonment->imprisonment + - inproving->improving + - insectiverous->insectivorous + - insensative->insensitive + - inseperable->inseparable + - insistance->insistence + - insitution->institution + - insitutions->institutions + - inspite->in spite, inspire + - instade->instead + - instatance->instance + - institue->institute + - instuction->instruction + - instuments->instruments + - instutionalized->institutionalized + - instutions->institutions, intuitions + - insurence->insurance + - intelectual->intellectual + - inteligence->intelligence + - inteligent->intelligent + - intenational->international + - intented->intended, indented + - intepretation->interpretation + - interational->international + - interbread->interbreed, interbred + - interchangable->interchangeable + - interchangably->interchangeably + - intercontinential->intercontinental + - intercontinetal->intercontinental + - intered->interred, interned + - interelated->interrelated + - interferance->interference + - interfereing->interfering + - intergrated->integrated + - intergration->integration + - interm->interim + - internation->international + - interpet->interpret + - interrim->interim + - interrugum->interregnum + - intertaining->entertaining + - interupt->interrupt + - intervines->intervenes + - intevene->intervene + - intial->initial + - intially->initially + - intrduced->introduced + - intrest->interest + - introdued->introduced + - intruduced->introduced + - intrument->instrument + - intrumental->instrumental + - intruments->instruments + - intrusted->entrusted + - intutive->intuitive + - intutively->intuitively + - inudstry->industry + - inumerable->enumerable, innumerable + - inventer->inventor + - invertibrates->invertebrates + - investingate->investigate + - involvment->involvement + - irelevent->irrelevant + - iresistable->irresistible + - iresistably->irresistibly + - iresistible->irresistible + - iresistibly->irresistibly + - iritable->irritable + - iritated->irritated + - ironicly->ironically + - irregardless->regardless + - irrelevent->irrelevant + - irreplacable->irreplaceable + - irresistable->irresistible + - irresistably->irresistibly + - isnt->isn't + - Israelies->Israelis + - issueing->issuing + - itnroduced->introduced + - iunior->junior + - iwll->will + - iwth->with + - Janurary->January + - Januray->January + - Japanes->Japanese + - jeapardy->jeopardy + - Johanine->Johannine + - jorunal->journal + - Jospeh->Joseph + - jouney->journey + - journied->journeyed + - journies->journeys + - jstu->just + - jsut->just + - Juadaism->Judaism + - Juadism->Judaism + - judical->judicial + - judisuary->judiciary + - juducial->judicial + - juristiction->jurisdiction + - juristictions->jurisdictions + - kindergarden->kindergarten + - klenex->kleenex + - knifes->knives + - knive->knife + - knowlege->knowledge + - knowlegeable->knowledgeable + - knwo->know + - knwos->knows + - konw->know + - konws->knows + - kwno->know + - labatory->lavatory, laboratory + - labratory->laboratory + - laguage->language + - laguages->languages + - laparascopic->laparoscopic + - larg->large + - largst->largest + - larrry->larry + - lastr->last + - lattitude->latitude + - launchs->launch, launches + - launhed->launched + - lavae->larvae + - layed->laid + - lazyness->laziness + - leage->league + - leanr->lean, learn, leaner + - leathal->lethal + - lefted->left + - legitamate->legitimate + - legitmate->legitimate + - leibnitz->leibniz + - lenght->length + - leran->learn + - lerans->learns + - leutenant->lieutenant + - levetate->levitate + - levetated->levitated + - levetates->levitates + - levetating->levitating + - levle->level + - liasion->liaison + - liason->liaison + - liasons->liaisons + - libary->library + - libell->libel + - libguistic->linguistic + - libguistics->linguistics + - libitarianisn->libertarianism + - lible->libel, liable + - lieing->lying + - liek->like + - liekd->liked + - liesure->leisure + - lieuenant->lieutenant + - lieved->lived + - liftime->lifetime + - lightyear->light year + - lightyears->light years + - likelyhood->likelihood + - linnaena->linnaean + - liquify->liquefy + - listners->listeners + - litature->literature + - literaly->literally + - literture->literature + - littel->little + - litterally->literally + - liuke->like + - livley->lively + - lmits->limits + - loev->love + - lonelyness->loneliness + - longitudonal->longitudinal + - lonley->lonely + - lonly->lonely, only + - loosing->losing + - lsat->last + - lveo->love + - lvoe->love + - Lybia->Libya + - maching->machine, marching, matching + - mackeral->mackerel + - magasine->magazine + - magincian->magician + - magisine->magazine + - magizine->magazine + - magnificient->magnificent + - magolia->magnolia + - mailny->mainly + - maintainance->maintenance + - maintainence->maintenance + - maintance->maintenance + - maintenence->maintenance + - maintinaing->maintaining + - maintioned->mentioned + - majoroty->majority + - maked->marked, made + - makse->makes + - Malcom->Malcolm + - maltesian->Maltese + - mamal->mammal + - mamalian->mammalian + - managable->manageable, manageably + - managment->management + - manisfestations->manifestations + - mantained->maintained + - manufacturedd->manufactured + - manufature->manufacture + - manufatured->manufactured + - manufaturing->manufacturing + - mariage->marriage + - marjority->majority + - markes->marks + - marketting->marketing + - marmelade->marmalade + - marrage->marriage + - marraige->marriage + - marrtyred->martyred + - marryied->married + - Massachussets->Massachusetts + - Massachussetts->Massachusetts + - massmedia->mass media + - masterbation->masturbation + - mataphysical->metaphysical + - materalists->materialist + - mathamatics->mathematics + - mathematican->mathematician + - mathematicas->mathematics + - matheticians->mathematicians + - mathmatically->mathematically + - mathmatician->mathematician + - mathmaticians->mathematicians + - mchanics->mechanics + - meaing->meaning + - meaninng->meaning + - mear->wear, mere, mare + - mechandise->merchandise + - medacine->medicine + - medeival->medieval + - medevial->medieval + - medievel->medieval + - mediterainnean->mediterranean + - Mediteranean->Mediterranean + - meerkrat->meerkat + - melieux->milieux + - memeber->member + - menally->mentally + - meranda->veranda, Miranda + - mercentile->mercantile + - messanger->messenger + - messenging->messaging + - metalic->metallic + - metalurgic->metallurgic + - metalurgical->metallurgical + - metalurgy->metallurgy + - metamorphysis->metamorphosis + - metaphoricial->metaphorical + - meterologist->meteorologist + - meterology->meteorology + - methaphor->metaphor + - methaphors->metaphors + - Michagan->Michigan + - micoscopy->microscopy + - midwifes->midwives + - mileau->milieu + - milennia->millennia + - milennium->millennium + - mileu->milieu + - miliary->military + - miligram->milligram + - milion->million + - miliraty->military + - millenia->millennia + - millenial->millennial + - millenialism->millennialism + - millenium->millennium + - millepede->millipede + - millioniare->millionaire + - millitant->militant + - millitary->military + - millon->million + - miltary->military + - minature->miniature + - minerial->mineral + - ministery->ministry + - minsitry->ministry + - minstries->ministries + - minstry->ministry + - minumum->minimum + - mirrorred->mirrored + - miscelaneous->miscellaneous + - miscellanious->miscellaneous + - miscellanous->miscellaneous + - mischeivous->mischievous + - mischevious->mischievous + - mischievious->mischievous + - misfourtunes->misfortunes + - misile->missile + - Misouri->Missouri + - mispell->misspell + - mispelled->misspelled + - mispelling->misspelling + - missen->mizzen + - Missisipi->Mississippi + - Missisippi->Mississippi + - missle->missile + - missonary->missionary + - misterious->mysterious + - mistery->mystery + - misteryous->mysterious + - mkae->make + - mkaes->makes + - mkaing->making + - mkea->make + - moderm->modem + - modle->model + - moent->moment + - moeny->money + - mohammedans->muslims + - moleclues->molecules + - momento->memento + - monestaries->monasteries + - monestary->monastery, monetary + - monickers->monikers + - monolite->monolithic + - Monserrat->Montserrat + - montains->mountains + - montanous->mountainous + - Montnana->Montana + - monts->months + - montypic->monotypic + - moreso->more, more so + - morgage->mortgage + - morroccan->moroccan + - morrocco->morocco + - morroco->morocco + - mortage->mortgage + - mosture->moisture + - motiviated->motivated + - mounth->month + - movei->movie + - movment->movement + - mroe->more + - mucuous->mucous + - muder->murder + - mudering->murdering + - muhammadan->muslim + - multicultralism->multiculturalism + - multipled->multiplied + - multiplers->multipliers + - munbers->numbers + - muncipalities->municipalities + - muncipality->municipality + - munnicipality->municipality + - muscels->mussels, muscles + - muscial->musical + - muscician->musician + - muscicians->musicians + - mutiliated->mutilated + - myraid->myriad + - mysef->myself + - mysogynist->misogynist + - mysogyny->misogyny + - mysterous->mysterious + - naieve->naive + - Naploeon->Napoleon + - Napolean->Napoleon + - Napoleonian->Napoleonic + - naturaly->naturally + - naturely->naturally + - naturual->natural + - naturually->naturally + - Nazereth->Nazareth + - neccesarily->necessarily + - neccesary->necessary + - neccessarily->necessarily + - neccessary->necessary + - neccessities->necessities + - necesarily->necessarily + - necesary->necessary + - necessiate->necessitate + - neglible->negligible + - negligable->negligible + - negociate->negotiate + - negociation->negotiation + - negociations->negotiations + - negotation->negotiation + - neice->niece, nice + - neolitic->neolithic + - nessasarily->necessarily + - nessecary->necessary + - nestin->nesting + - neverthless->nevertheless + - newletters->newsletters + - nickle->nickel + - nightime->nighttime + - nineth->ninth + - ninteenth->nineteenth + - ninties->1990s + - ninty->ninety + - nkow->know + - nkwo->know + - nmae->name + - nonsence->nonsense + - nontheless->nonetheless + - noone->no one + - norhern->northern + - northen->northern + - northereastern->northeastern + - notabley->notably + - noteable->notable + - noteably->notably + - noteriety->notoriety + - noth->north + - nothern->northern + - noticable->noticeable + - noticably->noticeably + - noticeing->noticing + - noticible->noticeable + - notwhithstanding->notwithstanding + - noveau->nouveau + - Novermber->November + - nowdays->nowadays + - nowe->now + - nto->not + - nucular->nuclear + - nuculear->nuclear + - nuisanse->nuisance + - numberous->numerous + - Nuremburg->Nuremberg + - nusance->nuisance + - nutritent->nutrient + - nutritents->nutrients + - nuturing->nurturing + - obediance->obedience + - obediant->obedient + - obession->obsession + - obssessed->obsessed + - obstacal->obstacle + - obstancles->obstacles + - obstruced->obstructed + - ocasion->occasion + - ocasional->occasional + - ocasionally->occasionally + - ocasionaly->occasionally + - ocasioned->occasioned + - ocasions->occasions + - ocassion->occasion + - ocassional->occasional + - ocassionally->occasionally + - ocassionaly->occasionally + - ocassioned->occasioned + - ocassions->occasions + - occaison->occasion + - occassion->occasion + - occassional->occasional + - occassionally->occasionally + - occassionaly->occasionally + - occassioned->occasioned + - occassions->occasions + - occationally->occasionally + - occour->occur + - occurance->occurrence + - occurances->occurrences + - occured->occurred + - occurence->occurrence + - occurences->occurrences + - occuring->occurring + - occurr->occur + - occurrance->occurrence + - occurrances->occurrences + - octohedra->octahedra + - octohedral->octahedral + - octohedron->octahedron + - ocuntries->countries + - ocuntry->country + - ocurr->occur + - ocurrance->occurrence + - ocurred->occurred + - ocurrence->occurrence + - offcers->officers + - offcially->officially + - offereings->offerings + - offical->official + - offically->officially + - officals->officials + - officaly->officially + - officialy->officially + - offred->offered + - oftenly->often + - oging->going, ogling + - olther->other + - omision->omission + - omited->omitted + - omiting->omitting + - omlette->omelette + - ommision->omission + - ommited->omitted + - ommiting->omitting + - ommitted->omitted + - ommitting->omitting + - omniverous->omnivorous + - omniverously->omnivorously + - omre->more + - onot->note, not + - onyl->only + - openess->openness + - oponent->opponent + - oportunity->opportunity + - opose->oppose + - oposite->opposite + - oposition->opposition + - oppenly->openly + - oppinion->opinion + - opponant->opponent + - oppononent->opponent + - oppositition->opposition + - oppossed->opposed + - opprotunity->opportunity + - opression->oppression + - opressive->oppressive + - opthalmic->ophthalmic + - opthalmologist->ophthalmologist + - opthalmology->ophthalmology + - opthamologist->ophthalmologist + - optmizations->optimizations + - optomism->optimism + - orded->ordered + - organim->organism + - orgin->origin, organ + - orginal->original + - orginally->originally + - oridinarily->ordinarily + - origanaly->originally + - originall->original, originally + - originaly->originally + - originially->originally + - originnally->originally + - origional->original + - orignally->originally + - orignially->originally + - otehr->other + - otherwordly->otherworldly + - oublisher->publisher + - ouevre->oeuvre + - oustanding->outstanding + - overshaddowed->overshadowed + - overthere->over there + - overwelming->overwhelming + - overwheliming->overwhelming + - owrk->work + - owudl->would + - oxigen->oxygen + - oximoron->oxymoron + - paide->paid + - paitience->patience + - palce->place, palace + - paliamentarian->parliamentarian + - Palistian->Palestinian + - Palistinian->Palestinian + - Palistinians->Palestinians + - pallete->palette + - pamflet->pamphlet + - pamplet->pamphlet + - pantomine->pantomime + - paranthesis->parenthesis + - paraphenalia->paraphernalia + - parellels->parallels + - parisitic->parasitic + - parituclar->particular + - parliment->parliament + - parrakeets->parakeets + - partialy->partially + - particually->particularly + - particualr->particular + - particuarly->particularly + - particularily->particularly + - particulary->particularly + - pary->party + - pased->passed + - pasengers->passengers + - pasttime->pastime + - pastural->pastoral + - paticular->particular + - pattented->patented + - pavillion->pavilion + - payed->paid + - pblisher->publisher + - pbulisher->publisher + - peacefuland->peaceful and + - peageant->pageant + - peaple->people + - peaples->peoples + - peculure->peculiar + - pedestrain->pedestrian + - peformed->performed + - peice->piece + - Peloponnes->Peloponnesus + - penatly->penalty + - penerator->penetrator + - penisula->peninsula + - penisular->peninsular + - penninsula->peninsula + - penninsular->peninsular + - pennisula->peninsula + - Pennyslvania->Pennsylvania + - pensinula->peninsula + - pensle->pencil + - peom->poem + - peoms->poems + - peopel->people + - peopels->peoples + - peotry->poetry + - perade->parade + - percepted->perceived + - percieve->perceive + - percieved->perceived + - pereguine->peregrine + - perenially->perennially + - peretrator->perpetrator + - perfomance->performance + - perfomers->performers + - performence->performance + - performes->performed, performs + - perhasp->perhaps + - perheaps->perhaps + - perhpas->perhaps + - peripathetic->peripatetic + - peristent->persistent + - perjery->perjury + - perjorative->pejorative + - permanant->permanent + - permenant->permanent + - permenantly->permanently + - permissable->permissible + - perogative->prerogative + - peronal->personal + - perosnality->personality + - perpertrated->perpetrated + - perphas->perhaps + - perpindicular->perpendicular + - persan->person + - perseverence->perseverance + - persistance->persistence + - persistant->persistent + - personel->personnel, personal + - personell->personnel + - personnell->personnel + - persuded->persuaded + - persue->pursue + - persued->pursued + - persuing->pursuing + - persuit->pursuit + - persuits->pursuits + - pertubation->perturbation + - pertubations->perturbations + - pessiary->pessary + - petetion->petition + - Pharoah->Pharaoh + - phenomenom->phenomenon + - phenomenonal->phenomenal + - phenomenonly->phenomenally + - phenomonenon->phenomenon + - phenomonon->phenomenon + - phenonmena->phenomena + - Philipines->Philippines + - philisopher->philosopher + - philisophical->philosophical + - philisophy->philosophy + - Phillipine->Philippine + - Phillipines->Philippines + - Phillippines->Philippines + - phillosophically->philosophically + - philospher->philosopher + - philosphies->philosophies + - philosphy->philosophy + - phongraph->phonograph + - phylosophical->philosophical + - physicaly->physically + - piblisher->publisher + - pich->pitch + - pilgrimmage->pilgrimage + - pilgrimmages->pilgrimages + - pinapple->pineapple + - pinnaple->pineapple + - pinoneered->pioneered + - plagarism->plagiarism + - planation->plantation + - planed->planned + - plantiff->plaintiff + - plateu->plateau + - plausable->plausible + - playright->playwright + - playwrite->playwright + - playwrites->playwrights + - pleasent->pleasant + - plebicite->plebiscite + - plesant->pleasant + - poenis->penis + - poeoples->peoples + - poety->poetry + - poisin->poison + - polical->political + - polinator->pollinator + - polinators->pollinators + - politican->politician + - politicans->politicians + - poltical->political + - polute->pollute + - poluted->polluted + - polutes->pollutes + - poluting->polluting + - polution->pollution + - polyphonyic->polyphonic + - polysaccaride->polysaccharide + - polysaccharid->polysaccharide + - pomegranite->pomegranate + - pomotion->promotion + - poportional->proportional + - popoulation->population + - popularaty->popularity + - populare->popular + - populer->popular + - porshan->portion + - porshon->portion + - portait->portrait + - portayed->portrayed + - portraing->portraying + - Portugese->Portuguese + - portuguease->portuguese + - portugues->Portuguese + - posess->possess + - posessed->possessed + - posesses->possesses + - posessing->possessing + - posession->possession + - posessions->possessions + - posion->poison + - positon->position, positron + - possable->possible + - possably->possibly + - posseses->possesses + - possesing->possessing + - possesion->possession + - possessess->possesses + - possibile->possible + - possibilty->possibility + - possiblility->possibility + - possiblilty->possibility + - possiblities->possibilities + - possiblity->possibility + - possition->position + - Postdam->Potsdam + - posthomous->posthumous + - postion->position + - postive->positive + - potatos->potatoes + - potrait->portrait + - potrayed->portrayed + - poulations->populations + - poverful->powerful + - poweful->powerful + - powerfull->powerful + - ppublisher->publisher + - practial->practical + - practially->practically + - practicaly->practically + - practicioner->practitioner + - practicioners->practitioners + - practicly->practically + - practioner->practitioner + - practioners->practitioners + - prairy->prairie + - prarie->prairie + - praries->prairies + - pratice->practice + - preample->preamble + - precedessor->predecessor + - preceed->precede + - preceeded->preceded + - preceeding->preceding + - preceeds->precedes + - precentage->percentage + - precice->precise + - precisly->precisely + - precurser->precursor + - predecesors->predecessors + - predicatble->predictable + - predicitons->predictions + - predomiantly->predominately + - prefered->preferred + - prefering->preferring + - preferrably->preferably + - pregancies->pregnancies + - preiod->period + - preliferation->proliferation + - premeire->premiere + - premeired->premiered + - premission->permission + - Premonasterians->Premonstratensians + - preocupation->preoccupation + - prepair->prepare + - prepartion->preparation + - prepatory->preparatory + - preperation->preparation + - preperations->preparations + - preriod->period + - presedential->presidential + - presense->presence + - presidenital->presidential + - presidental->presidential + - presitgious->prestigious + - prespective->perspective + - prestigeous->prestigious + - prestigous->prestigious + - presumabely->presumably + - presumibly->presumably + - pretection->protection + - prevelant->prevalent + - preverse->perverse + - previvous->previous + - pricipal->principal + - priciple->principle + - priestood->priesthood + - primarly->primarily + - primative->primitive + - primatively->primitively + - primatives->primitives + - primordal->primordial + - principaly->principality + - principial->principal + - principlaity->principality + - principly->principally + - prinicipal->principal + - privalege->privilege + - privaleges->privileges + - priveledges->privileges + - privelege->privilege + - priveleged->privileged + - priveleges->privileges + - privelige->privilege + - priveliged->privileged + - priveliges->privileges + - privelleges->privileges + - privilage->privilege + - priviledge->privilege + - priviledges->privileges + - privledge->privilege + - privte->private + - probabilaty->probability + - probablistic->probabilistic + - probablly->probably + - probalibity->probability + - probaly->probably + - probelm->problem + - proccess->process + - proccessing->processing + - procede->proceed, precede + - proceded->proceeded, preceded + - procedes->proceeds, precedes + - procedger->procedure + - proceding->proceeding, preceding + - procedings->proceedings + - proceedure->procedure + - proces->process + - processer->processor + - proclaimation->proclamation + - proclamed->proclaimed + - proclaming->proclaiming + - proclomation->proclamation + - profesion->profusion, profession + - profesor->professor + - professer->professor + - proffesed->professed + - proffesion->profession + - proffesional->professional + - proffesor->professor + - proffession->profession + - proffessional->professional + - proffessor->professor + - profilic->prolific + - progessed->progressed + - progidy->prodigy + - programable->programmable + - progrom->pogrom, program + - progroms->pogroms, programs + - prohabition->prohibition + - prologomena->prolegomena + - prominance->prominence + - prominant->prominent + - prominantly->prominently + - prominately->prominently, predominately + - promiscous->promiscuous + - promotted->promoted + - pronomial->pronominal + - pronouced->pronounced + - pronounched->pronounced + - pronounciation->pronunciation + - proove->prove + - prooved->proved + - prophacy->prophecy + - propietary->proprietary + - propmted->prompted + - propoganda->propaganda + - propogate->propagate + - propogates->propagates + - propogation->propagation + - propostion->proposition + - propotions->proportions + - propper->proper + - propperly->properly + - proprietory->proprietary + - proseletyzing->proselytizing + - protaganist->protagonist + - protaganists->protagonists + - protocal->protocol + - protoganist->protagonist + - protrayed->portrayed + - protruberance->protuberance + - protruberances->protuberances + - prouncements->pronouncements + - provacative->provocative + - provded->provided + - provicial->provincial + - provinicial->provincial + - provisiosn->provision + - provisonal->provisional + - proximty->proximity + - pseudononymous->pseudonymous + - pseudonyn->pseudonym + - psuedo->pseudo + - psycology->psychology + - psyhic->psychic + - pubilsher->publisher + - pubisher->publisher + - publiaher->publisher + - publically->publicly + - publicaly->publicly + - publicher->publisher + - publihser->publisher + - publisehr->publisher + - publiser->publisher + - publisger->publisher + - publisheed->published + - publisherr->publisher + - publishher->publisher + - publishor->publisher + - publishre->publisher + - publissher->publisher + - publlisher->publisher + - publsiher->publisher + - publusher->publisher + - puchasing->purchasing + - Pucini->Puccini + - Puertorrican->Puerto Rican + - Puertorricans->Puerto Ricans + - pulisher->publisher + - pumkin->pumpkin + - puplisher->publisher + - puritannical->puritanical + - purposedly->purposely + - purpotedly->purportedly + - pursuade->persuade + - pursuaded->persuaded + - pursuades->persuades + - pususading->persuading + - puting->putting + - pwoer->power + - pyscic->psychic + - qtuie->quite, quiet + - quantaty->quantity + - quantitiy->quantity + - quarantaine->quarantine + - Queenland->Queensland + - questonable->questionable + - quicklyu->quickly + - quinessential->quintessential + - quitted->quit + - quizes->quizzes + - qutie->quite, quiet + - rabinnical->rabbinical + - racaus->raucous + - radiactive->radioactive + - radify->ratify + - raelly->really + - rarified->rarefied + - reaccurring->recurring + - reacing->reaching + - reacll->recall + - readmition->readmission + - realitvely->relatively + - realsitic->realistic + - realtions->relations + - realy->really + - realyl->really + - reasearch->research + - rebiulding->rebuilding + - rebllions->rebellions + - rebounce->rebound + - reccomend->recommend + - reccomendations->recommendations + - reccomended->recommended + - reccomending->recommending + - reccommend->recommend + - reccommended->recommended + - reccommending->recommending + - reccuring->recurring + - receeded->receded + - receeding->receding + - receivedfrom->received from + - recepient->recipient + - recepients->recipients + - receving->receiving + - rechargable->rechargeable + - reched->reached + - recide->reside + - recided->resided + - recident->resident + - recidents->residents + - reciding->residing + - reciepents->recipients + - reciept->receipt + - recieve->receive + - recieved->received + - reciever->receiver + - recievers->receivers + - recieves->receives + - recieving->receiving + - recipiant->recipient + - recipiants->recipients + - recived->received + - recivership->receivership + - recomend->recommend + - recomended->recommended + - recomending->recommending + - recomends->recommends + - recommedations->recommendations + - recompence->recompense + - reconaissance->reconnaissance + - reconcilation->reconciliation + - reconized->recognized + - reconnaisance->reconnaissance + - reconnaissence->reconnaissance + - recontructed->reconstructed + - recordproducer->record producer + - recquired->required + - recrational->recreational + - recrod->record + - recuiting->recruiting + - recuring->recurring + - recurrance->recurrence + - rediculous->ridiculous + - reedeming->redeeming + - reenforced->reinforced + - refect->reflect + - refedendum->referendum + - referal->referral + - referece->reference + - refereces->references + - refered->referred + - referemce->reference + - referemces->references + - referencs->references + - referenece->reference + - refereneced->referenced + - refereneces->references + - referiang->referring + - refering->referring + - refernce->reference, references + - refernces->references + - referrence->reference + - referrences->references + - referrs->refers + - reffered->referred + - refference->reference + - reffering->referring + - refrence->reference + - refrences->references + - refrers->refers + - refridgeration->refrigeration + - refridgerator->refrigerator + - refromist->reformist + - refusla->refusal + - regardes->regards + - regluar->regular + - reguarly->regularly + - regulaion->regulation + - regulaotrs->regulators + - regularily->regularly + - rehersal->rehearsal + - reicarnation->reincarnation + - reigining->reigning + - reknown->renown + - reknowned->renowned + - rela->real + - relaly->really + - relatiopnship->relationship + - relativly->relatively + - releive->relieve + - releived->relieved + - releiver->reliever + - releses->releases + - relevence->relevance + - relevent->relevant + - reliablity->reliability + - relient->reliant + - religeous->religious + - religous->religious + - religously->religiously + - relinqushment->relinquishment + - relitavely->relatively + - relpacement->replacement + - remaing->remaining + - remeber->remember + - rememberable->memorable + - rememberance->remembrance + - remembrence->remembrance + - remenant->remnant + - remenicent->reminiscent + - reminent->remnant + - reminescent->reminiscent + - reminscent->reminiscent + - reminsicent->reminiscent + - rendevous->rendezvous + - rendezous->rendezvous + - renedered->rendered + - renewl->renewal + - rennovate->renovate + - rennovated->renovated + - rennovating->renovating + - rennovation->renovation + - rentors->renters + - reoccurrence->recurrence + - repatition->repetition, repartition + - repblic->republic + - repblican->republican + - repblicans->republicans + - repblics->republics + - repectively->respectively + - repeition->repetition + - repentence->repentance + - repentent->repentant + - repeteadly->repeatedly + - repetion->repetition + - repid->rapid + - reponse->response + - reponsible->responsible + - reportadly->reportedly + - represantative->representative + - representive->representative + - representives->representatives + - reproducable->reproducible + - reprtoire->repertoire + - repsectively->respectively + - reptition->repetition + - repubic->republic + - repubican->republican + - repubicans->republicans + - repubics->republics + - republi->republic + - republian->republican + - republians->republicans + - republis->republics + - repulic->republic + - repulican->republican + - repulicans->republicans + - repulics->republics + - requirment->requirement + - requred->required + - resaurant->restaurant + - resembelance->resemblance + - resembes->resembles + - resemblence->resemblance + - resevoir->reservoir + - residental->residential + - resistable->resistible + - resistence->resistance + - resistent->resistant + - respectivly->respectively + - responce->response + - responibilities->responsibilities + - responisble->responsible + - responnsibilty->responsibility + - responsability->responsibility + - responsibile->responsible + - responsibilites->responsibilities + - responsiblities->responsibilities + - responsiblity->responsibility + - ressemblance->resemblance + - ressemble->resemble + - ressembled->resembled + - ressemblence->resemblance + - ressembling->resembling + - resssurecting->resurrecting + - ressurect->resurrect + - ressurected->resurrected + - ressurection->resurrection + - ressurrection->resurrection + - restarant->restaurant + - restarants->restaurants + - restaraunt->restaurant + - restaraunteur->restaurateur + - restaraunteurs->restaurateurs + - restaraunts->restaurants + - restauranteurs->restaurateurs + - restauration->restoration + - restauraunt->restaurant + - resteraunt->restaurant + - resteraunts->restaurants + - resticted->restricted + - restraunt->restraint, restaurant + - resturant->restaurant + - resturants->restaurants + - resturaunt->restaurant + - resturaunts->restaurants + - resurecting->resurrecting + - retalitated->retaliated + - retalitation->retaliation + - retreive->retrieve + - returnd->returned + - revaluated->reevaluated + - reveiw->review + - reveral->reversal + - reversable->reversible + - revolutionar->revolutionary + - rewitten->rewritten + - rewriet->rewrite + - rference->reference + - rferences->references + - rhymme->rhyme + - rhythem->rhythm + - rhythim->rhythm + - rhytmic->rhythmic + - rigourous->rigorous + - rininging->ringing + - rised->raised, rose + - Rockerfeller->Rockefeller + - rococco->rococo + - rocord->record + - rougly->roughly + - rucuperate->recuperate + - rudimentatry->rudimentary + - rulle->rule + - runing->running + - runnung->running + - russina->Russian + - Russion->Russian + - rwite->write + - rythem->rhythm + - rythim->rhythm + - rythm->rhythm + - rythmic->rhythmic + - rythyms->rhythms + - sacrafice->sacrifice + - sacreligious->sacrilegious + - Sacremento->Sacramento + - sacrifical->sacrificial + - saftey->safety + - safty->safety + - salery->salary + - sanctionning->sanctioning + - sandwhich->sandwich + - Sanhedrim->Sanhedrin + - santioned->sanctioned + - sargant->sergeant + - sargeant->sergeant + - sasy->says, sassy + - satelite->satellite + - satelites->satellites + - Saterday->Saturday + - Saterdays->Saturdays + - satisfactority->satisfactorily + - satric->satiric + - satrical->satirical + - satrically->satirically + - sattelite->satellite + - sattelites->satellites + - saught->sought + - saveing->saving + - saxaphone->saxophone + - scaleable->scalable + - scandanavia->Scandinavia + - scaricity->scarcity + - scavanged->scavenged + - schedual->schedule + - scholarhip->scholarship + - scholarstic->scholastic, scholarly + - scientfic->scientific + - scientifc->scientific + - scientis->scientist + - scince->science + - scinece->science + - scirpt->script + - scoll->scroll + - screenwrighter->screenwriter + - scrutinity->scrutiny + - scuptures->sculptures + - seach->search + - seached->searched + - seaches->searches + - secceeded->seceded, succeeded + - seceed->succeed, secede + - seceeded->succeeded, seceded + - secratary->secretary + - secretery->secretary + - sedereal->sidereal + - seeked->sought + - segementation->segmentation + - seguoys->segues + - seige->siege + - seing->seeing + - seinor->senior + - seldomly->seldom + - senarios->scenarios + - sence->sense, since + - senstive->sensitive + - sensure->censure + - seperate->separate + - seperated->separated + - seperately->separately + - seperates->separates + - seperating->separating + - seperation->separation + - seperatism->separatism + - seperatist->separatist + - sepina->subpoena + - sergent->sergeant + - settelement->settlement + - settlment->settlement + - severeal->several + - severley->severely + - severly->severely + - sevice->service + - shaddow->shadow + - shamen->shaman, shamans + - sheat->sheath, sheet, cheat + - sheild->shield + - sherif->sheriff + - shineing->shining + - shiped->shipped + - shiping->shipping + - shopkeeepers->shopkeepers + - shorly->shortly + - shortwhile->short while + - shoudl->should + - shoudln->should, shouldn't + - shouldnt->should not + - shreak->shriek + - shrinked->shrunk + - sicne->since + - sideral->sidereal + - sieze->seize, size + - siezed->seized, sized + - siezing->seizing, sizing + - siezure->seizure + - siezures->seizures + - siginificant->significant + - signficant->significant + - signficiant->significant + - signfies->signifies + - signifantly->significantly + - significently->significantly + - signifigant->significant + - signifigantly->significantly + - signitories->signatories + - signitory->signatory + - similarily->similarly + - similiar->similar + - similiarity->similarity + - similiarly->similarly + - simmilar->similar + - simpley->simply + - simplier->simpler + - simultanous->simultaneous + - simultanously->simultaneously + - sincerley->sincerely + - singsog->singsong + - sinse->sines, since + - Sionist->Zionist + - Sionists->Zionists + - Sixtin->Sistine + - Skagerak->Skagerrak + - skateing->skating + - slaugterhouses->slaughterhouses + - slighly->slightly + - slippy->slippery + - slowy->slowly + - smae->same + - smealting->smelting + - smoe->some + - sneeks->sneaks + - snese->sneeze + - socalism->socialism + - socities->societies + - soem->some + - sofware->software + - sohw->show + - soilders->soldiers + - solatary->solitary + - soley->solely + - soliders->soldiers + - soliliquy->soliloquy + - soluable->soluble + - somene->someone + - somtimes->sometimes + - somwhere->somewhere + - sophicated->sophisticated + - sorceror->sorcerer + - sorrounding->surrounding + - sotry->story + - sotyr->satyr, story + - soudn->sound + - soudns->sounds + - sould->could, should, sold, soul + - sountrack->soundtrack + - sourth->south + - sourthern->southern + - souvenier->souvenir + - souveniers->souvenirs + - soveits->soviets + - sovereignity->sovereignty + - soverign->sovereign + - soverignity->sovereignty + - soverignty->sovereignty + - spainish->Spanish + - speach->speech + - specfic->specific + - specif->specific, specify + - specifiying->specifying + - speciman->specimen + - spectauclar->spectacular + - spectaulars->spectaculars + - spects->aspects, expects + - spectum->spectrum + - speices->species + - spermatozoan->spermatozoon + - spoace->space + - sponser->sponsor + - sponsered->sponsored + - spontanous->spontaneous + - sponzored->sponsored + - spoonfulls->spoonfuls + - sppeches->speeches + - spreaded->spread + - sprech->speech + - spred->spread + - spriritual->spiritual + - spritual->spiritual + - sqaure->square + - stablility->stability + - stainlees->stainless + - staion->station + - standars->standards + - stange->strange + - startegic->strategic + - startegies->strategies + - startegy->strategy + - stateman->statesman + - statememts->statements + - statment->statement + - steriods->steroids + - sterotypes->stereotypes + - stilus->stylus + - stingent->stringent + - stiring->stirring + - stirrs->stirs + - stlye->style + - stomache->stomach + - stong->strong + - stopry->story + - storeis->stories + - storise->stories + - stornegst->strongest + - stoyr->story + - stpo->stop + - stradegies->strategies + - stradegy->strategy + - strat->start, strata + - stratagically->strategically + - streemlining->streamlining + - stregth->strength + - strenghen->strengthen + - strenghened->strengthened + - strenghening->strengthening + - strenght->strength + - strenghten->strengthen + - strenghtened->strengthened + - strenghtening->strengthening + - strengtened->strengthened + - strenous->strenuous + - strictist->strictest + - strikely->strikingly + - strnad->strand + - stroy->story, destroy + - structual->structural + - stubborness->stubbornness + - stucture->structure + - stuctured->structured + - studdy->study + - studing->studying + - stuggling->struggling + - sturcture->structure + - subcatagories->subcategories + - subcatagory->subcategory + - subconsiously->subconsciously + - subdivisio->subdivision + - subjudgation->subjugation + - submachne->submachine + - subpecies->subspecies + - subsidary->subsidiary + - subsiduary->subsidiary + - subsquent->subsequent + - subsquently->subsequently + - substace->substance + - substancial->substantial + - substatial->substantial + - substituded->substituted + - substract->subtract + - substracted->subtracted + - substracting->subtracting + - substraction->subtraction + - substracts->subtracts + - subtances->substances + - subterranian->subterranean + - suburburban->suburban + - succceeded->succeeded + - succcesses->successes + - succedded->succeeded + - succeded->succeeded + - succeds->succeeds + - succesful->successful + - succesfully->successfully + - succesfuly->successfully + - succesion->succession + - succesive->successive + - successfull->successful + - successully->successfully + - succsess->success + - succsessfull->successful + - suceed->succeed + - suceeded->succeeded + - suceeding->succeeding + - suceeds->succeeds + - sucesful->successful + - sucesfully->successfully + - sucesfuly->successfully + - sucesion->succession + - sucess->success + - sucesses->successes + - sucessful->successful + - sucessfull->successful + - sucessfully->successfully + - sucessfuly->successfully + - sucession->succession + - sucessive->successive + - sucessor->successor + - sucessot->successor + - sucide->suicide + - sucidial->suicidal + - sudent->student + - sudents->students + - sufferage->suffrage + - sufferred->suffered + - sufferring->suffering + - sufficent->sufficient + - sufficently->sufficiently + - sumary->summary + - sunglases->sunglasses + - suop->soup + - superceeded->superseded + - superintendant->superintendent + - suphisticated->sophisticated + - suplimented->supplemented + - supose->suppose + - suposed->supposed + - suposedly->supposedly + - suposes->supposes + - suposing->supposing + - supplamented->supplemented + - suppliementing->supplementing + - suppoed->supposed + - supposingly->supposedly + - suppy->supply + - suprassing->surpassing + - supress->suppress + - supressed->suppressed + - supresses->suppresses + - supressing->suppressing + - suprise->surprise + - suprised->surprised + - suprising->surprising + - suprisingly->surprisingly + - suprize->surprise + - suprized->surprised + - suprizing->surprising + - suprizingly->surprisingly + - surfce->surface + - surley->surly, surely + - suround->surround + - surounded->surrounded + - surounding->surrounding + - suroundings->surroundings + - surounds->surrounds + - surplanted->supplanted + - surpress->suppress + - surpressed->suppressed + - surprize->surprise + - surprized->surprised + - surprizing->surprising + - surprizingly->surprisingly + - surrended->surrounded, surrendered + - surrepetitious->surreptitious + - surrepetitiously->surreptitiously + - surreptious->surreptitious + - surreptiously->surreptitiously + - surronded->surrounded + - surrouded->surrounded + - surrouding->surrounding + - surrundering->surrendering + - surveilence->surveillance + - surveyer->surveyor + - surviver->survivor + - survivers->survivors + - survivied->survived + - suseptable->susceptible + - suseptible->susceptible + - suspention->suspension + - swaer->swear + - swaers->swears + - swepth->swept + - swiming->swimming + - syas->says + - symetrical->symmetrical + - symetrically->symmetrically + - symetry->symmetry + - symettric->symmetric + - symmetral->symmetric + - symmetricaly->symmetrically + - synagouge->synagogue + - syncronization->synchronization + - synonomous->synonymous + - synonymns->synonyms + - synphony->symphony + - syphyllis->syphilis + - sypmtoms->symptoms + - syrap->syrup + - sysmatically->systematically + - sytem->system + - sytle->style + - tabacco->tobacco + - tahn->than + - taht->that + - talekd->talked + - targetted->targeted + - targetting->targeting + - tast->taste + - tath->that + - tatoo->tattoo + - tattooes->tattoos + - taxanomic->taxonomic + - taxanomy->taxonomy + - teached->taught + - techician->technician + - techicians->technicians + - techiniques->techniques + - technitian->technician + - technnology->technology + - technolgy->technology + - teh->the + - tehy->they + - telelevision->television + - televsion->television + - telphony->telephony + - temerature->temperature + - tempalte->template + - tempaltes->templates + - temparate->temperate + - temperarily->temporarily + - temperment->temperament + - tempertaure->temperature + - temperture->temperature + - temprary->temporary + - tenacle->tentacle + - tenacles->tentacles + - tendacy->tendency + - tendancies->tendencies + - tendancy->tendency + - tennisplayer->tennis player + - tepmorarily->temporarily + - terrestial->terrestrial + - terriories->territories + - terriory->territory + - territorist->terrorist + - territoy->territory + - terroist->terrorist + - testiclular->testicular + - testomony->testimony + - tghe->the + - thast->that, that's + - theese->these + - theif->thief + - theives->thieves + - themselfs->themselves + - themslves->themselves + - ther->there, their, the + - therafter->thereafter + - therby->thereby + - theri->their + - theyre->they're + - thgat->that + - thge->the + - thier->their + - thign->thing + - thigns->things + - thigsn->things + - thikn->think + - thikning->thinking, thickening + - thikns->thinks + - thiunk->think + - thn->then + - thna->than + - thne->then + - thnig->thing + - thnigs->things + - thoughout->throughout + - threatend->threatened + - threatning->threatening + - threee->three + - threshhold->threshold + - thrid->third + - throrough->thorough + - throughly->thoroughly + - throught->thought, through, throughout + - througout->throughout + - thru->through + - thsi->this + - thsoe->those + - thta->that + - thyat->that + - tiem->time, Tim + - tihkn->think + - tihs->this + - timeschedule->time schedule + - timne->time + - tiome->time, tome + - tje->the + - tjhe->the + - tjpanishad->upanishad + - tkae->take + - tkaes->takes + - tkaing->taking + - tlaking->talking + - tobbaco->tobacco + - todays->today's + - todya->today + - toghether->together + - toke->took + - tolerence->tolerance + - Tolkein->Tolkien + - tomatos->tomatoes + - tommorow->tomorrow + - tommorrow->tomorrow + - tongiht->tonight + - toriodal->toroidal + - tormenters->tormentors + - tornadoe->tornado + - torpeados->torpedoes + - torpedos->torpedoes + - tortise->tortoise + - tothe->to the + - toubles->troubles + - tounge->tongue + - tourch->torch, touch + - towords->towards + - towrad->toward + - tradionally->traditionally + - traditionaly->traditionally + - traditionnal->traditional + - traditition->tradition + - tradtionally->traditionally + - trafficed->trafficked + - trafficing->trafficking + - trafic->traffic + - trancendent->transcendent + - trancending->transcending + - tranform->transform + - tranformed->transformed + - transcendance->transcendence + - transcendant->transcendent + - transcendentational->transcendental + - transcripting->transcribing, transcription + - transending->transcending + - transesxuals->transsexuals + - transfered->transferred + - transfering->transferring + - transformaton->transformation + - transistion->transition + - translater->translator + - translaters->translators + - transmissable->transmissible + - transporation->transportation + - tremelo->tremolo + - tremelos->tremolos + - trigered->triggered + - triguered->triggered + - triology->trilogy + - troling->trolling + - troup->troupe + - troups->troupes, troops + - truely->truly + - trustworthyness->trustworthiness + - turnk->turnkey, trunk + - Tuscon->Tucson + - tust->trust + - tution->tuition + - twelth->twelfth + - twon->town + - twpo->two + - tyhat->that + - tyhe->they + - typcial->typical + - typicaly->typically + - tyranies->tyrannies + - tyrany->tyranny + - tyrranies->tyrannies + - tyrrany->tyranny + - ubiquitious->ubiquitous + - ublisher->publisher + - uise->use + - Ukranian->Ukrainian + - ultimely->ultimately + - unacompanied->unaccompanied + - unahppy->unhappy + - unanymous->unanimous + - unavailible->unavailable + - unballance->unbalance + - unbeknowst->unbeknownst + - unbeleivable->unbelievable + - uncertainity->uncertainty + - unchallengable->unchallengeable + - unchangable->unchangeable + - uncompetive->uncompetitive + - unconcious->unconscious + - unconciousness->unconsciousness + - unconfortability->discomfort + - uncontitutional->unconstitutional + - unconvential->unconventional + - undecideable->undecidable + - understoon->understood + - undesireable->undesirable + - undetecable->undetectable + - undoubtely->undoubtedly + - undreground->underground + - uneccesary->unnecessary + - unecessary->unnecessary + - unequalities->inequalities + - unforetunately->unfortunately + - unforgetable->unforgettable + - unforgiveable->unforgivable + - unforseen->unforeseen + - unfortunatley->unfortunately + - unfortunatly->unfortunately + - unfourtunately->unfortunately + - unihabited->uninhabited + - unilateraly->unilaterally + - unilatreal->unilateral + - unilatreally->unilaterally + - uninterruped->uninterrupted + - uninterupted->uninterrupted + - UnitesStates->UnitedStates + - univeral->universal + - univeristies->universities + - univeristy->university + - univerity->university + - universtiy->university + - univesities->universities + - univesity->university + - unkown->unknown + - unlikey->unlikely + - unmistakeably->unmistakably + - unneccesarily->unnecessarily + - unneccesary->unnecessary + - unneccessarily->unnecessarily + - unneccessary->unnecessary + - unnecesarily->unnecessarily + - unnecesary->unnecessary + - unoffical->unofficial + - unoticeable->unnoticeable + - unplease->displease + - unplesant->unpleasant + - unprecendented->unprecedented + - unprecidented->unprecedented + - unrepentent->unrepentant + - unrepetant->unrepentant + - unrepetent->unrepentant + - unsed->used, unused, unsaid + - unsubstanciated->unsubstantiated + - unsuccesful->unsuccessful + - unsuccesfully->unsuccessfully + - unsuccessfull->unsuccessful + - unsucesful->unsuccessful + - unsucesfuly->unsuccessfully + - unsucessful->unsuccessful + - unsucessfull->unsuccessful + - unsucessfully->unsuccessfully + - unsuprised->unsurprised + - unsuprising->unsurprising + - unsuprisingly->unsurprisingly + - unsuprized->unsurprised + - unsuprizing->unsurprising + - unsuprizingly->unsurprisingly + - unsurprized->unsurprised + - unsurprizing->unsurprising + - unsurprizingly->unsurprisingly + - untill->until + - untranslateable->untranslatable + - unuseable->unusable + - unusuable->unusable + - unviersity->university + - unwarrented->unwarranted + - unweildly->unwieldy + - unwieldly->unwieldy + - upcomming->upcoming + - upgradded->upgraded + - upto->up to + - usally->usually + - useage->usage + - usefull->useful + - usefuly->usefully + - useing->using + - usualy->usually + - ususally->usually + - vaccum->vacuum + - vaccume->vacuum + - vacinity->vicinity + - vaguaries->vagaries + - vaieties->varieties + - vailidty->validity + - valetta->valletta + - valuble->valuable + - valueable->valuable + - varations->variations + - varient->variant + - variey->variety + - varing->varying + - varities->varieties + - varity->variety + - vasall->vassal + - vasalls->vassals + - vegatarian->vegetarian + - vegitable->vegetable + - vegitables->vegetables + - vegtable->vegetable + - vehicule->vehicle + - vell->well + - venemous->venomous + - vengance->vengeance + - vengence->vengeance + - verfication->verification + - verison->version + - verisons->versions + - vermillion->vermilion + - versitilaty->versatility + - versitlity->versatility + - vetween->between + - veyr->very + - vigilence->vigilance + - vigourous->vigorous + - villian->villain + - villification->vilification + - villify->vilify + - villin->villi, villain, villein + - vincinity->vicinity + - violentce->violence + - virtualy->virtually + - virutal->virtual + - virutally->virtually + - visable->visible + - visably->visibly + - visting->visiting + - vistors->visitors + - vitories->victories + - volcanoe->volcano + - voleyball->volleyball + - volontary->voluntary + - volonteer->volunteer + - volonteered->volunteered + - volonteering->volunteering + - volonteers->volunteers + - volounteer->volunteer + - volounteered->volunteered + - volounteering->volunteering + - volounteers->volunteers + - volumne->volume + - vreity->variety + - vrey->very + - vriety->variety + - vulnerablility->vulnerability + - vyer->very + - vyre->very + - waht->what + - warantee->warranty + - wardobe->wardrobe + - warrent->warrant + - warrriors->warriors + - wasnt->wasn't + - wass->was + - watn->want + - wayword->wayward + - weaponary->weaponry + - weas->was + - wehn->when + - weild->wield, wild + - weilded->wielded + - wendsay->Wednesday + - wensday->Wednesday + - wereabouts->whereabouts + - whant->want + - whants->wants + - whcih->which + - wheras->whereas + - wherease->whereas + - whereever->wherever + - whic->which + - whihc->which + - whith->with + - whlch->which + - whn->when + - wholey->wholly + - wholy->wholly, holy + - whta->what + - whther->whether + - wich->which, witch + - widesread->widespread + - wief->wife + - wierd->weird + - wiew->view + - wih->with + - wiht->with + - wille->will + - willingless->willingness + - willk->will + - wirting->writing + - withdrawl->withdrawal, withdraw + - witheld->withheld + - withh->with + - withing->within + - withold->withhold + - witht->with + - witn->with + - wiull->will + - wnat->want + - wnated->wanted + - wnats->wants + - wohle->whole + - wokr->work + - wokring->working + - wonderfull->wonderful + - wordlwide->worldwide + - workststion->workstation + - worls->world + - worstened->worsened + - woudl->would + - wresters->wrestlers + - wriet->write + - writen->written + - wroet->wrote + - wrok->work + - wroking->working + - wtih->with + - wupport->support + - xenophoby->xenophobia + - yaching->yachting + - yaer->year + - yaerly->yearly + - yaers->years + - yatch->yacht + - yearm->year + - yeasr->years + - yeild->yield + - yeilding->yielding + - yera->year + - yeras->years + - yersa->years + - yotube->youtube + - youself->yourself + - yrea->year + - ytou->you + - yuo->you + - zeebra->zebra diff --git a/action/node_modules/@cspell/dict-en-common-misspellings/package.json b/action/node_modules/@cspell/dict-en-common-misspellings/package.json new file mode 100644 index 000000000..ebe1f0d9c --- /dev/null +++ b/action/node_modules/@cspell/dict-en-common-misspellings/package.json @@ -0,0 +1,42 @@ +{ + "name": "@cspell/dict-en-common-misspellings", + "version": "1.0.1", + "description": "Common English misspellings dictionary for cspell.", + "publishConfig": { + "access": "public" + }, + "exports": { + ".": "./cspell-ext.json", + "./cspell": "./cspell-ext.json", + "./cspell-ext.json": "./cspell-ext.json" + }, + "scripts": { + "build": "echo ok", + "test": "cspell .", + "prepublishOnly": "echo OK", + "prepare": "yarn run build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/streetsidesoftware/cspell-dicts.git" + }, + "keywords": [ + "cspell", + "cspell-ext", + "en-common-misspellings", + "Common English Misspellings", + "dictionary", + "spelling" + ], + "author": "Jason Dent", + "license": "MIT", + "bugs": { + "url": "https://github.com/streetsidesoftware/cspell-dicts/issues" + }, + "homepage": "https://github.com/streetsidesoftware/cspell-dicts/blob/main/dictionaries/en-common-misspellings#readme", + "files": [ + "cspell-ext.json", + "dict-*.yaml" + ], + "gitHead": "27f1c2c4c63aaea182c6695680baf261af017636" +} diff --git a/action/node_modules/@cspell/dynamic-import/README.md b/action/node_modules/@cspell/dynamic-import/README.md index 62b422feb..7e333eb9e 100644 --- a/action/node_modules/@cspell/dynamic-import/README.md +++ b/action/node_modules/@cspell/dynamic-import/README.md @@ -10,10 +10,34 @@ npm install -S @cspell/dynamic-import ## Usage -**TypeScript** +### Example ESM Package + +Example loading [chalk v5](https://www.npmjs.com/package/chalk) which is an ESM only module. + +**TypeScript Common JS** ```ts import { dynamicImport } from '@cspell/dynamic-import'; + +const pChalk = dynamicImport('chalk', __dirname); +``` + +**TypeScript ESM** + +```ts +import { dynamicImport } from '@cspell/dynamic-import'; + +const pChalk = dynamicImport('chalk', import.meta.url); +``` + +### Example ESM files + +**TypeScript Common JS** + +```ts +import { dynamicImport } from '@cspell/dynamic-import'; + +const pIndex = dynamicImport('../esm/index.mjs', __dirname); ``` @@ -29,3 +53,5 @@ Brought to you by =14.6" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/FlagWordsDictionary.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/FlagWordsDictionary.js index 34531c1d4..75015b658 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/FlagWordsDictionary.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/FlagWordsDictionary.js @@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.createFlagWordsDictionary = void 0; const sync_1 = require("@cspell/cspell-pipe/sync"); const cspell_trie_lib_1 = require("cspell-trie-lib"); +const AutoResolve_1 = require("../util/AutoResolve"); const Defaults = __importStar(require("./defaults")); const SpellingDictionary_1 = require("./SpellingDictionary"); const SpellingDictionaryFromTrie_1 = require("./SpellingDictionaryFromTrie"); @@ -119,6 +120,7 @@ class FlagWordsDictionary { return []; } } +const createCache = (0, AutoResolve_1.createAutoResolveWeakCache)(); /** * Create a dictionary where all words are to be forbidden. * @param wordList - list of words @@ -128,13 +130,15 @@ class FlagWordsDictionary { * @returns SpellingDictionary */ function createFlagWordsDictionary(wordList, name, source) { - const testSpecialCharacters = /[~*+]/; - const { t: specialWords, f: typoWords } = bisect((0, cspell_trie_lib_1.parseDictionaryLines)(wordList, { stripCaseAndAccents: false }), (line) => testSpecialCharacters.test(line)); - const trieDict = specialWords.size ? buildTrieDict(specialWords, name, source) : undefined; - const typosDict = (0, TyposDictionary_1.createTyposDictionary)(typoWords, name, source); - if (!trieDict) - return typosDict; - return new FlagWordsDictionary(name, source, typosDict, trieDict); + return createCache.get(wordList, () => { + const testSpecialCharacters = /[~*+]/; + const { t: specialWords, f: typoWords } = bisect((0, cspell_trie_lib_1.parseDictionaryLines)(wordList, { stripCaseAndAccents: false }), (line) => testSpecialCharacters.test(line)); + const trieDict = specialWords.size ? buildTrieDict(specialWords, name, source) : undefined; + const typosDict = (0, TyposDictionary_1.createTyposDictionary)(typoWords, name, source); + if (!trieDict) + return typosDict; + return new FlagWordsDictionary(name, source, typosDict, trieDict); + }); } exports.createFlagWordsDictionary = createFlagWordsDictionary; const regExpCleanIgnore = /^(!!)+/; diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/IgnoreWordsDictionary.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/IgnoreWordsDictionary.js index c3078f8e1..8b345de3e 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/IgnoreWordsDictionary.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/IgnoreWordsDictionary.js @@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.createIgnoreWordsDictionary = void 0; const sync_1 = require("@cspell/cspell-pipe/sync"); const cspell_trie_lib_1 = require("cspell-trie-lib"); +const AutoResolve_1 = require("../util/AutoResolve"); const createSpellingDictionary_1 = require("./createSpellingDictionary"); const Defaults = __importStar(require("./defaults")); const NormalizeForm = 'NFC'; @@ -94,6 +95,7 @@ class IgnoreWordsDictionary { return []; } } +const createCache = (0, AutoResolve_1.createAutoResolveWeakCache)(); /** * Create a dictionary where all words are to be ignored. * Ignored words override forbidden words. @@ -103,18 +105,20 @@ class IgnoreWordsDictionary { * @returns */ function createIgnoreWordsDictionary(wordList, name, source) { - const testSpecialCharacters = /[*+]/; - const words = [...(0, cspell_trie_lib_1.parseDictionaryLines)(wordList, { stripCaseAndAccents: true })].map((w) => w.normalize(NormalizeForm)); - const hasSpecial = words.findIndex((word) => testSpecialCharacters.test(word)) >= 0; - if (hasSpecial) { - return (0, createSpellingDictionary_1.createSpellingDictionary)(words, name, source, { - caseSensitive: true, - noSuggest: true, - weightMap: undefined, - supportNonStrictSearches: true, - }); - } - return new IgnoreWordsDictionary(name, source, words); + return createCache.get(wordList, () => { + const testSpecialCharacters = /[*+]/; + const words = [...(0, cspell_trie_lib_1.parseDictionaryLines)(wordList, { stripCaseAndAccents: true })].map((w) => w.normalize(NormalizeForm)); + const hasSpecial = words.findIndex((word) => testSpecialCharacters.test(word)) >= 0; + if (hasSpecial) { + return (0, createSpellingDictionary_1.createSpellingDictionary)(words, name, source, { + caseSensitive: true, + noSuggest: true, + weightMap: undefined, + supportNonStrictSearches: true, + }); + } + return new IgnoreWordsDictionary(name, source, words); + }); } exports.createIgnoreWordsDictionary = createIgnoreWordsDictionary; //# sourceMappingURL=IgnoreWordsDictionary.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SpellingDictionaryCollection.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SpellingDictionaryCollection.js index 18e61570d..a0b0fdb48 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SpellingDictionaryCollection.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SpellingDictionaryCollection.js @@ -26,7 +26,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.__testing__ = exports.isSpellingDictionaryCollection = exports.createCollection = void 0; const cspell_trie_lib_1 = require("cspell-trie-lib"); const gensequence_1 = require("gensequence"); -const clean_1 = require("../util/clean"); const util_1 = require("../util/util"); const Defaults = __importStar(require("./defaults")); const SpellingDictionary_1 = require("./SpellingDictionary"); @@ -79,14 +78,15 @@ class SpellingDictionaryCollectionImpl { !this.isForbidden(word) && !this.isNoSuggestWord(word, suggestOptions)); }; - const collector = (0, SpellingDictionaryMethods_1.suggestionCollector)(word, (0, clean_1.clean)({ + const collectorOptions = { numSuggestions, filter, changeLimit: numChanges, includeTies, ignoreCase, timeout, - })); + }; + const collector = (0, SpellingDictionaryMethods_1.suggestionCollector)(word, collectorOptions); this.genSuggestions(collector, suggestOptions); return collector.suggestions.map((r) => ({ ...r, word: r.word })); } diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SpellingDictionaryMethods.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SpellingDictionaryMethods.js index 29a5d6726..bca57ec8e 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SpellingDictionaryMethods.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SpellingDictionaryMethods.js @@ -2,7 +2,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.__testMethods__ = exports.createWeightMapFromDictionaryInformation = exports.suggestArgsToSuggestOptions = exports.canonicalSearchOptions = exports.hasOptionToSearchOption = exports.wordSuggestForms = exports.wordSuggestFormsArray = exports.wordSearchForms = exports.defaultNumSuggestions = exports.suggestionCollector = exports.impersonateCollector = void 0; const cspell_trie_lib_1 = require("cspell-trie-lib"); -const clean_1 = require("../util/clean"); const text_1 = require("../util/text"); var cspell_trie_lib_2 = require("cspell-trie-lib"); Object.defineProperty(exports, "impersonateCollector", { enumerable: true, get: function () { return cspell_trie_lib_2.impersonateCollector; } }); @@ -90,14 +89,12 @@ function suggestArgsToSuggestOptions(args) { const [_word, options, compoundMethod, numChanges, ignoreCase] = args; const suggestOptions = typeof options === 'object' ? options - : (0, clean_1.clean)({ + : { numSuggestions: options, compoundMethod, numChanges, ignoreCase, - includeTies: undefined, - timeout: undefined, - }); + }; return suggestOptions; } exports.suggestArgsToSuggestOptions = suggestArgsToSuggestOptions; diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SuggestDictionary.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SuggestDictionary.js new file mode 100644 index 000000000..65c643e27 --- /dev/null +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/SuggestDictionary.js @@ -0,0 +1,125 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createSuggestDictionary = void 0; +const sync_1 = require("@cspell/cspell-pipe/sync"); +const AutoResolve_1 = require("../util/AutoResolve"); +const textMappers_1 = require("../util/textMappers"); +const defaults = __importStar(require("./defaults")); +const Typos_1 = require("./Typos"); +const util_1 = require("./Typos/util"); +class SuggestDictionaryImpl { + constructor(name, source, typosDef) { + this.name = name; + this.source = source; + this.typosDef = typosDef; + this.containsNoSuggestWords = false; + this.options = {}; + this.type = 'suggest'; + this.isDictionaryCaseSensitive = true; + this.size = Object.keys(typosDef).length; + this.suggestions = (0, util_1.extractAllSuggestions)(typosDef); + this.suggestionsLower = new Set((0, sync_1.pipe)(this.suggestions, textMappers_1.mapperRemoveCaseAndAccents)); + } + /** + * A Forbidden word list does not "have" valid words. + * Therefore it always returns false. + * @param _word - the word + * @param _options - options + * @returns always false + */ + has(_word, _options) { + return false; + } + /** A more detailed search for a word, might take longer than `has` */ + find(_word, _options) { + return undefined; + } + isForbidden(_word, _ignoreCaseAndAccents) { + return false; + } + isNoSuggestWord(_word, _options) { + return false; + } + /** + * Determine if the word can appear in a list of suggestions. + * @param word - word + * @param ignoreCaseAndAccents - ignore case. + * @returns true if a word is suggested, otherwise false. + */ + isSuggestedWord(word, ignoreCaseAndAccents = defaults.isForbiddenIgnoreCaseAndAccents) { + if (this.suggestions.has(word)) + return true; + const lcWord = word.toLowerCase(); + return ignoreCaseAndAccents && (this.suggestions.has(lcWord) || this.suggestionsLower.has(lcWord)); + } + suggest(word) { + return this._suggest(word) || this._suggest(word.toLowerCase()) || []; + } + _suggest(word) { + if (!(word in this.typosDef)) + return undefined; + const sug = this.typosDef[word]; + const isPreferred = true; + if (!sug) + return []; + if (typeof sug === 'string') { + return [ + { + word: sug, + cost: 1, + isPreferred, + }, + ]; + } + return sug.map((word, index) => ({ word, cost: index + 1, isPreferred })); + } + genSuggestions(collector) { + const sugs = this.suggest(collector.word); + sugs.forEach((result) => collector.add(result)); + } + mapWord(word) { + return word; + } + getErrors() { + return []; + } +} +const createCache = (0, AutoResolve_1.createAutoResolveWeakCache)(); +/** + * Create a dictionary where all words are to be forbidden. + * @param entries - list of Typos Entries + * @param name - name of dictionary + * @param source - source + * @returns + */ +function createSuggestDictionary(entries, name, source) { + return createCache.get(entries, () => { + const def = (0, Typos_1.processEntriesToTyposDef)(entries); + return new SuggestDictionaryImpl(name, source, def); + }); +} +exports.createSuggestDictionary = createSuggestDictionary; +//# sourceMappingURL=SuggestDictionary.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/Typos/typosParser.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/Typos/typosParser.js index b75c4f7b9..8ea42dc80 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/Typos/typosParser.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/Typos/typosParser.js @@ -62,6 +62,23 @@ function sanitizeIntoTypoDef(dirtyDef) { } exports.sanitizeIntoTypoDef = sanitizeIntoTypoDef; /** + * Parse Typos Entries + * + * Format: + * - `word:suggestion` + * - `word->suggestion` + * - `word: first, second, third suggestions` + * + * Note: + * ```plaintext + * yellow:blue, green + * ``` + * Is the same as multiple entries with the same key and different suggestions. + * ```plaintext + * yellow:blue + * yellow:green + * ``` + * * Used to process entries found in a `cspell.json` file. * @param entries - entries to process * @returns a TyposDef diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/Typos/util.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/Typos/util.js index 5402512e7..6b9bfa0e5 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/Typos/util.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/Typos/util.js @@ -1,7 +1,47 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.extractIgnoreValues = exports.extractAllSuggestions = exports.createTyposDef = exports.appendToDef = void 0; +exports.extractIgnoreValues = exports.extractAllSuggestions = exports.createTyposDef = exports.appendToDef = exports.mergeDef = exports.mergeDefEntry = void 0; const sync_1 = require("@cspell/cspell-pipe/sync"); +function normalizeTyposDefValue(value) { + if (!value) + return false; + if (typeof value === 'string') + return value; + const unique = [...new Set(value)]; + return unique.length > 1 ? unique : unique.length === 1 ? unique[0] : false; +} +function mergeDefEntry(targetDef, key, value) { + const curValue = targetDef[key]; + if (!curValue) { + targetDef[key] = normalizeTyposDefValue(value); + return targetDef; + } + if (!value) + return targetDef; + const newValue = Array.isArray(curValue) ? curValue : [curValue]; + if (Array.isArray(value)) { + newValue.push(...value); + } + else { + newValue.push(value); + } + targetDef[key] = normalizeTyposDefValue(newValue); + return targetDef; +} +exports.mergeDefEntry = mergeDefEntry; +/** + * Merge in place the entries `fromDef` into `targetDef` + * @param targetDef - the target + * @param fromDef - the source + * @returns the target + */ +function mergeDef(targetDef, fromDef) { + for (const key of Object.keys(fromDef)) { + mergeDefEntry(targetDef, key, fromDef[key]); + } + return targetDef; +} +exports.mergeDef = mergeDef; /** * Append an entry to a TyposDef. * @param def - modified in place @@ -12,7 +52,9 @@ function appendToDef(def, entry) { if (!entry) return def; if (typeof entry === 'string') { - def[entry] = false; + if (!def[entry]) { + def[entry] = false; + } return def; } if (Array.isArray(entry)) { @@ -20,11 +62,9 @@ function appendToDef(def, entry) { if (!key) return def; const s = sugs.map((s) => s.trim()).filter((s) => !!s); - def[key] = !s.length ? false : s.length === 1 ? s[0] : s; - return def; + return mergeDefEntry(def, key, s); } - Object.assign(def, entry); - return def; + return mergeDef(def, entry); } exports.appendToDef = appendToDef; function createTyposDef(entries) { diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/TyposDictionary.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/TyposDictionary.js index 12a9db124..9bdefef65 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/TyposDictionary.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/TyposDictionary.js @@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.createTyposDictionary = void 0; const sync_1 = require("@cspell/cspell-pipe/sync"); +const AutoResolve_1 = require("../util/AutoResolve"); const textMappers_1 = require("../util/textMappers"); const defaults = __importStar(require("./defaults")); const Typos_1 = require("./Typos"); @@ -113,6 +114,7 @@ class TyposDictionaryImpl { if (!(word in this.typosDef)) return undefined; const sug = this.typosDef[word]; + const isPreferred = true; if (!sug) return []; if (typeof sug === 'string') { @@ -120,11 +122,11 @@ class TyposDictionaryImpl { { word: sug, cost: 1, - isPreferred: true, + isPreferred, }, ]; } - return sug.map((word, index) => ({ word, cost: index + 1 })); + return sug.map((word, index) => ({ word, cost: index + 1, isPreferred })); } genSuggestions(collector) { const sugs = this.suggest(collector.word); @@ -137,6 +139,7 @@ class TyposDictionaryImpl { return []; } } +const createCache = (0, AutoResolve_1.createAutoResolveWeakCache)(); /** * Create a dictionary where all words are to be forbidden. * @param entries - list of Typos Entries @@ -145,8 +148,10 @@ class TyposDictionaryImpl { * @returns */ function createTyposDictionary(entries, name, source) { - const def = (0, Typos_1.processEntriesToTyposDef)(entries); - return new TyposDictionaryImpl(name, source, def); + return createCache.get(entries, () => { + const def = (0, Typos_1.processEntriesToTyposDef)(entries); + return new TyposDictionaryImpl(name, source, def); + }); } exports.createTyposDictionary = createTyposDictionary; //# sourceMappingURL=TyposDictionary.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/createInlineSpellingDictionary.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/createInlineSpellingDictionary.js index 0592b60c1..e183df712 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/createInlineSpellingDictionary.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/createInlineSpellingDictionary.js @@ -1,19 +1,25 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createInlineSpellingDictionary = void 0; +const AutoResolve_1 = require("../util/AutoResolve"); const util_1 = require("../util/util"); const createSpellingDictionary_1 = require("./createSpellingDictionary"); const FlagWordsDictionary_1 = require("./FlagWordsDictionary"); const IgnoreWordsDictionary_1 = require("./IgnoreWordsDictionary"); const SpellingDictionaryCollection_1 = require("./SpellingDictionaryCollection"); +const SuggestDictionary_1 = require("./SuggestDictionary"); +const cache = (0, AutoResolve_1.createAutoResolveWeakCache)(); function createInlineSpellingDictionary(inlineDict, source) { - const { words, flagWords, ignoreWords, name } = inlineDict; - const dictSources = [ - words && (0, createSpellingDictionary_1.createSpellingDictionary)(words, name + '-words', source, inlineDict), - flagWords && (0, FlagWordsDictionary_1.createFlagWordsDictionary)(flagWords, name + '-flag-words', source), - ignoreWords && (0, IgnoreWordsDictionary_1.createIgnoreWordsDictionary)(ignoreWords, name + '-ignore-words', source), - ].filter(util_1.isDefined); - return (0, SpellingDictionaryCollection_1.createCollection)(dictSources, name); + return cache.get(inlineDict, () => { + const { words, flagWords, ignoreWords, suggestWords, name } = inlineDict; + const dictSources = [ + words && (0, createSpellingDictionary_1.createSpellingDictionary)(words, name + '-words', source, inlineDict), + flagWords && (0, FlagWordsDictionary_1.createFlagWordsDictionary)(flagWords, name + '-flag-words', source), + ignoreWords && (0, IgnoreWordsDictionary_1.createIgnoreWordsDictionary)(ignoreWords, name + '-ignore-words', source), + suggestWords && (0, SuggestDictionary_1.createSuggestDictionary)(suggestWords, name + '-suggest', source), + ].filter(util_1.isDefined); + return (0, SpellingDictionaryCollection_1.createCollection)(dictSources, name); + }); } exports.createInlineSpellingDictionary = createInlineSpellingDictionary; //# sourceMappingURL=createInlineSpellingDictionary.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/index.js b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/index.js index c1b048b1d..ca6a7f4a9 100644 --- a/action/node_modules/cspell-dictionary/dist/SpellingDictionary/index.js +++ b/action/node_modules/cspell-dictionary/dist/SpellingDictionary/index.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.createTyposDictionary = exports.createSpellingDictionaryFromTrieFile = exports.createCollection = exports.createIgnoreWordsDictionary = exports.createForbiddenWordsDictionary = exports.createFlagWordsDictionary = exports.createSpellingDictionary = exports.createFailedToLoadDictionary = exports.createInlineSpellingDictionary = exports.createCachingDictionary = void 0; +exports.createTyposDictionary = exports.createSuggestDictionary = exports.createSpellingDictionaryFromTrieFile = exports.createCollection = exports.createIgnoreWordsDictionary = exports.createForbiddenWordsDictionary = exports.createFlagWordsDictionary = exports.createSpellingDictionary = exports.createFailedToLoadDictionary = exports.createInlineSpellingDictionary = exports.createCachingDictionary = void 0; var CachingDictionary_1 = require("./CachingDictionary"); Object.defineProperty(exports, "createCachingDictionary", { enumerable: true, get: function () { return CachingDictionary_1.createCachingDictionary; } }); var createInlineSpellingDictionary_1 = require("./createInlineSpellingDictionary"); @@ -17,6 +17,8 @@ var SpellingDictionaryCollection_1 = require("./SpellingDictionaryCollection"); Object.defineProperty(exports, "createCollection", { enumerable: true, get: function () { return SpellingDictionaryCollection_1.createCollection; } }); var SpellingDictionaryFromTrie_1 = require("./SpellingDictionaryFromTrie"); Object.defineProperty(exports, "createSpellingDictionaryFromTrieFile", { enumerable: true, get: function () { return SpellingDictionaryFromTrie_1.createSpellingDictionaryFromTrieFile; } }); +var SuggestDictionary_1 = require("./SuggestDictionary"); +Object.defineProperty(exports, "createSuggestDictionary", { enumerable: true, get: function () { return SuggestDictionary_1.createSuggestDictionary; } }); var TyposDictionary_1 = require("./TyposDictionary"); Object.defineProperty(exports, "createTyposDictionary", { enumerable: true, get: function () { return TyposDictionary_1.createTyposDictionary; } }); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-dictionary/dist/index.js b/action/node_modules/cspell-dictionary/dist/index.js index 18e761f69..b1c83caa6 100644 --- a/action/node_modules/cspell-dictionary/dist/index.js +++ b/action/node_modules/cspell-dictionary/dist/index.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.createSpellingDictionaryFromTrieFile = exports.createSpellingDictionary = exports.createInlineSpellingDictionary = exports.createIgnoreWordsDictionary = exports.createForbiddenWordsDictionary = exports.createFlagWordsDictionary = exports.createFailedToLoadDictionary = exports.createCollection = exports.createCachingDictionary = void 0; +exports.createSuggestDictionary = exports.createSpellingDictionaryFromTrieFile = exports.createSpellingDictionary = exports.createInlineSpellingDictionary = exports.createIgnoreWordsDictionary = exports.createForbiddenWordsDictionary = exports.createFlagWordsDictionary = exports.createFailedToLoadDictionary = exports.createCollection = exports.createCachingDictionary = void 0; var SpellingDictionary_1 = require("./SpellingDictionary"); Object.defineProperty(exports, "createCachingDictionary", { enumerable: true, get: function () { return SpellingDictionary_1.createCachingDictionary; } }); Object.defineProperty(exports, "createCollection", { enumerable: true, get: function () { return SpellingDictionary_1.createCollection; } }); @@ -11,4 +11,5 @@ Object.defineProperty(exports, "createIgnoreWordsDictionary", { enumerable: true Object.defineProperty(exports, "createInlineSpellingDictionary", { enumerable: true, get: function () { return SpellingDictionary_1.createInlineSpellingDictionary; } }); Object.defineProperty(exports, "createSpellingDictionary", { enumerable: true, get: function () { return SpellingDictionary_1.createSpellingDictionary; } }); Object.defineProperty(exports, "createSpellingDictionaryFromTrieFile", { enumerable: true, get: function () { return SpellingDictionary_1.createSpellingDictionaryFromTrieFile; } }); +Object.defineProperty(exports, "createSuggestDictionary", { enumerable: true, get: function () { return SpellingDictionary_1.createSuggestDictionary; } }); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-dictionary/dist/util/AutoResolve.js b/action/node_modules/cspell-dictionary/dist/util/AutoResolve.js new file mode 100644 index 000000000..6b4e3fecc --- /dev/null +++ b/action/node_modules/cspell-dictionary/dist/util/AutoResolve.js @@ -0,0 +1,62 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createAutoResolveWeakCache = exports.AutoResolveWeakCache = exports.autoResolveWeak = exports.createAutoResolveCache = exports.AutoResolveCache = exports.autoResolve = void 0; +function autoResolve(map, key, resolve) { + const found = map.get(key); + if (found !== undefined || map.has(key)) + return found; + const value = resolve(key); + map.set(key, value); + return value; +} +exports.autoResolve = autoResolve; +class AutoResolveCache { + constructor() { + this.map = new Map(); + } + get(k, resolve) { + return resolve ? autoResolve(this.map, k, resolve) : this.map.get(k); + } + has(k) { + return this.map.has(k); + } + set(k, v) { + this.map.set(k, v); + return this; + } +} +exports.AutoResolveCache = AutoResolveCache; +function createAutoResolveCache() { + return new AutoResolveCache(); +} +exports.createAutoResolveCache = createAutoResolveCache; +function autoResolveWeak(map, key, resolve) { + const found = map.get(key); + if (found !== undefined || map.has(key)) + return found; + const value = resolve(key); + map.set(key, value); + return value; +} +exports.autoResolveWeak = autoResolveWeak; +class AutoResolveWeakCache { + constructor() { + this.map = new WeakMap(); + } + get(k, resolve) { + return resolve ? autoResolveWeak(this.map, k, resolve) : this.map.get(k); + } + has(k) { + return this.map.has(k); + } + set(k, v) { + this.map.set(k, v); + return this; + } +} +exports.AutoResolveWeakCache = AutoResolveWeakCache; +function createAutoResolveWeakCache() { + return new AutoResolveWeakCache(); +} +exports.createAutoResolveWeakCache = createAutoResolveWeakCache; +//# sourceMappingURL=AutoResolve.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-dictionary/package.json b/action/node_modules/cspell-dictionary/package.json index 0ec1b6430..dc40232fc 100644 --- a/action/node_modules/cspell-dictionary/package.json +++ b/action/node_modules/cspell-dictionary/package.json @@ -1,6 +1,6 @@ { "name": "cspell-dictionary", - "version": "6.23.1", + "version": "6.26.1", "description": "A spelling dictionary library useful for checking words and getting suggestions.", "main": "dist/index.js", "typings": "dist/index.d.ts", @@ -43,11 +43,11 @@ "ts-jest": "^29.0.5" }, "dependencies": { - "@cspell/cspell-pipe": "6.23.1", - "@cspell/cspell-types": "6.23.1", - "cspell-trie-lib": "6.23.1", + "@cspell/cspell-pipe": "6.26.1", + "@cspell/cspell-types": "6.26.1", + "cspell-trie-lib": "6.26.1", "fast-equals": "^4.0.3", "gensequence": "^4.0.3" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/cspell-gitignore/package.json b/action/node_modules/cspell-gitignore/package.json index 111a6813c..72d8c0b48 100644 --- a/action/node_modules/cspell-gitignore/package.json +++ b/action/node_modules/cspell-gitignore/package.json @@ -1,6 +1,6 @@ { "name": "cspell-gitignore", - "version": "6.23.1", + "version": "6.26.1", "description": "Gitignore Glob matcher for cspell", "keywords": [ "cspell", @@ -49,15 +49,15 @@ "node": ">=14" }, "dependencies": { - "cspell-glob": "6.23.1", + "cspell-glob": "6.26.1", "find-up": "^5.0.0" }, "devDependencies": { "@types/node": "^18.13.0", - "@vitest/coverage-c8": "^0.28.4", - "@vitest/coverage-istanbul": "^0.28.4", + "@vitest/coverage-c8": "^0.28.5", + "@vitest/coverage-istanbul": "^0.28.5", "vite": "^4.1.1", - "vitest": "^0.28.4" + "vitest": "^0.28.5" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/cspell-glob/package.json b/action/node_modules/cspell-glob/package.json index 4be5b57ae..156a502d1 100644 --- a/action/node_modules/cspell-glob/package.json +++ b/action/node_modules/cspell-glob/package.json @@ -1,6 +1,6 @@ { "name": "cspell-glob", - "version": "6.23.1", + "version": "6.26.1", "description": "Glob matcher for cspell", "keywords": [ "cspell", @@ -49,5 +49,5 @@ "@types/node": "^18.13.0", "jest": "^29.4.2" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/cspell-grammar/package.json b/action/node_modules/cspell-grammar/package.json index 0140c3571..54faad5fa 100644 --- a/action/node_modules/cspell-grammar/package.json +++ b/action/node_modules/cspell-grammar/package.json @@ -1,6 +1,6 @@ { "name": "cspell-grammar", - "version": "6.23.1", + "version": "6.26.1", "description": "Grammar parsing support for cspell", "keywords": [ "cspell", @@ -68,8 +68,8 @@ "jest": "^29.4.2" }, "dependencies": { - "@cspell/cspell-pipe": "6.23.1", - "@cspell/cspell-types": "6.23.1" + "@cspell/cspell-pipe": "6.26.1", + "@cspell/cspell-types": "6.26.1" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/cspell-io/package.json b/action/node_modules/cspell-io/package.json index 97c195d16..1d43bf41c 100644 --- a/action/node_modules/cspell-io/package.json +++ b/action/node_modules/cspell-io/package.json @@ -1,6 +1,6 @@ { "name": "cspell-io", - "version": "6.23.1", + "version": "6.26.1", "description": "A library of useful I/O functions used across various cspell tools.", "main": "dist/index.js", "typings": "dist/index.d.ts", @@ -44,8 +44,8 @@ "lorem-ipsum": "^2.0.8" }, "dependencies": { - "@cspell/cspell-service-bus": "6.23.1", + "@cspell/cspell-service-bus": "6.26.1", "node-fetch": "^2.6.9" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/cspell-lib/dist/LanguageIds.js b/action/node_modules/cspell-lib/dist/LanguageIds.js index f6fea7f3b..4ac05cab1 100644 --- a/action/node_modules/cspell-lib/dist/LanguageIds.js +++ b/action/node_modules/cspell-lib/dist/LanguageIds.js @@ -233,6 +233,7 @@ exports.languageExtensionDefinitions = [ { id: 'jar', extensions: ['.jar'], format: 'Binary' }, { id: 'spv', extensions: ['.spv'], format: 'Binary', description: 'SPSS Output Document' }, { id: 'mdb', extensions: ['.mdb'], format: 'Binary', description: 'Microsoft Access DB' }, + { id: 'webm', extensions: ['.webm'], format: 'Binary', description: 'WebM is an audiovisual media file format.' }, ]; const binaryFormatIds = exports.languageExtensionDefinitions.filter((d) => d.format === 'Binary').map((d) => d.id); exports.binaryLanguages = new Set(['binary', 'image', 'video', 'fonts'].concat(binaryFormatIds)); diff --git a/action/node_modules/cspell-lib/dist/Models/CSpellSettingsInternalDef.js b/action/node_modules/cspell-lib/dist/Models/CSpellSettingsInternalDef.js index 815af73a3..64d54b6d5 100644 --- a/action/node_modules/cspell-lib/dist/Models/CSpellSettingsInternalDef.js +++ b/action/node_modules/cspell-lib/dist/Models/CSpellSettingsInternalDef.js @@ -1,8 +1,14 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.isDictionaryDefinitionInlineInternal = exports.isCSpellSettingsInternal = exports.createCSpellSettingsInternal = exports.SymbolCSpellSettingsInternal = void 0; +exports.isDictionaryDefinitionInlineInternal = exports.isCSpellSettingsInternal = exports.createCSpellSettingsInternal = exports.cleanCSpellSettingsInternal = exports.SymbolCSpellSettingsInternal = void 0; const util_1 = require("../util/util"); exports.SymbolCSpellSettingsInternal = Symbol('CSpellSettingsInternal'); +function cleanCSpellSettingsInternal(parts = {}) { + const csi = (0, util_1.clean)(parts); + Object.assign(csi, { [exports.SymbolCSpellSettingsInternal]: true }); + return csi; +} +exports.cleanCSpellSettingsInternal = cleanCSpellSettingsInternal; function createCSpellSettingsInternal(parts = {}) { return (0, util_1.clean)({ ...parts, @@ -18,7 +24,7 @@ function isDictionaryDefinitionInlineInternal(def) { if (def.path) return false; const defInline = def; - return !!(defInline.words || defInline.flagWords || defInline.ignoreWords); + return !!(defInline.words || defInline.flagWords || defInline.ignoreWords || defInline.suggestWords); } exports.isDictionaryDefinitionInlineInternal = isDictionaryDefinitionInlineInternal; //# sourceMappingURL=CSpellSettingsInternalDef.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-lib/dist/Settings/CSpellSettingsServer.js b/action/node_modules/cspell-lib/dist/Settings/CSpellSettingsServer.js index e3b94f43c..114ed476a 100644 --- a/action/node_modules/cspell-lib/dist/Settings/CSpellSettingsServer.js +++ b/action/node_modules/cspell-lib/dist/Settings/CSpellSettingsServer.js @@ -63,6 +63,11 @@ function mergeList(left, right) { } const emptyWords = []; Object.freeze(emptyWords); +const cachedMerges = new WeakMap(); +function _mergeWordsCached(left, right) { + const map = (0, AutoResolve_1.autoResolveWeak)(cachedMerges, left, () => new WeakMap()); + return (0, AutoResolve_1.autoResolveWeak)(map, right, () => left.concat(right)); +} function mergeWordsCached(left, right) { if (left === undefined) return !right || right.length ? right : emptyWords; @@ -72,7 +77,7 @@ function mergeWordsCached(left, right) { return !right || right.length ? right : emptyWords; if (!right.length) return !left || left.length ? left : emptyWords; - return left.concat(right); + return _mergeWordsCached(left, right); } function mergeObjects(left, right) { if (left === undefined) @@ -115,22 +120,21 @@ function merge(left, right) { if (doesLeftHaveRightAncestor(_left, _right)) { return _left; } - const leftId = _left.id || _left.languageId || ''; - const rightId = _right.id || _right.languageId || ''; const includeRegExpList = takeRightOtherwiseLeft(_left.includeRegExpList, _right.includeRegExpList); const optionals = includeRegExpList?.length ? { includeRegExpList } : {}; const version = max(_left.version, _right.version); - const settings = (0, CSpellSettingsInternalDef_1.createCSpellSettingsInternal)({ + const settings = (0, CSpellSettingsInternalDef_1.cleanCSpellSettingsInternal)({ ..._left, ..._right, ...optionals, version, - id: [leftId, rightId].join('|'), - name: [_left.name || '', _right.name || ''].join('|'), + id: undefined, + name: undefined, words: mergeWordsCached(_left.words, _right.words), userWords: mergeWordsCached(_left.userWords, _right.userWords), flagWords: mergeWordsCached(_left.flagWords, _right.flagWords), ignoreWords: mergeWordsCached(_left.ignoreWords, _right.ignoreWords), + suggestWords: mergeWordsCached(_left.suggestWords, _right.suggestWords), enabledLanguageIds: replaceIfNotEmpty(_left.enabledLanguageIds, _right.enabledLanguageIds), enableFiletypes: mergeList(_left.enableFiletypes, _right.enableFiletypes), ignoreRegExpList: mergeListUnique(_left.ignoreRegExpList, _right.ignoreRegExpList), @@ -240,7 +244,7 @@ function toInternalSettings(settings) { const { dictionaryDefinitions: defs, ...rest } = settings; const dictionaryDefinitions = (0, DictionarySettings_1.mapDictDefsToInternal)(defs, filenameToDirectory(settings.source?.filename) || resolveCwd()); const setting = dictionaryDefinitions ? { ...rest, dictionaryDefinitions } : rest; - return (0, CSpellSettingsInternalDef_1.createCSpellSettingsInternal)(setting); + return (0, CSpellSettingsInternalDef_1.cleanCSpellSettingsInternal)(setting); } exports.toInternalSettings = toInternalSettings; function filenameToDirectory(filename) { @@ -259,10 +263,8 @@ function checkFilenameMatchesGlob(filename, globs) { } exports.checkFilenameMatchesGlob = checkFilenameMatchesGlob; function mergeSources(left, right) { - const { source: a = { name: 'left' } } = left; - const { source: b = { name: 'right' } } = right; return { - name: [left.name || a.name, right.name || b.name].join('|'), + name: 'merged', sources: [left, right], }; } diff --git a/action/node_modules/cspell-lib/dist/Settings/InDocSettings.js b/action/node_modules/cspell-lib/dist/Settings/InDocSettings.js index 6cf2f3e5d..273eda8b0 100644 --- a/action/node_modules/cspell-lib/dist/Settings/InDocSettings.js +++ b/action/node_modules/cspell-lib/dist/Settings/InDocSettings.js @@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.internal = exports.getIgnoreRegExpFromDocument = exports.getIgnoreWordsFromDocument = exports.regExSpellingGuardLine = exports.regExSpellingGuardNext = exports.regExSpellingGuardBlock = exports.validateInDocumentSettings = exports.getInDocumentSettings = void 0; +exports.internal = exports.getIgnoreRegExpFromDocument = exports.getIgnoreWordsFromDocument = exports.extractInDocDictionary = exports.regExSpellingGuardLine = exports.regExSpellingGuardNext = exports.regExSpellingGuardBlock = exports.validateInDocumentSettings = exports.getInDocumentSettings = void 0; const sync_1 = require("@cspell/cspell-pipe/sync"); const gensequence_1 = require("gensequence"); const SpellingDictionary_1 = require("../SpellingDictionary"); @@ -92,12 +92,35 @@ const dictInDocSettings = (0, SpellingDictionary_1.createSpellingDictionary)(all }); const EmptyWords = []; Object.freeze(EmptyWords); +const staticInDocumentDictionaryName = `[in-document-dict]`; function getInDocumentSettings(text) { - const settings = getPossibleInDocSettings(text) + const collectedSettings = getPossibleInDocSettings(text) .concatMap((a) => parseSettingMatch(a)) .reduce((s, setting) => { return (0, CSpellSettingsServer_1.mergeInDocSettings)(s, setting); }, { id: 'in-doc-settings' }); + const { words, flagWords, ignoreWords, suggestWords, dictionaries = [], dictionaryDefinitions = [], ...rest } = collectedSettings; + const dict = (words || flagWords || ignoreWords || suggestWords) && + (0, util_1.clean)({ + name: staticInDocumentDictionaryName, + words, + flagWords, + ignoreWords, + suggestWords, + }); + const dictSettings = dict + ? { + dictionaries: dictionaries.concat(staticInDocumentDictionaryName), + dictionaryDefinitions: dictionaryDefinitions.concat(dict), + } + : (0, util_1.clean)({ + dictionaries: dictionaries.length ? dictionaries : undefined, + dictionaryDefinitions: dictionaryDefinitions.length ? dictionaryDefinitions : undefined, + }); + const settings = { + ...rest, + ...dictSettings, + }; // console.log('InDocSettings: %o', settings); return settings; } @@ -124,6 +147,7 @@ const settingParsers = [ exports.regExSpellingGuardBlock = /(\bc?spell(?:-?checker)?::?)\s*disable(?!-line|-next)\b[\s\S]*?((?:\1\s*enable\b)|$)/gi; exports.regExSpellingGuardNext = /\bc?spell(?:-?checker)?::?\s*disable-next\b.*\s\s?.*/gi; exports.regExSpellingGuardLine = /^.*\bc?spell(?:-?checker)?::?\s*disable-line\b.*/gim; +const emptySettings = Object.freeze({}); const issueMessages = { unknownDirective: 'Unknown CSpell directive', }; @@ -183,11 +207,11 @@ function parseSettingMatch(matchArray) { } function parseCompoundWords(match) { const allowCompoundWords = /enable/i.test(match); - return { id: 'in-doc-allowCompoundWords', allowCompoundWords }; + return { allowCompoundWords }; } function parseCaseSensitive(match) { const caseSensitive = /enable/i.test(match); - return { id: 'in-doc-caseSensitive', caseSensitive }; + return { caseSensitive }; } function parseWords(match) { const words = match @@ -195,20 +219,22 @@ function parseWords(match) { .split(/[,\s;]+/g) .slice(1) .filter((a) => !!a); - return { id: 'in-doc-words', words }; + return { words }; } function parseLocale(match) { const parts = match.trim().split(/[\s,]+/); const language = parts.slice(1).join(','); - return language ? { id: 'in-doc-local', language } : {}; + return language ? { language } : emptySettings; } function parseIgnoreWords(match) { const wordsSetting = parseWords(match); - return (0, util_1.clean)({ id: 'in-doc-ignore', ignoreWords: wordsSetting.words }); + const ignoreWords = wordsSetting.words; + return ignoreWords && ignoreWords.length ? { ignoreWords } : emptySettings; } function parseFlagWords(match) { const wordsSetting = parseWords(match); - return (0, util_1.clean)({ id: 'in-doc-forbid', flagWords: wordsSetting.words }); + const flagWords = wordsSetting.words; + return flagWords && flagWords.length ? { flagWords } : emptySettings; } function parseRegEx(match) { const patterns = [match.replace(/^[^\s]+\s+/, '')].map((a) => { @@ -222,22 +248,22 @@ function parseRegEx(match) { } function parseIgnoreRegExp(match) { const ignoreRegExpList = parseRegEx(match); - return { id: 'in-doc-ignoreRegExp', ignoreRegExpList }; + return { ignoreRegExpList }; } function parseIncludeRegExp(match) { const includeRegExpList = parseRegEx(match); - return { id: 'in-doc-includeRegExp', includeRegExpList }; + return { includeRegExpList }; } function parseDictionaries(match) { const dictionaries = match.split(/[,\s]+/g).slice(1); - return { id: 'in-doc-dictionaries', dictionaries }; + return { dictionaries }; } function getPossibleInDocSettings(text) { return (0, gensequence_1.genSequence)(regExInFileSettings).concatMap((regexp) => Text.match(regexp, text)); } function getWordsFromDocument(text) { - const { words = EmptyWords } = getInDocumentSettings(text); - return words; + const dict = extractInDocDictionary(getInDocumentSettings(text)); + return dict?.words || EmptyWords; } function parseEnable(_match) { // Do nothing. Enable / Disable is handled in a different way. @@ -247,9 +273,15 @@ function parseDisable(_match) { // Do nothing. Enable / Disable is handled in a different way. return {}; } +function extractInDocDictionary(settings) { + const inDocDicts = settings.dictionaryDefinitions?.filter((def) => def.name === staticInDocumentDictionaryName); + const dict = inDocDicts?.[0]; + return dict; +} +exports.extractInDocDictionary = extractInDocDictionary; function getIgnoreWordsFromDocument(text) { - const { ignoreWords = EmptyWords } = getInDocumentSettings(text); - return ignoreWords; + const dict = extractInDocDictionary(getInDocumentSettings(text)); + return dict?.ignoreWords || EmptyWords; } exports.getIgnoreWordsFromDocument = getIgnoreWordsFromDocument; function getIgnoreRegExpFromDocument(text) { @@ -267,5 +299,6 @@ exports.internal = { parseCompoundWords, parseIgnoreRegExp, parseIgnoreWords, + staticInDocumentDictionaryName, }; //# sourceMappingURL=InDocSettings.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-lib/dist/Settings/LanguageSettings.js b/action/node_modules/cspell-lib/dist/Settings/LanguageSettings.js index feefcfe5d..09112fb8a 100644 --- a/action/node_modules/cspell-lib/dist/Settings/LanguageSettings.js +++ b/action/node_modules/cspell-lib/dist/Settings/LanguageSettings.js @@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.calcSettingsForLanguageId = exports.calcUserSettingsForLanguage = exports.calcSettingsForLanguage = exports.isLocaleInSet = exports.normalizeLocale = exports.normalizeLanguageId = exports.getDefaultLanguageSettings = void 0; +exports.calcSettingsForLanguageId = exports.calcUserSettingsForLanguage = exports.calcSettingsForLanguage = exports.isValidLocaleIntlFormat = exports.isLocaleInSet = exports.normalizeLocaleIntl = exports.normalizeLocale = exports.normalizeLanguageId = exports.getDefaultLanguageSettings = void 0; const Memorizer_1 = require("../util/Memorizer"); const util_1 = require("../util/util"); const SpellSettings = __importStar(require("./CSpellSettingsServer")); @@ -62,11 +62,34 @@ function normalizeLocale(locale) { return _normalizeLocale(locale); } exports.normalizeLocale = normalizeLocale; +function normalizeLocaleIntl(locale) { + const values = [...normalizeLocale(locale)].map((locale) => locale.replace(/^([a-z]{2})-?([a-z]{2})$/, (_, lang, locale) => locale ? `${lang}-${locale.toUpperCase()}` : lang)); + return new Set(values); +} +exports.normalizeLocaleIntl = normalizeLocaleIntl; function isLocaleInSet(locale, setOfLocals) { const locales = normalizeLocale(locale); return (0, util_1.doSetsIntersect)(locales, setOfLocals); } exports.isLocaleInSet = isLocaleInSet; +const regExpValidIntlLocaleStrict = /^[a-z]{2}(-[A-Z]{2})?$/; +const regExpValidIntlLocale = new RegExp(regExpValidIntlLocaleStrict, 'i'); +/** + * Test if a locale should be ok with Intl + * @param locale - locale string + * @param strict - case must match + * @returns true if it matches the standard 2 letter or 4 letter forms. + */ +function isValidLocaleIntlFormat(locale, strict = false) { + if (typeof locale === 'string') + return strict ? regExpValidIntlLocaleStrict.test(locale) : regExpValidIntlLocale.test(locale); + for (const item of locale) { + if (!isValidLocaleIntlFormat(item, strict)) + return false; + } + return locale.length > 0; +} +exports.isValidLocaleIntlFormat = isValidLocaleIntlFormat; function calcSettingsForLanguage(languageSettings, languageId, locale) { languageId = languageId.toLowerCase(); const allowedLocals = normalizeLocale(locale); diff --git a/action/node_modules/cspell-lib/dist/SpellingDictionary/Dictionaries.js b/action/node_modules/cspell-lib/dist/SpellingDictionary/Dictionaries.js index dc8a480c7..08ee1c83b 100644 --- a/action/node_modules/cspell-lib/dist/SpellingDictionary/Dictionaries.js +++ b/action/node_modules/cspell-lib/dist/SpellingDictionary/Dictionaries.js @@ -29,7 +29,7 @@ function getDictionaryInternalSync(settings) { } exports.getDictionaryInternalSync = getDictionaryInternalSync; function _getDictionaryInternal(settings, spellDictionaries) { - const { words = emptyWords, userWords = emptyWords, flagWords = emptyWords, ignoreWords = emptyWords } = settings; + const { words = emptyWords, userWords = emptyWords, flagWords = emptyWords, ignoreWords = emptyWords, suggestWords = emptyWords, } = settings; const settingsWordsDictionary = (0, cspell_dictionary_1.createSpellingDictionary)(words, '[words]', 'From Settings `words`', { caseSensitive: true, weightMap: undefined, @@ -42,12 +42,14 @@ function _getDictionaryInternal(settings, spellDictionaries) { : undefined; const ignoreWordsDictionary = (0, cspell_dictionary_1.createIgnoreWordsDictionary)(ignoreWords, '[ignoreWords]', 'From Settings `ignoreWords`'); const flagWordsDictionary = (0, cspell_dictionary_1.createForbiddenWordsDictionary)(flagWords, '[flagWords]', 'From Settings `flagWords`'); + const suggestWordsDictionary = (0, cspell_dictionary_1.createSuggestDictionary)(suggestWords, '[suggestWords]', 'From Settings `suggestWords`'); const dictionaries = [ ...spellDictionaries, settingsWordsDictionary, settingsUserWordsDictionary, ignoreWordsDictionary, flagWordsDictionary, + suggestWordsDictionary, ].filter(util_1.isDefined); return (0, cspell_dictionary_1.createCollection)(dictionaries, 'dictionary collection'); } diff --git a/action/node_modules/cspell-lib/dist/suggestions.js b/action/node_modules/cspell-lib/dist/suggestions.js index 0ed1fc081..98caab8c4 100644 --- a/action/node_modules/cspell-lib/dist/suggestions.js +++ b/action/node_modules/cspell-lib/dist/suggestions.js @@ -22,21 +22,37 @@ var __importStar = (this && this.__importStar) || function (mod) { __setModuleDefault(result, mod); return result; }; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); -exports.SuggestionError = exports.suggestionsForWord = exports.suggestionsForWords = void 0; +exports.SuggestionError = exports.calcSuggestionAdjustedToToMatchCase = exports.suggestionsForWord = exports.suggestionsForWords = void 0; +const assert_1 = __importDefault(require("assert")); const Settings_1 = require("./Settings"); const LanguageSettings_1 = require("./Settings/LanguageSettings"); const SpellingDictionary_1 = require("./SpellingDictionary"); +const AutoResolve_1 = require("./util/AutoResolve"); +const memorizeLastCall_1 = require("./util/memorizeLastCall"); const util = __importStar(require("./util/util")); -async function* suggestionsForWords(words, options, settings = {}) { +const emptySuggestionOptions = Object.freeze({}); +const emptyCSpellSettings = Object.freeze({}); +async function* suggestionsForWords(words, options, settings) { for await (const word of words) { yield await suggestionsForWord(word, options, settings); } } exports.suggestionsForWords = suggestionsForWords; -async function suggestionsForWord(word, options, settings = {}) { - const { languageId, locale: language, strict = true, numChanges = 4, numSuggestions = 8, includeTies = true, includeDefaultConfig = true, dictionaries, } = options || {}; - const ignoreCase = !strict; +const memorizeSuggestions = (0, memorizeLastCall_1.memorizeLastCall)(cacheSuggestionsForWord); +function cacheSuggestionsForWord(options, settings) { + const cache = (0, AutoResolve_1.createAutoResolveCache)(); + return (word) => cache.get(word, (word) => _suggestionsForWord(word, options, settings)); +} +function suggestionsForWord(word, options = emptySuggestionOptions, settings = emptyCSpellSettings) { + return memorizeSuggestions(options, settings)(word); +} +exports.suggestionsForWord = suggestionsForWord; +async function _suggestionsForWord(word, options, settings) { + const { languageId, locale: language, includeDefaultConfig = true, dictionaries } = options; async function determineDictionaries(config) { const withLocale = (0, Settings_1.mergeSettings)(config, util.clean({ language: language || config.language, @@ -59,12 +75,23 @@ async function suggestionsForWord(word, options, settings = {}) { ? (0, Settings_1.mergeSettings)((0, Settings_1.getDefaultSettings)(settings.loadDefaultConfiguration ?? true), (0, Settings_1.getGlobalSettings)(), settings) : settings; const { dictionaryCollection, allDictionaryCollection } = await determineDictionaries(config); + return _suggestionsForWordSync(word, options, settings, dictionaryCollection, allDictionaryCollection); +} +function _suggestionsForWordSync(word, options, settings, dictionaryCollection, allDictionaryCollection) { + const extendsDictionaryCollection = allDictionaryCollection || dictionaryCollection; + const { locale: language, strict = true, numChanges = 4, numSuggestions = 8, includeTies = true, includeDefaultConfig = true, } = options; + const ignoreCase = !strict; + const config = includeDefaultConfig + ? (0, Settings_1.mergeSettings)((0, Settings_1.getDefaultSettings)(settings.loadDefaultConfiguration ?? true), (0, Settings_1.getGlobalSettings)(), settings) + : settings; const opts = { ignoreCase, numChanges, numSuggestions, includeTies }; - const suggestionsByDictionary = dictionaryCollection.dictionaries.map((dict) => dict.suggest(word, opts).map((r) => ({ ...r, dictName: dict.name }))); - const combined = combine(util.flatten(suggestionsByDictionary).sort((a, b) => a.cost - b.cost || (a.word <= b.word ? -1 : 1))); - const findOpts = {}; - const allSugs = combined.map((sug) => { - const found = allDictionaryCollection.find(sug.word, findOpts); + const suggestionsByDictionary = dictionaryCollection.dictionaries.flatMap((dict) => dict.suggest(word, opts).map((r) => ({ ...r, dictName: dict.name }))); + const locale = adjustLocale(language || config.language || undefined); + const collator = Intl.Collator(locale); + const combined = limitResults(combine(suggestionsByDictionary.sort((a, b) => a.cost - b.cost || collator.compare(a.word, b.word))), numSuggestions, includeTies); + const sugsAdjusted = calcSuggestionAdjustedToToMatchCase(word, combined, locale, ignoreCase, extendsDictionaryCollection); + const allSugs = sugsAdjusted.map((sug) => { + const found = extendsDictionaryCollection.find(sug.word); return { ...sug, forbidden: found?.forbidden || false, @@ -76,7 +103,6 @@ async function suggestionsForWord(word, options, settings = {}) { suggestions: limitResults(allSugs, numSuggestions, includeTies), }; } -exports.suggestionsForWord = suggestionsForWord; function combine(suggestions) { const words = new Map(); for (const sug of suggestions) { @@ -89,6 +115,34 @@ function combine(suggestions) { } return [...words.values()]; } +function adjustLocale(locale) { + if (!locale) + return undefined; + const locales = [...(0, LanguageSettings_1.normalizeLocaleIntl)(locale)].filter((locale) => (0, LanguageSettings_1.isValidLocaleIntlFormat)(locale)); + if (!locales.length) + return undefined; + if (locales.length === 1) + return locales[0]; + return locales; +} +function calcSuggestionAdjustedToToMatchCase(originalWord, sugs, locale, ignoreCase, dict) { + locale = adjustLocale(locale); + const knownSugs = new Set(sugs.map((sug) => sug.word)); + const matchStyle = { ...analyzeCase(originalWord), locale, ignoreCase }; + /* Add adjusted words */ + return sugs.map((sug) => { + const alt = matchCase(sug.word, !!sug.isPreferred, matchStyle); + if (alt === sug.word || knownSugs.has(alt)) + return sug; + const found = dict.find(alt); + if (!found || !found.forbidden || !found.noSuggest) { + knownSugs.add(alt); + return { ...sug, wordAdjustedToMatchCase: alt }; + } + return sug; + }); +} +exports.calcSuggestionAdjustedToToMatchCase = calcSuggestionAdjustedToToMatchCase; function limitResults(suggestions, numSuggestions, includeTies) { let cost = suggestions[0]?.cost; let i = 0; @@ -110,6 +164,49 @@ function validateDictionaries(settings, dictionaries) { } } } +function matchCase(word, isPreferred, style) { + const locale = style.locale; + if (style.isMixedCaps) { + /** + * Do not try matching mixed caps. + */ + return word; + } + if (hasCaps(word)) { + if (style.isAllCaps) + return word.toLocaleUpperCase(locale); + if (!style.ignoreCase || style.hasCaps || isPreferred) + return word; + if (isTitleCase(word) || isAllCaps(word)) + return word.toLocaleLowerCase(locale); + return word; + } + if (!style.hasCaps) + return word; + if (style.isAllCaps) + return word.toLocaleUpperCase(locale); + (0, assert_1.default)(style.isTitleCase); + return word.replace(/^\p{L}/u, (firstLetter) => firstLetter.toLocaleUpperCase(locale)); +} +const regExpHasCaps = /\p{Lu}/u; +const regExpIsAllCaps = /^[\P{L}\p{Lu}]+$/u; +const regExpIsTitleCase = /^\p{Lu}[\P{L}\p{Ll}]+$/u; +function analyzeCase(word) { + const hasCaps = regExpHasCaps.test(word); + const isAllCaps = hasCaps && regExpIsAllCaps.test(word); + const isTitleCase = hasCaps && !isAllCaps && regExpIsTitleCase.test(word); + const isMixedCaps = hasCaps && !isAllCaps && !isTitleCase; + return { hasCaps, isAllCaps, isMixedCaps, isTitleCase }; +} +function hasCaps(word) { + return regExpHasCaps.test(word); +} +function isTitleCase(word) { + return regExpIsTitleCase.test(word); +} +function isAllCaps(word) { + return regExpIsAllCaps.test(word); +} class SuggestionError extends Error { constructor(message, code) { super(message); diff --git a/action/node_modules/cspell-lib/dist/textValidation/ValidateTextOptions.js b/action/node_modules/cspell-lib/dist/textValidation/ValidateTextOptions.js new file mode 100644 index 000000000..eaa69897c --- /dev/null +++ b/action/node_modules/cspell-lib/dist/textValidation/ValidateTextOptions.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=ValidateTextOptions.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-lib/dist/textValidation/docValidator.js b/action/node_modules/cspell-lib/dist/textValidation/docValidator.js index fe5ac5dd3..206491f9f 100644 --- a/action/node_modules/cspell-lib/dist/textValidation/docValidator.js +++ b/action/node_modules/cspell-lib/dist/textValidation/docValidator.js @@ -13,16 +13,16 @@ const Settings_1 = require("../Settings"); const configLoader_1 = require("../Settings/Controller/configLoader"); const InDocSettings_1 = require("../Settings/InDocSettings"); const SpellingDictionary_1 = require("../SpellingDictionary"); +const suggestions_1 = require("../suggestions"); const errors_1 = require("../util/errors"); const simpleCache_1 = require("../util/simpleCache"); const timer_1 = require("../util/timer"); -const util_1 = require("../util/util"); const defaultConstants_1 = require("./defaultConstants"); const determineTextDocumentSettings_1 = require("./determineTextDocumentSettings"); const lineValidatorFactory_1 = require("./lineValidatorFactory"); const parsedText_1 = require("./parsedText"); +const settingsToValidateOptions_1 = require("./settingsToValidateOptions"); const textValidator_1 = require("./textValidator"); -const validator_1 = require("./validator"); const ERROR_NOT_PREPARED = 'Validator Must be prepared before calling this function.'; class DocumentValidator { /** @@ -30,13 +30,17 @@ class DocumentValidator { * @param config - configuration to use (not finalized). */ constructor(doc, options, settings) { - this.options = options; this.settings = settings; this._ready = false; this.errors = []; this._preparationTime = -1; this._suggestions = new simpleCache_1.AutoCache((text) => this.genSuggestions(text), 1000); this._document = doc; + this.options = { ...options }; + const numSuggestions = this.options.numSuggestions ?? settings.numSuggestions; + if (numSuggestions !== undefined) { + this.options.numSuggestions = numSuggestions; + } // console.error(`DocumentValidator: ${doc.uri}`); } get ready() { @@ -73,7 +77,7 @@ class DocumentValidator { const uri = this._document.uri; const shouldCheck = !matcher.match(uri.fsPath) && (docSettings.enabled ?? true); const finalSettings = (0, Settings_1.finalizeSettings)(docSettings); - const validateOptions = (0, validator_1.settingsToValidateOptions)(finalSettings); + const validateOptions = (0, settingsToValidateOptions_1.settingsToValidateOptions)(finalSettings); const includeRanges = (0, textValidator_1.calcTextInclusionRanges)(this._document.text, validateOptions); const segmenter = (0, parsedText_1.createMappedTextSegmenter)(includeRanges); const textValidator = (0, lineValidatorFactory_1.textValidatorFactory)(dict, validateOptions); @@ -121,7 +125,7 @@ class DocumentValidator { const uri = this._document.uri; const shouldCheck = !matcher.match(uri.fsPath) && (docSettings.enabled ?? true); const finalSettings = (0, Settings_1.finalizeSettings)(docSettings); - const validateOptions = (0, validator_1.settingsToValidateOptions)(finalSettings); + const validateOptions = (0, settingsToValidateOptions_1.settingsToValidateOptions)(finalSettings); const includeRanges = (0, textValidator_1.calcTextInclusionRanges)(this._document.text, validateOptions); const segmenter = (0, parsedText_1.createMappedTextSegmenter)(includeRanges); const textValidator = (0, lineValidatorFactory_1.textValidatorFactory)(dict, validateOptions); @@ -149,7 +153,7 @@ class DocumentValidator { const dict = (0, SpellingDictionary_1.getDictionaryInternalSync)(docSettings); const shouldCheck = docSettings.enabled ?? true; const finalSettings = (0, Settings_1.finalizeSettings)(docSettings); - const validateOptions = (0, validator_1.settingsToValidateOptions)(finalSettings); + const validateOptions = (0, settingsToValidateOptions_1.settingsToValidateOptions)(finalSettings); const includeRanges = (0, textValidator_1.calcTextInclusionRanges)(this._document.text, validateOptions); const segmenter = (0, parsedText_1.createMappedTextSegmenter)(includeRanges); const textValidator = (0, lineValidatorFactory_1.textValidatorFactory)(dict, validateOptions); @@ -320,17 +324,18 @@ class DocumentValidator { (0, assert_1.default)(this._preparations, ERROR_NOT_PREPARED); const settings = this._preparations.docSettings; const dict = this._preparations.dictionary; - const sugOptions = (0, util_1.clean)({ + const sugOptions = { compoundMethod: 0, numSuggestions: this.options.numSuggestions, includeTies: false, ignoreCase: !(settings.caseSensitive ?? false), timeout: settings.suggestionsTimeout, numChanges: settings.suggestionNumChanges, - }); - return dict - .suggest(text, sugOptions) - .map(({ word, isPreferred }) => (isPreferred ? { word, isPreferred } : { word })); + }; + const locale = this._preparations.config.language; + const rawSuggestions = dict.suggest(text, sugOptions); + const sugsWithAlt = (0, suggestions_1.calcSuggestionAdjustedToToMatchCase)(text, rawSuggestions, locale, sugOptions.ignoreCase, dict); + return sugsWithAlt.map(sanitizeSuggestion); } getFinalizedDocSettings() { (0, assert_1.default)(this._ready); @@ -356,6 +361,16 @@ class DocumentValidator { } } exports.DocumentValidator = DocumentValidator; +function sanitizeSuggestion(sug) { + const { word, isPreferred, wordAdjustedToMatchCase } = sug; + if (isPreferred && wordAdjustedToMatchCase) + return { word, wordAdjustedToMatchCase, isPreferred }; + if (isPreferred) + return { word, isPreferred }; + if (wordAdjustedToMatchCase) + return { word, wordAdjustedToMatchCase }; + return { word }; +} async function searchForDocumentConfig(document, defaultConfig, pnpSettings) { const { uri } = document; if (uri.scheme !== 'file') diff --git a/action/node_modules/cspell-lib/dist/textValidation/settingsToValidateOptions.js b/action/node_modules/cspell-lib/dist/textValidation/settingsToValidateOptions.js new file mode 100644 index 000000000..93b1706a6 --- /dev/null +++ b/action/node_modules/cspell-lib/dist/textValidation/settingsToValidateOptions.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.settingsToValidateOptions = void 0; +function settingsToValidateOptions(settings) { + const opt = { + ...settings, + ignoreCase: !(settings.caseSensitive ?? false), + }; + return opt; +} +exports.settingsToValidateOptions = settingsToValidateOptions; +//# sourceMappingURL=settingsToValidateOptions.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-lib/dist/textValidation/validator.js b/action/node_modules/cspell-lib/dist/textValidation/validator.js index a09f7ce75..a1a1c8ee0 100644 --- a/action/node_modules/cspell-lib/dist/textValidation/validator.js +++ b/action/node_modules/cspell-lib/dist/textValidation/validator.js @@ -23,13 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.settingsToValidateOptions = exports.validateText = exports.diagSource = void 0; +exports.validateText = exports.diagSource = void 0; const cspell_types_1 = require("@cspell/cspell-types"); const TextDocument_1 = require("../Models/TextDocument"); const Settings = __importStar(require("../Settings")); const InDocSettings_1 = require("../Settings/InDocSettings"); const SpellingDictionary_1 = require("../SpellingDictionary"); -const util_1 = require("../util/util"); +const settingsToValidateOptions_1 = require("./settingsToValidateOptions"); const textValidator_1 = require("./textValidator"); exports.diagSource = 'cSpell Checker'; /** @@ -39,7 +39,7 @@ exports.diagSource = 'cSpell Checker'; async function validateText(text, settings, options = {}) { const finalSettings = Settings.finalizeSettings(settings); const dict = await (0, SpellingDictionary_1.getDictionaryInternal)(finalSettings); - const spellingIssues = [...(0, textValidator_1.validateText)(text, dict, settingsToValidateOptions(finalSettings))]; + const spellingIssues = [...(0, textValidator_1.validateText)(text, dict, (0, settingsToValidateOptions_1.settingsToValidateOptions)(finalSettings))]; const validationIssues = options.validateDirectives || finalSettings.validateDirectives ? (0, InDocSettings_1.validateInDocumentSettings)(text, settings) : []; @@ -47,14 +47,14 @@ async function validateText(text, settings, options = {}) { if (!options.generateSuggestions) { return issues; } - const sugOptions = (0, util_1.clean)({ + const sugOptions = { numSuggestions: options.numSuggestions, compoundMethod: SpellingDictionary_1.CompoundWordsMethod.NONE, includeTies: false, ignoreCase: !(settings.caseSensitive ?? false), timeout: settings.suggestionsTimeout, numChanges: settings.suggestionNumChanges, - }); + }; const withSugs = issues.map((t) => { const text = t.text; const suggestionsEx = dict @@ -83,12 +83,4 @@ function mapValidationIssues(text, valIssues) { } return issues.map(toValidationIssue); } -function settingsToValidateOptions(settings) { - const opt = { - ...settings, - ignoreCase: !(settings.caseSensitive ?? false), - }; - return opt; -} -exports.settingsToValidateOptions = settingsToValidateOptions; //# sourceMappingURL=validator.js.map \ No newline at end of file diff --git a/action/node_modules/cspell-lib/package.json b/action/node_modules/cspell-lib/package.json index cec789972..7a0806332 100644 --- a/action/node_modules/cspell-lib/package.json +++ b/action/node_modules/cspell-lib/package.json @@ -1,6 +1,6 @@ { "name": "cspell-lib", - "version": "6.23.1", + "version": "6.26.1", "description": "A library of useful functions used across various cspell tools.", "main": "dist/index.js", "typings": "dist/index.d.ts", @@ -48,19 +48,19 @@ }, "homepage": "https://github.com/streetsidesoftware/cspell#readme", "dependencies": { - "@cspell/cspell-bundled-dicts": "6.23.1", - "@cspell/cspell-pipe": "6.23.1", - "@cspell/cspell-types": "6.23.1", - "@cspell/strong-weak-map": "6.23.1", + "@cspell/cspell-bundled-dicts": "6.26.1", + "@cspell/cspell-pipe": "6.26.1", + "@cspell/cspell-types": "6.26.1", + "@cspell/strong-weak-map": "6.26.1", "clear-module": "^4.1.2", "comment-json": "^4.2.3", "configstore": "^5.0.1", "cosmiconfig": "^8.0.0", - "cspell-dictionary": "6.23.1", - "cspell-glob": "6.23.1", - "cspell-grammar": "6.23.1", - "cspell-io": "6.23.1", - "cspell-trie-lib": "6.23.1", + "cspell-dictionary": "6.26.1", + "cspell-glob": "6.26.1", + "cspell-grammar": "6.26.1", + "cspell-io": "6.26.1", + "cspell-trie-lib": "6.26.1", "fast-equals": "^4.0.3", "find-up": "^5.0.0", "gensequence": "^4.0.3", @@ -89,8 +89,8 @@ "jest": "^29.4.2", "lorem-ipsum": "^2.0.8", "rollup": "^3.15.0", - "rollup-plugin-dts": "^5.1.1", + "rollup-plugin-dts": "^5.2.0", "ts-jest": "^29.0.5" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/cspell-trie-lib/package.json b/action/node_modules/cspell-trie-lib/package.json index 1f9f87a4a..141b427c2 100644 --- a/action/node_modules/cspell-trie-lib/package.json +++ b/action/node_modules/cspell-trie-lib/package.json @@ -1,6 +1,6 @@ { "name": "cspell-trie-lib", - "version": "6.23.1", + "version": "6.26.1", "description": "Trie Data Structure to support cspell.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -37,8 +37,8 @@ }, "homepage": "https://github.com/streetsidesoftware/cspell#readme", "dependencies": { - "@cspell/cspell-pipe": "6.23.1", - "@cspell/cspell-types": "6.23.1", + "@cspell/cspell-pipe": "6.26.1", + "@cspell/cspell-types": "6.26.1", "gensequence": "^4.0.3" }, "engines": { @@ -50,5 +50,5 @@ "@types/node": "^18.13.0", "jest": "^29.4.2" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/node_modules/cspell/dist/cli-reporter.js b/action/node_modules/cspell/dist/cli-reporter.js index dcc94f746..c49971ebe 100644 --- a/action/node_modules/cspell/dist/cli-reporter.js +++ b/action/node_modules/cspell/dist/cli-reporter.js @@ -188,7 +188,9 @@ function formatIssue(templateStr, issue, maxIssueTextWidth) { function formatSuggestions(issue) { if (issue.suggestionsEx) { return issue.suggestionsEx - .map((sug) => (sug.isPreferred ? chalk_1.default.italic(chalk_1.default.bold(sug.word)) + '*' : sug.word)) + .map((sug) => sug.isPreferred + ? chalk_1.default.italic(chalk_1.default.bold(sug.wordAdjustedToMatchCase || sug.word)) + '*' + : sug.wordAdjustedToMatchCase || sug.word) .join(', '); } if (issue.suggestions) { diff --git a/action/node_modules/cspell/dist/emitters/suggestionsEmitter.js b/action/node_modules/cspell/dist/emitters/suggestionsEmitter.js index 9897d5ffc..3413763b1 100644 --- a/action/node_modules/cspell/dist/emitters/suggestionsEmitter.js +++ b/action/node_modules/cspell/dist/emitters/suggestionsEmitter.js @@ -26,7 +26,10 @@ function emitSuggestionResult(result, options) { return r === word ? word : `${word} (${r})`; } if (verbose) { - const mappedSugs = suggestions.map((s) => ({ ...s, w: handleRtl(s.compoundWord || s.word) })); + const mappedSugs = suggestions.map((s) => ({ + ...s, + w: handleRtl(s.compoundWord || s.wordAdjustedToMatchCase || s.word), + })); const sugWidths = mappedSugs.map((s) => (0, util_1.width)(s.w)); const maxWidth = sugWidths.reduce((max, len) => Math.max(max, len), 0); for (const sug of mappedSugs) { @@ -46,7 +49,7 @@ function emitSuggestionResult(result, options) { } } else { - const mappedSugs = suggestions.map((s) => ({ ...s, word: handleRtl(s.word) })); + const mappedSugs = suggestions.map((s) => ({ ...s, word: handleRtl(s.wordAdjustedToMatchCase || s.word) })); for (const r of mappedSugs) { output.log(` - ${formatWordSingle(r)}`); } @@ -54,7 +57,22 @@ function emitSuggestionResult(result, options) { } exports.emitSuggestionResult = emitSuggestionResult; function formatWord(word, r) { - return r.forbidden || r.noSuggest ? chalk_1.default.gray(chalk_1.default.strikethrough(word)) : word; + return r.forbidden || r.noSuggest + ? chalk_1.default.gray(chalk_1.default.strikethrough(word)) + : word === r.wordAdjustedToMatchCase + ? diff(word, r.word) + : word; +} +function diff(wordA, wordB) { + const a = [...wordA]; + const b = [...wordB]; + const parts = []; + for (let idx = 0; idx < a.length; ++idx) { + const aa = a[idx]; + const bb = b[idx]; + parts.push(aa === bb ? aa : chalk_1.default.yellow(aa)); + } + return parts.join(''); } function formatWordSingle(s) { let word = formatWord(s.word, s); diff --git a/action/node_modules/cspell/dist/lint/lint.js b/action/node_modules/cspell/dist/lint/lint.js index 1e6496dd6..f2b585ea6 100644 --- a/action/node_modules/cspell/dist/lint/lint.js +++ b/action/node_modules/cspell/dist/lint/lint.js @@ -93,7 +93,8 @@ async function runLint(cfg) { reporter.info(`Checking: ${filename}, File type: ${doc.languageId ?? 'auto'}, Language: ${doc.locale ?? 'default'}`, cspell_types_1.MessageTypes.Info); try { const { showSuggestions: generateSuggestions, validateDirectives } = cfg.options; - const validateOptions = { generateSuggestions, numSuggestions: 5, validateDirectives }; + const numSuggestions = configInfo.config.numSuggestions ?? 5; + const validateOptions = { generateSuggestions, numSuggestions, validateDirectives }; const r = await cspell.spellCheckDocument(doc, validateOptions, configInfo.config); spellResult = r; result.processed = r.checked; diff --git a/action/node_modules/cspell/package.json b/action/node_modules/cspell/package.json index a0fdd551a..100152aec 100644 --- a/action/node_modules/cspell/package.json +++ b/action/node_modules/cspell/package.json @@ -1,6 +1,6 @@ { "name": "cspell", - "version": "6.23.1", + "version": "6.26.1", "description": "A Spelling Checker for Code!", "funding": "https://github.com/streetsidesoftware/cspell?sponsor=1", "main": "dist/index.js", @@ -76,13 +76,13 @@ }, "homepage": "https://streetsidesoftware.github.io/cspell/", "dependencies": { - "@cspell/cspell-pipe": "6.23.1", - "@cspell/dynamic-import": "6.23.1", + "@cspell/cspell-pipe": "6.26.1", + "@cspell/dynamic-import": "6.26.1", "chalk": "^4.1.2", "commander": "^10.0.0", - "cspell-gitignore": "6.23.1", - "cspell-glob": "6.23.1", - "cspell-lib": "6.23.1", + "cspell-gitignore": "6.26.1", + "cspell-glob": "6.26.1", + "cspell-lib": "6.26.1", "fast-glob": "^3.2.12", "fast-json-stable-stringify": "^2.1.0", "file-entry-cache": "^6.0.1", @@ -96,18 +96,18 @@ "node": ">=14" }, "devDependencies": { - "@cspell/cspell-json-reporter": "6.23.1", - "@cspell/cspell-types": "6.23.1", + "@cspell/cspell-json-reporter": "6.26.1", + "@cspell/cspell-types": "6.26.1", "@types/file-entry-cache": "^5.0.2", "@types/glob": "^8.0.1", "@types/imurmurhash": "^0.1.1", "@types/micromatch": "^4.0.2", "@types/semver": "^7.3.13", "micromatch": "^4.0.5", - "minimatch": "^6.1.8", + "minimatch": "^6.2.0", "rollup": "^3.15.0", - "rollup-plugin-dts": "^5.1.1", - "vitest": "^0.28.4" + "rollup-plugin-dts": "^5.2.0", + "vitest": "^0.28.5" }, - "gitHead": "dace8b0625beb2766565f47bc813dc0a45480dc0" + "gitHead": "675e091816f61ce767c7f9b193ea1384313c8da2" } diff --git a/action/package.json b/action/package.json index 8f97a364c..1964ed988 100644 --- a/action/package.json +++ b/action/package.json @@ -14,8 +14,8 @@ "@octokit/core": "^4.2.0", "@octokit/plugin-rest-endpoint-methods": "^7.0.1", "@octokit/rest": "^19.0.7", - "cspell": "^6.23.1", - "cspell-glob": "^6.23.1", + "cspell": "^6.26.1", + "cspell-glob": "^6.26.1", "vscode-uri": "^3.0.7" } } diff --git a/package.json b/package.json index 0c7dc13d7..2ac909b8e 100644 --- a/package.json +++ b/package.json @@ -46,8 +46,8 @@ "homepage": "https://github.com/streetsidesoftware/cspell-action#readme", "devDependencies": { "@tsconfig/node12": "^1.0.11", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", + "@typescript-eslint/eslint-plugin": "^5.52.0", + "@typescript-eslint/parser": "^5.52.0", "env-cmd": "^10.1.0", "eslint": "^8.34.0", "prettier": "^2.8.4", diff --git a/yarn.lock b/yarn.lock index 9a2508809..869751e6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -323,10 +323,10 @@ resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cspell/cspell-bundled-dicts@6.23.1": - version "6.23.1" - resolved "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.23.1.tgz#d1b8f466e4a2c9a87840078028e2c0f6a2757418" - integrity sha512-yOJ256MsPjzsnO5PBA+0aHpJmMs11aZLpnD29BdhC86kErBuTkPXnYOU4zZtya6g190Uft9i7UejjyzmPH8O8w== +"@cspell/cspell-bundled-dicts@6.26.1": + version "6.26.1" + resolved "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.26.1.tgz#f5d1a1f92acefb7ecf8d120cfb423d31096b34b0" + integrity sha512-J7OA/aIESR1kJJapYYauf7916c/O3zWy/peRgC7W4yW4ZXiQ2Sj2QpfOerxFz6INu4ca9Ab4JdSZMa0esHEOZg== dependencies: "@cspell/dict-ada" "^4.0.1" "@cspell/dict-aws" "^3.0.0" @@ -341,6 +341,7 @@ "@cspell/dict-docker" "^1.1.5" "@cspell/dict-dotnet" "^4.0.1" "@cspell/dict-elixir" "^4.0.1" + "@cspell/dict-en-common-misspellings" "^1.0.1" "@cspell/dict-en-gb" "1.1.33" "@cspell/dict-en_us" "^4.2.2" "@cspell/dict-filetypes" "^3.0.0" @@ -374,20 +375,20 @@ "@cspell/dict-typescript" "^3.1.0" "@cspell/dict-vue" "^3.0.0" -"@cspell/cspell-pipe@6.23.1": - version "6.23.1" - resolved "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.23.1.tgz#691c7fe2d969b5215e9d5c07982b6bcd4a9a0baf" - integrity sha512-ulQpa45m3UWAnlzCQbxcxl71RKQcooo51BbdzKZJI/QeHuNu8VAdRiWs5A3ZytITWASXSQBJci5XMOPvvZvofg== +"@cspell/cspell-pipe@6.26.1": + version "6.26.1" + resolved "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.26.1.tgz#3af5331e5543690427b28e93a42d05a89802800f" + integrity sha512-HNgznB8eH3e4rPephuvzh7AeyxQnOb1Tx1Ibg+dSc8eL2lxfHwoNrlCOpr92Izv+3f08H3QwJHi82YdSg6emJQ== -"@cspell/cspell-service-bus@6.23.1": - version "6.23.1" - resolved "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.23.1.tgz#75bdeabdbc8327cd705e9f80eb74f6e5216c02ba" - integrity sha512-zATbR0Szec6L3x8385cJVfjLrJJs/hALp9B3XN5tOyzL/mnYG9yA+mylrYfRRWXgvrzloo3VVlbzQypIj7E9Nw== +"@cspell/cspell-service-bus@6.26.1": + version "6.26.1" + resolved "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.26.1.tgz#c6bf140db294352d0214f4d278fd04ba8cb253a6" + integrity sha512-gyRW23TbYQVJpNs9/U0EksVYemO/4wKhiaL4KVm+LSToB1HN4XB6zIYZsdPLpWQsS3Z2P/cVgMT1WImMk7g8dQ== -"@cspell/cspell-types@6.23.1": - version "6.23.1" - resolved "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.23.1.tgz#2293553a7fcc11244402a04dd7559c3a34eec176" - integrity sha512-qxdhTbruR8uCgJCZwCLcJjP/ZntIAqZ/tbZ0qbimqx4DeqapdSu28Xg971vFkhj2PNmqF8u5QgwpTefXEEkutw== +"@cspell/cspell-types@6.26.1": + version "6.26.1" + resolved "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.26.1.tgz#e0ea8aeec0c2286e52bae60e877d60e1e4d61633" + integrity sha512-PBqKjPA3jVgsAFuw2c/ZTjDyKhfXjkxFHTsp8kEUEKwhDnaxPoRNRz13AK1gKryN8KYUgkWcxIetkRNQ6yi4Cw== "@cspell/dict-ada@^4.0.1": version "4.0.1" @@ -454,6 +455,11 @@ resolved "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-4.0.1.tgz#dca91412eb0026cb76cc56f9677602558f6caa78" integrity sha512-IejBqiTTWSXpvBm6yg4qUfnJR0LwbUUCJcK5wXOMKEJitu3yDfrT9GPc6NQJXgokbg9nBjEyxVIzNcLgx2x3/Q== +"@cspell/dict-en-common-misspellings@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-1.0.1.tgz#3dfca4ac63a9bc996b73dccf9b4556eed91647d5" + integrity sha512-mNnFZOD7l8YHBraTzdESYfJwu1FSIm9k8nOVUQ6XBN2NTc7KyAjWo7Bu7VD90N9QVcSw5aLFgR4jZ+5bueOG/A== + "@cspell/dict-en-gb@1.1.33": version "1.1.33" resolved "https://registry.npmjs.org/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz#7f1fd90fc364a5cb77111b5438fc9fcf9cc6da0e" @@ -614,17 +620,17 @@ resolved "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-3.0.0.tgz#68ccb432ad93fcb0fd665352d075ae9a64ea9250" integrity sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A== -"@cspell/dynamic-import@6.23.1": - version "6.23.1" - resolved "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-6.23.1.tgz#5a23f13e2d4b17c6d55213a2a849f3a256a581fe" - integrity sha512-s9zlPCZ4+K4xbrSJ9UYPR9eonOsUu+9kiSwVeFRm1AbOGTFBMndS2k49WqM23sTGmYpBd1d+E75+9Cy4ypPxwA== +"@cspell/dynamic-import@6.26.1": + version "6.26.1" + resolved "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-6.26.1.tgz#c686aa7d002c562747e0b363b09178586cb48305" + integrity sha512-+hz29DofJu7S8Wt96MRw84S+8x0YQr70GYVIs5nNHogZe0m7sBnL420sVvNIC5V6lmkJze/rNS7FOFGi0MvjZA== dependencies: import-meta-resolve "^2.2.1" -"@cspell/strong-weak-map@6.23.1": - version "6.23.1" - resolved "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-6.23.1.tgz#2cd16cad6192434a0901b920a33780f143e7ddf1" - integrity sha512-MDUzl4SvdxJIpNHEEPoKYGsck+yptkp8z+oVoqj24aFaOrk77vnMcCiF28l5kcFqjfNtFdvDLiev3suqdPiuLw== +"@cspell/strong-weak-map@6.26.1": + version "6.26.1" + resolved "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-6.26.1.tgz#4ce4c2d77ccb2bc65dbd87ff49400c8c80d63e87" + integrity sha512-dJqVF2Md6BeeA+bMdBwEfFflKUkQNE/3f/K/8TEHU+XFgngiw+H2RsNQ+DYIIcCb3yUZpHtRr2W1Hhmiydz1VQ== "@eslint/eslintrc@^1.4.1": version "1.4.1" @@ -676,109 +682,109 @@ resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.4.2.tgz#f78374905c2454764152904a344a2d5226b0ef09" - integrity sha512-0I/rEJwMpV9iwi9cDEnT71a5nNGK9lj8Z4+1pRAU2x/thVXCDnaTGrvxyK+cAqZTFVFCiR+hfVrP4l2m+dCmQg== +"@jest/console@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.4.3.tgz#1f25a99f7f860e4c46423b5b1038262466fadde1" + integrity sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^29.4.2" - jest-util "^29.4.2" + jest-message-util "^29.4.3" + jest-util "^29.4.3" slash "^3.0.0" -"@jest/core@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.4.2.tgz#6e999b67bdc2df9d96ba9b142465bda71ee472c2" - integrity sha512-KGuoQah0P3vGNlaS/l9/wQENZGNKGoWb+OPxh3gz+YzG7/XExvYu34MzikRndQCdM2S0tzExN4+FL37i6gZmCQ== +"@jest/core@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.4.3.tgz#829dd65bffdb490de5b0f69e97de8e3b5eadd94b" + integrity sha512-56QvBq60fS4SPZCuM7T+7scNrkGIe7Mr6PVIXUpu48ouvRaWOFqRPV91eifvFM0ay2HmfswXiGf97NGUN5KofQ== dependencies: - "@jest/console" "^29.4.2" - "@jest/reporters" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/console" "^29.4.3" + "@jest/reporters" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^29.4.2" - jest-config "^29.4.2" - jest-haste-map "^29.4.2" - jest-message-util "^29.4.2" - jest-regex-util "^29.4.2" - jest-resolve "^29.4.2" - jest-resolve-dependencies "^29.4.2" - jest-runner "^29.4.2" - jest-runtime "^29.4.2" - jest-snapshot "^29.4.2" - jest-util "^29.4.2" - jest-validate "^29.4.2" - jest-watcher "^29.4.2" + jest-changed-files "^29.4.3" + jest-config "^29.4.3" + jest-haste-map "^29.4.3" + jest-message-util "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-resolve-dependencies "^29.4.3" + jest-runner "^29.4.3" + jest-runtime "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" + jest-watcher "^29.4.3" micromatch "^4.0.4" - pretty-format "^29.4.2" + pretty-format "^29.4.3" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.4.2.tgz#ee92c316ee2fbdf0bcd9d2db0ef42d64fea26b56" - integrity sha512-JKs3VUtse0vQfCaFGJRX1bir9yBdtasxziSyu+pIiEllAQOe4oQhdCYIf3+Lx+nGglFktSKToBnRJfD5QKp+NQ== +"@jest/environment@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.4.3.tgz#9fe2f3169c3b33815dc4bd3960a064a83eba6548" + integrity sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA== dependencies: - "@jest/fake-timers" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/fake-timers" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-mock "^29.4.2" + jest-mock "^29.4.3" -"@jest/expect-utils@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.4.2.tgz#cd0065dfdd8e8a182aa350cc121db97b5eed7b3f" - integrity sha512-Dd3ilDJpBnqa0GiPN7QrudVs0cczMMHtehSo2CSTjm3zdHx0RcpmhFNVEltuEFeqfLIyWKFI224FsMSQ/nsJQA== +"@jest/expect-utils@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.4.3.tgz#95ce4df62952f071bcd618225ac7c47eaa81431e" + integrity sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ== dependencies: - jest-get-type "^29.4.2" + jest-get-type "^29.4.3" -"@jest/expect@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.4.2.tgz#2d4a6a41b29380957c5094de19259f87f194578b" - integrity sha512-NUAeZVApzyaeLjfWIV/64zXjA2SS+NuUPHpAlO7IwVMGd5Vf9szTl9KEDlxY3B4liwLO31os88tYNHl6cpjtKQ== +"@jest/expect@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.4.3.tgz#d31a28492e45a6bcd0f204a81f783fe717045c6e" + integrity sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ== dependencies: - expect "^29.4.2" - jest-snapshot "^29.4.2" + expect "^29.4.3" + jest-snapshot "^29.4.3" -"@jest/fake-timers@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.4.2.tgz#af43ee1a5720b987d0348f80df98f2cb17d45cd0" - integrity sha512-Ny1u0Wg6kCsHFWq7A/rW/tMhIedq2siiyHyLpHCmIhP7WmcAmd2cx95P+0xtTZlj5ZbJxIRQi4OPydZZUoiSQQ== +"@jest/fake-timers@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.4.3.tgz#31e982638c60fa657d310d4b9d24e023064027b0" + integrity sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^29.4.2" - jest-mock "^29.4.2" - jest-util "^29.4.2" + jest-message-util "^29.4.3" + jest-mock "^29.4.3" + jest-util "^29.4.3" -"@jest/globals@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.4.2.tgz#73f85f5db0e17642258b25fd0b9fc89ddedb50eb" - integrity sha512-zCk70YGPzKnz/I9BNFDPlK+EuJLk21ur/NozVh6JVM86/YYZtZHqxFFQ62O9MWq7uf3vIZnvNA0BzzrtxD9iyg== +"@jest/globals@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.4.3.tgz#63a2c4200d11bc6d46f12bbe25b07f771fce9279" + integrity sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA== dependencies: - "@jest/environment" "^29.4.2" - "@jest/expect" "^29.4.2" - "@jest/types" "^29.4.2" - jest-mock "^29.4.2" + "@jest/environment" "^29.4.3" + "@jest/expect" "^29.4.3" + "@jest/types" "^29.4.3" + jest-mock "^29.4.3" -"@jest/reporters@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.4.2.tgz#6abfa923941daae0acc76a18830ee9e79a22042d" - integrity sha512-10yw6YQe75zCgYcXgEND9kw3UZZH5tJeLzWv4vTk/2mrS1aY50A37F+XT2hPO5OqQFFnUWizXD8k1BMiATNfUw== +"@jest/reporters@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.4.3.tgz#0a68a0c0f20554760cc2e5443177a0018969e353" + integrity sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/console" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" @@ -791,77 +797,77 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^29.4.2" - jest-util "^29.4.2" - jest-worker "^29.4.2" + jest-message-util "^29.4.3" + jest-util "^29.4.3" + jest-worker "^29.4.3" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.2.tgz#cf7cfe97c5649f518452b176c47ed07486270fc1" - integrity sha512-ZrGzGfh31NtdVH8tn0mgJw4khQuNHiKqdzJAFbCaERbyCP9tHlxWuL/mnMu8P7e/+k4puWjI1NOzi/sFsjce/g== +"@jest/schemas@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== dependencies: "@sinclair/typebox" "^0.25.16" -"@jest/source-map@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.2.tgz#f9815d59e25cd3d6828e41489cd239271018d153" - integrity sha512-tIoqV5ZNgYI9XCKXMqbYe5JbumcvyTgNN+V5QW4My033lanijvCD0D4PI9tBw4pRTqWOc00/7X3KVvUh+qnF4Q== +"@jest/source-map@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20" + integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w== dependencies: "@jridgewell/trace-mapping" "^0.3.15" callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.4.2.tgz#34b0ba069f2e3072261e4884c8fb6bd15ed6fb8d" - integrity sha512-HZsC3shhiHVvMtP+i55MGR5bPcc3obCFbA5bzIOb8pCjwBZf11cZliJncCgaVUbC5yoQNuGqCkC0Q3t6EItxZA== +"@jest/test-result@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.4.3.tgz#e13d973d16c8c7cc0c597082d5f3b9e7f796ccb8" + integrity sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA== dependencies: - "@jest/console" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/console" "^29.4.3" + "@jest/types" "^29.4.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.4.2.tgz#8b48e5bc4af80b42edacaf2a733d4f295edf28fb" - integrity sha512-9Z2cVsD6CcObIVrWigHp2McRJhvCxL27xHtrZFgNC1RwnoSpDx6fZo8QYjJmziFlW9/hr78/3sxF54S8B6v8rg== +"@jest/test-sequencer@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.4.3.tgz#0862e876a22993385a0f3e7ea1cc126f208a2898" + integrity sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw== dependencies: - "@jest/test-result" "^29.4.2" + "@jest/test-result" "^29.4.3" graceful-fs "^4.2.9" - jest-haste-map "^29.4.2" + jest-haste-map "^29.4.3" slash "^3.0.0" -"@jest/transform@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.4.2.tgz#b24b72dbab4c8675433a80e222d6a8ef4656fb81" - integrity sha512-kf1v5iTJHn7p9RbOsBuc/lcwyPtJaZJt5885C98omWz79NIeD3PfoiiaPSu7JyCyFzNOIzKhmMhQLUhlTL9BvQ== +"@jest/transform@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.4.3.tgz#f7d17eac9cb5bb2e1222ea199c7c7e0835e0c037" + integrity sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.2" - jest-regex-util "^29.4.2" - jest-util "^29.4.2" + jest-haste-map "^29.4.3" + jest-regex-util "^29.4.3" + jest-util "^29.4.3" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" write-file-atomic "^4.0.2" -"@jest/types@^29.4.2": - version "29.4.2" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.4.2.tgz#8f724a414b1246b2bfd56ca5225d9e1f39540d82" - integrity sha512-CKlngyGP0fwlgC1BRUtPZSiWLBhyS9dKwKmyGxk8Z6M82LBEGB2aLQSg+U1MyLsU+M7UjnlLllBM2BLWKVm/Uw== +"@jest/types@^29.4.3": + version "29.4.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.4.3.tgz#9069145f4ef09adf10cec1b2901b2d390031431f" + integrity sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA== dependencies: - "@jest/schemas" "^29.4.2" + "@jest/schemas" "^29.4.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -1192,9 +1198,9 @@ url-parse "^1.5.3" "@sinclair/typebox@^0.25.16": - version "0.25.21" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.21.tgz#763b05a4b472c93a8db29b2c3e359d55b29ce272" - integrity sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g== + version "0.25.22" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.22.tgz#2808d895e9c2722b20a622a9c8cb332f6720eb4a" + integrity sha512-6U6r2L7rnM7EG8G1tWzIjdB3QlsHF4slgcqXNN/SF0xJOAr0nDmT2GedlkyO3mrv8mDTJ24UuOMWR3diBrCvQQ== "@sindresorhus/fnv1a@^2.0.1": version "2.0.1" @@ -1331,14 +1337,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.51.0": - version "5.51.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz#da3f2819633061ced84bb82c53bba45a6fe9963a" - integrity sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ== +"@typescript-eslint/eslint-plugin@^5.52.0": + version "5.52.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8" + integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg== dependencies: - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/type-utils" "5.51.0" - "@typescript-eslint/utils" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/type-utils" "5.52.0" + "@typescript-eslint/utils" "5.52.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1347,72 +1353,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.51.0": - version "5.51.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.51.0.tgz#2d74626652096d966ef107f44b9479f02f51f271" - integrity sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA== +"@typescript-eslint/parser@^5.52.0": + version "5.52.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" + integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== dependencies: - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.51.0": - version "5.51.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz#ad3e3c2ecf762d9a4196c0fbfe19b142ac498990" - integrity sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ== +"@typescript-eslint/scope-manager@5.52.0": + version "5.52.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" + integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== dependencies: - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/visitor-keys" "5.51.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" -"@typescript-eslint/type-utils@5.51.0": - version "5.51.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz#7af48005531700b62a20963501d47dfb27095988" - integrity sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ== +"@typescript-eslint/type-utils@5.52.0": + version "5.52.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa" + integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw== dependencies: - "@typescript-eslint/typescript-estree" "5.51.0" - "@typescript-eslint/utils" "5.51.0" + "@typescript-eslint/typescript-estree" "5.52.0" + "@typescript-eslint/utils" "5.52.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.51.0": - version "5.51.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz#e7c1622f46c7eea7e12bbf1edfb496d4dec37c90" - integrity sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw== +"@typescript-eslint/types@5.52.0": + version "5.52.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" + integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== -"@typescript-eslint/typescript-estree@5.51.0": - version "5.51.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz#0ec8170d7247a892c2b21845b06c11eb0718f8de" - integrity sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA== +"@typescript-eslint/typescript-estree@5.52.0": + version "5.52.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" + integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== dependencies: - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/visitor-keys" "5.51.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.51.0": - version "5.51.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz#074f4fabd5b12afe9c8aa6fdee881c050f8b4d47" - integrity sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw== +"@typescript-eslint/utils@5.52.0": + version "5.52.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" + integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.51.0": - version "5.51.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz#c0147dd9a36c0de758aaebd5b48cae1ec59eba87" - integrity sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ== +"@typescript-eslint/visitor-keys@5.52.0": + version "5.52.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" + integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== dependencies: - "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/types" "5.52.0" eslint-visitor-keys "^3.3.0" accepts@~1.3.8: @@ -1509,15 +1515,15 @@ array-union@^2.1.0: resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -babel-jest@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.4.2.tgz#b17b9f64be288040877cbe2649f91ac3b63b2ba6" - integrity sha512-vcghSqhtowXPG84posYkkkzcZsdayFkubUgbE3/1tuGbX7AQtwCkkNA/wIbB0BMjuCPoqTkiDyKN7Ty7d3uwNQ== +babel-jest@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.4.3.tgz#478b84d430972b277ad67dd631be94abea676792" + integrity sha512-o45Wyn32svZE+LnMVWv/Z4x0SwtLbh4FyGcYtR20kIWd+rdrDZ9Fzq8Ml3MYLD+mZvEdzCjZsCnYZ2jpJyQ+Nw== dependencies: - "@jest/transform" "^29.4.2" + "@jest/transform" "^29.4.3" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.4.2" + babel-preset-jest "^29.4.3" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -1533,10 +1539,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.2.tgz#22aa43e255230f02371ffef1cac7eedef58f60bc" - integrity sha512-5HZRCfMeWypFEonRbEkwWXtNS1sQK159LhRVyRuLzyfVBxDy/34Tr/rg4YVi0SScSJ4fqeaR/OIeceJ/LaQ0pQ== +babel-plugin-jest-hoist@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.3.tgz#ad1dfb5d31940957e00410ef7d9b2aa94b216101" + integrity sha512-mB6q2q3oahKphy5V7CpnNqZOCkxxZ9aokf1eh82Dy3jQmg4xvM1tGrh5y6BQUJh4a3Pj9+eLfwvAZ7VNKg7H8Q== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -1561,12 +1567,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.4.2.tgz#f0b20c6a79a9f155515e72a2d4f537fe002a4e38" - integrity sha512-ecWdaLY/8JyfUDr0oELBMpj3R5I1L6ZqG+kRJmwqfHtLWuPrJStR0LUkvUhfykJWTsXXMnohsayN/twltBbDrQ== +babel-preset-jest@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.4.3.tgz#bb926b66ae253b69c6e3ef87511b8bb5c53c5b52" + integrity sha512-gWx6COtSuma6n9bw+8/F+2PCXrIgxV/D1TJFnp6OyBK2cxPWg0K9p/sriNYeifKjpUkMViWQ09DSWtzJQRETsw== dependencies: - babel-plugin-jest-hoist "^29.4.2" + babel-plugin-jest-hoist "^29.4.3" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -1687,9 +1693,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001449: - version "1.0.30001451" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz#2e197c698fc1373d63e1406d6607ea4617c613f1" - integrity sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w== + version "1.0.30001452" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001452.tgz#dff7b8bb834b3a91808f0a9ff0453abb1fbba02a" + integrity sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w== chalk@^2.0.0: version "2.4.2" @@ -1881,66 +1887,66 @@ crypto-random-string@^2.0.0: resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -cspell-dictionary@6.23.1: - version "6.23.1" - resolved "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-6.23.1.tgz#d7f9eeaf03e6f48d4db3b31080a97880549ae94b" - integrity sha512-NFtrXnCxV4A2j36bklkkmgDBZCNwHUsMWM+OaWxTKhOyDo4tqkr/g28gQ/H6OkDkhR02ECtlEHpAlDd6Wu8TGg== +cspell-dictionary@6.26.1: + version "6.26.1" + resolved "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-6.26.1.tgz#cea8d235d702c6541101c1eef21d92aa05d504d4" + integrity sha512-aqH77WjJ2FrSUykh1uagi3RCw5Wsz+uiTPAZP+M0IjBmbJLjC3AXQL6mJ3CJkMWpcfU768N1heKoDXvsZF1ewQ== dependencies: - "@cspell/cspell-pipe" "6.23.1" - "@cspell/cspell-types" "6.23.1" - cspell-trie-lib "6.23.1" + "@cspell/cspell-pipe" "6.26.1" + "@cspell/cspell-types" "6.26.1" + cspell-trie-lib "6.26.1" fast-equals "^4.0.3" gensequence "^4.0.3" -cspell-gitignore@6.23.1: - version "6.23.1" - resolved "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.23.1.tgz#346dedee93f64965a9cc97e4dcde08679e2085c3" - integrity sha512-H7HfSHX6+laXW90wGuqpwWTbe0SZBkzQ+U5Dqp1KjaMcW97L8xrRB+p4qeFJkjAj6T6OcQNArbXizX79XlBhlQ== +cspell-gitignore@6.26.1: + version "6.26.1" + resolved "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.26.1.tgz#803d9d943a97eafec96ce9c550a03de78deaaa1d" + integrity sha512-HKsWPt/ozVrQbhz5s+4dQa/k5eLnbj/yPqUv/4gvIz8CHaq+LR06jr01AN9XNYxtuHWm+A1FgAFh0s+WRfAcYg== dependencies: - cspell-glob "6.23.1" + cspell-glob "6.26.1" find-up "^5.0.0" -cspell-glob@6.23.1, cspell-glob@^6.23.1: - version "6.23.1" - resolved "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.23.1.tgz#d296176a8a50a0c4299cd1f3855e248f83e5f076" - integrity sha512-ciVvcQd2/p7gjLi/0yV0yORq5gsscH/UmnRJfMUgr8wmLFrWvT3MqjCy8DuebuAV85m44FKh2IdbU25b3uD4Bg== +cspell-glob@6.26.1, cspell-glob@^6.26.1: + version "6.26.1" + resolved "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.26.1.tgz#f096c74c1c0a13506e64c39e38fc9f6366b41fc4" + integrity sha512-Gt5uQWtnTwXV4YBhI3rhxyAp9o2jDsrgsZgPEQzaNv47A4nd/eKCLjeE8PALj8/6P1mz2a3mXNS0V5zGMeLlnw== dependencies: micromatch "^4.0.5" -cspell-grammar@6.23.1: - version "6.23.1" - resolved "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.23.1.tgz#1c6d2e84df89c546255f76b0692d05df5b168955" - integrity sha512-I60E9EgMIajmG+gNlRCFmYJGYSyhcNdC5i+tZ7eL/ZUAxefTPODTYNIJ8G/MUnFeN0QAQXKhIybRTlZf8atHog== +cspell-grammar@6.26.1: + version "6.26.1" + resolved "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.26.1.tgz#d0fcdcfb23c2a56e4080ae9dd5ea4f90f8fa08b5" + integrity sha512-RcAZXEdWydSetCKj26mjfJ+hfMCOd3ap+9qxqLzYsEHAe9g/7CeYWpnGbpBZ/OUBXC85GdBkJEnNnC17Mc/z5A== dependencies: - "@cspell/cspell-pipe" "6.23.1" - "@cspell/cspell-types" "6.23.1" + "@cspell/cspell-pipe" "6.26.1" + "@cspell/cspell-types" "6.26.1" -cspell-io@6.23.1: - version "6.23.1" - resolved "https://registry.npmjs.org/cspell-io/-/cspell-io-6.23.1.tgz#bbf1f5b68a2de05576c0d803e4ec81e9874a8a2e" - integrity sha512-S7QlIGjGh+neLmaSiSHVrWliIGwovxMMGolG/RZhLO9kHDOdKtYMQxU1TA4pzzvh8YOd9+Gm5STbowld7GQifg== +cspell-io@6.26.1: + version "6.26.1" + resolved "https://registry.npmjs.org/cspell-io/-/cspell-io-6.26.1.tgz#4fe3d934b94585edeed662c0a3e4bedc96925a94" + integrity sha512-r0i1mrIBkh3GtycCGyfbH3B82gpFZ9CRhiqpRPwEDrnwB8gCGI2eSZ8eUEYoDMIq220eS1v9KbOsLd7owTmWcA== dependencies: - "@cspell/cspell-service-bus" "6.23.1" + "@cspell/cspell-service-bus" "6.26.1" node-fetch "^2.6.9" -cspell-lib@6.23.1: - version "6.23.1" - resolved "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.23.1.tgz#3c30840d582a726dc73e6e527c3cd1bf2f215828" - integrity sha512-exmBr4xe+IlwD+5VB+iHOWo93yt9Q7hbefYSor+xKlzw2aV25LvTx5ONWSeDWZKfjJsaLI1TToaIqIgSe81qxA== +cspell-lib@6.26.1: + version "6.26.1" + resolved "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.26.1.tgz#dd84af246ef75640929e1e88e21c22f40f01f968" + integrity sha512-erMGdlc0gEg1JQIie15/RJWDnA5UW00utMXJesQHZ3GGkjT1nVoH+GnQ94JjvSw6lBojcsX16ySwsk7/CgnM7w== dependencies: - "@cspell/cspell-bundled-dicts" "6.23.1" - "@cspell/cspell-pipe" "6.23.1" - "@cspell/cspell-types" "6.23.1" - "@cspell/strong-weak-map" "6.23.1" + "@cspell/cspell-bundled-dicts" "6.26.1" + "@cspell/cspell-pipe" "6.26.1" + "@cspell/cspell-types" "6.26.1" + "@cspell/strong-weak-map" "6.26.1" clear-module "^4.1.2" comment-json "^4.2.3" configstore "^5.0.1" cosmiconfig "^8.0.0" - cspell-dictionary "6.23.1" - cspell-glob "6.23.1" - cspell-grammar "6.23.1" - cspell-io "6.23.1" - cspell-trie-lib "6.23.1" + cspell-dictionary "6.26.1" + cspell-glob "6.26.1" + cspell-grammar "6.26.1" + cspell-io "6.26.1" + cspell-trie-lib "6.26.1" fast-equals "^4.0.3" find-up "^5.0.0" gensequence "^4.0.3" @@ -1950,27 +1956,27 @@ cspell-lib@6.23.1: vscode-languageserver-textdocument "^1.0.8" vscode-uri "^3.0.7" -cspell-trie-lib@6.23.1: - version "6.23.1" - resolved "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.23.1.tgz#478afdb6f341f313165f496242917859afe35b0e" - integrity sha512-PHDoUdyRAjLJAiDg/YMBPJ5gStiInaJu4N3kNsQpQWy2086n70ddh/GYjtFF58ewqjym3e/YCObV/PVfstwlFw== +cspell-trie-lib@6.26.1: + version "6.26.1" + resolved "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.26.1.tgz#ed8c9501630ccdb1749a6d07289b90f38160caab" + integrity sha512-WrVxOYqYrJmc+PSVXQwU+KCps7M2Vz9uIBTXrMMdpLXh47ZPUAtwdy2nyMexbPhJY3MWb14dvy27H1/Dp6gytw== dependencies: - "@cspell/cspell-pipe" "6.23.1" - "@cspell/cspell-types" "6.23.1" + "@cspell/cspell-pipe" "6.26.1" + "@cspell/cspell-types" "6.26.1" gensequence "^4.0.3" -cspell@^6.23.1: - version "6.23.1" - resolved "https://registry.npmjs.org/cspell/-/cspell-6.23.1.tgz#b0ae643645b0a28eec2372a87b3af073cfe4ab61" - integrity sha512-ZSvgYXZVceuKi7NSXRQQ70hd3ehY+PyKN7vbyGHfeQOCugnWB6tsjVLZIWtqOnhAi6Gr7e567B7aPAMiviOdXA== +cspell@^6.26.1: + version "6.26.1" + resolved "https://registry.npmjs.org/cspell/-/cspell-6.26.1.tgz#9fff785cba9462077a17a5c3706d26fb584f7f82" + integrity sha512-jYR1Z27yM47aaTjCAxBPmOiv1sODOCUPCpKXqHuIzPWqwCV7eswBND/gB/WieVzzcg21woNUcvH7FKHSfl78aA== dependencies: - "@cspell/cspell-pipe" "6.23.1" - "@cspell/dynamic-import" "6.23.1" + "@cspell/cspell-pipe" "6.26.1" + "@cspell/dynamic-import" "6.26.1" chalk "^4.1.2" commander "^10.0.0" - cspell-gitignore "6.23.1" - cspell-glob "6.23.1" - cspell-lib "6.23.1" + cspell-gitignore "6.26.1" + cspell-glob "6.26.1" + cspell-lib "6.26.1" fast-glob "^3.2.12" fast-json-stable-stringify "^2.1.0" file-entry-cache "^6.0.1" @@ -2029,10 +2035,10 @@ detect-newline@^3.0.0: resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.2.tgz#711fe6bd8a5869fe2539cee4a5152425ff671fda" - integrity sha512-R6P0Y6PrsH3n4hUXxL3nns0rbRk6Q33js3ygJBeEpbzLzgcNuJ61+u0RXasFpTKISw99TxUzFnumSnRLsjhLaw== +diff-sequences@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== dir-glob@^3.0.1: version "3.0.1" @@ -2061,9 +2067,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.284: - version "1.4.295" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz#911d5df67542bf7554336142eb302c5ec90bba66" - integrity sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw== + version "1.4.296" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.296.tgz#dbc84a25c25a432a12fbf62903cae4a87461eb8c" + integrity sha512-i/6Q+Y9bluDa2a0NbMvdtG5TuS/1Fr3TKK8L+7UUL9QjRS5iFJzCC3r70xjyOnLiYG8qGV4/mMpe6HuAbdJW4w== emittery@^0.13.1: version "0.13.1" @@ -2266,16 +2272,16 @@ exit@^0.1.2: resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expect@^29.0.0, expect@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/expect/-/expect-29.4.2.tgz#2ae34eb88de797c64a1541ad0f1e2ea8a7a7b492" - integrity sha512-+JHYg9O3hd3RlICG90OPVjRkPBoiUH7PxvDVMnRiaq1g6JUgZStX514erMl0v2Dc5SkfVbm7ztqbd6qHHPn+mQ== +expect@^29.0.0, expect@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/expect/-/expect-29.4.3.tgz#5e47757316df744fe3b8926c3ae8a3ebdafff7fe" + integrity sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg== dependencies: - "@jest/expect-utils" "^29.4.2" - jest-get-type "^29.4.2" - jest-matcher-utils "^29.4.2" - jest-message-util "^29.4.2" - jest-util "^29.4.2" + "@jest/expect-utils" "^29.4.3" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" express@^4.17.1: version "4.18.2" @@ -2792,284 +2798,283 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.4.2.tgz#bee1fafc8b620d6251423d1978a0080546bc4376" - integrity sha512-Qdd+AXdqD16PQa+VsWJpxR3kN0JyOCX1iugQfx5nUgAsI4gwsKviXkpclxOK9ZnwaY2IQVHz+771eAvqeOlfuw== +jest-changed-files@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.4.3.tgz#7961fe32536b9b6d5c28dfa0abcfab31abcf50a7" + integrity sha512-Vn5cLuWuwmi2GNNbokPOEcvrXGSGrqVnPEZV7rC6P7ck07Dyw9RFnvWglnupSh+hGys0ajGtw/bc2ZgweljQoQ== dependencies: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.4.2.tgz#2d00c04baefd0ee2a277014cd494d4b5970663ed" - integrity sha512-wW3ztp6a2P5c1yOc1Cfrt5ozJ7neWmqeXm/4SYiqcSriyisgq63bwFj1NuRdSR5iqS0CMEYwSZd89ZA47W9zUg== +jest-circus@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.4.3.tgz#fff7be1cf5f06224dd36a857d52a9efeb005ba04" + integrity sha512-Vw/bVvcexmdJ7MLmgdT3ZjkJ3LKu8IlpefYokxiqoZy6OCQ2VAm6Vk3t/qHiAGUXbdbJKJWnc8gH3ypTbB/OBw== dependencies: - "@jest/environment" "^29.4.2" - "@jest/expect" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/environment" "^29.4.3" + "@jest/expect" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^29.4.2" - jest-matcher-utils "^29.4.2" - jest-message-util "^29.4.2" - jest-runtime "^29.4.2" - jest-snapshot "^29.4.2" - jest-util "^29.4.2" + jest-each "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-runtime "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" p-limit "^3.1.0" - pretty-format "^29.4.2" + pretty-format "^29.4.3" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.4.2.tgz#94a2f913a0a7a49d11bee98ad88bf48baae941f4" - integrity sha512-b+eGUtXq/K2v7SH3QcJvFvaUaCDS1/YAZBYz0m28Q/Ppyr+1qNaHmVYikOrbHVbZqYQs2IeI3p76uy6BWbXq8Q== +jest-cli@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.4.3.tgz#fe31fdd0c90c765f392b8b7c97e4845071cd2163" + integrity sha512-PiiAPuFNfWWolCE6t3ZrDXQc6OsAuM3/tVW0u27UWc1KE+n/HSn5dSE6B2juqN7WP+PP0jAcnKtGmI4u8GMYCg== dependencies: - "@jest/core" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/core" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^29.4.2" - jest-util "^29.4.2" - jest-validate "^29.4.2" + jest-config "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" prompts "^2.0.1" yargs "^17.3.1" -jest-config@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.4.2.tgz#15386dd9ed2f7059516915515f786b8836a98f07" - integrity sha512-919CtnXic52YM0zW4C1QxjG6aNueX1kBGthuMtvFtRTAxhKfJmiXC9qwHmi6o2josjbDz8QlWyY55F1SIVmCWA== +jest-config@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.4.3.tgz#fca9cdfe6298ae6d04beef1624064d455347c978" + integrity sha512-eCIpqhGnIjdUCXGtLhz4gdDoxKSWXKjzNcc5r+0S1GKOp2fwOipx5mRcwa9GB/ArsxJ1jlj2lmlD9bZAsBxaWQ== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.4.2" - "@jest/types" "^29.4.2" - babel-jest "^29.4.2" + "@jest/test-sequencer" "^29.4.3" + "@jest/types" "^29.4.3" + babel-jest "^29.4.3" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^29.4.2" - jest-environment-node "^29.4.2" - jest-get-type "^29.4.2" - jest-regex-util "^29.4.2" - jest-resolve "^29.4.2" - jest-runner "^29.4.2" - jest-util "^29.4.2" - jest-validate "^29.4.2" + jest-circus "^29.4.3" + jest-environment-node "^29.4.3" + jest-get-type "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-runner "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^29.4.2" + pretty-format "^29.4.3" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.4.2.tgz#b88502d5dc02d97f6512d73c37da8b36f49b4871" - integrity sha512-EK8DSajVtnjx9sa1BkjZq3mqChm2Cd8rIzdXkQMA8e0wuXq53ypz6s5o5V8HRZkoEt2ywJ3eeNWFKWeYr8HK4g== +jest-diff@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.4.3.tgz#42f4eb34d0bf8c0fb08b0501069b87e8e84df347" + integrity sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA== dependencies: chalk "^4.0.0" - diff-sequences "^29.4.2" - jest-get-type "^29.4.2" - pretty-format "^29.4.2" + diff-sequences "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-docblock@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.2.tgz#c78a95eedf9a24c0a6cc16cf2abdc4b8b0f2531b" - integrity sha512-dV2JdahgClL34Y5vLrAHde3nF3yo2jKRH+GIYJuCpfqwEJZcikzeafVTGAjbOfKPG17ez9iWXwUYp7yefeCRag== +jest-docblock@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8" + integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg== dependencies: detect-newline "^3.0.0" -jest-each@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.4.2.tgz#e1347aff1303f4c35470827a62c029d389c5d44a" - integrity sha512-trvKZb0JYiCndc55V1Yh0Luqi7AsAdDWpV+mKT/5vkpnnFQfuQACV72IoRV161aAr6kAVIBpmYzwhBzm34vQkA== +jest-each@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.4.3.tgz#a434c199a2f6151c5e3dc80b2d54586bdaa72819" + integrity sha512-1ElHNAnKcbJb/b+L+7j0/w7bDvljw4gTv1wL9fYOczeJrbTbkMGQ5iQPFJ3eFQH19VPTx1IyfePdqSpePKss7Q== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" chalk "^4.0.0" - jest-get-type "^29.4.2" - jest-util "^29.4.2" - pretty-format "^29.4.2" - -jest-environment-node@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.4.2.tgz#0eab835b41e25fd0c1a72f62665fc8db08762ad2" - integrity sha512-MLPrqUcOnNBc8zTOfqBbxtoa8/Ee8tZ7UFW7hRDQSUT+NGsvS96wlbHGTf+EFAT9KC3VNb7fWEM6oyvmxtE/9w== - dependencies: - "@jest/environment" "^29.4.2" - "@jest/fake-timers" "^29.4.2" - "@jest/types" "^29.4.2" + jest-get-type "^29.4.3" + jest-util "^29.4.3" + pretty-format "^29.4.3" + +jest-environment-node@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.4.3.tgz#579c4132af478befc1889ddc43c2413a9cdbe014" + integrity sha512-gAiEnSKF104fsGDXNkwk49jD/0N0Bqu2K9+aMQXA6avzsA9H3Fiv1PW2D+gzbOSR705bWd2wJZRFEFpV0tXISg== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/fake-timers" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-mock "^29.4.2" - jest-util "^29.4.2" + jest-mock "^29.4.3" + jest-util "^29.4.3" -jest-get-type@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.2.tgz#7cb63f154bca8d8f57364d01614477d466fa43fe" - integrity sha512-vERN30V5i2N6lqlFu4ljdTqQAgrkTFMC9xaIIfOPYBw04pufjXRty5RuXBiB1d72tGbURa/UgoiHB90ruOSivg== +jest-get-type@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== -jest-haste-map@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.4.2.tgz#9112df3f5121e643f1b2dcbaa86ab11b0b90b49a" - integrity sha512-WkUgo26LN5UHPknkezrBzr7lUtV1OpGsp+NfXbBwHztsFruS3gz+AMTTBcEklvi8uPzpISzYjdKXYZQJXBnfvw== +jest-haste-map@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.4.3.tgz#085a44283269e7ace0645c63a57af0d2af6942e2" + integrity sha512-eZIgAS8tvm5IZMtKlR8Y+feEOMfo2pSQkmNbufdbMzMSn9nitgGxF1waM/+LbryO3OkMcKS98SUb+j/cQxp/vQ== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^29.4.2" - jest-util "^29.4.2" - jest-worker "^29.4.2" + jest-regex-util "^29.4.3" + jest-util "^29.4.3" + jest-worker "^29.4.3" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.4.2.tgz#8f05c6680e0cb46a1d577c0d3da9793bed3ea97b" - integrity sha512-Wa62HuRJmWXtX9F00nUpWlrbaH5axeYCdyRsOs/+Rb1Vb6+qWTlB5rKwCCRKtorM7owNwKsyJ8NRDUcZ8ghYUA== +jest-leak-detector@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.4.3.tgz#2b35191d6b35aa0256e63a9b79b0f949249cf23a" + integrity sha512-9yw4VC1v2NspMMeV3daQ1yXPNxMgCzwq9BocCwYrRgXe4uaEJPAN0ZK37nFBhcy3cUwEVstFecFLaTHpF7NiGA== dependencies: - jest-get-type "^29.4.2" - pretty-format "^29.4.2" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-matcher-utils@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.4.2.tgz#08d0bf5abf242e3834bec92c7ef5071732839e85" - integrity sha512-EZaAQy2je6Uqkrm6frnxBIdaWtSYFoR8SVb2sNLAtldswlR/29JAgx+hy67llT3+hXBaLB0zAm5UfeqerioZyg== +jest-matcher-utils@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.4.3.tgz#ea68ebc0568aebea4c4213b99f169ff786df96a0" + integrity sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg== dependencies: chalk "^4.0.0" - jest-diff "^29.4.2" - jest-get-type "^29.4.2" - pretty-format "^29.4.2" + jest-diff "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-message-util@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.4.2.tgz#309a2924eae6ca67cf7f25781a2af1902deee717" - integrity sha512-SElcuN4s6PNKpOEtTInjOAA8QvItu0iugkXqhYyguRvQoXapg5gN+9RQxLAkakChZA7Y26j6yUCsFWN+hlKD6g== +jest-message-util@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.4.3.tgz#65b5280c0fdc9419503b49d4f48d4999d481cb5b" + integrity sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.4.2" + pretty-format "^29.4.3" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.4.2.tgz#e1054be66fb3e975d26d4528fcde6979e4759de8" - integrity sha512-x1FSd4Gvx2yIahdaIKoBjwji6XpboDunSJ95RpntGrYulI1ByuYQCKN/P7hvk09JB74IonU3IPLdkutEWYt++g== +jest-mock@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.4.3.tgz#23d84a20a74cdfff0510fdbeefb841ed57b0fe7e" + integrity sha512-LjFgMg+xed9BdkPMyIJh+r3KeHt1klXPJYBULXVVAkbTaaKjPX1o1uVCAZADMEp/kOxGTwy/Ot8XbvgItOrHEg== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-util "^29.4.2" + jest-util "^29.4.3" jest-pnp-resolver@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== -jest-regex-util@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.2.tgz#19187cca35d301f8126cf7a021dd4dcb7b58a1ca" - integrity sha512-XYZXOqUl1y31H6VLMrrUL1ZhXuiymLKPz0BO1kEeR5xER9Tv86RZrjTm74g5l9bPJQXA/hyLdaVPN/sdqfteig== +jest-regex-util@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" + integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== -jest-resolve-dependencies@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.2.tgz#6359db606f5967b68ca8bbe9dbc07a4306c12bf7" - integrity sha512-6pL4ptFw62rjdrPk7rRpzJYgcRqRZNsZTF1VxVTZMishbO6ObyWvX57yHOaNGgKoADtAHRFYdHQUEvYMJATbDg== +jest-resolve-dependencies@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.3.tgz#9ad7f23839a6d88cef91416bda9393a6e9fd1da5" + integrity sha512-uvKMZAQ3nmXLH7O8WAOhS5l0iWyT3WmnJBdmIHiV5tBbdaDZ1wqtNX04FONGoaFvSOSHBJxnwAVnSn1WHdGVaw== dependencies: - jest-regex-util "^29.4.2" - jest-snapshot "^29.4.2" + jest-regex-util "^29.4.3" + jest-snapshot "^29.4.3" -jest-resolve@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.4.2.tgz#8831f449671d08d161fe493003f61dc9b55b808e" - integrity sha512-RtKWW0mbR3I4UdkOrW7552IFGLYQ5AF9YrzD0FnIOkDu0rAMlA5/Y1+r7lhCAP4nXSBTaE7ueeqj6IOwZpgoqw== +jest-resolve@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.4.3.tgz#3c5b5c984fa8a763edf9b3639700e1c7900538e2" + integrity sha512-GPokE1tzguRyT7dkxBim4wSx6E45S3bOQ7ZdKEG+Qj0Oac9+6AwJPCk0TZh5Vu0xzeX4afpb+eDmgbmZFFwpOw== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.2" + jest-haste-map "^29.4.3" jest-pnp-resolver "^1.2.2" - jest-util "^29.4.2" - jest-validate "^29.4.2" + jest-util "^29.4.3" + jest-validate "^29.4.3" resolve "^1.20.0" resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.4.2.tgz#2bcecf72303369df4ef1e6e983c22a89870d5125" - integrity sha512-wqwt0drm7JGjwdH+x1XgAl+TFPH7poowMguPQINYxaukCqlczAcNLJiK+OLxUxQAEWMdy+e6nHZlFHO5s7EuRg== +jest-runner@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.4.3.tgz#68dc82c68645eda12bea42b5beece6527d7c1e5e" + integrity sha512-GWPTEiGmtHZv1KKeWlTX9SIFuK19uLXlRQU43ceOQ2hIfA5yPEJC7AMkvFKpdCHx6pNEdOD+2+8zbniEi3v3gA== dependencies: - "@jest/console" "^29.4.2" - "@jest/environment" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/console" "^29.4.3" + "@jest/environment" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^29.4.2" - jest-environment-node "^29.4.2" - jest-haste-map "^29.4.2" - jest-leak-detector "^29.4.2" - jest-message-util "^29.4.2" - jest-resolve "^29.4.2" - jest-runtime "^29.4.2" - jest-util "^29.4.2" - jest-watcher "^29.4.2" - jest-worker "^29.4.2" + jest-docblock "^29.4.3" + jest-environment-node "^29.4.3" + jest-haste-map "^29.4.3" + jest-leak-detector "^29.4.3" + jest-message-util "^29.4.3" + jest-resolve "^29.4.3" + jest-runtime "^29.4.3" + jest-util "^29.4.3" + jest-watcher "^29.4.3" + jest-worker "^29.4.3" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.4.2.tgz#d86b764c5b95d76cb26ed1f32644e99de5d5c134" - integrity sha512-3fque9vtpLzGuxT9eZqhxi+9EylKK/ESfhClv4P7Y9sqJPs58LjVhTt8jaMp/pRO38agll1CkSu9z9ieTQeRrw== - dependencies: - "@jest/environment" "^29.4.2" - "@jest/fake-timers" "^29.4.2" - "@jest/globals" "^29.4.2" - "@jest/source-map" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" +jest-runtime@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.4.3.tgz#f25db9874dcf35a3ab27fdaabca426666cc745bf" + integrity sha512-F5bHvxSH+LvLV24vVB3L8K467dt3y3dio6V3W89dUz9nzvTpqd/HcT9zfYKL2aZPvD63vQFgLvaUX/UpUhrP6Q== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/fake-timers" "^29.4.3" + "@jest/globals" "^29.4.3" + "@jest/source-map" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^29.4.2" - jest-message-util "^29.4.2" - jest-mock "^29.4.2" - jest-regex-util "^29.4.2" - jest-resolve "^29.4.2" - jest-snapshot "^29.4.2" - jest-util "^29.4.2" - semver "^7.3.5" + jest-haste-map "^29.4.3" + jest-message-util "^29.4.3" + jest-mock "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.4.2.tgz#ba1fb9abb279fd2c85109ff1757bc56b503bbb3a" - integrity sha512-PdfubrSNN5KwroyMH158R23tWcAXJyx4pvSvWls1dHoLCaUhGul9rsL3uVjtqzRpkxlkMavQjGuWG1newPgmkw== +jest-snapshot@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.4.3.tgz#183d309371450d9c4a3de7567ed2151eb0e91145" + integrity sha512-NGlsqL0jLPDW91dz304QTM/SNO99lpcSYYAjNiX0Ou+sSGgkanKBcSjCfp/pqmiiO1nQaOyLp6XQddAzRcx3Xw== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" @@ -3077,82 +3082,82 @@ jest-snapshot@^29.4.2: "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/expect-utils" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^29.4.2" + expect "^29.4.3" graceful-fs "^4.2.9" - jest-diff "^29.4.2" - jest-get-type "^29.4.2" - jest-haste-map "^29.4.2" - jest-matcher-utils "^29.4.2" - jest-message-util "^29.4.2" - jest-util "^29.4.2" + jest-diff "^29.4.3" + jest-get-type "^29.4.3" + jest-haste-map "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" natural-compare "^1.4.0" - pretty-format "^29.4.2" + pretty-format "^29.4.3" semver "^7.3.5" -jest-util@^29.0.0, jest-util@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.4.2.tgz#3db8580b295df453a97de4a1b42dd2578dabd2c2" - integrity sha512-wKnm6XpJgzMUSRFB7YF48CuwdzuDIHenVuoIb1PLuJ6F+uErZsuDkU+EiExkChf6473XcawBrSfDSnXl+/YG4g== +jest-util@^29.0.0, jest-util@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.4.3.tgz#851a148e23fc2b633c55f6dad2e45d7f4579f496" + integrity sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.4.2.tgz#3b3f8c4910ab9a3442d2512e2175df6b3f77b915" - integrity sha512-tto7YKGPJyFbhcKhIDFq8B5od+eVWD/ySZ9Tvcp/NGCvYA4RQbuzhbwYWtIjMT5W5zA2W0eBJwu4HVw34d5G6Q== +jest-validate@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.4.3.tgz#a13849dec4f9e95446a7080ad5758f58fa88642f" + integrity sha512-J3u5v7aPQoXPzaar6GndAVhdQcZr/3osWSgTeKg5v574I9ybX/dTyH0AJFb5XgXIB7faVhf+rS7t4p3lL9qFaw== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^29.4.2" + jest-get-type "^29.4.3" leven "^3.1.0" - pretty-format "^29.4.2" + pretty-format "^29.4.3" -jest-watcher@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.4.2.tgz#09c0f4c9a9c7c0807fcefb1445b821c6f7953b7c" - integrity sha512-onddLujSoGiMJt+tKutehIidABa175i/Ays+QvKxCqBwp7fvxP3ZhKsrIdOodt71dKxqk4sc0LN41mWLGIK44w== +jest-watcher@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.4.3.tgz#e503baa774f0c2f8f3c8db98a22ebf885f19c384" + integrity sha512-zwlXH3DN3iksoIZNk73etl1HzKyi5FuQdYLnkQKm5BW4n8HpoG59xSwpVdFrnh60iRRaRBGw0gcymIxjJENPcA== dependencies: - "@jest/test-result" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.13.1" - jest-util "^29.4.2" + jest-util "^29.4.3" string-length "^4.0.1" -jest-worker@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.4.2.tgz#d9b2c3bafc69311d84d94e7fb45677fc8976296f" - integrity sha512-VIuZA2hZmFyRbchsUCHEehoSf2HEl0YVF8SDJqtPnKorAaBuh42V8QsLnde0XP5F6TyCynGPEGgBOn3Fc+wZGw== +jest-worker@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.4.3.tgz#9a4023e1ea1d306034237c7133d7da4240e8934e" + integrity sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA== dependencies: "@types/node" "*" - jest-util "^29.4.2" + jest-util "^29.4.3" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/jest/-/jest-29.4.2.tgz#4c2127d03a71dc187f386156ef155dbf323fb7be" - integrity sha512-+5hLd260vNIHu+7ZgMIooSpKl7Jp5pHKb51e73AJU3owd5dEo/RfVwHbA/na3C/eozrt3hJOLGf96c7EWwIAzg== +jest@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/jest/-/jest-29.4.3.tgz#1b8be541666c6feb99990fd98adac4737e6e6386" + integrity sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA== dependencies: - "@jest/core" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/core" "^29.4.3" + "@jest/types" "^29.4.3" import-local "^3.0.2" - jest-cli "^29.4.2" + jest-cli "^29.4.3" js-sdsl@^4.1.4: version "4.3.0" @@ -3644,12 +3649,12 @@ prettier@^2.8.4: resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== -pretty-format@^29.0.0, pretty-format@^29.4.2: - version "29.4.2" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.4.2.tgz#64bf5ccc0d718c03027d94ac957bdd32b3fb2401" - integrity sha512-qKlHR8yFVCbcEWba0H0TOC8dnLlO4vPlyEjRPw31FZ2Rupy9nLa8ZLbYny8gWEl8CkEhJqAE6IzdNELTBVcBEg== +pretty-format@^29.0.0, pretty-format@^29.4.3: + version "29.4.3" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" + integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== dependencies: - "@jest/schemas" "^29.4.2" + "@jest/schemas" "^29.4.3" ansi-styles "^5.0.0" react-is "^18.0.0" @@ -4199,9 +4204,9 @@ uuid@^8.3.2: integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== v8-to-istanbul@^9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" - integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== + version "9.1.0" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" + integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1"