From 86496e74d92a397ebe516abe2deb271d144cd4c8 Mon Sep 17 00:00:00 2001 From: Yannic van Veen Date: Thu, 7 May 2026 10:03:37 +0200 Subject: [PATCH 1/4] feat: add configuration for postcss prefixwrap ignored selectors --- packages/vite-config/package.json | 2 +- .../utils/get-postcss-prefixwrap-plugin.js | 20 ++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) 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..23aee67 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,28 @@ 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 ) ) { + if ( ! Array.isArray( config.entryPoints ) ) { return []; } + const ignoredSelectors = Array.isArray( config.ignoredSelectors ) + ? [ ...DEFAULT_IGNORED_SELECTORS, ...config.ignoredSelectors ] + : DEFAULT_IGNORED_SELECTORS; + return [ postcssPrefixWrap( '.editor-styles-wrapper', { - ignoredSelectors: [ - ':root', - /^(body)(.+)$/, - /^(.editor-styles-wrapper)(.+)$/, - ], + ignoredSelectors, prefixRootTags: false, whitelist: config.entryPoints, } ), From bd77c8e1e6209501a613a6282a4746f51c3dd620 Mon Sep 17 00:00:00 2001 From: Yannic van Veen Date: Thu, 7 May 2026 10:13:35 +0200 Subject: [PATCH 2/4] feat: add config fallback --- packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js | 2 ++ 1 file changed, 2 insertions(+) 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 23aee67..59a8777 100644 --- a/packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js +++ b/packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js @@ -12,6 +12,8 @@ const DEFAULT_IGNORED_SELECTORS = [ * because they need to remain global. */ export function getPostCssPrefixWrapPlugin( config = {} ) { + config = config ?? {}; + if ( ! Array.isArray( config.entryPoints ) ) { return []; } From 6a87233565dcbd704753c23924d65a50fec14ae4 Mon Sep 17 00:00:00 2001 From: Yannic van Veen Date: Thu, 7 May 2026 10:18:56 +0200 Subject: [PATCH 3/4] feat: update lock file --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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" From e7c20675366b9014b9e765367263636c4db52081 Mon Sep 17 00:00:00 2001 From: Yannic van Veen Date: Thu, 7 May 2026 10:23:33 +0200 Subject: [PATCH 4/4] feat: rename config name to make it clear that selectors are merged --- .../vite-config/src/utils/get-postcss-prefixwrap-plugin.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 59a8777..81c293a 100644 --- a/packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js +++ b/packages/vite-config/src/utils/get-postcss-prefixwrap-plugin.js @@ -18,8 +18,8 @@ export function getPostCssPrefixWrapPlugin( config = {} ) { return []; } - const ignoredSelectors = Array.isArray( config.ignoredSelectors ) - ? [ ...DEFAULT_IGNORED_SELECTORS, ...config.ignoredSelectors ] + const ignoredSelectors = Array.isArray( config.additionalIgnoredSelectors ) + ? [ ...DEFAULT_IGNORED_SELECTORS, ...config.additionalIgnoredSelectors ] : DEFAULT_IGNORED_SELECTORS; return [