Releases: streetsidesoftware/cspell
v8.4.0
Important Remarks
-
Support for ESLint flat configuration files - (#5270)
eslint.config.js
import cspellESLintPluginRecommended from '@cspell/eslint-plugin/recommended'; export default [ // other config imports cspellESLintPluginRecommended, // other configs ];
Features
feat: Support complex word lists (#5233)
feat: Support complex word lists (#5233)
fixes: #5222
The binary dictionary builder (TrieBlob) only supported word lists with 250 unique characters.
This was not an issue with the object based trie dictionaries used with the compiled dictionaries.
feat: Support ESLint flat config (#5270)
feat: Support ESLint flat config (#5270)
This feature add support for ESLint flat file configuration.
Configuration (new: eslint.config.js
)
eslint.config.js
using recommended.
import cspellESLintPluginRecommended from '@cspell/eslint-plugin/recommended';
export default [
// other config imports
cspellESLintPluginRecommended,
// other configs
];
Or
eslint.config.js
using configs.
import cspellConfigs from '@cspell/eslint-plugin/configs';
export default [
// other config imports
cspellConfigs.recommended,
// other configs
];
Or
eslint.config.js
using plugins
import cspellPlugin from '@cspell/eslint-plugin';
export default [
// other config imports
{
plugins: { '@cspell': cspellPlugin },
rules: {
'@cspell/spellchecker': ['warn', {}],
},
},
// other configs
];
Configuration (Legacy: .eslintrc
)
Add "plugin:@cspell/recommended"
to the extends
section of the configuration.
.eslintrc
{
"extends": ["plugin:@cspell/recommended"]
}
feat: Support sharing cache between windows and linux (#5267)
feat: Support sharing cache between windows and linux (#5267)
fixes: #5246
- Defaults to the
universal
format instead of legacy. - Path separators are converted to
/
before being stored.
feat: Add `language` option to cspell eslint plugin (#5251)
feat: Add language
option to cspell eslint plugin (#5251)
fixes: #5232
Fixes
dev: Work on supporting more complex dictionaries like Hungarian. (#5199)
dev: Work on supporting more complex dictionaries like Hungarian. (#5199)
This first PR is mostly a bit of refactoring. No real external changes are available.
Gist:
- Performance: Reduce the amount of overhead generating the words.
- Internally, use an array of rule indexes instead of a string that needs to be constantly manipulated to determine which rules to apply.
- Looking into exporting a suffix tree instead of a list of words. The idea is to make it easier to convert the dictionary into a Trie.
Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#5237)
fix: Workflow Bot -- Update Dictionaries (main) (#5237)
Update Dictionaries (main)
Summary
.../snapshots/eslint/eslint/report.yaml | 4 +---
.../snapshots/eslint/eslint/snapshot.txt | 3 +--
.../snapshots/gitbucket/gitbucket/report.yaml | 7 ++----
.../snapshots/gitbucket/gitbucket/snapshot.txt | 5 +----
.../iluwatar/java-design-patterns/report.yaml | 3 +--
.../iluwatar/java-design-patterns/snapshot.txt | 3 +--
integration-tests/snapshots/mdx-js/mdx/report.yaml | 4 +---
.../snapshots/mdx-js/mdx/snapshot.txt | 4 +---
.../microsoft/TypeScript-Website/report.yaml | 3 +--
.../microsoft/TypeScript-Website/snapshot.txt | 3 +--
.../snapshots/sveltejs/svelte/report.yaml | 3 +--
.../snapshots/sveltejs/svelte/snapshot.txt | 3 +--
.../snapshots/wireapp/wire-webapp/report.yaml | 6 ++----
.../snapshots/wireapp/wire-webapp/snapshot.txt | 4 +---
packages/cspell-bundled-dicts/package.json | 6 +++---
pnpm-lock.yaml | 25 +++++++++++++---------
16 files changed, 34 insertions(+), 52 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5212)
fix: Workflow Bot -- Update Dictionaries (main) (#5212)
Update Dictionaries (main)
Summary
integration-tests/snapshots/RustPython/RustPython/report.yaml | 3 ++-
integration-tests/snapshots/RustPython/RustPython/snapshot.txt | 3 ++-
packages/cspell-bundled-dicts/package.json | 2 +-
pnpm-lock.yaml | 9 +++++++--
4 files changed, 12 insertions(+), 5 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5200)
fix: Workflow Bot -- Update Dictionaries (main) (#5200)
Update Dictionaries (main)
Summary
packages/cspell-bundled-dicts/package.json | 6 +++---
pnpm-lock.yaml | 26 ++++++++++++++++++--------
2 files changed, 21 insertions(+), 11 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5182)
fix: Workflow Bot -- Update Dictionaries (main) (#5182)
Update Dictionaries (main)
Summary
integration-tests/snapshots/aws-amplify/docs/report.yaml | 5 +++--
integration-tests/snapshots/aws-amplify/docs/snapshot.txt | 3 ++-
packages/cspell-bundled-dicts/package.json | 2 +-
pnpm-lock.yaml | 9 +++++++--
4 files changed, 13 insertions(+), 6 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5180)
fix: Workflow Bot -- Update Dictionaries (main) (#5180)
Update Dictionaries (main)
Summary
packages/cspell-bundled-dicts/package.json | 4 ++--
pnpm-lock.yaml | 16 ++++++++--------
2 files changed, 10 insertions(+), 10 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5171)
fix: Workflow Bot -- Update Dictionaries (main) (#5171)
Update Dictionaries (main)
Summary
packages/cspell-bundled-dicts/package.json | 4 ++--
pnpm-lock.yaml | 16 ++++++++--------
2 files changed, 10 insertions(+), 10 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5148)
fix: Workflow Bot -- Update Dictionaries (main) (#5148)
Update Dictionaries (main)
Summary
.../MicrosoftDocs/PowerShell-Docs/report.yaml | 3 +-
.../MicrosoftDocs/PowerShell-Docs/snapshot.txt | 3 +-
.../snapshots/RustPython/RustPython/report.yaml | 50 ++--------------------
.../snapshots/RustPython/RustPython/snapshot.txt | 46 +-------------------
.../snapshots/alexiosc/megistos/report.yaml | 4 +-
.../snapshots/alexiosc/megistos/snapshot.txt | 4 +-
.../snapshots/eslint/eslint/report.yaml | 4 +-
.../snapshots/eslint/eslint/snapshot.txt | 3 +-
.../snapshots/php/php-src/report.yaml | 3 +-
.../snapshots/php/php-src/snapshot.txt | 3 +-
packages/cspell-bundled-dicts/package.json | 4 +-
pnpm-lock.yaml | 17 +++++---
12 files changed, 25 insertions(+), 119 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5143)
fix: Workflow Bot -- Update Dictionaries (main) (#5143)
Update Dictionaries (main)
Summary
.../snapshots/RustPython/RustPython/report.yaml | 83 ++++++++++++++++++--
.../snapshots/RustPython/RustPython/snapshot.txt | 89 +++++++++++++++++++---
.../snapshots/alexiosc/megistos/report.yaml | 29 ++++++-
.../snapshots/alexiosc/megistos/snapshot.txt | 41 ++++++++--
packages/cspell-bundled-dicts/package.json | 2 +-
.../cspell/src/app/__snapshots__/app.test.ts.snap | 8 +-
pnpm-lock.yaml | 9 ++-
7 files changed, 226 insertions(+), 35 deletions(-)
v8.3.2
v8.3.1
Changes
Fixes
fix: Workflow Bot -- Update Dictionaries (main) (#5131)
fix: Workflow Bot -- Update Dictionaries (main) (#5131)
Update Dictionaries (main)
Summary
packages/cspell-bundled-dicts/package.json | 2 +-
pnpm-lock.yaml | 9 +++++++--
2 files changed, 8 insertions(+), 3 deletions(-)
Dictionary Updates
v8.3.0
Changes
Features
feat: Add untrusted mode to the config loader (#5127)
feat: Add untrusted mode to the config loader (#5127)
There are times it is necessary to prevent loading JavaScript based configuration.
It is now possible to switch the config loader into untrusted mode. In this mode, the loader will not load JavaScript files outside of the CSpell configuration.
This is to support: Workspace Trust Extension Guide | Visual Studio Code Extension API
feat: Support calling a function to get the config (#5126)
feat: Support calling a function to get the config (#5126)
With the release of v8.3.0 it will be possible to return a function from cspell.config.js
files. This function will be called to get the configuration. It can return a Config Object or Promise that resolves to a Config Object.
Example:
cspell.config.mjs
import { readFile } from 'node:fs/promises';
/**
* @returns {Promise<import('@cspell/cspell-types').CSpellUserSettings>}
*/
export default async function getConfig() {
const words = (await readFile(new URL('requirements.txt', import.meta.url), 'utf8'))
.replace(/[.,]|([=<>].*)/g, ' ')
.split(/\s+/g);
return { id: 'python-imports', words };
}
Dictionary Updates
v8.2.4
Changes
Fixes
fix: handle symbolic links to config files (#5122)
fix: handle symbolic links to config files (#5122)
fixes #5120
fix: API: Update DocValidator (#5115)
fix: API: Update DocValidator (#5115)
Add/expose:
- trace - to trace a word to a dictionary
- getCheckedTextRanges
fix: Workflow Bot -- Update Dictionaries (main) (#5114)
fix: Workflow Bot -- Update Dictionaries (main) (#5114)
Update Dictionaries (main)
Summary
packages/cspell-bundled-dicts/package.json | 10 ++---
.../cspell/src/app/__snapshots__/app.test.ts.snap | 1 +
pnpm-lock.yaml | 43 +++++++++++++---------
3 files changed, 31 insertions(+), 23 deletions(-)
fix: Improve caching of dictionaries (#5105)
fix: Improve caching of dictionaries (#5105)
This change reduces dictionary reload for long running processes.
The dictionary loader uses a WeakMap to keep dictionaries. This is very effective for keeping the memory size down when using the command-line tool. But, it also throws out dictionaries too soon when the spell checker is used as part of a server. To address this, the dictionary loader keep the most recent 10-20 loaded dictionaries in memory.
Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#5114)
fix: Workflow Bot -- Update Dictionaries (main) (#5114)
Update Dictionaries (main)
Summary
packages/cspell-bundled-dicts/package.json | 10 ++---
.../cspell/src/app/__snapshots__/app.test.ts.snap | 1 +
pnpm-lock.yaml | 43 +++++++++++++---------
3 files changed, 31 insertions(+), 23 deletions(-)
v8.2.3
Changes
Fixes
fix: Improve performance by reducing FS requests (#5103)
fix: Improve performance by reducing FS reqeusts (#5103)
fix: correct the URI encoding (#5102)
fix: correct the URI encoding (#5102)
The uri encoding was overly aggressive.
This change only has an impact if there are special characters in the path.
Like: @$&+,=
.
fix: Workflow Bot -- Update Dictionaries (main) (#5096)
fix: Workflow Bot -- Update Dictionaries (main) (#5096)
Update Dictionaries (main)
Summary
.../Azure/azure-rest-api-specs/report.yaml | 5 +-
.../Azure/azure-rest-api-specs/snapshot.txt | 3 +-
.../snapshots/django/django/report.yaml | 3 +-
.../snapshots/django/django/snapshot.txt | 3 +-
.../snapshots/eslint/eslint/report.yaml | 16 +--
.../snapshots/eslint/eslint/snapshot.txt | 4 +-
.../iluwatar/java-design-patterns/report.yaml | 3 +-
.../iluwatar/java-design-patterns/snapshot.txt | 3 +-
.../snapshots/ktaranov/sqlserver-kit/report.yaml | 6 +-
.../snapshots/pagekit/pagekit/report.yaml | 4 +-
.../snapshots/pagekit/pagekit/snapshot.txt | 4 +-
.../snapshots/sveltejs/svelte/report.yaml | 155 ++++++++++-----------
.../snapshots/sveltejs/svelte/snapshot.txt | 3 +-
packages/cspell-bundled-dicts/package.json | 8 +-
pnpm-lock.yaml | 32 ++---
15 files changed, 117 insertions(+), 135 deletions(-)
Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#5096)
fix: Workflow Bot -- Update Dictionaries (main) (#5096)
Update Dictionaries (main)
Summary
.../Azure/azure-rest-api-specs/report.yaml | 5 +-
.../Azure/azure-rest-api-specs/snapshot.txt | 3 +-
.../snapshots/django/django/report.yaml | 3 +-
.../snapshots/django/django/snapshot.txt | 3 +-
.../snapshots/eslint/eslint/report.yaml | 16 +--
.../snapshots/eslint/eslint/snapshot.txt | 4 +-
.../iluwatar/java-design-patterns/report.yaml | 3 +-
.../iluwatar/java-design-patterns/snapshot.txt | 3 +-
.../snapshots/ktaranov/sqlserver-kit/report.yaml | 6 +-
.../snapshots/pagekit/pagekit/report.yaml | 4 +-
.../snapshots/pagekit/pagekit/snapshot.txt | 4 +-
.../snapshots/sveltejs/svelte/report.yaml | 155 ++++++++++-----------
.../snapshots/sveltejs/svelte/snapshot.txt | 3 +-
packages/cspell-bundled-dicts/package.json | 8 +-
pnpm-lock.yaml | 32 ++---
15 files changed, 117 insertions(+), 135 deletions(-)
v8.2.1
v8.2.0
Changes
docs: Fix typo in cspell.schema.json (#5051)
docs: Fix typo in cspell.schema.json (#5051)
I'm not sure if this is the meaning of the sentence, but at least it alerts you to the apparent typo.
Features
feat: Support `${env:NAME}` in paths (#5078)
feat: Support ${env:NAME}
in paths (#5078)
Related to #924
feat: Support loading remote configuration. (#5075)
feat: Support loading remote configuration. (#5075)
This PR is to add support for reading cspell configuration over https
or a virtual file system used by VSCode.
It is not possible to load JavaScript files remotely until it is supported by NodeJS.
feat: create a redirect provider (#5071)
feat: create a redirect provider (#5071)
Make it easy to alias URLs.
Fixes
fix: Protect against missing sourceCode (#5091)
fix: Protect against missing sourceCode (#5091)
fixes: #5085
fix: Add endpoints to VirtualFS (#5065)
fix: Add endpoints to VirtualFS (#5065)
Add:
- writeFile
- getCapabilities
fix: Workflow Bot -- Update Dictionaries (main) (#5064)
fix: Workflow Bot -- Update Dictionaries (main) (#5064)
Update Dictionaries (main)
Summary
integration-tests/snapshots/ktaranov/sqlserver-kit/report.yaml | 6 +-----
integration-tests/snapshots/ktaranov/sqlserver-kit/snapshot.txt | 6 +-----
packages/cspell-bundled-dicts/package.json | 2 +-
pnpm-lock.yaml | 8 ++++----
4 files changed, 7 insertions(+), 15 deletions(-)
fix: support non-file URLs when calculating GlobRoot (#5054)
fix: support non-file URLs when calculating GlobRoot (#5054)
fix: Workflow Bot -- Update Dictionaries (main) (#5049)
fix: Workflow Bot -- Update Dictionaries (main) (#5049)
Update Dictionaries (main)
Summary
.../snapshots/alexiosc/megistos/report.yaml | 3 +-
.../snapshots/alexiosc/megistos/snapshot.txt | 3 +-
.../aspnetboilerplate/report.yaml | 5 ++-
.../aspnetboilerplate/snapshot.txt | 5 ++-
.../snapshots/django/django/report.yaml | 12 +++----
.../snapshots/django/django/snapshot.txt | 6 ++--
.../snapshots/eslint/eslint/report.yaml | 6 ++--
.../snapshots/eslint/eslint/snapshot.txt | 3 +-
.../googleapis/google-cloud-cpp/report.yaml | 20 ++++--------
.../googleapis/google-cloud-cpp/snapshot.txt | 8 +----
.../iluwatar/java-design-patterns/report.yaml | 5 +--
.../iluwatar/java-design-patterns/snapshot.txt | 5 +--
integration-tests/snapshots/mdx-js/mdx/report.yaml | 3 +-
.../snapshots/mdx-js/mdx/snapshot.txt | 3 +-
.../snapshots/neovim/nvim-lspconfig/report.yaml | 5 +--
.../snapshots/neovim/nvim-lspconfig/snapshot.txt | 5 +--
.../snapshots/php/php-src/report.yaml | 17 +++++-----
.../snapshots/php/php-src/snapshot.txt | 13 ++++----
.../snapshots/sveltejs/svelte/report.yaml | 38 ++++++++++------------
.../snapshots/sveltejs/svelte/snapshot.txt | 36 ++++++++++----------
.../typescript-cheatsheets/react/report.yaml | 7 ++--
.../typescript-cheatsheets/react/snapshot.txt | 3 +-
packages/cspell-bundled-dicts/package.json | 2 +-
pnpm-lock.yaml | 8 ++---
24 files changed, 88 insertions(+), 133 deletions(-)
fix: Make sure virtual configs do not appear as source files (#5048)
fix: Make sure virtual configs do not appear as source files (#5048)
Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#5064)
fix: Workflow Bot -- Update Dictionaries (main) (#5064)
Update Dictionaries (main)
Summary
integration-tests/snapshots/ktaranov/sqlserver-kit/report.yaml | 6 +-----
integration-tests/snapshots/ktaranov/sqlserver-kit/snapshot.txt | 6 +-----
packages/cspell-bundled-dicts/package.json | 2 +-
pnpm-lock.yaml | 8 ++++----
4 files changed, 7 insertions(+), 15 deletions(-)
fix: Workflow Bot -- Update Dictionaries (main) (#5049)
fix: Workflow Bot -- Update Dictionaries (main) (#5049)
Update Dictionaries (main)
Summary
.../snapshots/alexiosc/megistos/report.yaml | 3 +-
.../snapshots/alexiosc/megistos/snapshot.txt | 3 +-
.../aspnetboilerplate/report.yaml | 5 ++-
.../aspnetboilerplate/snapshot.txt | 5 ++-
.../snapshots/django/django/report.yaml | 12 +++----
.../snapshots/django/django/snapshot.txt | 6 ++--
.../snapshots/eslint/eslint/report.yaml | 6 ++--
.../snapshots/eslint/eslint/snapshot.txt | 3 +-
.../googleapis/google-cloud-cpp/report.yaml | 20 ++++--------
.../googleapis/google-cloud-cpp/snapshot.txt | 8 +----
.../iluwatar/java-design-patterns/report.yaml | 5 +--
.../iluwatar/java-design-patterns/snapshot.txt | 5 +--
integration-tests/snapshots/mdx-js/mdx/report.yaml | 3 +-
.../snapshots/mdx-js/mdx/snapshot.txt | 3 +-
.../snapshots/neovim/nvim-lspconfig/report.yaml | 5 +--
.../snapshots/neovim/nvim-lspconfig/snapshot.txt | 5 +--
.../snapshots/php/php-src/report.yaml | 17 +++++-----
.../snapshots/php/php-src/snapshot.txt | 13 ++++----
.../snapshots/sveltejs/svelte/report.yaml | 38 ++++++++++------------
.../snapshots/sveltejs/svelte/snapshot.txt | 36 ++++++++++----------
.../typescript-cheatsheets/react/report.yaml | 7 ++--
.../typescript-cheatsheets/react/snapshot.txt | 3 +-
packages/cspell-bundled-dicts/package.json | 2 +-
pnpm-lock.yaml | 8 ++---
24 files changed, 88 insertions(+), 133 deletions(-)
v8.1.3
Changes
Fixes
fix: Resolve relative imports without a leading `./` or `../`. (#5035)
fix: Resolve relative imports without a leading ./
or ../
. (#5035)
So far it is not possible to reproduce.
Added tests for #5034
fix: Workflow Bot -- Update Dictionaries (main) (#5042)
fix: Workflow Bot -- Update Dictionaries (main) (#5042)
Update Dictionaries (main)
Summary
.../snapshots/neovim/nvim-lspconfig/report.yaml | 2 +-
.../snapshots/neovim/nvim-lspconfig/snapshot.txt | 2 +-
packages/cspell-bundled-dicts/package.json | 4 ++--
pnpm-lock.yaml | 16 ++++++++--------
4 files changed, 12 insertions(+), 12 deletions(-)
fix: Make sure issues are reported relative to the specified root (#5043)
fix: Make sure issues are reported relative to the specified root (#5043)
Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#5042)
fix: Workflow Bot -- Update Dictionaries (main) (#5042)
Update Dictionaries (main)
Summary
.../snapshots/neovim/nvim-lspconfig/report.yaml | 2 +-
.../snapshots/neovim/nvim-lspconfig/snapshot.txt | 2 +-
packages/cspell-bundled-dicts/package.json | 4 ++--
pnpm-lock.yaml | 16 ++++++++--------
4 files changed, 12 insertions(+), 12 deletions(-)