-
Notifications
You must be signed in to change notification settings - Fork 2
chore(deps): update devdependencies (major) #73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughThis pull request updates devDependencies in 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
📜 Review details
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
package.json
| "@typescript-eslint/eslint-plugin": "^8.0.0", | ||
| "@typescript-eslint/parser": "^8.0.0", | ||
| "css-loader": "^7.0.0", | ||
| "eslint": "^9.0.0", | ||
| "eslint-config-prettier": "^10.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# First, let's look at the package.json file around the specified lines
head -n 110 package.json | tail -n 40Repository: deepnote/jupyterlab-deepnote
Length of output: 1398
🏁 Script executed:
# Also check if there are configuration files for the tools mentioned
fd -e "\.eslintrc|\.stylelintrc|jest\.config" .Repository: deepnote/jupyterlab-deepnote
Length of output: 54
🏁 Script executed:
# Check if there's a git history showing what changed
git log --oneline -n 1 -- package.jsonRepository: deepnote/jupyterlab-deepnote
Length of output: 115
🏁 Script executed:
# Check git diff to see what the actual changes were
git diff HEAD~1 package.json | head -n 100Repository: deepnote/jupyterlab-deepnote
Length of output: 258
🏁 Script executed:
# Check for configuration files for the tools mentioned
find . -maxdepth 2 -type f \( -name ".eslintrc*" -o -name "eslint.config.*" -o -name ".stylelintrc*" -o -name "jest.config.*" -o -name "prettier.config.*" \)Repository: deepnote/jupyterlab-deepnote
Length of output: 88
🏁 Script executed:
# Check if package-lock.json or yarn.lock exists to see lock status
ls -la package-lock.json yarn.lock 2>&1 | head -5Repository: deepnote/jupyterlab-deepnote
Length of output: 197
🏁 Script executed:
# Check what scripts are available in package.json
grep -A 20 '"scripts":' package.jsonRepository: deepnote/jupyterlab-deepnote
Length of output: 1640
🏁 Script executed:
# Check the jest.config.js to see if it needs updates
cat jest.config.jsRepository: deepnote/jupyterlab-deepnote
Length of output: 861
🏁 Script executed:
# Search for eslint configuration
find . -maxdepth 2 -type f -name "eslint.config.*" -o -name ".eslintrc*"Repository: deepnote/jupyterlab-deepnote
Length of output: 54
🏁 Script executed:
# Check for eslint configuration - ESLint 9 uses eslint.config.js or .eslintrc
find . -maxdepth 2 -type f \( -name "eslint.config.js" -o -name ".eslintrc.js" -o -name ".eslintrc.json" -o -name ".eslintrc" \)Repository: deepnote/jupyterlab-deepnote
Length of output: 54
🏁 Script executed:
# Check if there's a stylelint config
find . -maxdepth 2 -type f \( -name ".stylelintrc*" -o -name "stylelint.config.*" \)Repository: deepnote/jupyterlab-deepnote
Length of output: 54
🏁 Script executed:
# Check the full scripts section to see if test exists
grep -A 30 '"scripts":' package.json | grep testRepository: deepnote/jupyterlab-deepnote
Length of output: 106
🏁 Script executed:
# Check if there are any references to ESLint legacy config
grep -r "eslintConfig" . --include="*.json" --include="*.js" 2>/dev/null | head -5Repository: deepnote/jupyterlab-deepnote
Length of output: 108
🏁 Script executed:
# Check the actual versions in node_modules to understand the state
grep -A 2 '"eslint"' package.json
grep -A 2 '"jest"' package.jsonRepository: deepnote/jupyterlab-deepnote
Length of output: 426
🏁 Script executed:
# Check what's in the eslintConfig section of package.json
sed -n '/"eslintConfig"/,/^ }/p' package.jsonRepository: deepnote/jupyterlab-deepnote
Length of output: 1507
🏁 Script executed:
# Check if ESLint 9 is looking for eslint.config.js specifically
grep -i "flat\|config" package.json | head -10Repository: deepnote/jupyterlab-deepnote
Length of output: 441
ESLint 9 incompatibility: Project uses legacy eslintConfig format but ESLint 9 requires flat config.
Major version bumps (ESLint 8→9, Jest 29→30, TypeScript ESLint 6→8, stylelint 15→16) include breaking changes. ESLint 9 specifically requires either an eslint.config.js file or explicit legacy config support—the current eslintConfig in package.json will not work.
Before merge, either:
- Migrate to ESLint 9 flat config format (add
eslint.config.js) - Downgrade ESLint to ^8.x
- Configure ESLint 9 to use legacy config explicitly
Also verify Jest 30 compatibility and run npm run lint:check and npm run test to confirm pipeline passes.
🤖 Prompt for AI Agents
package.json lines 81-85: current bump to "eslint": "^9.0.0" is incompatible
with the legacy eslintConfig in package.json; either migrate to ESLint 9 flat
config, pin ESLint to v8, or enable legacy config support. Fix by one of three
actions: (A) create an eslint.config.js at repo root implementing the flat
config equivalent of your existing package.json eslintConfig and update
package.json scripts if needed; (B) revert the eslint dependency to a caret
range compatible with v8 (e.g. "^8.x") in package.json to keep the existing
legacy config; or (C) explicitly configure ESLint 9 to load the legacy config
(add the compatibility package/flag recommended in ESLint docs) and verify
package.json still works. After applying one of these, update package.json
dependency versions accordingly and run npm run lint:check and npm run test to
ensure pipeline compatibility.
| "@typescript-eslint/eslint-plugin": "^8.0.0", | ||
| "@typescript-eslint/parser": "^8.0.0", | ||
| "css-loader": "^7.0.0", | ||
| "eslint": "^9.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
ESLint 9.0.0 breaking changes migration guide flat config
💡 Result:
Summary of the v9 flat-config / breaking-change items and quick migration steps
Key changes you need to know
- Flat config (eslint.config.js) is now the default configuration format; eslintrc is deprecated (you can keep it by setting ES LINT_USE_FLAT_CONFIG=false). [1][2]
- ESLint’s CLI behavior: with flat config, running eslint with no file patterns defaults to linting the current directory (equivalent to passing
.); eslintrc users will get an error unless they pass --pass-on-no-patterns. [2] "eslint:recommended"and"eslint:all"are not accepted in flat config. Translate those rules into flat config entries. [2]- The Linter and tooling expect flat config (FlatESLint → ESLint; Linter expects flat format). RuleTester (formerly FlatRuleTester) defaults changed (languageOptions defaults to latest/module). Update tests accordingly. [2]
- Some rules, schemas, and CLI behaviors tightened (examples: unused-disable-directive warnings by default, stricter rule schemas, new defaults for certain rules). Review the full breaking-changes list. [1][2]
Minimal migration checklist
- Read the official migration guide and breaking-changes list. [2]
- Run the configuration migrator to convert .eslintrc* to a flat config (eslint.config.js). Follow the Configuration Migration Guide for translating keys (env, parser, parserOptions → languageOptions, plugins, overrides → files/ignores, etc.). [3]
- Replace uses of "eslint:recommended" / "eslint:all" with explicit rule entries in your flat config. [2]
- Update tests and rule authoring:
- Use the new RuleTester (FlatRuleTester removed). Move parserOptions → languageOptions and set explicit ecmaVersion/sourceType if you relied on old defaults. [2]
- Ensure rules declare meta.schema (function-style rules removed). [2]
- Adjust CI/CLI calls:
- If you want the old behavior when no patterns passed, add
--pass-on-no-patterns. - Consider
--report-unused-disable-directives-severityor setlinterOptions.reportUnusedDisableDirectivesif you need old behavior for unused disables. [1][2]
- If you want the old behavior when no patterns passed, add
- If you need to keep using eslintrc for now, set the env var ES LINT_USE_FLAT_CONFIG=false (temporary). Plan to migrate because eslintrc is deprecated. [1][2]
References
- ESLint v9.0.0 release notes (breaking changes, flat config default). [1]
- Migrate to v9.x (detailed breaking changes & guidance). [2]
- Configuration Migration Guide (how to convert eslintrc → flat config and key translations). [3]
Would you like me to run the config migrator on a sample .eslintrc file you paste here and produce an eslint.config.js for you?
🏁 Script executed:
# Read the package.json file, specifically around lines 142-184 to see the eslintConfig
head -n 190 package.json | tail -n 60 | cat -nRepository: deepnote/jupyterlab-deepnote
Length of output: 2275
Migrate eslintConfig to flat config format.
ESLint v9 defaults to flat config; your eslintConfig uses the deprecated eslintrc format. Migrate package.json lines 142–184 to eslint.config.js. Specifically, "eslint:recommended" (line 14) is not accepted in flat config and must be replaced with explicit rules. See the ESLint migration guide.
| "eslint-plugin-prettier": "^5.0.0", | ||
| "husky": "9.1.7", | ||
| "jest": "^29.2.0", | ||
| "jest": "^30.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
Jest 30.0 breaking changes migration guide
💡 Result:
Here are the key breaking changes in Jest 30 and concise migration steps.
Quick install
- npm install jest@^30.0.0. [1]
Major breaking changes (summary)
- Dropped Node support: 14, 16, 19, 21 — run on a supported Node version (>=18/20 family as appropriate). [1][3]
- TypeScript: minimum supported TS is 5.4 — upgrade your toolchain if needed. [1]
- jsdom: jest-environment-jsdom upgraded (jsdom 21 → 26) — update any jsdom-specific expectations. [1]
- Removed expect alias matchers — replace aliases with canonical names (there are autofixers in eslint-plugin-jest / Nx migrations). [1][6]
- Asymmetric matcher behavior changed: objectContaining no longer matches arrays or non‑enumerable props; use arrayContaining, ArrayOf, or direct array asserts and adjust length checks. [2][4]
- Non-enumerable object properties excluded from object matchers by default — adjust tests that relied on those. [1][2]
- Snapshot printing changed — you may need to update snapshots. [1]
- CLI/config rename: --testPathPattern → --testPathPatterns; globalsCleanupMode renamed to globalsCleanup; waitNextEventLoopTurnForUnhandledRejectionEvents → --waitForUnhandledRejections. [3]
- .mts/.cts are supported by default — ensure loaders/build tools handle them correctly. [1]
- Jest packages now bundle internals into single files and use "exports" (ESM wrappers) — any deep/undocumented internal imports will break; switch to public APIs or request an export. [2][5]
- Promise handling: fixed false-positive failures for promises rejected then caught — review tests that relied on previous behavior. [1]
Concrete migration checklist
- Upgrade Node and TypeScript to minimum supported versions (Node: use a supported LTS; TS >= 5.4). [1]
- npm install jest@^30.0.0 and run your test suite to surface failures. [1]
- Replace removed matcher aliases (run eslint-plugin-jest autofix or use provided Nx migrations). [1][6]
- Update tests that used expect.objectContaining with arrays or length objects:
- Use expect.arrayContaining([...]) or direct array comparisons, and use toHaveLength or .mock.calls checks for lengths. [4]
- Update snapshots (run tests with -u to update, review diffs). [1]
- Remove any deep imports into Jest internals; use public APIs or open a PR to expose needed APIs. [2][5]
- Update CLI flags/config names if you use renamed options. [3]
- Verify jsdom-dependent tests after the jsdom version bump. [1]
- Run full CI and fix any additional failures (promise handling, non-enumerable props, .mts/.cts issues). [1][2]
References
- Jest 30 release blog (overview & breaking changes). [1]
- Upgrading to Jest 30 / versioned migration docs (internals, bundling, exports). [2]
- Jest GitHub releases / changelog (flags, rename summary). [3]
- Example migration notes (Backstage/Nx examples for array/objectContaining and matcher alias fixes). [4][6]
If you want, I can: (a) produce a codemod to replace common alias matchers in your repo, (b) scan a package.json + a few test files and point out likely breakages, or (c) generate exact grep/sed commands to find deep imports and removed CLI flags. Which would you like?
Jest 30 upgrade requires migration work.
Jest 30 drops support for Node 14/16/19/21, requires TypeScript ≥5.4, and changes critical matcher behavior (e.g., objectContaining no longer matches arrays; expect alias matchers removed). Update tests for asymmetric matcher changes, review snapshots, and verify Node/TypeScript versions before upgrading.
🤖 Prompt for AI Agents
In package.json around line 88, the project bumps jest to ^30.0.0 which requires
migration work: ensure CI and local environments run a supported Node version
(upgrade project/engines to a supported Node, e.g., 18/20, and drop
14/16/19/21), upgrade TypeScript to >=5.4 and update tsconfig if needed, update
tests to handle Jest 30 asymmetric matcher changes (replace objectContaining
usages that relied on array-matching, adjust tests to use explicit array
matchers or transform expectations), remove any usages of removed expect alias
matchers and replace with supported matcher alternatives, review and update
snapshots where output changed, run the full test suite and fix any failing
tests, and update CI matrix and package.json devDependencies accordingly before
merging.
|
7c04b17 to
33f5758
Compare
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
package.json (1)
76-88: Bump@types/jestto match Jest 30.
jestis ^30.0.0 but@types/jestis ^29.2.0, causing type mismatches. Update to ^30.0.0 to align versions.✅ Suggested change
- "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0",
♻️ Duplicate comments (1)
package.json (1)
84-84: ESLint 9 needs flat config (current eslintConfig is legacy).
Lint will fail unless you migrate toeslint.config.jsor pin ESLint to v8.Also applies to: 142-184
This PR contains the following updates:
^6.1.0→^8.0.0^6.1.0→^8.0.0^6.7.1→^7.0.0^8.36.0→^9.0.0^8.8.0→^10.0.0^29.2.0→^30.0.0^1.0.3→^3.0.0^7.0.1→^8.0.0^5.0.1→^6.0.0^1.0.2→^5.0.0^3.3.1→^4.0.0^15.10.1→^17.0.0^13.0.0→^18.0.0^34.0.0→^40.0.0^4.0.0→^5.0.0Release Notes
typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
v8.53.1Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.53.0Compare Source
🚀 Features
🩹 Fixes
errortyped" with more helpful description (#11704)extendsandimplementsin interface declaration (#11935)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.52.0Compare Source
🚀 Features
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.51.0Compare Source
🚀 Features
🩹 Fixes
no-useless-default-assignment(#11845)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.50.1Compare Source
🩹 Fixes
this(#11813)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.50.0Compare Source
🚀 Features
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.49.0Compare Source
🚀 Features
Intl.Segmenterinstead ofgraphemer(#11804)🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.48.1Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.48.0Compare Source
🚀 Features
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.47.0Compare Source
🚀 Features
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.46.4Compare Source
🩹 Fixes
projectServiceandprojectare set (#11333)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.46.3Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.46.2Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.46.1Compare Source
🩹 Fixes
.finallynot to report when a promise returning function is provided as an argument (#11667)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.46.0Compare Source
🚀 Features
🩹 Fixes
export imports (#11603)this: voidand binding (#11634)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.45.0Compare Source
🚀 Features
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.44.1Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.44.0Compare Source
🚀 Features
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.43.0Compare Source
🚀 Features
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.42.0Compare Source
🩹 Fixes
You can read about our versioning strategy and releases on our website.
v8.41.0Compare Source
🩹 Fixes
You can read about our versioning strategy and releases on our website.
v8.40.0Compare Source
🚀 Features
EnumMember(#11232)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.39.1Compare Source
This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.
You can read about our versioning strategy and releases on our website.
v8.39.0Compare Source
🚀 Features
🩹 Fixes
unsafeObjectPatternmessage (#11403)checkoption for most RHS of a chain (#11272)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.38.0Compare Source
🩹 Fixes
isolatedDeclarationsif enabled inconstructoroption (#11351)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.37.0Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.36.0Compare Source
This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.
You can read about our versioning strategy and releases on our website.
v8.35.1Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.35.0Compare Source
🚀 Features
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.34.1Compare Source
This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.
You can read about our versioning strategy and releases on our website.
v8.34.0Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.33.1Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.33.0Compare Source
This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.
You can read about our versioning strategy and releases on our website.
v8.32.1Compare Source
🩹 Fixes
TSMappedTypewith no type annotation (#11180)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.32.0Compare Source
🚀 Features
allowRethrowing(#11075)🩹 Fixes
thisfrom optional parameter overload check (#11005)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.31.1Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.31.0Compare Source
🚀 Features
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.30.1Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.30.0Compare Source
🚀 Features
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.29.1Compare Source
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.29.0Compare Source
🚀 Features
ignoreIfStatementsoption (#11000)🩹 Fixes
noUncheckedIndexedAccessis enabled (#10961)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.28.0Compare Source
🚀 Features
ifstatement assignment (??=) and fix several minor bugs (#10861)🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.27.0Compare Source
🚀 Features
DeprecatedInfoforrule.meta.deprecated(#10932)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.26.1Compare Source
🩹 Fixes
any/unknownas eligible for nullish coalescing (#10865)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.26.0Compare Source
🚀 Features
🩹 Fixes
accessorproperties with an invalidvoidtype (#10864)❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.25.0Compare Source
🚀 Features
🩹 Fixes
❤️ Thank You
You can read about our versioning strategy and releases on our website.
v8.24.1Compare Source
🩹 Fixes
accessormethods with a function initializer (#10796)staticaccessorproperties (#10814)accessorproperty declaration (#10813)accessorclass properties for missing accessibility modifier (#10805)accessorclass properties with a function initializer (#10804)accessorproperties with a function initializer ([#10794](https://redirect.github.com/typescriptConfiguration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.