Tailwind CSS variants for email client CSS targeting

  • By Maizzle
  • Last update: Nov 3, 2022
  • Comments: 12

tailwindcss-email-variants

A plugin that provides variants for email client targeting hacks used in HTML emails.

All variants are based on targeting hacks from howtotarget.email

Installation

Install the plugin from npm:

npm install -D tailwindcss-email-variants

Then add the plugin to your tailwind.config.js file:

// tailwind.config.js
module.exports = {
  theme: {
    // ...
  },
  plugins: [
    require('tailwindcss-email-variants'),
    // ...
  ],
}

Usage

Use the available variants to generate utilities that target specific email clients, or configure it with your own variants.

Gmail

Use the gmail variant to target Gmail's webmail:

<div class="gmail:hidden">...</div>

Result:

u + .body .gmail\:hidden {
  display: none;
}

Gmail (Android)

Use the gmail-android variant to target Gmail on Android devices:

<div class="gmail-android:hidden">...</div>

Result:

div > u + .body .gmail-android\:hidden {
  display: none;
}

Apple Mail (10+)

Use the apple-mail variant to target Apple Mail 10 and up:

<div class="apple-mail:hidden">...</div>

Result:

.Singleton .apple-mail\:hidden {
  display: none;
}

iOS Mail (10+)

Use the ios variant to target iOS Mail 10 and up:

<div class="ios:hidden">...</div>

Result:

@supports (-webkit-overflow-scrolling:touch) and (color:#ffff) {
  .ios\:hidden {
    display: none;
  }
}

iOS Mail (15)

Use the ios-15 variant to target iOS Mail 15 specifically:

<div class="ios-15:hidden">...</div>

Result:

@supports (-webkit-overflow-scrolling:touch) and (aspect-ratio: 1 / 1) {
  .ios-15\:hidden {
    display: none;
  }
}

Outlook (webmail)

Use the outlook-web variant to target iOS Mail 15 specifically:

<div class="outlook-web:hidden">...</div>

Result:

[class~="x_outlook-web\:hidden"] {
  display: none;
}

Outlook.com dark mode

Change color and background-color of elements in Outlook.com dark mode.

<!-- Color -->
<div class="ogsc:text-slate-200">...</div>

<!-- Background color -->
<div class="ogsb:bg-slate-900">...</div>

Result:

[data-ogsc] .ogsc\:text-slate-200 {
  color: #e2e8f0;
}

[data-ogsb] .ogsb\:bg-slate-900 {
  background-color: #0f172a;
}

Open-Xchange

Use the ox variant to target webmail clients that are powered by Open-Xchange.

Some of these email clients include Comcast, Libero, 1&1 MailXchange, Network Solutions Secure Mail, Namecheap Email Hosting, Mailbox.org, 123-reg Email, acens Correo Professional, Home.pl Cloud Email Xchange, Virgin Media Mail, and Ziggo Mail.

<div class="ox:hidden">...</div>

Result:

.ox\:hidden[class^="ox-"] {
  display: none;
}

Configuration

You can add your own variants by passing a configuration object to the plugin.

// tailwind.config.js
module.exports = {
  plugins: [
    require('tailwindcss-email-variants')({
      thunderbird: '.moz-text-html &', // & is the utility class
      example: ctx => `.example ${ctx.container.nodes[0].selector}` // using a function
    }),
    // ...
  ],
}

Use it:

<div class="thunderbird:hidden example:flex">...</div>

Result:

.moz-text-html .thunderbird\:hidden {
  display: none;
}

.example .flex {
  display: flex;
}

Github

https://github.com/maizzle/tailwindcss-email-variants

Comments(12)

  • 1

    build(deps-dev): bump jest from 28.1.3 to 29.1.2

    Bumps jest from 28.1.3 to 29.1.2.

    Release notes

    Sourced from jest's releases.

    v29.1.2

    Fixes

    • [expect, @jest/expect] Revert buggy inference of argument types for *CalledWith and *ReturnedWith matchers introduced in 29.1.0 (#13339)
    • [jest-worker] Add missing dependency on jest-util (#13341)

    New Contributors

    Full Changelog: https://github.com/facebook/jest/compare/v29.1.1...v29.1.2

    v29.1.1

    Fixes

    • [jest-mock] Revert #13145 which broke mocking of transpiled ES modules

    Full Changelog: https://github.com/facebook/jest/compare/v29.1.0...v29.1.1

    v29.1.0

    Features

    • [expect, @jest/expect] support type inference for function parameters in CalledWith assertions (#13268)
    • [expect, @jest/expect] Infer type of *ReturnedWith matchers argument (#13278)
    • [@jest/environment, jest-runtime] Allow jest.requireActual and jest.requireMock to take a type argument (#13253)
    • [@jest/environment] Allow jest.mock and jest.doMock to take a type argument (#13254)
    • [@jest/fake-timers] Add jest.now() to return the current fake clock time (#13244, #13246)
    • [@jest/mock] Add withImplementation method for temporarily overriding a mock (#13281)
    • [expect] Export toThrow* matchers (#13328)

    Fixes

    • [jest-circus, jest-jasmine2] Fix error messages for Node's assert.throes (#13322)
    • [jest-haste-map] Remove __proto__ usage (#13256)
    • [jest-mock] Improve spyOn typings to handle optional properties (#13247)
    • [jest-mock] Fix mocking of getters and setters on classes (#13145)
    • [jest-snapshot] Throw useful error when an array is passed as property matchers (#13263)
    • [jest-snapshot] Prioritize parser used in the project (#13323)
    • [jest-transform] Attempt to work around issues with atomic writes on Windows (#11423)

    New Contributors

    ... (truncated)

    Changelog

    Sourced from jest's changelog.

    29.1.2

    Fixes

    • [expect, @jest/expect] Revert buggy inference of argument types for *CalledWith and *ReturnedWith matchers introduced in 29.1.0 (#13339)
    • [jest-worker] Add missing dependency on jest-util (#13341)

    29.1.1

    Fixes

    • [jest-mock] Revert #13145 which broke mocking of transpiled ES modules

    29.1.0

    Features

    • [expect, @jest/expect] Support type inference for function parameters in CalledWith assertions (#13268)
    • [expect, @jest/expect] Infer type of *ReturnedWith matchers argument (#13278)
    • [@jest/environment, jest-runtime] Allow jest.requireActual and jest.requireMock to take a type argument (#13253)
    • [@jest/environment] Allow jest.mock and jest.doMock to take a type argument (#13254)
    • [@jest/fake-timers] Add jest.now() to return the current fake clock time (#13244, #13246)
    • [@jest/mock] Add withImplementation method for temporarily overriding a mock (#13281)
    • [expect] Export toThrow* matchers (#13328)

    Fixes

    • [jest-circus, jest-jasmine2] Fix error messages for Node's assert.throes (#13322)
    • [jest-haste-map] Remove __proto__ usage (#13256)
    • [jest-mock] Improve spyOn typings to handle optional properties (#13247)
    • [jest-mock] Fix mocking of getters and setters on classes (#13145)
    • [jest-snapshot] Throw useful error when an array is passed as property matchers (#13263)
    • [jest-snapshot] Prioritize parser used in the project (#13323)
    • [jest-transform] Attempt to work around issues with atomic writes on Windows (#11423)

    29.0.3

    Features

    • [@jest/environment, jest-runtime] Allow passing a generic type argument to jest.createMockFromModule<T>() method (#13202)
    • [expect] Expose ExpectationResult type (#13240)
    • [jest-snapshot] Expose Context type (#13240)
    • [@jest/globals] Add jest.Mock type helper (#13235)

    Fixes

    • [jest-core] Capture execError during TestScheduler.scheduleTests and dispatch to reporters (#13203)
    • [jest-resolve] Make sure to resolve module paths after looking at exports (#13242)
    • [jest-resolve] Improve error on module not found deep in the require stack (#8704)
    • [jest-snapshot] Fix typings of snapshot matchers (#13240)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 2

    build(deps-dev): bump prettier from 2.7.1 to 2.8.0

    Bumps prettier from 2.7.1 to 2.8.0.

    Release notes

    Sourced from prettier's releases.

    2.8.0

    diff

    🔗 Release note

    Changelog

    Sourced from prettier's changelog.

    2.8.0

    diff

    🔗 Release Notes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 3

    build(deps-dev): bump jest from 28.1.3 to 29.0.3

    Bumps jest from 28.1.3 to 29.0.3.

    Release notes

    Sourced from jest's releases.

    v29.0.3

    Features

    • [@jest/environment, jest-runtime] Allow passing a generic type argument to jest.createMockFromModule<T>() method (#13202)
    • [expect] Expose ExpectationResult type (#13240)
    • [jest-snapshot] Expose Context type (#13240)
    • [@jest/globals] Add jest.Mock type helper (#13235)

    Fixes

    • [jest-core] Capture execError during TestScheduler.scheduleTests and dispatch to reporters (#13203)
    • [jest-resolve] Make sure to resolve module paths after looking at exports (#13242)
    • [jest-resolve] Improve error on module not found deep in the require stack (#8704)
    • [jest-snapshot] Fix typings of snapshot matchers (#13240)

    Chore & Maintenance

    • [*] Fix inconsistent workspace prefixes (#13217)
    • [jest-haste-map] Expose a minimal public API to TypeScript (#13023)

    New Contributors

    Full Changelog: https://github.com/facebook/jest/compare/v29.0.2...v29.0.3

    v29.0.2

    Features

    • [jest-transform] Expose TransformFactory type (#13184)

    Fixes

    • [babel-plugin-jest-hoist] Support imported jest in mock factory (#13188)
    • [jest-mock] Align the behavior and return type of generateFromMetadata method (#13207)
    • [jest-runtime] Support jest.resetModules() with ESM (#13211)

    New Contributors

    Full Changelog: https://github.com/facebook/jest/compare/v29.0.1...v29.0.2

    v29.0.1

    Fixes

    • [jest-snapshot] Pass snapshotFormat through when diffing snapshots (#13181)

    Full Changelog: https://github.com/facebook/jest/compare/v29.0.0...v29.0.1

    ... (truncated)

    Changelog

    Sourced from jest's changelog.

    29.0.3

    Features

    • [@jest/environment, jest-runtime] Allow passing a generic type argument to jest.createMockFromModule<T>() method (#13202)
    • [expect] Expose ExpectationResult type (#13240)
    • [jest-snapshot] Expose Context type (#13240)
    • [@jest/globals] Add jest.Mock type helper (#13235)

    Fixes

    • [jest-core] Capture execError during TestScheduler.scheduleTests and dispatch to reporters (#13203)
    • [jest-resolve] Make sure to resolve module paths after looking at exports (#13242)
    • [jest-resolve] Improve error on module not found deep in the require stack (#8704)
    • [jest-snapshot] Fix typings of snapshot matchers (#13240)

    Chore & Maintenance

    • [*] Fix inconsistent workspace prefixes (#13217)
    • [jest-haste-map] Expose a minimal public API to TypeScript (#13023)

    29.0.2

    Features

    • [jest-transform] Expose TransformFactory type (#13184)

    Fixes

    • [babel-plugin-jest-hoist] Support imported jest in mock factory (#13188)
    • [jest-mock] Align the behavior and return type of generateFromMetadata method (#13207)
    • [jest-runtime] Support jest.resetModules() with ESM (#13211)

    29.0.1

    Fixes

    • [jest-snapshot] Pass snapshotFormat through when diffing snapshots (#13181)

    29.0.0

    Features

    • [expect] [BREAKING] Differentiate between MatcherContext MatcherUtils and MatcherState types (#13141)
    • [jest-circus] Add support for test.failing.each (#13142)
    • [jest-config] [BREAKING] Make snapshotFormat default to escapeString: false and printBasicPrototype: false (#13036)
    • [jest-config] [BREAKING] Remove undocumented collectCoverageOnlyFrom option (#13156)
    • [jest-environment-jsdom] [BREAKING] Upgrade to [email protected] (#13037, #13058)
    • [@jest/globals] Add jest.Mocked, jest.MockedClass, jest.MockedFunction and jest.MockedObject utility types (#12727)
    • [jest-mock] [BREAKING] Refactor Mocked* utility types. MaybeMockedDeep and MaybeMocked became Mocked and MockedShallow respectively; only deep mocked variants of MockedClass, MockedFunction and MockedObject are exported (#13123, #13124)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 4

    build(deps-dev): bump jest from 28.1.3 to 29.0.2

    Bumps jest from 28.1.3 to 29.0.2.

    Release notes

    Sourced from jest's releases.

    v29.0.2

    Features

    • [jest-transform] Expose TransformFactory type (#13184)

    Fixes

    • [babel-plugin-jest-hoist] Support imported jest in mock factory (#13188)
    • [jest-mock] Align the behavior and return type of generateFromMetadata method (#13207)
    • [jest-runtime] Support jest.resetModules() with ESM (#13211)

    New Contributors

    Full Changelog: https://github.com/facebook/jest/compare/v29.0.1...v29.0.2

    v29.0.1

    Fixes

    • [jest-snapshot] Pass snapshotFormat through when diffing snapshots (#13181)

    Full Changelog: https://github.com/facebook/jest/compare/v29.0.0...v29.0.1

    v29.0.0

    Blog post: https://jestjs.io/blog/2022/08/25/jest-29

    Features

    • [expect] [BREAKING] Differentiate between MatcherContext MatcherUtils and MatcherState types (#13141)
    • [jest-circus] Add support for test.failing.each (#13142)
    • [jest-config] [BREAKING] Make snapshotFormat default to escapeString: false and printBasicPrototype: false (#13036)
    • [jest-config] [BREAKING] Remove undocumented collectCoverageOnlyFrom option (#13156)
    • [jest-environment-jsdom] [BREAKING] Upgrade to [email protected] (#13037, #13058)
    • [@jest/globals] Add jest.Mocked, jest.MockedClass, jest.MockedFunction and jest.MockedObject utility types (#12727)
    • [jest-mock] [BREAKING] Refactor Mocked* utility types. MaybeMockedDeep and MaybeMocked became Mocked and MockedShallow respectively; only deep mocked variants of MockedClass, MockedFunction and MockedObject are exported (#13123, #13124)
    • [jest-mock] [BREAKING] Change the default jest.mocked helper’s behavior to deep mocked (#13125)
    • [jest-snapshot] [BREAKING] Let babel find config when updating inline snapshots (#13150)
    • [@jest/test-result, @jest/types] [BREAKING] Replace Bytes and Milliseconds types with number (#13155)
    • [jest-worker] Adds workerIdleMemoryLimit option which is used as a check for worker memory leaks >= Node 16.11.0 and recycles child workers as required (#13056, #13105, #13106, #13107)
    • [pretty-format] [BREAKING] Remove ConvertAnsi plugin in favour of jest-serializer-ansi-escapes (#13040)
    • [pretty-format] Allow to opt out from sorting object keys with compareKeys: null (#12443)

    Fixes

    • [jest-config] Fix testing multiple projects with TypeScript config files (#13099)
    • [@jest/expect-utils] Fix deep equality of ImmutableJS Record (#13055)
    • [jest-haste-map] Increase the maximum possible file size that jest-haste-map can handle (#13094)
    • [jest-runtime] Properly support CJS re-exports from dual packages (#13170)
    • [jest-snapshot] Make prettierPath optional in SnapshotState (#13149)
    • [jest-snapshot] Fix parsing error from inline snapshot files with JSX (#12760)

    ... (truncated)

    Changelog

    Sourced from jest's changelog.

    29.0.2

    Features

    • [jest-transform] Expose TransformFactory type (#13184)

    Fixes

    • [babel-plugin-jest-hoist] Support imported jest in mock factory (#13188)
    • [jest-mock] Align the behavior and return type of generateFromMetadata method (#13207)
    • [jest-runtime] Support jest.resetModules() with ESM (#13211)

    29.0.1

    Fixes

    • [jest-snapshot] Pass snapshotFormat through when diffing snapshots (#13181)

    29.0.0

    Features

    • [expect] [BREAKING] Differentiate between MatcherContext MatcherUtils and MatcherState types (#13141)
    • [jest-circus] Add support for test.failing.each (#13142)
    • [jest-config] [BREAKING] Make snapshotFormat default to escapeString: false and printBasicPrototype: false (#13036)
    • [jest-config] [BREAKING] Remove undocumented collectCoverageOnlyFrom option (#13156)
    • [jest-environment-jsdom] [BREAKING] Upgrade to [email protected] (#13037, #13058)
    • [@jest/globals] Add jest.Mocked, jest.MockedClass, jest.MockedFunction and jest.MockedObject utility types (#12727)
    • [jest-mock] [BREAKING] Refactor Mocked* utility types. MaybeMockedDeep and MaybeMocked became Mocked and MockedShallow respectively; only deep mocked variants of MockedClass, MockedFunction and MockedObject are exported (#13123, #13124)
    • [jest-mock] [BREAKING] Change the default jest.mocked helper’s behavior to deep mocked (#13125)
    • [jest-snapshot] [BREAKING] Let babel find config when updating inline snapshots (#13150)
    • [@jest/test-result, @jest/types] [BREAKING] Replace Bytes and Milliseconds types with number (#13155)
    • [jest-worker] Adds workerIdleMemoryLimit option which is used as a check for worker memory leaks >= Node 16.11.0 and recycles child workers as required (#13056, #13105, #13106, #13107)
    • [pretty-format] [BREAKING] Remove ConvertAnsi plugin in favour of jest-serializer-ansi-escapes (#13040)
    • [pretty-format] Allow to opt out from sorting object keys with compareKeys: null (#12443)

    Fixes

    • [jest-config] Fix testing multiple projects with TypeScript config files (#13099)
    • [@jest/expect-utils] Fix deep equality of ImmutableJS Record (#13055)
    • [jest-haste-map] Increase the maximum possible file size that jest-haste-map can handle (#13094)
    • [jest-runtime] Properly support CJS re-exports from dual packages (#13170)
    • [jest-snapshot] Make prettierPath optional in SnapshotState (#13149)
    • [jest-snapshot] Fix parsing error from inline snapshot files with JSX (#12760)
    • [jest-worker] When a process runs out of memory worker exits correctly and doesn't spin indefinitely (#13054)

    Chore & Maintenance

    • [*] [BREAKING] Drop support for Node v12 and v17 (#13033)
    • [docs] Fix webpack name (#13049)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 5

    build(deps-dev): bump jest from 28.1.3 to 29.0.1

    Bumps jest from 28.1.3 to 29.0.1.

    Release notes

    Sourced from jest's releases.

    v29.0.1

    Fixes

    • [jest-snapshot] Pass snapshotFormat through when diffing snapshots (#13181)

    Full Changelog: https://github.com/facebook/jest/compare/v29.0.0...v29.0.1

    v29.0.0

    Blog post: https://jestjs.io/blog/2022/08/25/jest-29

    Features

    • [expect] [BREAKING] Differentiate between MatcherContext MatcherUtils and MatcherState types (#13141)
    • [jest-circus] Add support for test.failing.each (#13142)
    • [jest-config] [BREAKING] Make snapshotFormat default to escapeString: false and printBasicPrototype: false (#13036)
    • [jest-config] [BREAKING] Remove undocumented collectCoverageOnlyFrom option (#13156)
    • [jest-environment-jsdom] [BREAKING] Upgrade to [email protected] (#13037, #13058)
    • [@jest/globals] Add jest.Mocked, jest.MockedClass, jest.MockedFunction and jest.MockedObject utility types (#12727)
    • [jest-mock] [BREAKING] Refactor Mocked* utility types. MaybeMockedDeep and MaybeMocked became Mocked and MockedShallow respectively; only deep mocked variants of MockedClass, MockedFunction and MockedObject are exported (#13123, #13124)
    • [jest-mock] [BREAKING] Change the default jest.mocked helper’s behavior to deep mocked (#13125)
    • [jest-snapshot] [BREAKING] Let babel find config when updating inline snapshots (#13150)
    • [@jest/test-result, @jest/types] [BREAKING] Replace Bytes and Milliseconds types with number (#13155)
    • [jest-worker] Adds workerIdleMemoryLimit option which is used as a check for worker memory leaks >= Node 16.11.0 and recycles child workers as required (#13056, #13105, #13106, #13107)
    • [pretty-format] [BREAKING] Remove ConvertAnsi plugin in favour of jest-serializer-ansi-escapes (#13040)
    • [pretty-format] Allow to opt out from sorting object keys with compareKeys: null (#12443)

    Fixes

    • [jest-config] Fix testing multiple projects with TypeScript config files (#13099)
    • [@jest/expect-utils] Fix deep equality of ImmutableJS Record (#13055)
    • [jest-haste-map] Increase the maximum possible file size that jest-haste-map can handle (#13094)
    • [jest-runtime] Properly support CJS re-exports from dual packages (#13170)
    • [jest-snapshot] Make prettierPath optional in SnapshotState (#13149)
    • [jest-snapshot] Fix parsing error from inline snapshot files with JSX (#12760)
    • [jest-worker] When a process runs out of memory worker exits correctly and doesn't spin indefinitely (#13054)

    Chore & Maintenance

    • [*] [BREAKING] Drop support for Node v12 and v17 (#13033)
    • [docs] Fix webpack name (#13049)
    • [docs] Explicit how to set n for --bail (#13128)
    • [docs] Update Enzyme URL (#13166)
    • [jest-leak-detector] Remove support for weak-napi (#13035)
    • [jest-snapshot] [BREAKING] Require rootDir as argument to SnapshotState (#13150)

    New Contributors

    ... (truncated)

    Changelog

    Sourced from jest's changelog.

    29.0.1

    Fixes

    • [jest-snapshot] Pass snapshotFormat through when diffing snapshots (#13181)

    29.0.0

    Features

    • [expect] [BREAKING] Differentiate between MatcherContext MatcherUtils and MatcherState types (#13141)
    • [jest-circus] Add support for test.failing.each (#13142)
    • [jest-config] [BREAKING] Make snapshotFormat default to escapeString: false and printBasicPrototype: false (#13036)
    • [jest-config] [BREAKING] Remove undocumented collectCoverageOnlyFrom option (#13156)
    • [jest-environment-jsdom] [BREAKING] Upgrade to [email protected] (#13037, #13058)
    • [@jest/globals] Add jest.Mocked, jest.MockedClass, jest.MockedFunction and jest.MockedObject utility types (#12727)
    • [jest-mock] [BREAKING] Refactor Mocked* utility types. MaybeMockedDeep and MaybeMocked became Mocked and MockedShallow respectively; only deep mocked variants of MockedClass, MockedFunction and MockedObject are exported (#13123, #13124)
    • [jest-mock] [BREAKING] Change the default jest.mocked helper’s behavior to deep mocked (#13125)
    • [jest-snapshot] [BREAKING] Let babel find config when updating inline snapshots (#13150)
    • [@jest/test-result, @jest/types] [BREAKING] Replace Bytes and Milliseconds types with number (#13155)
    • [jest-worker] Adds workerIdleMemoryLimit option which is used as a check for worker memory leaks >= Node 16.11.0 and recycles child workers as required (#13056, #13105, #13106, #13107)
    • [pretty-format] [BREAKING] Remove ConvertAnsi plugin in favour of jest-serializer-ansi-escapes (#13040)
    • [pretty-format] Allow to opt out from sorting object keys with compareKeys: null (#12443)

    Fixes

    • [jest-config] Fix testing multiple projects with TypeScript config files (#13099)
    • [@jest/expect-utils] Fix deep equality of ImmutableJS Record (#13055)
    • [jest-haste-map] Increase the maximum possible file size that jest-haste-map can handle (#13094)
    • [jest-runtime] Properly support CJS re-exports from dual packages (#13170)
    • [jest-snapshot] Make prettierPath optional in SnapshotState (#13149)
    • [jest-snapshot] Fix parsing error from inline snapshot files with JSX (#12760)
    • [jest-worker] When a process runs out of memory worker exits correctly and doesn't spin indefinitely (#13054)

    Chore & Maintenance

    • [*] [BREAKING] Drop support for Node v12 and v17 (#13033)
    • [docs] Fix webpack name (#13049)
    • [docs] Explicit how to set n for --bail (#13128)
    • [docs] Update Enzyme URL (#13166)
    • [jest-leak-detector] Remove support for weak-napi (#13035)
    • [jest-snapshot] [BREAKING] Require rootDir as argument to SnapshotState (#13150)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 6

    build(deps-dev): bump postcss from 8.4.19 to 8.4.20

    Bumps postcss from 8.4.19 to 8.4.20.

    Release notes

    Sourced from postcss's releases.

    8.4.20

    • Fixed source map generation for childless at-rules like @layer.
    Changelog

    Sourced from postcss's changelog.

    8.4.20

    • Fixed source map generation for childless at-rules like @layer.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 7

    build(deps-dev): bump prettier from 2.7.1 to 2.8.1

    Bumps prettier from 2.7.1 to 2.8.1.

    Release notes

    Sourced from prettier's releases.

    2.8.1

    🔗 Changelog

    2.8.0

    diff

    🔗 Release note

    Changelog

    Sourced from prettier's changelog.

    2.8.1

    diff

    Fix SCSS map in arguments (#9184 by @​agamkrbit)

    // Input
    $display-breakpoints: map-deep-merge(
      (
        "print-only": "only print",
        "screen-only": "only screen",
        "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
      ),
      $display-breakpoints
    );
    

    // Prettier 2.8.0 $display-breakpoints: map-deep-merge( ( "print-only": "only print", "screen-only": "only screen", "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, " sm ")-1})", ), $display-breakpoints );

    // Prettier 2.8.1 $display-breakpoints: map-deep-merge( ( "print-only": "only print", "screen-only": "only screen", "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})", ), $display-breakpoints );

    Support auto accessors syntax (#13919 by @​sosukesuzuki)

    Support for Auto Accessors Syntax landed in TypeScript 4.9.

    (Doesn't work well with babel-ts parser)

    class Foo {
      accessor foo: number = 3;
    </tr></table> 
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 8

    build(deps-dev): bump postcss from 8.4.18 to 8.4.19

    Bumps postcss from 8.4.18 to 8.4.19.

    Release notes

    Sourced from postcss's releases.

    8.4.19

    • Fixed whitespace preserving after AST transformations (by @​romainmenke).
    Changelog

    Sourced from postcss's changelog.

    8.4.19

    • Fixed whitespace preserving after AST transformations (by Romain Menke).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 9

    build(deps-dev): bump tailwindcss from 3.2.2 to 3.2.4

    Bumps tailwindcss from 3.2.2 to 3.2.4.

    Release notes

    Sourced from tailwindcss's releases.

    v3.2.4

    Added

    • Add blocklist option to prevent generating unwanted CSS (#9812)

    Fixed

    • Fix watching of files on Linux when renames are involved (#9796)
    • Make sure errors are always displayed when watching for changes (#9810)

    v3.2.3

    Fixed

    • Fixed use of raw content in the CLI (#9773)
    • Pick up changes from files that are both context and content deps (#9787)
    • Sort pseudo-elements ONLY after classes when using variants and @apply (#9765)
    • Support important utilities in the safelist (pattern must include a !) (#9791)
    Changelog

    Sourced from tailwindcss's changelog.

    [3.2.4] - 2022-11-11

    Added

    • Add blocklist option to prevent generating unwanted CSS (#9812)

    Fixed

    • Fix watching of files on Linux when renames are involved (#9796)
    • Make sure errors are always displayed when watching for changes (#9810)

    [3.2.3] - 2022-11-09

    Fixed

    • Fixed use of raw content in the CLI (#9773)
    • Pick up changes from files that are both context and content deps (#9787)
    • Sort pseudo-elements ONLY after classes when using variants and @apply (#9765)
    • Support important utilities in the safelist (pattern must include a !) (#9791)
    Commits
    • f2f1ee9 3.2.4
    • 13eb1e2 update changelog
    • 22d45dd Update CHANGELOG.md
    • 602101d Allow users to block generation of certain utilities (#9812)
    • 4ccc0fa Make sure errors are always displayed when watching for changes (#9810)
    • 1482c75 Fix watching of files on Linux when renames are involved (#9796)
    • 757a8d6 update changelog
    • 6166e59 3.2.3
    • 8a2f9ed Fix !important selectors not being classified as valid class inside safelist ...
    • 6bd9912 Only sort pseudo elements after classes when using @apply and variants (#9765)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 10

    build(deps-dev): bump tailwindcss from 3.2.1 to 3.2.2

    Bumps tailwindcss from 3.2.1 to 3.2.2.

    Release notes

    Sourced from tailwindcss's releases.

    v3.2.2

    Fixed

    • Escape special characters in resolved content base paths (#9650)
    • Don't reuse container for array returning variant functions (#9644)
    • Exclude non-relevant selectors when generating rules with the important modifier (#9677)
    • Fix merging of arrays during config resolution (#9706)
    • Ensure configured font-feature-settings are included in Preflight (#9707)
    • Fix fractional values not being parsed properly inside arbitrary properties (#9705)
    • Fix incorrect selectors when using @apply in selectors with combinators and pseudos (#9722)
    • Fix cannot read properties of undefined (reading 'modifier') (#9656, aa979d6)
    Changelog

    Sourced from tailwindcss's changelog.

    [3.2.2] - 2022-11-04

    Fixed

    • Escape special characters in resolved content base paths (#9650)
    • Don't reuse container for array returning variant functions (#9644)
    • Exclude non-relevant selectors when generating rules with the important modifier (#9677)
    • Fix merging of arrays during config resolution (#9706)
    • Ensure configured font-feature-settings are included in Preflight (#9707)
    • Fix fractional values not being parsed properly inside arbitrary properties (#9705)
    • Fix incorrect selectors when using @apply in selectors with combinators and pseudos (#9722)
    • Fix cannot read properties of undefined (reading 'modifier') (#9656, aa979d6)
    Commits
    • 763fdde 3.2.2
    • a5b6ec2 update changelog
    • 260e392 Update cssnano to version 5.1.14
    • 30d2595 Update autoprefixer to version 10.4.13
    • 226be11 update changelog
    • aa979d6 ensure we fallback to '' for backwards compatibility reasons
    • bf28bf6 Fix cannot read properties of undefined (reading 'modifier') (#9656)
    • 0a4ae77 Fix not rebuilding files when rename event is emit (#9689)
    • d33b650 Fix incorrect selectors when using @apply in selectors with combinators and...
    • c10ba4e Fix fractional values not being parsed properly inside arbitrary properties (...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 11

    build(deps-dev): bump tailwindcss from 3.1.8 to 3.2.1

    Bumps tailwindcss from 3.1.8 to 3.2.1.

    Release notes

    Sourced from tailwindcss's releases.

    v3.2.1

    Fixed

    • Fix missing supports in types (#9616)
    • Fix missing PostCSS dependencies in the CLI (#9617)
    • Ensure micromatch is a proper CLI dependency (#9620)
    • Ensure modifier values exist when using a modifiers object for matchVariant (ba6551d)

    v3.2.0

    We just released Tailwind CSS v3.2! Read the announcement post for more details about the most exciting new features.


    Added

    • Add new @config directive (#9405)
    • Add new relative: true option to resolve content paths relative to the config file (#9396)
    • Add new supports-* variant (#9453)
    • Add new min-* and max-* variants (#9558)
    • Add new aria-* variants (#9557, #9588)
    • Add new data-* variants (#9559, #9588)
    • Add new break-keep utility for word-break: keep-all (#9393)
    • Add new collapse utility for visibility: collapse (#9181)
    • Add new fill-none utility for fill: none (#9403)
    • Add new stroke-none utility for stroke: none (#9403)
    • Add new place-content-baseline utility for place-content: baseline (#9498)
    • Add new place-items-baseline utility for place-items: baseline (#9507)
    • Add new content-baseline utility for align-content: baseline (#9507)
    • Add support for configuring default font-feature-settings for a font family (#9039)
    • Add standalone CLI build for 32-bit Linux on ARM (node16-linux-armv7) (#9084)
    • Add future flag to disable color opacity utility plugins (#9088)
    • Add negative value support for outline-offset (#9136)
    • Add support for modifiers to matchUtilities (#9541)
    • Allow negating utilities using min/max/clamp (#9237)
    • Implement fallback plugins when there is ambiguity between plugins when using arbitrary values (#9376)
    • Support sort function in matchVariant (#9423)
    • Upgrade to postcss-nested v6.0 (#9546)

    Fixed

    • Use absolute paths when resolving changed files for resilience against working directory changes (#9032)
    • Fix ring color utility generation when using respectDefaultRingColorOpacity (#9070)
    • Sort tags before classes when @apply-ing a selector with joined classes (#9107)
    • Remove invalid outline-hidden utility (#9147)
    • Honor the hidden attribute on elements in preflight (#9174)
    • Don't stop watching atomically renamed files (#9173, #9215)
    • Fix duplicate utilities issue causing memory leaks (#9208)
    • Fix fontFamily config TypeScript types (#9214)
    • Handle variants on complex selector utilities (#9262)
    • Fix shared config mutation issue (#9294)

    ... (truncated)

    Changelog

    Sourced from tailwindcss's changelog.

    [3.2.1] - 2022-10-21

    Fixed

    [3.2.0] - 2022-10-19

    Added

    • Add new @config directive (#9405)
    • Add new relative: true option to resolve content paths relative to the config file (#9396)
    • Add new supports-* variant (#9453)
    • Add new min-* and max-* variants (#9558)
    • Add new aria-* variants (#9557, #9588)
    • Add new data-* variants (#9559, #9588)
    • Add new break-keep utility for word-break: keep-all (#9393)
    • Add new collapse utility for visibility: collapse (#9181)
    • Add new fill-none utility for fill: none (#9403)
    • Add new stroke-none utility for stroke: none (#9403)
    • Add new place-content-baseline utility for place-content: baseline (#9498)
    • Add new place-items-baseline utility for place-items: baseline (#9507)
    • Add new content-baseline utility for align-content: baseline (#9507)
    • Add support for configuring default font-feature-settings for a font family (#9039)
    • Add standalone CLI build for 32-bit Linux on ARM (node16-linux-armv7) (#9084)
    • Add future flag to disable color opacity utility plugins (#9088)
    • Add negative value support for outline-offset (#9136)
    • Add support for modifiers to matchUtilities (#9541)
    • Allow negating utilities using min/max/clamp (#9237)
    • Implement fallback plugins when there is ambiguity between plugins when using arbitrary values (#9376)
    • Support sort function in matchVariant (#9423)
    • Upgrade to postcss-nested v6.0 (#9546)

    Fixed

    • Use absolute paths when resolving changed files for resilience against working directory changes (#9032)
    • Fix ring color utility generation when using respectDefaultRingColorOpacity (#9070)
    • Sort tags before classes when @apply-ing a selector with joined classes (#9107)
    • Remove invalid outline-hidden utility (#9147)
    • Honor the hidden attribute on elements in preflight (#9174)
    • Don't stop watching atomically renamed files (#9173, #9215)
    • Fix duplicate utilities issue causing memory leaks (#9208)
    • Fix fontFamily config TypeScript types (#9214)
    • Handle variants on complex selector utilities (#9262)
    • Fix shared config mutation issue (#9294)
    • Fix ordering of parallel variants (#9282)
    • Handle variants in utility selectors using :where() and :has() (#9309)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 12

    build(deps-dev): bump np from 7.6.2 to 7.6.3

    Bumps np from 7.6.2 to 7.6.3.

    Release notes

    Sourced from np's releases.

    v7.6.3

    • Fix npm 9 compatibility (#666) 0f5dd33

    https://github.com/sindresorhus/np/compare/v7.6.2...v7.6.3

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)