From 55fb9fbedd88a16b48daeda51ea446915ee02fae Mon Sep 17 00:00:00 2001 From: Jarda Snajdr Date: Wed, 11 May 2022 14:40:39 +0200 Subject: [PATCH] Add new test case for project with CSS modules --- .../test/__snapshots__/build.js.snap | 23 ++++++++++++++ .../test/fixtures/style-imports/index.js | 16 ++++++++++ .../test/fixtures/style-imports/style.css | 1 + .../fixtures/style-imports/webpack.config.js | 31 +++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/index.js create mode 100644 packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/style.css create mode 100644 packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/webpack.config.js diff --git a/packages/dependency-extraction-webpack-plugin/test/__snapshots__/build.js.snap b/packages/dependency-extraction-webpack-plugin/test/__snapshots__/build.js.snap index c2db953234cf73..796db65e4f2eb7 100644 --- a/packages/dependency-extraction-webpack-plugin/test/__snapshots__/build.js.snap +++ b/packages/dependency-extraction-webpack-plugin/test/__snapshots__/build.js.snap @@ -244,6 +244,29 @@ Array [ ] `; +exports[`DependencyExtractionWebpackPlugin Webpack \`style-imports\` should produce expected output: Asset file 'main.asset.php' should match snapshot 1`] = ` +" array('lodash', 'wp-blob'), 'version' => '87d097ece7eeb99faa63'); +" +`; + +exports[`DependencyExtractionWebpackPlugin Webpack \`style-imports\` should produce expected output: External modules should match snapshot 1`] = ` +Array [ + Object { + "externalType": "window", + "request": "lodash", + "userRequest": "lodash", + }, + Object { + "externalType": "window", + "request": Array [ + "wp", + "blob", + ], + "userRequest": "@wordpress/blob", + }, +] +`; + exports[`DependencyExtractionWebpackPlugin Webpack \`wordpress\` should produce expected output: Asset file 'main.asset.php' should match snapshot 1`] = ` " array('lodash', 'wp-blob'), 'version' => '4c78134607e6ed966df3'); " diff --git a/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/index.js b/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/index.js new file mode 100644 index 00000000000000..df02e0b35e6f8e --- /dev/null +++ b/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/index.js @@ -0,0 +1,16 @@ +/** + * WordPress dependencies + */ +import { isBlobURL } from '@wordpress/blob'; + +/** + * External dependencies + */ +import _ from 'lodash'; + +/** + * Internal dependencies + */ +import './style.css'; + +_.isEmpty( isBlobURL( '' ) ); diff --git a/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/style.css b/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/style.css new file mode 100644 index 00000000000000..c5489eafcbc3dc --- /dev/null +++ b/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/style.css @@ -0,0 +1 @@ +body { color: white; } diff --git a/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/webpack.config.js b/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/webpack.config.js new file mode 100644 index 00000000000000..52cb718a579de4 --- /dev/null +++ b/packages/dependency-extraction-webpack-plugin/test/fixtures/style-imports/webpack.config.js @@ -0,0 +1,31 @@ +/** + * External dependencies + */ +const MiniCSSExtractPlugin = require( 'mini-css-extract-plugin' ); + +/** + * Internal dependencies + */ +const DependencyExtractionWebpackPlugin = require( '../../..' ); + +module.exports = { + plugins: [ + new DependencyExtractionWebpackPlugin(), + new MiniCSSExtractPlugin(), + ], + module: { + rules: [ + { + test: /\.css$/, + use: [ + { + loader: MiniCSSExtractPlugin.loader, + }, + { + loader: require.resolve( 'css-loader' ), + }, + ], + }, + ], + }, +};