Skip to content

chore(deps-dev): bump @eslint/js from 9.39.2 to 10.0.1#8

Closed
dependabot[bot] wants to merge 711 commits intomainfrom
dependabot/npm_and_yarn/main/eslint/js-10.0.1
Closed

chore(deps-dev): bump @eslint/js from 9.39.2 to 10.0.1#8
dependabot[bot] wants to merge 711 commits intomainfrom
dependabot/npm_and_yarn/main/eslint/js-10.0.1

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Feb 17, 2026

Bumps @eslint/js from 9.39.2 to 10.0.1.

Release notes

Sourced from @​eslint/js's releases.

v10.0.0

Breaking Changes

  • f9e54f4 feat!: estimate rule-tester failure location (#20420) (ST-DDT)
  • a176319 feat!: replace chalk with styleText and add color to ResultsMeta (#20227) (루밀LuMir)
  • c7046e6 feat!: enable JSX reference tracking (#20152) (Pixel998)
  • fa31a60 feat!: add name to configs (#20015) (Kirk Waiblinger)
  • 3383e7e fix!: remove deprecated SourceCode methods (#20137) (Pixel998)
  • 501abd0 feat!: update dependency minimatch to v10 (#20246) (renovate[bot])
  • ca4d3b4 fix!: stricter rule tester assertions for valid test cases (#20125) (唯然)
  • 96512a6 fix!: Remove deprecated rule context methods (#20086) (Nicholas C. Zakas)
  • c69fdac feat!: remove eslintrc support (#20037) (Francesco Trotta)
  • 208b5cc feat!: Use ScopeManager#addGlobals() (#20132) (Milos Djermanovic)
  • a2ee188 fix!: add uniqueItems: true in no-invalid-regexp option (#20155) (Tanuj Kanti)
  • a89059d feat!: Program range span entire source text (#20133) (Pixel998)
  • 39a6424 fix!: assert 'text' is a string across all RuleFixer methods (#20082) (Pixel998)
  • f28fbf8 fix!: Deprecate "always" and "as-needed" options of the radix rule (#20223) (Milos Djermanovic)
  • aa3fb2b fix!: tighten func-names schema (#20119) (Pixel998)
  • f6c0ed0 feat!: report eslint-env comments as errors (#20128) (Francesco Trotta)
  • 4bf739f fix!: remove deprecated LintMessage#nodeType and TestCaseError#type (#20096) (Pixel998)
  • 523c076 feat!: drop support for jiti < 2.2.0 (#20016) (michael faith)
  • 454a292 feat!: update eslint:recommended configuration (#20210) (Pixel998)
  • 4f880ee feat!: remove v10_* and inactive unstable_* flags (#20225) (sethamus)
  • f18115c feat!: no-shadow-restricted-names report globalThis by default (#20027) (sethamus)
  • c6358c3 feat!: Require Node.js ^20.19.0 || ^22.13.0 || >=24 (#20160) (Milos Djermanovic)

Features

  • bff9091 feat: handle Array.fromAsync in array-callback-return (#20457) (Francesco Trotta)
  • 290c594 feat: add self to no-implied-eval rule (#20468) (sethamus)
  • 43677de feat: fix handling of function and class expression names in no-shadow (#20432) (Milos Djermanovic)
  • f0cafe5 feat: rule tester add assertion option requireData (#20409) (fnx)
  • f7ab693 feat: output RuleTester test case failure index (#19976) (ST-DDT)
  • 7cbcbf9 feat: add countThis option to max-params (#20236) (Gerkin)
  • f148a5e feat: add error assertion options (#20247) (ST-DDT)
  • 09e6654 feat: update error loc of require-yield and no-useless-constructor (#20267) (Tanuj Kanti)

Bug Fixes

  • 436b82f fix: update eslint (#20473) (renovate[bot])
  • 1d29d22 fix: detect default this binding in Array.fromAsync callbacks (#20456) (Francesco Trotta)
  • 727451e fix: fix regression of global mode report range in strict rule (#20462) (ntnyq)
  • e80485f fix: remove fake FlatESLint and LegacyESLint exports (#20460) (Francesco Trotta)
  • 9eeff3b fix: update esquery (#20423) (cryptnix)
  • b34b938 fix: use Error.prepareStackTrace to estimate failing test location (#20436) (Francesco Trotta)
  • 51aab53 fix: update eslint (#20443) (renovate[bot])
  • 23490b2 fix: handle space before colon in RuleTester location estimation (#20433) (Francesco Trotta)
  • f244dbf fix: use MessagePlaceholderData type from @eslint/core (#20348) (루밀LuMir)
  • d186f8c fix: update eslint (#20427) (renovate[bot])
  • 2332262 fix: error location should not modify error message in RuleTester (#20421) (Milos Djermanovic)
  • ab99b21 fix: ensure filename is passed as third argument to verifyAndFix() (#20405) (루밀LuMir)
  • 8a60f3b fix: remove ecmaVersion and sourceType from ParserOptions type (#20415) (Pixel998)
  • eafd727 fix: remove TDZ scope type (#20231) (jaymarvelz)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

sjsyrek and others added 30 commits February 10, 2026 19:26
The cache DB lives at ~/.deepl-cli/cache.db globally (ignores
DEEPL_CONFIG_DIR), so comparing exact entry counts before/after is
unreliable when other test suites clear the cache in parallel.
Replace strict equality assertion with structural checks that verify
the cache remains functional after dry-run.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
DESIGN.md (1,384 lines) duplicated content already in CLAUDE.md,
API.md, and README.md. It served no unique audience and had become
a maintenance burden that chased implementation rather than leading it.

CLAUDE.md reduced from 1,091 to 252 lines (77%) by removing duplicate
testing requirements (stated 4 times), completed phase history,
dependency lists (duplicates package.json), verbose PR/example
templates, and overlapping checklists. Every actual instruction
is preserved.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The tests were failing in CI because no API key was set, causing the
CLI to reject commands at the auth check before reaching structured
file logic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The checkAndEnd mock fired onEndOfStream as soon as any chunk arrived
on ws2, making total chunk count non-deterministic based on event loop
scheduling. CI's slower scheduling resulted in only 6 of 10 expected
chunks. Now waits for all chunks across both WebSockets before ending.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Foundation for the TypeScript rewrite of i18n skill scripts. Fixes the
dots-in-keys ambiguity (KeyPath arrays instead of dot-joined strings),
non-string scalar bug, array handling, and adds YAML/ARB support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add config.ts with functions for loading, saving, validating, and
creating default i18n project configuration. The config file
(.deepl-i18n.json) supports sourceLocale, targetLocales, framework,
formality, glossary, localePaths, excludePaths, and monorepo fields.

Includes 19 unit tests covering all config operations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add validate-locale.ts CLI script with 5 validation checks:
- Key structure match (missing keys = error, extra keys = warning)
- Placeholder residue detection (__INTL_* patterns)
- Variable preservation per framework (i18next, rails, vue-i18n, etc.)
- Untranslated value detection (warning)

Supports JSON and text output formats, framework-specific variable
patterns, and exit codes (0=pass, 1=fail, 2=error).

Includes 21 unit tests covering all checks and framework patterns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds framework auto-detection (package.json, Gemfile, pubspec.yaml, plus
Android/iOS heuristics) and deep-merge for incremental translation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add untracked SKILL.md, reference docs, and bash scripts to version
control before rewriting them in TypeScript.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts:
#	.claude/skills/i18n-translate/references/interpolation-patterns.md
# Conflicts:
#	.claude/skills/i18n-translate/references/framework-detection.md
Replaces bash helper scripts with TypeScript equivalents. Adds 4-mode
workflow (Quick/Audit/Full/Manual), project config, dry-run support,
and Android/iOS framework detection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace require.main === module with process.argv[1] check for ESM
compatibility since the project uses "type": "module".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move i18n-translate Claude Code skill (SKILL.md, scripts/, references/)
and its 151 tests to https://git.deepl.dev/hack-projects/deepl-i18n-skill.
Remove the .gitignore exception for skill lib/ directories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update semver-compatible dependencies:
- @commitlint/cli 20.1.0 → 20.4.1
- @commitlint/config-conventional 20.0.0 → 20.4.1
- @types/node 20.19.19 → 20.19.33
- inquirer 12.9.6 → 12.11.1
- memfs 4.49.0 → 4.56.10
- prettier 3.6.2 → 3.8.1
- ts-jest 29.4.4 → 29.4.6

All 2971 tests pass, 0 vulnerabilities.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…itive matching

Language codes like pt-BR and DE were rejected because the registry
stores codes in lowercase. Normalize options.to and options.from to
lowercase at the entry points of translate() and translateText().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The DeepL API expects split_sentences values of "1", "0", or
"nonewlines", but the CLI was sending "on" and "off" directly,
causing a 400 Bad Request error.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The DeepL API requires source_lang when a glossary is used. The CLI
now validates this upfront with a clear error message instead of
letting the API return an opaque 400 Bad Request.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…real API calls

Only 1 of 105 test files called nock.disableNetConnect(). Tests could
accidentally hit real DeepL API endpoints if a nock interceptor was
misconfigured. Now enforced globally via Jest setupFilesAfterEnv.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
config set auth.apiKey echoed the full plaintext key in the success
message. config get with no arguments returned the full unmasked config
including the API key, while config list properly masked it. Both paths
now mask the key consistently (first 4 + ... + last 4 chars).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- fix(config): mask API key in config set and config get output
- fix(test): add global nock.disableNetConnect() to prevent accidental real API calls
…-rules, detect, languages

Create service classes following the established GlossaryService pattern
(client in constructor, methods forward to client). AdminService also
handles the sttLimit path that previously required inline AdminClient
construction in register-admin.ts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update admin, usage, style-rules, detect, and languages commands to
accept service objects instead of DeepLClient directly. Update factory
functions to compose client → service → command. Remove inline
AdminClient construction from register-admin.ts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CacheService.get() now accepts an optional type guard function via a
generic overload: get<T>(key, guard). When the guard rejects cached data
(schema mismatch, corruption), the entry is logged, evicted, and null is
returned. Consumers in TranslationService and WriteService pass guards
instead of bare `as` casts, catching stale/corrupted cache at runtime.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
preserveCodeBlocks(), preserveVariables(), and new restorePlaceholders()
are now public static on TranslationService, enabling reuse from
BatchTranslationService for plain-text file batching.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
BatchTranslationService.translateFiles() now partitions files: plain text
(.txt, .md) files are grouped into TranslationService.translateBatch()
calls respecting the 50-text and 128KB limits, reducing HTTP round-trips
from N to ceil(N/50). Structured files (.json, .yaml, .yml) continue
through the existing per-file FileTranslationService path.

Falls back to per-file translation when translationService is not
provided, preserving full backward compatibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sjsyrek and others added 20 commits February 17, 2026 16:29
Fix 17 documentation issues across README.md, API.md, and package.json:
- Add formal/informal formality aliases to all formality lists
- Fix Hint→Suggestion error format (already correct, verified)
- Correct auth output messages (saved and validated, XXXX...XXXX mask, removed)
- Document FORCE_COLOR and TERM=dumb env vars in new Environment Variables section
- Fix Style Rules ToC grouping (moved from Resources to Configuration)
- Document --from-stdin for auth set-key in Quick Start
- Document all 4 git hook types (pre-commit, pre-push, commit-msg, post-commit)
- Add image formats (jpg, jpeg, png) to document formats list
- Document --no-input global option in global options table
- Fix regional variants list (7 variants explicitly listed)
- Document --enable-minification and --preserve-formatting translate options
- Document -V short flag for --version in API.md
- Fix cache clear output message to match source
- Add npm version badge, stability indicator, and SECURITY.md link
- List --output-format valid choice (docx) explicitly in API.md
- Fix detect JSON output casing to lowercase (es not ES)
- Replace internal git.deepl.dev URLs with github.com/DeepLcom/deepl-cli

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix and expand example scripts:
- Update GitHub Actions to v4 (18-cicd-integration.sh)
- Fix debounce default to 500ms (16-watch-mode.sh)
- Fix error message to match CLI validation output (06-document-format-conversion.sh)
- Fix --quiet flag placement as global option before subcommand (20-custom-config-files.sh)
- Complete formality options list with all 7 values (14-voice.sh)
- Standardize error emoji to ❌ across all scripts
- Update config paths to XDG defaults (19-configuration.sh, 20-custom-config-files.sh)
- Add init setup wizard example script (28-init.sh)
- Add advanced translate options example script (29-advanced-translate.sh)
- Update run-all.sh and README.md with new scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…test

Replace non-deterministic setImmediate polling loop with a deterministic
sendEndOfSource mock that triggers onEndOfStream exactly when all chunks
have been sent. The polling loop raced with advanceTimersByTimeAsync and
real file I/O, causing 10s timeouts on slow CI machines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Unreleased entries for 35+ documentation fixes:
- README, API.md, package.json accuracy fixes
- TROUBLESHOOTING.md expansion (init, 503, CheckFailed)
- SECURITY.md supported versions table
- CONTRIBUTING.md PR checklist and npm commands
- Example script fixes and new scripts
- Repository URL migration to github.com

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Restructure CHANGELOG.md to follow Keep a Changelog standards:
- Merge duplicate Added/Changed/Fixed sections within version blocks
- Replace non-standard Technical/Documentation categories
- Move mislabeled bug fixes from Changed to Fixed
- Condense internal details to user-facing summaries
- Add version comparison links footer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…test

Use chunkInterval: 0 instead of 5 to bypass paceChunks timer delays,
removing the fake timer / real file I/O race that caused timeouts on
slow CI machines. The 200-iteration timer advancement loop is no longer
needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… publication

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Align README badges with DeepL SDK house style (CI + license only).
npm badges will be added after publish (tracked in deepl-cli-ebri).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.39.2 to 10.0.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/HEAD/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 10.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Feb 17, 2026
@sjsyrek sjsyrek closed this Feb 17, 2026
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Feb 17, 2026

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/npm_and_yarn/main/eslint/js-10.0.1 branch February 17, 2026 18:32
dependabot bot pushed a commit that referenced this pull request Feb 17, 2026
…ndefined handling

Fixed 3 code quality issues from CODE_QUALITY_REVIEW_2025.md following TDD methodology:

**Issue #6 (MEDIUM-HIGH): Watch service pattern matching**
- Problem: Only handled *.ext patterns, other glob patterns broken
- Fix: Replaced simple string matching with minimatch for proper glob support
- Tests: +4 comprehensive tests for exact filenames, prefix wildcards, complex patterns
- Location: src/services/watch.ts:93-108
- Dependencies: Added minimatch@^9.0.5

**Issue #11 (MEDIUM): Silent cache error recovery**
- Problem: Cache corruption silently deleted entries without logging
- Fix: Added console.warn() logging with key and error message
- Tests: +1 test for cache corruption detection and logging
- Location: src/storage/cache.ts:138-141
- Impact: Improves observability and debugging of cache issues

**Issue #10 (LOW): Fragile undefined handling**
- Problem: Used magic string '__UNDEFINED__' for undefined values
- Fix: Don't cache undefined values at all (cleaner approach)
- Tests: Updated 1 test to expect new behavior (return null for cache miss)
- Location: src/storage/cache.ts:157-162
- Impact: Eliminates code smell and simplifies caching logic

**Test Results:**
- Total tests: 1170 (up from 1165, +5 new tests)
- Test pass rate: 100%
- No regressions

**Remaining Issues (require significant refactoring):**
- Issue #8 (MEDIUM): Redundant file system calls
- Issue #9 (MEDIUM): Cache eviction efficiency

All fixes follow TDD approach: RED → GREEN → REFACTOR

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
dependabot bot pushed a commit that referenced this pull request Feb 17, 2026
Issue #9 (MEDIUM): Cache eviction efficiency
- Replaced loading all entries into memory with SQL DELETE ... LIMIT
- Estimate entries to delete based on average size with 20% buffer
- Executes entirely in SQLite without loading data into Node.js
- Prevents memory spikes for large caches
- Added test for efficient eviction behavior

Issue #8 (MEDIUM): Redundant file system calls
- Cache fs.Stats result in translate() method
- Pass cached stats to isFilePath() and translateFile()
- Eliminates duplicate statSync/existsSync calls (3 syscalls → 1)
- Significant performance improvement for file translation
- Updated method signatures to accept optional cached stats

All 1140 tests pass with no regressions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments