diff --git a/package-lock.json b/package-lock.json index 9623d2e..a7991c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22554,9 +22554,9 @@ } }, "node_modules/postcss-prefixwrap": { - "version": "1.57.2", - "resolved": "https://registry.npmjs.org/postcss-prefixwrap/-/postcss-prefixwrap-1.57.2.tgz", - "integrity": "sha512-HKfOJJCFUtZiUu6CaWmxb6JxYZetn8McOuFUa0t4CJ0ZtcxCPlD8COSPu6804xNc4WPBu34BI0h96wkONLd9lQ==", + "version": "1.58.0", + "resolved": "https://registry.npmjs.org/postcss-prefixwrap/-/postcss-prefixwrap-1.58.0.tgz", + "integrity": "sha512-FNaM/pa8aYM5d2z3WLpc7zTiKThg3Cr4AprrdT+emO7fFSeydqGH5O7TnYhaLEWNQCNxsqnmt7RS/4zDib9iNQ==", "license": "MIT", "peerDependencies": { "postcss": "*" @@ -28989,7 +28989,7 @@ "@vitejs/plugin-react": "^5.1.4", "@yardinternet/vite-plugin-gutenberg-blocks": "^2.5.0", "laravel-vite-plugin": "^2.1.0", - "postcss-prefixwrap": "^1.57.2", + "postcss-prefixwrap": "^1.58.0", "vite-plugin-checker": "^0.12.0", "vite-plugin-dts": "^4.5.4", "vite-plugin-externals": "^0.6.2" diff --git a/packages/vite-config/package.json b/packages/vite-config/package.json index 4d9a5af..98dcabf 100644 --- a/packages/vite-config/package.json +++ b/packages/vite-config/package.json @@ -23,7 +23,7 @@ "@vitejs/plugin-react": "^5.1.4", "@yardinternet/vite-plugin-gutenberg-blocks": "^2.5.0", "laravel-vite-plugin": "^2.1.0", - "postcss-prefixwrap": "^1.57.2", + "postcss-prefixwrap": "^1.58.0", "vite-plugin-checker": "^0.12.0", "vite-plugin-dts": "^4.5.4", "vite-plugin-externals": "^0.6.2" diff --git a/packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js b/packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js index be60d27..81c293a 100644 --- a/packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js +++ b/packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js @@ -1,22 +1,30 @@ import postcssPrefixWrap from 'postcss-prefixwrap'; +const DEFAULT_IGNORED_SELECTORS = [ + ':root', + /^body.+$/, + /^\.editor-styles-wrapper.+$/, +]; + /** * Conditionally returns the PostCSS Prefix Wrap plugin. This plugin is used to wrap editor styles - * inside a .editor-styles-wrapper class based on the provided entrypooints. Some selectors are ignored + * inside a .editor-styles-wrapper class based on the provided entrypoints. Some selectors are ignored * because they need to remain global. */ export function getPostCssPrefixWrapPlugin( config = {} ) { - if ( ! Array.isArray( config?.entryPoints ) ) { + config = config ?? {}; + + if ( ! Array.isArray( config.entryPoints ) ) { return []; } + const ignoredSelectors = Array.isArray( config.additionalIgnoredSelectors ) + ? [ ...DEFAULT_IGNORED_SELECTORS, ...config.additionalIgnoredSelectors ] + : DEFAULT_IGNORED_SELECTORS; + return [ postcssPrefixWrap( '.editor-styles-wrapper', { - ignoredSelectors: [ - ':root', - /^(body)(.+)$/, - /^(.editor-styles-wrapper)(.+)$/, - ], + ignoredSelectors, prefixRootTags: false, whitelist: config.entryPoints, } ),