Releases: sumup-oss/foundry
v7.1.1
Patch Changes
b9544b3
Thanks @connor-baer! - Fixed the config for Circuit UI's Stylelint plugin.
v7.1.0
Minor Changes
-
#954
08122eb
Thanks @connor-baer! - Extended the supported version range foreslint-plugin-playwright
to include v1.x. -
#956
1855159
Thanks @connor-baer! - Added support for Circuit UI's Stylelint plugin.
v7.0.1
Patch Changes
- #952
2cc9640
Thanks @connor-baer! - Reduced the scope of the integration test file globs to prevent false positive lint issues in unit test files. Integration tests must be located in thee2e/
ortests/
folders in the repo or workspace root directories.
v7.0.0
7.0.0 (2024-03-04)
Foundry v7 provides better compatibility with monorepos and supports a wider range of plugin versions. The minimum Node version has been raised to ^18.12 || >=20
(i.e. Node 19 is not supported). Here's how to upgrade:
Explicit plugin dependencies ✨
Foundry no longer bundles every supported ESLint plugin. This reduces its install size and enables support for multiple major versions of a plugin. You need to explicitly install the relevant plugins for the frameworks you use. Foundry's new debug
command can help by analyzing your dependencies to suggest missing ESLint plugins and warn if an installed plugin version is untested or unsupported. Here's an example:
Running npx foundry debug
in a project that uses Next.js, Emotion.js, and Jest yields the following output:
⚠️ "next" is installed but not the corresponding ESLint plugin. Please install "eslint-config-next".
⚠️ "@emotion/react" is installed but not the corresponding ESLint plugin. Please install "@emotion/eslint-plugin".
⚠️ "jest" is installed but not the corresponding ESLint plugin. Please install "eslint-plugin-jest".
ℹ️ Detected configuration:
┌──────────────┬─────────────────┐
│ (index) │ Values │
├──────────────┼─────────────────┤
│ language │ 'TypeScript' │
│ environments │ 'Node, Browser' │
│ frameworks │ 'Next.js' │
│ plugins │ │
│ openSource │ false │
└──────────────┴─────────────────┘
Installing the suggested plugins is strongly recommended but not required for Foundry to work.
Better monorepo support 🪨
Foundry's previous approach (still used in the new debug
command) to detecting the installed frameworks only considered the package.json
file in the root directory. This meant that in monorepos, Foundry would not automatically enable all relevant ESLint plugins.
It's generally recommended to treat ESLint and its plugins as shared dependencies and install them in the monorepo root. Thanks to its new detection logic, Foundry will pick up on the plugins and enable the relevant configs, which have been tweaked for better monorepo support as well.
New lint rules 🧿
Foundry v7 adds support for the Node security, Circuit UI, and Storybook ESLint plugins.
Especially on larger codebases, the number of new lint errors can be overwhelming. In that case, we recommend using overrides to set the severity level of the new rules to warn
, thus enabling you to address them gradually.
Full Changelog
Major Changes
-
#923
ea7c264
Thanks @connor-baer! - Removed the ESLint plugins for Cypress, Emotion, Jest, Next.js, Playwright, Storybook, and Testing Library from the dependencies. Install the plugins as dev dependencies in your project. Foundry still enables and configures them automatically. -
#910
f392d28
Thanks @connor-baer! - Raised the minimum Node version to ^18.12 || >=20 (i.e. Node 19 is not supported). -
#912
df2477b
Thanks @connor-baer! - Upgraded to Prettier v3. Read the release announcement. -
#926
7a39c58
Thanks @connor-baer! - Upgraded to Stylelint 16. Refer to the migration guide. -
#910
f392d28
Thanks @connor-baer! - Upgraded@typescript-eslint/typescript-eslint
to v6. Read the changelog. -
#910
f392d28
Thanks @connor-baer! - Upgradedeslint-plugin-testing-library
to v6. Read the migration guide. -
#929
20d1be5
Thanks @connor-baer! - Added support for@sumup/eslint-plugin-circuit-ui
. This plugin helps users follow best practices when using Circuit UI. -
#915
d937ac3
Thanks @connor-baer! - Addedeslint-plugin-security
for Node environments. This plugin helps identify potential security hotspots, but finds a lot of false positives which need triage by a human. -
#911
9e9d2c2
Thanks @connor-baer! - Added support foreslint-plugin-storybook
. This plugin helps conform to Storybook's best practices.
Minor Changes
-
#931
39b28a8
Thanks @connor-baer! - Added a newdebug
command to inspect the detected configuration options. -
#932
85b5fbe
Thanks @connor-baer! - Expanded the scope of the Cypress and Playwright plugins to account for end-to-end test in subdirectories. -
#931
39b28a8
Thanks @connor-baer! - Removed the obsoletepublish
option which hasn't been used since v6.
v6.2.1
Patch Changes
- #941
9a2ef74
Thanks @connor-baer! - Fixed initializing the Stylelint config files.
v7.0.0-next.5
Patch Changes
- #934
1f3067e
Thanks @connor-baer! - Improved package version detection to handle tarball URLs and fail gracefully.
v7.0.0-next.4
Minor Changes
- #932
85b5fbe
Thanks @connor-baer! - Expanded the scope of the Cypress and Playwright plugins to account for end-to-end test in subdirectories.
v7.0.0-next.3
Major Changes
- #926
7a39c58
Thanks @connor-baer! - Upgraded to Stylelint 16. Refer to the migration guide.
Minor Changes
-
#931
39b28a8
Thanks @connor-baer! - Added a newdebug
command to inspect the detected configuration options. -
#931
39b28a8
Thanks @connor-baer! - Removed the obsoletepublish
option which hasn't been used since v6. -
#929
20d1be5
Thanks @connor-baer! - Added support for@sumup/eslint-plugin-circuit-ui
. This plugin helps users follow best practices when using Circuit UI.
v7.0.0-next.2
Major Changes
- #923
ea7c264
Thanks @connor-baer! - Removed the ESLint plugins for Cypress, Emotion.js, Jest, Next.js, Playwright, Storybook, and Testing Library from the dependencies.
v7.0.0-next.1
Major Changes
- #912
df2477b
Thanks @connor-baer! - Upgraded to Prettier v3. Read the release announcement.