Skip to content

Update dependency cspell to v10 - #384

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-10-cspell
Open

Update dependency cspell to v10#384
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-10-cspell

Conversation

@renovate

@renovate renovate Bot commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
cspell (source) ^9.8.0^10.2.2 age confidence

Release Notes

streetsidesoftware/cspell (cspell)

v10.2.2

Compare Source

Fixes
fix: Workaround for #​9164 (#​9168)
fix: Workaround for #​9164 (#​9168)

This pull request updates the word splitter to improve its handling of long or complex words and adds new test cases to ensure correct behavior. The main changes include increasing the allowed number of skipped breaks and attempts for word splitting, updating test cases to cover additional scenarios, and adjusting ignored words in the dictionary tests.

Word splitting improvements:

  • Increased the maximum number of skipped breaks (maxSkippedBreaks) from 8 to 16 and set a new maximum number of attempts (maxAttempts) to 64,000 in wordSplitter.ts to better handle complex word splitting cases.
  • Removed the local maxAttempts limit in the splitIntoWords function, relying instead on the new global constant.

Test enhancements:

  • Updated the ignored words in the dictionary test to include a new Base64 string (QmFzZTY0IHN0cmluZyBvZiB0ZXh0IGhlcmU) and used cspell:disable/cspell:enable comments for clarity.
  • Added a new test case to validate splitting of the string 'QmFzZTY0IHN0cmluZyBvZiB0ZXh0IGhlcmU.access' in the word splitter tests.

v10.2.1

Compare Source

Fixes
fix: support soft hyphens in the word splitter (#​9144)
fix: support soft hyphens in the word splitter (#​9144)

This pull request introduces several improvements and fixes to the word segmentation and word splitting logic, especially for Thai language support and symbol handling. The main changes include updating the Thai segmentation to use soft hyphens, enhancing the word splitting logic to handle more cases (including camelCase, symbols, and soft hyphens), and refactoring the code for better modularity and test coverage.

Word segmentation and Thai language improvements:

  • Updated Thai (th-TH) segmentation to use soft hyphens (\u00AD) instead of spaces, improving the accuracy of word breaks and ensuring better compatibility with spell checking and downstream processing. [1] [2] [3]
  • Added the @cspell/dict-th-th package to dependencies, enabling Thai dictionary support.
  • Adjusted tests and expectations for Thai segmentation to reflect the use of soft hyphens and to ensure no false positives in validation.

Word splitting and symbol handling enhancements:

  • Introduced a new generateWordBreaks utility that generates all possible word breaks in a string, including camelCase, symbols, numbers, and soft hyphens. Includes comprehensive tests and snapshot coverage for various edge cases. [1] [2] [3] [4]
  • Improved regular expressions for word splitting to support soft hyphens and better handle punctuation and symbols.

Refactoring and code organization:

  • Refactored imports to use the new wordSplitter/index.js entry point, improving modularity and future maintainability. [1] [2]
  • Added explicit exports for split, SplitOptions, and SplitResult in wordSplitter/index.ts to clarify and centralize the public API.

Other enhancements:

  • Exposed the softHyphen constant for consistent use throughout the codebase. [1] [2]

Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#​9143)
fix: Workflow Bot -- Update Dictionaries (main) (#​9143)

v10.2.0

Compare Source

Features
feat: Add `--force-check` cli option (#​9080)
feat: Add --force-check cli option (#​9080)

This pull request introduces a new --force-check option to the CLI, allowing users to force specific files to be checked even if they would normally be excluded. It also standardizes dependency configuration naming, improves error handling and reporting for the CLI, and updates TypeScript target versions in config files. The most important changes are grouped below.

New CLI Feature: Force Check

  • Added a --force-check option to the lint command, allowing files specified with --file, --files, or --file-list to be checked even if they would normally be excluded. This includes updates to the CLI interface, validation logic, and documentation/help output. [1] [2] [3] [4] [5]
  • Implemented logic in the file determination and processing flow to honor the forceCheck flag, ensuring excluded files can be checked when requested, and updated reporting of skipped files. [1] [2] [3] [4] [5] [6]

CLI Error Handling and Testing

  • Improved error handling for invalid combinations of CLI options (e.g., using --force-check without specifying files, or mixing globs and --file), with corresponding error messages and test cases. [1] [2]
  • Enhanced test coverage for the new --force-check option, including snapshot updates for help and error outputs. [1] [2] [3] [4] [5] [6] [7]

Dependency Configuration Standardization

  • Renamed the dependency configuration property from onlyAllowBundle to onlyBundle across all relevant config files and documentation for consistency. [1] [2] [3] [4]

Other Improvements

  • Updated TypeScript target version in default config from Node20 to Node22.
  • Improved CLI process exit code handling for error scenarios.
  • Minor improvement to CLI reporter logic to avoid emitting empty results.
  • Cleaned up and simplified the coverage collection script in package.json.

Fixes
fix: Updated package.json exports (#​8965)
fix: Updated package.json exports (#​8965)

This fixes a few package exports that were wrong or inconsistent (e.g. exports["."] not the same path as main).

The pnpm test script was failing locally due to my ~/.npmrc having ignore-scripts=true, which prevented the preinstall script from running. I updated test:prep to call the preinstall script, which should be fast if you already have yarn installed.


Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#​9067)
fix: Workflow Bot -- Update Dictionaries (main) (#​9067)

v10.1.1

Compare Source

Fixes
fix: Do not load .pnp.js files when untrusted (#​9064)
fix: Do not load .pnp.js files when untrusted (#​9064)

Dictionary Updates
fix: Workflow Bot -- Update Dictionaries (main) (#​9055)
fix: Workflow Bot -- Update Dictionaries (main) (#​9055)

v10.1.0

Compare Source

Features
feat(cspell-junit-reporter): add JUnit XML reporter package (#​8945)
feat(cspell-junit-reporter): add JUnit XML reporter package (#​8945)

Closes #​4570.

Adds @cspell/cspell-junit-reporter, a new workspace package modeled on packages/cspell-json-reporter, that emits a JUnit-compatible XML report of a cspell run.

The issue asked for a minimal mapping along the lines of:

<testsuite tests="3">
  <testcase classname="File1" name"/>
  <testcase classname="File2" name="AnotherSuccessfulTest"/>
  <testcase classname="foo3" name="AFailingTest">
    <failure type="prohibited word"> zzz </failure>
  </testcase>
</testsuite>

This PR follows that shape but wraps it in a <testsuites> root and groups by file (one <testsuite> per file, suite name = file path), since that is the convention used by other widely-consumed JUnit reporters (for example ESLint's JUnit formatter) and is what most CI JUnit parsers expect. The package README documents the full mapping.

  • package.json, tsconfig.json, test framework, and files/exports/publishConfig shape are copied from cspell-json-reporter. Version pinned to 10.0.1 to match the monorepo's locked versioning.
  • No third-party XML library was added. The repo has no existing XML dependency, so a small escaping helper (src/utils/escapeXml.ts) and a pure XML-string builder (src/utils/buildJUnitXml.ts) were written in-repo, consistent with the monorepo's small-utility-file convention.
  • Unit tests (32) cover: no files, a clean file (single passing testcase), a file with issues, escaping of special characters in paths/words/messages, a skipped file, and non-issue processing errors (error emitter routed to a dedicated cspell-errors testsuite using <error>).

Assumptions the issue thread left ambiguous, called out for review:

  1. One <testsuite> per file rather than one flat suite for the whole run. Matches common JUnit reporter convention and keeps per-file counts meaningful in CI UIs.
  2. A clean file gets one synthetic passing <testcase name="no issues found"> so a suite is never reported with tests="0", which some JUnit consumers treat as suspicious.
  3. Settings are intentionally slimmer than cspell-json-reporter's (outFile, suiteName only). JUnit XML has no natural place for arbitrary debug/progress log dumps.
  4. cspell processing errors are reported as <error> elements, distinct from spelling <failure> elements, per the JUnit failure-vs-error distinction.

Verified locally: tsc -b clean, vitest 32/32, eslint and prettier clean, and the full monorepo build:prod succeeds with the package in the workspace. One environment note: the package's CLI smoke-test script wasn't runnable locally (repo requires Node >=22.18.0, local was 22.17.0 — the sibling json-reporter fails identically there), so CI is the first place it will run.


Fixes
fix: allow substitutions across ignored ranges (#​9017)
fix: allow substitutions across ignored ranges (#​9017)

v10.0.1

Compare Source

Fixes
fix(cli): ignore closed readline after stdin (#​8862)
fix(cli): ignore closed readline after stdin (#​8862)

v10.0.0

Compare Source

Features
fix: upgrade import-fresh from v3 to v4 (#​8786)
fix: upgrade import-fresh from v3 to v4 (#​8786)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added changelog:skip Don't include this pull request in the release change log dev-dependencies renovate Issue or PR opened by renovate renovate:major Major dependency update by renovate labels Apr 6, 2026
@renovate
renovate Bot requested a review from ITProKyle April 6, 2026 08:35
@renovate renovate Bot added renovate Issue or PR opened by renovate renovate:major Major dependency update by renovate labels Apr 6, 2026
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 2 times, most recently from 5fd76e9 to 16ab5ce Compare April 14, 2026 21:53
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 2 times, most recently from e5b273e to a3bdf63 Compare April 27, 2026 06:41
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch from a3bdf63 to e3999d5 Compare May 4, 2026 04:42
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 2 times, most recently from aef13eb to d77e85b Compare May 12, 2026 11:53
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch from d77e85b to 133504b Compare May 18, 2026 05:35
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 2 times, most recently from f494b8c to 8b7615c Compare May 31, 2026 14:16
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch from 8b7615c to a2eec48 Compare June 1, 2026 23:00
@renovate renovate Bot changed the title Update dependency cspell to v10 Update cspell to v10 Jun 2, 2026
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch from a2eec48 to 67249ab Compare June 8, 2026 04:51
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 3 times, most recently from 5f0babd to fca4665 Compare June 22, 2026 05:01
@renovate renovate Bot changed the title Update cspell to v10 Update cspell (major) Jun 22, 2026
@renovate renovate Bot changed the title Update cspell (major) Update dependency cspell to v10 Jun 25, 2026
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 2 times, most recently from 8fbfa08 to 0870da6 Compare July 12, 2026 19:07
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch from 0870da6 to fe38960 Compare July 13, 2026 11:07
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 2 times, most recently from c0386c5 to d55ab06 Compare July 20, 2026 18:37
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 3 times, most recently from dd25974 to 718258d Compare August 3, 2026 05:39
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 2 times, most recently from e4f069a to 764491d Compare August 12, 2026 01:44
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 3 times, most recently from 0339b3a to 4b5b1a3 Compare August 24, 2026 05:40
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 4 times, most recently from a7f94e7 to bddea60 Compare August 31, 2026 16:02
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch 3 times, most recently from f499b14 to 23dc604 Compare September 3, 2026 22:04
@renovate
renovate Bot force-pushed the renovate/major-10-cspell branch from 23dc604 to 5700a8b Compare September 4, 2026 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:skip Don't include this pull request in the release change log dev-dependencies renovate:major Major dependency update by renovate renovate Issue or PR opened by renovate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants