diff --git a/tools/webpack/blocks.js b/tools/webpack/blocks.js index dc9bcb5458..5c75c2b0d3 100644 --- a/tools/webpack/blocks.js +++ b/tools/webpack/blocks.js @@ -3,7 +3,6 @@ */ const { DefinePlugin } = require( 'webpack' ); const CopyWebpackPlugin = require( 'copy-webpack-plugin' ); -const { join } = require( 'path' ); /** * WordPress dependencies @@ -13,7 +12,7 @@ const DependencyExtractionPlugin = require( '@wordpress/dependency-extraction-we /** * Internal dependencies */ -const { stylesTransform, baseConfig, baseDir } = require( './shared' ); +const { normalizeJoin, stylesTransform, baseConfig, baseDir } = require( './shared' ); module.exports = function( env = { environment: 'production', watch: false, buildTarget: false } ) { const mode = env.environment; @@ -131,18 +130,18 @@ module.exports = function( env = { environment: 'production', watch: false, buil }; const blockPHPCopies = Object.keys( blockPHPFiles ).map( ( filename ) => ( { - from: join( baseDir, `node_modules/@wordpress/${ filename }` ), - to: join( baseDir, `src/${ blockPHPFiles[ filename ] }` ), + from: normalizeJoin(baseDir, `node_modules/@wordpress/${ filename }` ), + to: normalizeJoin(baseDir, `src/${ blockPHPFiles[ filename ] }` ), } ) ); const blockMetadataCopies = Object.keys( blockMetadataFiles ).map( ( filename ) => ( { - from: join( baseDir, `node_modules/@wordpress/${ filename }` ), - to: join( baseDir, `src/${ blockMetadataFiles[ filename ] }` ), + from: normalizeJoin(baseDir, `node_modules/@wordpress/${ filename }` ), + to: normalizeJoin(baseDir, `src/${ blockMetadataFiles[ filename ] }` ), } ) ); const blockStylesheetCopies = blockFolders.map( ( blockName ) => ( { - from: join( baseDir, `node_modules/@wordpress/block-library/build-style/${ blockName }/*.css` ), - to: join( baseDir, `${ buildTarget }/blocks/${ blockName }/[name]${ suffix }.css` ), + from: normalizeJoin(baseDir, `node_modules/@wordpress/block-library/build-style/${ blockName }/*.css` ), + to: normalizeJoin(baseDir, `${ buildTarget }/blocks/${ blockName }/[name]${ suffix }.css` ), transform: stylesTransform( mode ), noErrorOnMissing: true, } ) ); @@ -150,14 +149,14 @@ module.exports = function( env = { environment: 'production', watch: false, buil const config = { ...baseConfig( env ), entry: { - 'file/view': join( baseDir, `node_modules/@wordpress/block-library/build-module/file/view` ), - 'navigation/view': join( baseDir, `node_modules/@wordpress/block-library/build-module/navigation/view` ), - 'navigation/view-modal': join( baseDir, `node_modules/@wordpress/block-library/build-module/navigation/view-modal` ), + 'file/view': normalizeJoin(baseDir, `node_modules/@wordpress/block-library/build-module/file/view` ), + 'navigation/view': normalizeJoin(baseDir, `node_modules/@wordpress/block-library/build-module/navigation/view` ), + 'navigation/view-modal': normalizeJoin(baseDir, `node_modules/@wordpress/block-library/build-module/navigation/view-modal` ), }, output: { devtoolNamespace: 'wp', filename: `[name]${ suffix }.js`, - path: join( baseDir, `${ buildTarget }/blocks` ), + path: normalizeJoin(baseDir, `${ buildTarget }/blocks` ), }, plugins: [ new DefinePlugin( { diff --git a/tools/webpack/packages.js b/tools/webpack/packages.js index f782081be5..bc2daa640a 100644 --- a/tools/webpack/packages.js +++ b/tools/webpack/packages.js @@ -5,7 +5,6 @@ const { DefinePlugin } = require( 'webpack' ); const CopyWebpackPlugin = require( 'copy-webpack-plugin' ); const LiveReloadPlugin = require( 'webpack-livereload-plugin' ); const UglifyJS = require( 'uglify-js' ); -const { join } = require( 'path' ); /** * WordPress dependencies @@ -18,7 +17,7 @@ const DependencyExtractionPlugin = require( '@wordpress/dependency-extraction-we /** * Internal dependencies */ -const { stylesTransform, baseConfig, baseDir } = require( './shared' ); +const { normalizeJoin, stylesTransform, baseConfig, baseDir } = require( './shared' ); const { dependencies } = require( '../../package' ); const exportDefaultPackages = [ @@ -42,8 +41,8 @@ const exportDefaultPackages = [ */ function mapVendorCopies( vendors, buildTarget ) { return Object.keys( vendors ).map( ( filename ) => ( { - from: join( baseDir, `node_modules/${ vendors[ filename ] }` ), - to: join( baseDir, `${ buildTarget }/js/dist/vendor/${ filename }` ), + from: normalizeJoin(baseDir, `node_modules/${ vendors[ filename ] }` ), + to: normalizeJoin(baseDir, `${ buildTarget }/js/dist/vendor/${ filename }` ), } ) ); } @@ -115,22 +114,22 @@ module.exports = function( env = { environment: 'production', watch: false, buil let vendorCopies = mode === "development" ? developmentCopies : [ ...minifiedCopies, ...minifyCopies ]; let cssCopies = packages.map( ( packageName ) => ( { - from: join( baseDir, `node_modules/@wordpress/${ packageName }/build-style/*.css` ), - to: join( baseDir, `${ buildTarget }/css/dist/${ packageName }/[name]${ suffix }.css` ), + from: normalizeJoin(baseDir, `node_modules/@wordpress/${ packageName }/build-style/*.css` ), + to: normalizeJoin(baseDir, `${ buildTarget }/css/dist/${ packageName }/[name]${ suffix }.css` ), transform: stylesTransform( mode ), noErrorOnMissing: true, } ) ); const phpCopies = Object.keys( phpFiles ).map( ( filename ) => ( { - from: join( baseDir, `node_modules/@wordpress/${ filename }` ), - to: join( baseDir, `src/${ phpFiles[ filename ] }` ), + from: normalizeJoin(baseDir, `node_modules/@wordpress/${ filename }` ), + to: normalizeJoin(baseDir, `src/${ phpFiles[ filename ] }` ), } ) ); const config = { ...baseConfig( env ), entry: packages.reduce( ( memo, packageName ) => { memo[ packageName ] = { - import: join( baseDir, `node_modules/@wordpress/${ packageName }` ), + import: normalizeJoin(baseDir, `node_modules/@wordpress/${ packageName }` ), library: { name: [ 'wp', camelCaseDash( packageName ) ], type: 'window', @@ -145,7 +144,7 @@ module.exports = function( env = { environment: 'production', watch: false, buil output: { devtoolNamespace: 'wp', filename: `[name]${ suffix }.js`, - path: join( baseDir, `${ buildTarget }/js/dist` ), + path: normalizeJoin(baseDir, `${ buildTarget }/js/dist` ), }, plugins: [ new DefinePlugin( { diff --git a/tools/webpack/shared.js b/tools/webpack/shared.js index 269b60fd9d..bbd11ecd12 100644 --- a/tools/webpack/shared.js +++ b/tools/webpack/shared.js @@ -69,8 +69,12 @@ const stylesTransform = ( mode ) => ( content ) => { return content; }; +const normalizeJoin = ( ...paths ) => join( ...paths ).replace( /\\/g, '/' ); + + module.exports = { baseDir, baseConfig, + normalizeJoin, stylesTransform, };