woocommerce/packages/js/extend-cart-checkout-block/webpack.config.js.mustache

85 lines
2.1 KiB
Plaintext
Raw Normal View History

Add `@woocommerce/extend-cart-checkout-block` package (#32323) * initial commit * 1.1.0 * Add additional files * 1.2.0 * Add sass file and comment to webpack.config.js * 1.3.0 * Use pascal case for class name * 1.4.0 * Add package lock * Add gitignore * Add plugin header * 1.5.0 * Add actions to initialise class * 1.6.0 * Fix issue with __FILE__ and version constant * 1.7.0 * Add scripts to package.lock.json * 1.8.0 * Move scripts to src and remove package.json template * 1.9.0 * Add JS script in root of src folder * 1.10.0 * Add correct directory to JS script * 1.11.0 * Add correct path to sass loader webpack * 1.12.0 * 1.13.0 * Remove automattic colour import * 1.14.0 * update src of scripts * 1.15.0 * update example data * 1.16.0 * update example with filters * 1.17.0 * Add filter for cod payment method * 1.18.0 * Create README.md * Update package.json (https://github.com/woocommerce/blocks-template/pull/1) * Add new file to house the integration class and prevent a fatal error (https://github.com/woocommerce/blocks-template/pull/2) * 1.19.0 * Update integration to use correct hooks * 1.20.0 * Include blocks integration file * 1.21.0 * Remove package lock and update repo references * Remove gitignore and update README * Add project.json * Move package to extend-cart-checkout-block * Update pnpm lock for new package name * Add new package name to dependency extraction webpack plugin * Remove unnecessary config options from webpack.config.js.mustache * Include npmDevDependencies in defaultValues * Add changelog for dependency extraction plugin * Add composer.json for changeglog generation * Add postinstall script to package.json * Remove test script from package.json * Reset package version to 1.0.0 Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2022-05-25 11:44:31 +00:00
const path = require( 'path' );
const defaultConfig = require( '@wordpress/scripts/config/webpack.config' );
const WooCommerceDependencyExtractionWebpackPlugin = require( '@woocommerce/dependency-extraction-webpack-plugin' );
const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' );
// Remove SASS rule from the default config so we can define our own.
const defaultRules = defaultConfig.module.rules.filter( ( rule ) => {
return String( rule.test ) !== String( /\.(sc|sa)ss$/ );
} );
module.exports = {
...defaultConfig,
entry: {
index: path.resolve(process.cwd(), 'src', 'js', 'index.js'),
'{{slug}}-checkout-newsletter-subscription-block': path.resolve(
process.cwd(),
'src',
'js',
'checkout-newsletter-subscription-block',
'index.js'
),
'{{slug}}-checkout-newsletter-subscription-block-frontend': path.resolve(
process.cwd(),
'src',
'js',
'checkout-newsletter-subscription-block',
'frontend.js'
),
},
Add `@woocommerce/extend-cart-checkout-block` package (#32323) * initial commit * 1.1.0 * Add additional files * 1.2.0 * Add sass file and comment to webpack.config.js * 1.3.0 * Use pascal case for class name * 1.4.0 * Add package lock * Add gitignore * Add plugin header * 1.5.0 * Add actions to initialise class * 1.6.0 * Fix issue with __FILE__ and version constant * 1.7.0 * Add scripts to package.lock.json * 1.8.0 * Move scripts to src and remove package.json template * 1.9.0 * Add JS script in root of src folder * 1.10.0 * Add correct directory to JS script * 1.11.0 * Add correct path to sass loader webpack * 1.12.0 * 1.13.0 * Remove automattic colour import * 1.14.0 * update src of scripts * 1.15.0 * update example data * 1.16.0 * update example with filters * 1.17.0 * Add filter for cod payment method * 1.18.0 * Create README.md * Update package.json (https://github.com/woocommerce/blocks-template/pull/1) * Add new file to house the integration class and prevent a fatal error (https://github.com/woocommerce/blocks-template/pull/2) * 1.19.0 * Update integration to use correct hooks * 1.20.0 * Include blocks integration file * 1.21.0 * Remove package lock and update repo references * Remove gitignore and update README * Add project.json * Move package to extend-cart-checkout-block * Update pnpm lock for new package name * Add new package name to dependency extraction webpack plugin * Remove unnecessary config options from webpack.config.js.mustache * Include npmDevDependencies in defaultValues * Add changelog for dependency extraction plugin * Add composer.json for changeglog generation * Add postinstall script to package.json * Remove test script from package.json * Reset package version to 1.0.0 Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2022-05-25 11:44:31 +00:00
module: {
...defaultConfig.module,
rules: [
...defaultRules,
{
test: /\.(sc|sa)ss$/,
exclude: /node_modules/,
use: [
MiniCssExtractPlugin.loader,
{ loader: 'css-loader', options: { importLoaders: 1 } },
{
loader: 'sass-loader',
options: {
sassOptions: {
includePaths: [ 'src/css' ],
},
additionalData: ( content, loaderContext ) => {
const {
resourcePath,
rootContext,
} = loaderContext;
const relativePath = path.relative(
rootContext,
resourcePath
);
if (
relativePath.startsWith( 'src/css/' )
) {
return content;
}
// Add code here to prepend to all .scss/.sass files.
return (
'@import "_colors"; ' +
content
);
},
},
},
],
},
],
},
plugins: [
...defaultConfig.plugins.filter(
( plugin ) =>
plugin.constructor.name !== 'DependencyExtractionWebpackPlugin'
),
new WooCommerceDependencyExtractionWebpackPlugin(),
new MiniCssExtractPlugin( {
filename: `[name].css`,
} ),
],
};