chore: migrate ESLint config to @qlik/eslint-config@1.4.30#1983
Draft
Copilot wants to merge 12 commits into
Draft
chore: migrate ESLint config to @qlik/eslint-config@1.4.30#1983Copilot wants to merge 12 commits into
Copilot wants to merge 12 commits into
Conversation
Agent-Logs-Url: https://github.com/qlik-oss/nebula.js/sessions/e708ef5f-f311-41fa-b803-785faaa7448b Co-authored-by: enell <968450+enell@users.noreply.github.com>
This reverts commit 436ef6f. Co-authored-by: enell <968450+enell@users.noreply.github.com>
Agent-Logs-Url: https://github.com/qlik-oss/nebula.js/sessions/4259c884-157e-4d79-a28d-687980d0238d Co-authored-by: enell <968450+enell@users.noreply.github.com>
Agent-Logs-Url: https://github.com/qlik-oss/nebula.js/sessions/4259c884-157e-4d79-a28d-687980d0238d Co-authored-by: enell <968450+enell@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
enell
April 27, 2026 09:35
View session
enell
reviewed
Apr 27, 2026
| "rollup": "4.60.1", | ||
| "rollup-plugin-sass": "1.15.3", | ||
| "style-loader": "4.0.0", | ||
| "svelte": "^5.0.0", |
Contributor
Author
There was a problem hiding this comment.
@qlik/eslint-config@1.4.30 bundles eslint-plugin-svelte as a dependency and lists svelte as a (non-optional) peer dependency. eslint-plugin-svelte eagerly imports svelte/compiler at module load time, so ESLint crashes with Cannot find package 'svelte' the moment @qlik/eslint-config is imported — even though nebula.js itself doesn't use Svelte. Adding svelte as a devDependency is the minimum required to satisfy that load-time import. The ideal fix is for @qlik/eslint-config to mark svelte as optional, but until that's done upstream we need it here.
…nused React imports Agent-Logs-Url: https://github.com/qlik-oss/nebula.js/sessions/dc42f716-2455-47ae-ad16-adebce639fae Co-authored-by: enell <968450+enell@users.noreply.github.com>
… warning, fix babel config Agent-Logs-Url: https://github.com/qlik-oss/nebula.js/sessions/dc42f716-2455-47ae-ad16-adebce639fae Co-authored-by: enell <968450+enell@users.noreply.github.com>
Signed-off-by: Johan Enell <johan.enell@qlik.com>
f309d1a to
dd902dc
Compare
Co-authored-by: Copilot <copilot@github.com> Signed-off-by: Johan Enell <johan.enell@qlik.com>
Co-authored-by: Copilot <copilot@github.com> Signed-off-by: Johan Enell <johan.enell@qlik.com>
- Replace findAll* (async) with synchronous getAll*/queryAll* queries since elements are already in DOM after await render() - Update toHaveBeenCalledTimes(3) → 4 to reflect correct call count under automatic JSX runtime (babel.config.cjs migration)
Co-authored-by: Copilot <copilot@github.com> Signed-off-by: Johan Enell <johan.enell@qlik.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.
Replaces the legacy
FlatCompat/eslint-config-airbnbbridge with@qlik/eslint-config@1.4.30, a modern flat-config package from qlik-oss/dev-tools-js. Prettier is removed from the linter and should be run as a separate check.Dependencies (
package.json)@qlik/eslint-config@1.4.30,svelte^5(required non-optional peer dependency of@qlik/eslint-config— needed even though nebula.js does not use Svelte, because the plugin eagerly importssvelte/compilerat load time)eslint-config-airbnb,eslint-config-prettier,eslint-plugin-import,eslint-plugin-jsx-a11y,eslint-plugin-react,eslint-plugin-jest,eslint-plugin-prettier— all now bundled transitively or no longer neededeslint.config.mjsrewrite@eslint/js,@eslint/eslintrc,FlatCompat, and thecompat.extends('airbnb', 'prettier')shim...qlik.configs.react(covers JS/JSX, react, jsx-a11y, react-hooks, import-x, prettier-compat)qlik.configs.jest[0]with an extendedfilesglob to cover**/*.spec.js,**/*.test.jsetc. (the default only targets__tests__/directories)eslint-plugin-mochablock for.int/.compfiles is unchangedimport/rule prefixes renamed toimport-x/import-xandreactplugin instances are reused fromqlik.configs.react[0].pluginsto avoid duplicate-plugin conflictsprettier/prettierrule removed; prettier is no longer part of linting.eslintignoreremoved — content migrated toglobalIgnoresineslint.config.mjs; additional ignores added for.github/**,.storybook_old/**, and**/*.d.tsSource file changes
import React from 'react'from 98 JSX/JS files — the React 17+ automatic JSX transform makes the import unnecessarybabel.config.cjsto correctly use@babel/preset-reactwithruntime: 'automatic', aligning Jest's Babel transform with the new JSX transformuseDeauthorizePrevOAuthInstance.js: replaced mixedrequire('react')call with a properimportimport/→import-x/eslint-disable comments in source filesRule overrides preserved
Overrides kept where
@qlik/eslint-configdefaults differ from this codebase's established behaviour:no-bitwise: 0,no-plusplus: 0,no-unused-expressions: 0,react/destructuring-assignment: 0,react/prop-types: 0,react/no-deprecated: 0,import-x/no-dynamic-require: 0,no-unused-varswithcaughtErrors: none.New rules introduced by
@qlik/eslint-configthat are turned off for this codebase:react-hooks/exhaustive-deps,react-hooks/rules-of-hooks, React Compiler rules (react-hooks/refs,react-hooks/immutability, etc.), alltesting-library/*rules,import-x/no-unresolved,import-x/extensions, andreact/no-array-index-key(downgraded to warning).