chore: update CLI dependencies#1294
Merged
Merged
Conversation
glob@10 ships its own TypeScript types, making @types/glob redundant. Removing it also resolves an upcoming type conflict with newer minimatch versions where @types/glob references removed IOptions/IMinimatch exports. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
simple-git-hooks is configured and used at the monorepo root level. The copy in packages/cli was redundant. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…cies Neither package is imported anywhere in create-checkly source code. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Upgrade typescript from 5.3.3 to 6.0.3 in both packages - Upgrade @typescript-eslint/typescript-estree from 8.50.0 to 8.59.2 (required for TS 6 peer dependency compatibility) - Upgrade typescript-eslint from 8.30.0 to 8.59.2 Adapt to TypeScript 6 breaking changes: - Change rootDirs to rootDir (TS 6 requires explicit rootDir) - Add types: ["node"] (TS 6 defaults types to [] instead of all @types) - Add skipLibCheck: true (transitive lru-cache types incompatibility) - Include tsconfig.tsbuildinfo in clean scripts (now lives outside dist/) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- @oclif/core 4.8.0 → 4.11.1 - @oclif/plugin-help 6.2.36 → 6.2.46 - @oclif/plugin-not-found 3.2.73 → 3.2.82 - @oclif/plugin-warn-if-update-available 3.1.53 → 3.1.62 - oclif (dev) 4.22.56 → 4.23.0 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- acorn 8.15.0 → 8.16.0 - acorn-walk 8.3.4 → 8.3.5 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- @types/debug 4.1.12 → 4.1.13 - @types/node 22.14.1 → 22.19.17 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- @playwright/test 1.57.0 → 1.59.1 - cross-env 7.0.3 → 10.1.0 (major, drop-in CLI replacement) - nanoid 3.3.11 → 3.3.12 - tar 7.5.7 → 7.5.14 - vitest 3.1.2 → 4.1.5 (major, no config changes needed) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- axios 1.13.5 → 1.16.0 (security fixes for SSRF, header injection) - mqtt 5.14.1 → 5.15.1 (transitive security fixes) - proxy-from-env 1.1.0 → 2.1.0 (major, same API, stricter URL parsing) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- eslint 9.32.0 → 10.0.1 (major, flat config only)
- @eslint/js 9.32.0 → 10.0.1
- @stylistic/eslint-plugin 5.2.2 → 5.10.0
- globals 16.0.0 → 17.6.0 (major, AudioWorklet globals split)
- @commitlint/cli 17.8.1 → 20.5.3 (major, ESM)
- @commitlint/config-conventional 17.8.1 → 20.5.3
- lint-staged 15.5.1 → 15.5.2
- simple-git-hooks 2.12.1 → 2.13.1
Fix new ESLint 10 recommended rule violations:
- preserve-caught-error: add { cause } to re-thrown errors
- no-useless-assignment: remove dead variable assignments
- @stylistic/indent: auto-fixed indentation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- ci-info 4.3.1 → 4.4.0 - dotenv 16.5.0 → 16.6.1 - giget 3.1.2 → 3.2.0 - jiti 2.6.1 → 2.7.0 - minimatch 9.0.5 → 9.0.9 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Migrate from default import to named import per v4 API change. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4c613e3 to
9fb26e7
Compare
Patches brace-expansion, minimatch, picomatch, yaml, flatted, and ip-address to resolve all 6 known vulnerabilities. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Change `.tsbuildinfo` to `*.tsbuildinfo` to match files like `tsconfig.tsbuildinfo` which TS 6 places at the project root. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ts-node with TypeScript 6 errors on the implicit moduleResolution "node10" default when module is "commonjs". Fix by: - Adding ignoreDeprecations: "6.0" to ts-node compilerOptions in both CLI and create-CLI loaders - Adding ignoreDeprecations to create-cli tsconfig.json (ts-node picks up this tsconfig when running from subdirectories) - Moving ts-node from devDependencies to optional peerDependencies since it's a runtime fallback loader, not a build requirement - Replacing ts-node with jiti in the prepare:ai-context build script Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
These were added by a local create-checkly run during e2e debugging. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Vitest 4's Module Runner generates incorrect file URLs on Windows (missing drive letter in createRequire calls), breaking tests that use require() on fixture files. Rolling back to vitest 3.2.4 until the upstream issue is resolved. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The ignoreDeprecations compiler option is only needed for TS 6+ (which deprecated moduleResolution "node10"). Detect the user's TypeScript version at runtime and only set it when appropriate, avoiding "Unknown compiler option" errors on older TS versions. Co-Authored-By: Claude Opus 4.6 (1M context) <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.
Summary
@types/glob, duplicatesimple-git-hooks, unusedconfig/@types/configin create-cli)preserve-caught-error,no-useless-assignment)TypeScript 6 migration notes
TypeScript 6 required several adaptations:
rootDirs→rootDir: TS 6 requires explicitrootDirwhen sources come from a single directory. This movedtsconfig.tsbuildinfofromdist/to the project root, requiring updates to clean scripts and.gitignore.typesdefault changed to[]: Added explicittypes: ["node"]since@types/nodeis no longer auto-included.skipLibCheck: true: Added to work around a transitivelru-cachetypes incompatibility (theirMapiterator types usevoidinstead ofundefined). Will be resolved properly when we bump toglob@13(requires Node 20+).moduleResolution: "node10"deprecated: TS 6 errors on the implicit"node10"default whenmodule: "commonjs". This breaks ts-node at runtime since it picks up the nearest tsconfig. Fixed withignoreDeprecations: "6.0"in both the ts-node loadercompilerOptions(conditionally, only when user's TS is >= 6) and create-cli's tsconfig. We'll handle this properly in the next major release by dropping ts-node entirely in favor of jiti.Not updated — requires Node 20+ minimum version bump
These packages require
node >= 20which conflicts with our current^18.19.0 || >=20.5.0engine range:config3.3.12 → 4.4.1glob10.5.0 → 13.0.6rimraf5.0.10 → 6.1.3lint-staged15.5.2 → 16.4.0minimatch9.0.9 → 10.2.5dotenv16.6.1 → 17.4.2Not updated — requires ESM migration
These packages went ESM-only in their latest major versions. They are blocked until we migrate the CLI to ESM output:
chalk4.1.2 → 5.6.2conf10.2.0 → 15.1.0indent-string4.0.0 → 5.0.0log-symbols4.1.0 → 7.0.1open8.4.2 → 11.0.0ora5.4.1 → 9.4.0p-queue6.6.2 → 9.2.0nanoid3.3.12 → 5.1.11execa5.1.1 → 9.6.1 (create-cli)passwd-user3.0.0 → 4.0.0 (create-cli)uuid11.1.1 → 14.0.0Not updated — upstream bug
vitest3.2.4 → 4.1.5: Vitest 4's Module Runner generates incorrect file URLs on Windows (missing drive letter), breakingcreateRequirecalls. Staying on latest v3 until fixed upstream.Not updated — intentionally held
@types/nodekept at v22 to match our supported Node runtime versionsTest plan
npm run lintpassesnpm run test --workspace packages/cli— all tests passnpm run prepare --workspace packages/create-clibuilds successfullynpm audit— 0 vulnerabilities🤖 Generated with Claude Code