Use (S)CSS setup from @worpress/scripts

[MAILPOET-5015]
This commit is contained in:
Jan Jakes
2023-01-27 09:40:15 +01:00
committed by Jan Jakeš
parent 995f61f6fd
commit 900a03756f
8 changed files with 25 additions and 2 deletions

View File

@ -1,3 +1,4 @@
/build /build
/build-module /build-module
/build-style
/build-types /build-types

View File

@ -1,7 +1,10 @@
{ {
"name": "@mailpoet/components", "name": "@mailpoet/components",
"private": true, "private": true,
"sideEffects": false, "sideEffects": [
"build-style/**",
"src/**/*.scss"
],
"version": "0.1.0", "version": "0.1.0",
"type": "module", "type": "module",
"module": "build-module/index.js", "module": "build-module/index.js",

View File

@ -1,3 +1,5 @@
import styles from './style.module.scss';
export function Dummy(): JSX.Element { export function Dummy(): JSX.Element {
return <div>Dummy component</div>; return <div className={styles.dummy}>Dummy component</div>;
} }

View File

@ -0,0 +1,3 @@
.dummy {
color: red;
}

View File

@ -0,0 +1,2 @@
declare module '*.module.css';
declare module '*.module.scss';

View File

@ -1 +1,3 @@
import './style.scss';
export * from './dummy'; export * from './dummy';

View File

View File

@ -5,6 +5,16 @@ import { WebpackEmitAllPlugin } from '../../../tools/webpack/webpack-emit-all-pl
const dirname = new URL('.', import.meta.url).pathname; const dirname = new URL('.', import.meta.url).pathname;
const miniCssExtractPlugin = defaultConfig.plugins.find(
(plugin) => plugin.constructor.name === 'MiniCssExtractPlugin',
);
miniCssExtractPlugin.options = {
...miniCssExtractPlugin.options,
filename: path.join('../build-style', 'style.css'),
experimentalUseImportModule: false,
};
const plugins = [ const plugins = [
...defaultConfig.plugins.filter( ...defaultConfig.plugins.filter(
(plugin) => plugin.constructor.name !== 'DependencyExtractionWebpackPlugin', (plugin) => plugin.constructor.name !== 'DependencyExtractionWebpackPlugin',