-
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 package.json; no runtime dependencies, exported APIs, or application logic changed. Notable bumps: 🚥 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.
package.json
Outdated
| "@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
33f5758 to
fd18432
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: 1
🤖 Fix all issues with AI agents
In `@package.json`:
- Around line 90-100: Update project tooling to document and enforce Node
>=20.19.0 because stylelint@17 requires it: add a Node engine constraint in
pyproject.toml or CI config and update CI job(s) that run lint/build to use Node
20.19+; run full build and lint in CI to verify compatibility for upgraded deps
listed in package.json (stylelint, css-loader/style-loader, rimraf, mkdirp,
npm-run-all2, source-map-loader). For stylelint@17, test the default --fix
behavior and, if existing automatic fixes break, change lint invocation to use
--fix=lax; for css-loader 7/style-loader 4 ensure webpack >=5.27.0 is available
from `@jupyterlab/builder` or CI image and confirm CSS imports remain as standard
(not CSS modules) so named-export changes aren’t needed.
| "mkdirp": "^3.0.0", | ||
| "npm-run-all2": "^8.0.0", | ||
| "prettier": "^3.0.0", | ||
| "rimraf": "^5.0.1", | ||
| "source-map-loader": "^1.0.2", | ||
| "style-loader": "^3.3.1", | ||
| "stylelint": "^15.10.1", | ||
| "stylelint-config-recommended": "^13.0.0", | ||
| "stylelint-config-standard": "^34.0.0", | ||
| "rimraf": "^6.0.0", | ||
| "source-map-loader": "^5.0.0", | ||
| "style-loader": "^4.0.0", | ||
| "stylelint": "^17.0.0", | ||
| "stylelint-config-recommended": "^18.0.0", | ||
| "stylelint-config-standard": "^40.0.0", | ||
| "stylelint-csstree-validator": "^3.0.0", | ||
| "stylelint-prettier": "^4.0.0", | ||
| "stylelint-prettier": "^5.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:
css-loader 7 breaking changes webpack compatibility
💡 Result:
css-loader v7 (7.0.0) breaking changes
- CSS Modules export shape change (common “undefined styles” issue): when
esModule: true(the default in modern setups),modules.namedExporteffectively becomestrueby default, so CSS Modules are exported as named exports instead of a default export. Migration:- Before:
import styles from "./styles.module.css" - After:
import * as styles from "./styles.module.css"[1]
- Before:
modules.exportLocalsConventiondefault changes: ifmodules.namedExportistrueand you don’t set it,exportLocalsConventiondefaults to"as-is". [1]- Webpack minimum version bump: minimum supported webpack is
5.27.0(so webpack 4 is not compatible). [1] - Node minimum version bump: minimum supported Node.js is
18.12.0. [1]
Webpack compatibility (what you need)
- To use the latest
css-loader(v7+), you need webpack 5 (and for v7.0.0 specifically, >= 5.27.0). [1][2]
If you want to keep the old default-import behavior
Set CSS Modules back to default exports:
// webpack rule
{
loader: "css-loader",
options: {
modules: { namedExport: false }
}
}This restores import styles from "./styles.module.css" patterns. [1][3]
Sources:
[1] css-loader v7.0.0 release notes / breaking changes (GitHub releases mirror) (github.com)
[2] webpack docs: css-loader (webpack 5 required for latest) (webpack.js.org)
[3] StackOverflow example showing the v7 named export break + config workaround (stackoverflow.com)
Citations:
- 1: https://github.com/webpack/css-loader/releases?utm_source=openai
- 2: https://webpack.js.org/loaders/css-loader/?utm_source=openai
- 3: https://stackoverflow.com/questions/78482087/i-dont-know-how-to-configure-the-latest-version-of-css-loader?utm_source=openai
🌐 Web query:
stylelint 17 breaking changes migration guide
💡 Result:
Stylelint 17 (v17.0.0) breaking changes + migration checklist
Release: 17.0.0 (2026-01-15). (stylelint.io)
1) Runtime / packaging
- Node.js requirement: Node >= 20.19.0 (18.x and older no longer supported). (stylelint.io)
- CommonJS Node.js API removed (ESM-only). Migrate any consuming code/plugins to ESM (see the 16.x ESM guidance referenced from the v17 guide). (stylelint.io)
2) Node.js API output changes
stylelint.lint()result:outputremoved. If you relied onresult.outputfor fixed code, useresult.code(and useresult.reportfor formatted problems). (stylelint.io)
3) CLI / formatter change
- GitHub formatter removed. Use a community formatter such as
@csstools/stylelint-formatter-github:- CLI:
--custom-formatter@csstools/stylelint-formatter-github`` - API: pass the imported formatter function instead of
"github". (stylelint.io)
- CLI:
4) Config option removals
selector-class-pattern:resolveNestedSelectorsremoved (incompatible with standard CSS nesting). If you need SCSS-style concatenation, switch toscss/selector-class-patternvia the SCSS plugin/config, or remove the option and adjust your regex. (stylelint.io)selector-max-id:checkContextFunctionalPseudoClassesremoved (now default behavior); delete the option. (stylelint.io)
5) Autofix behavior change
--fixdefault mode is nowstrict(won’t fix when there are syntax errors). To restore old behavior:--fix=lax. Also,--fix=falseis removed (omit--fixinstead). (stylelint.io)
6) Plugin author change (reporting ranges)
reportnow errors on previously-deprecated ambiguous position arguments; plugins should provide a PostCSSnodeand consistent{index,endIndex}or{start,end}ranges. (stylelint.io)
7) Rule behavior changes (expect new/changed lint results)
Primarily around standard CSS nesting, specificity, and vendor prefixes:
selector-max-*rules: no longer “desugar” nesting or evaluate functional pseudo-classes separately; you may need to raise your max values. (stylelint.io)*-specificityrules: specificity calculations now follow the CSS Nesting spec; adjustselector-max-specificity/ expectations, or disable these rules for nonstandard nesting languages (SCSS/Less). (stylelint.io)no-duplicate-selectorsandselector-no-qualifying-type: now resolve selectors per standard nesting; may need disabling for SCSS/Less nesting behavior. (stylelint.io)- Many
*-listrules: vendor-prefix and case handling made consistent; if you intended to include prefixes/case-insensitivity, use regex (often with/i). (stylelint.io) property-no-vendor-prefix/value-no-vendor-prefix:ignore*options now match as-is, so include the prefixed forms you want to ignore. (stylelint.io)declaration-property-max-values: now checks properties as-is; include prefixed properties in your config (e.g., regex for-webkit-). (stylelint.io)
Citations:
- 1: https://stylelint.io/changelog/?utm_source=openai
- 2: https://stylelint.io/migration-guide/to-17
- 3: https://stylelint.io/migration-guide/to-17
- 4: https://stylelint.io/migration-guide/to-17
- 5: https://stylelint.io/migration-guide/to-17
- 6: https://stylelint.io/migration-guide/to-17
- 7: https://stylelint.io/migration-guide/to-17
- 8: https://stylelint.io/migration-guide/to-17
- 9: https://stylelint.io/migration-guide/to-17
- 10: https://stylelint.io/migration-guide/to-17
- 11: https://stylelint.io/migration-guide/to-17
- 12: https://stylelint.io/migration-guide/to-17
- 13: https://stylelint.io/migration-guide/to-17
- 14: https://stylelint.io/migration-guide/to-17
- 15: https://stylelint.io/migration-guide/to-17
🌐 Web query:
style-loader 4 breaking changes webpack
💡 Result:
style-loader v4.0.0 (2024-04-08) breaking changes (re: webpack) are:
- Requires webpack ≥ 5.27.0 (won’t work on older webpack 5 / webpack 4). [1]
- Requires Node.js ≥ 18.12.0. [1]
insertoption no longer accepts a function; it must be a CSS selector string or a path to a module (e.g.insert: require.resolve("./insert.js")exporting the function). [1]styleTagTransformoption no longer accepts a function; it must be a path to a module exporting the transform function (e.g.styleTagTransform: require.resolve("./style-tag-transform.js")). [1]
Sources: [1]
🏁 Script executed:
# Find webpack config, build config, and stylelint config files
find . -type f \( -name "webpack.config.*" -o -name ".stylelintrc*" -o -name "stylelint.config.*" -o -name "tsconfig.*" -o -name "babel.config.*" \) 2>/dev/null | head -20Repository: deepnote/jupyterlab-deepnote
Length of output: 126
🏁 Script executed:
# Check the full package.json to understand dependencies and scripts
cat -n package.json | head -150Repository: deepnote/jupyterlab-deepnote
Length of output: 6740
🏁 Script executed:
# Search for stylelint config
find . -type f -name ".stylelintrc*" -o -name "stylelint.config.*" 2>/dev/nullRepository: deepnote/jupyterlab-deepnote
Length of output: 54
🏁 Script executed:
# Check babel.config.js for CSS loader configuration
cat -n babel.config.jsRepository: deepnote/jupyterlab-deepnote
Length of output: 146
🏁 Script executed:
# Check if there's a webpack config or JupyterLab build config
ls -la | grep -E "webpack|jupyterlab" && find . -type f \( -name "pyproject.toml" -o -name "setup.py" \) 2>/dev/nullRepository: deepnote/jupyterlab-deepnote
Length of output: 171
🏁 Script executed:
# Check for stylelint config in pyproject.toml
cat -n pyproject.toml | head -100Repository: deepnote/jupyterlab-deepnote
Length of output: 3386
🏁 Script executed:
# Check if there's a .stylelintrc.json or stylelint config in package.json
cat -n package.json | tail -100Repository: deepnote/jupyterlab-deepnote
Length of output: 3631
🏁 Script executed:
# Search for CSS imports and how they're used
find src -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" \) 2>/dev/null | head -20Repository: deepnote/jupyterlab-deepnote
Length of output: 642
🏁 Script executed:
# Check style directory for CSS files
find style -type f 2>/dev/nullRepository: deepnote/jupyterlab-deepnote
Length of output: 117
🏁 Script executed:
# Search for CSS/style imports
rg -t ts -t tsx "import.*\.css|import.*\.module\.css" src/ --no-heading -A 2 2>/dev/null | head -30Repository: deepnote/jupyterlab-deepnote
Length of output: 54
🏁 Script executed:
# Check how styles are being imported/used
cat -n style/index.jsRepository: deepnote/jupyterlab-deepnote
Length of output: 99
🏁 Script executed:
# Check the style/index.css
cat -n style/index.css | head -50Repository: deepnote/jupyterlab-deepnote
Length of output: 103
Document Node.js 20.19+ requirement; test build/lint with updated tools.
stylelint 17 requires Node ≥ 20.19.0 (vs. 18.12.0 for css-loader/style-loader). Add Node version constraint to pyproject.toml or CI. Also test that stylelint 17's new --fix strict mode (default) doesn't break existing fixes; use --fix=lax if needed. css-loader 7 and style-loader 4 require webpack 5.27.0+ (provided by @jupyterlab/builder); CSS imports use standard CSS (not modules), so named export changes don't apply. Other major bumps (rimraf 6, mkdirp 3, npm-run-all2 8, source-map-loader 5) are compatible. stylelint config has no deprecated v17 options.
🤖 Prompt for AI Agents
In `@package.json` around lines 90 - 100, Update project tooling to document and
enforce Node >=20.19.0 because stylelint@17 requires it: add a Node engine
constraint in pyproject.toml or CI config and update CI job(s) that run
lint/build to use Node 20.19+; run full build and lint in CI to verify
compatibility for upgraded deps listed in package.json (stylelint,
css-loader/style-loader, rimraf, mkdirp, npm-run-all2, source-map-loader). For
stylelint@17, test the default --fix behavior and, if existing automatic fixes
break, change lint invocation to use --fix=lax; for css-loader 7/style-loader 4
ensure webpack >=5.27.0 is available from `@jupyterlab/builder` or CI image and
confirm CSS imports remain as standard (not CSS modules) so named-export changes
aren’t needed.
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→^10.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.54.0Compare Source
🚀 Features
🩹 Fixes
def.name(#11982)❤️ Thank You
You can read about our versioning strategy and releases on our website.
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
Configuration
📅 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.