chore(deps): bump inquirer from 12.11.1 to 13.2.5#4
Closed
dependabot[bot] wants to merge 711 commits intomainfrom
Closed
chore(deps): bump inquirer from 12.11.1 to 13.2.5#4dependabot[bot] wants to merge 711 commits intomainfrom
dependabot[bot] wants to merge 711 commits intomainfrom
Conversation
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>
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 [inquirer](https://github.com/SBoudrias/Inquirer.js) from 12.11.1 to 13.2.5. - [Release notes](https://github.com/SBoudrias/Inquirer.js/releases) - [Commits](https://github.com/SBoudrias/Inquirer.js/compare/inquirer@12.11.1...inquirer@13.2.5) --- updated-dependencies: - dependency-name: inquirer dependency-version: 13.2.5 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Author
|
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 If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
dependabot bot
pushed a commit
that referenced
this pull request
Feb 17, 2026
Fixed two CRITICAL issues identified in code quality review: 1. Windows Path Detection Bug (Issue #4) - Added cross-platform path separator detection (/, \) - Added URL exclusion to prevent treating URLs as file paths - Fixed CLI being completely broken for Windows users - Added 7 comprehensive tests for path detection 2. Watch Service Race Condition (Issue #1) - Added isWatching flag to prevent race conditions - Prevents timer callbacks from executing after stop() called - Handles rapid start/stop cycles correctly - Added 5 comprehensive tests for race condition scenarios Test suite: 1165 tests passing (12 new tests added for these fixes) All fixes validated through TDD methodology (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
#4) Refactored CacheService.getInstance() to make handler registration more atomic and easier to reason about. This prevents theoretical race conditions and improves code maintainability. Changes: - Calculate needsNewInstance and needsHandlerRegistration upfront - Set handlersRegistered=true BEFORE instance creation (defensive programming) - Clear separation of concerns: flag setting → instance creation → handler registration - Added comprehensive comments explaining the defensive pattern - Added non-null assertion with explanatory comment for return value - Added 4 comprehensive tests for singleton pattern: - Same instance on multiple calls - Handlers registered only once - New instance after close - Rapid getInstance calls without race condition Benefits: - More maintainable code with clearer intent - Prevents future bugs from async refactoring - Easier to understand the singleton pattern flow - Better defensive programming practices - Test coverage ensures pattern remains correct Technical Note: Node.js is single-threaded for synchronous code, so true race conditions don't occur with the current synchronous constructor. However, this defensive pattern makes the code more robust against future changes (e.g., async initialization) and follows best practices for singleton patterns. Test Coverage: - All 1446 tests passing (100% pass rate) - Added 4 new singleton pattern tests - Test count increased: 1442 → 1446 tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps inquirer from 12.11.1 to 13.2.5.
Release notes
Sourced from inquirer's releases.
... (truncated)
Commits
fd001c1chore: Publish new release260d7ebfix(@inquirer/testing): handle SWC-style namespace objects and missing option...b760129chore(deps): Bump@xterm/headlessfrom 5.5.0 to 6.0.0 (#2002)768d521chore(deps-dev): Bump vitest from 3.2.4 to 4.0.18 in the testing group (#1998)eeb8081chore(deps-dev): Bump the types group with 2 updates (#2001)3da12d9chore(deps-dev): Bump turbo from 2.8.3 to 2.8.9 in the build group (#2000)db5bd68chore(deps-dev): Bump oxfmt in the formatting group (#1999)48b5d7echore: Publish new releaseedd8f36fix(@inquirer/testing): declare @inquirer/* packages as optional peerDependen...53dbf6cchore: Publish new releaseDependabot 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)