User story
The main advantage of integrating @code-pushup/eslint-plugin is that it allows setting a strict aspirational eslint.config.js, even though the current codebase isn't prepared to meet those standards. This gives users the opportunity to upgrade their ESLint config with a recommended set of strict rules. And we can suggest they include our @code-pushup/eslint-config package for this purpose.
Because @code-pushup/eslint-config supports a variety of different setups based on the user's tech stack, we should further prompt the user to select a subset of configs (the defaults may be inferred from their dependencies). Finally, we can modify their eslint.config.js and install missing ESLint plugins.
In fact, if the user has no ESLint config yet, we can create a full working configuration with @code-pushup/eslint-config.
Acceptance criteria
User story
The main advantage of integrating
@code-pushup/eslint-pluginis that it allows setting a strict aspirationaleslint.config.js, even though the current codebase isn't prepared to meet those standards. This gives users the opportunity to upgrade their ESLint config with a recommended set of strict rules. And we can suggest they include our@code-pushup/eslint-configpackage for this purpose.Because
@code-pushup/eslint-configsupports a variety of different setups based on the user's tech stack, we should further prompt the user to select a subset of configs (the defaults may be inferred from their dependencies). Finally, we can modify theireslint.config.jsand install missing ESLint plugins.In fact, if the user has no ESLint config yet, we can create a full working configuration with
@code-pushup/eslint-config.Acceptance criteria
@code-pushup/eslint-config.@code-pushup/create-eslint-configpackage - see Reusable setup wizard for@code-pushup/eslint-configeslint-config#45.eslint.config.js, then it is extended.eslint.config.jsyet, a new one is created.@code-pushup/eslint-config, we follow up with a prompt to disable failing rules (Disable failing ESLint rules in setup wizard #1260). In this case, the default is yes.