Skip to content

Commit 00d2562

Browse files
committed
Tools: Fix running build scripts on Windows does not generate CSS files for blocks
Starting with WordPress 6.0, when running `npm run build` or `npm run build:dev`, no CSS files were generated for the blocks within `wp-includes/blocks/**`. Props wildworks, clorith, sergeybiryukov. Fixes #56616. git-svn-id: https://develop.svn.wordpress.org/trunk@54307 602fd350-edb4-49c9-b593-d223f7449a82
1 parent decd946 commit 00d2562

File tree

3 files changed

+24
-22
lines changed

3 files changed

+24
-22
lines changed

tools/webpack/blocks.js

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
*/
44
const { DefinePlugin } = require( 'webpack' );
55
const CopyWebpackPlugin = require( 'copy-webpack-plugin' );
6-
const { join } = require( 'path' );
76

87
/**
98
* WordPress dependencies
@@ -13,7 +12,7 @@ const DependencyExtractionPlugin = require( '@wordpress/dependency-extraction-we
1312
/**
1413
* Internal dependencies
1514
*/
16-
const { stylesTransform, baseConfig, baseDir } = require( './shared' );
15+
const { normalizeJoin, stylesTransform, baseConfig, baseDir } = require( './shared' );
1716

1817
module.exports = function( env = { environment: 'production', watch: false, buildTarget: false } ) {
1918
const mode = env.environment;
@@ -131,33 +130,33 @@ module.exports = function( env = { environment: 'production', watch: false, buil
131130
};
132131

133132
const blockPHPCopies = Object.keys( blockPHPFiles ).map( ( filename ) => ( {
134-
from: join( baseDir, `node_modules/@wordpress/${ filename }` ),
135-
to: join( baseDir, `src/${ blockPHPFiles[ filename ] }` ),
133+
from: normalizeJoin(baseDir, `node_modules/@wordpress/${ filename }` ),
134+
to: normalizeJoin(baseDir, `src/${ blockPHPFiles[ filename ] }` ),
136135
} ) );
137136

138137
const blockMetadataCopies = Object.keys( blockMetadataFiles ).map( ( filename ) => ( {
139-
from: join( baseDir, `node_modules/@wordpress/${ filename }` ),
140-
to: join( baseDir, `src/${ blockMetadataFiles[ filename ] }` ),
138+
from: normalizeJoin(baseDir, `node_modules/@wordpress/${ filename }` ),
139+
to: normalizeJoin(baseDir, `src/${ blockMetadataFiles[ filename ] }` ),
141140
} ) );
142141

143142
const blockStylesheetCopies = blockFolders.map( ( blockName ) => ( {
144-
from: join( baseDir, `node_modules/@wordpress/block-library/build-style/${ blockName }/*.css` ),
145-
to: join( baseDir, `${ buildTarget }/blocks/${ blockName }/[name]${ suffix }.css` ),
143+
from: normalizeJoin(baseDir, `node_modules/@wordpress/block-library/build-style/${ blockName }/*.css` ),
144+
to: normalizeJoin(baseDir, `${ buildTarget }/blocks/${ blockName }/[name]${ suffix }.css` ),
146145
transform: stylesTransform( mode ),
147146
noErrorOnMissing: true,
148147
} ) );
149148

150149
const config = {
151150
...baseConfig( env ),
152151
entry: {
153-
'file/view': join( baseDir, `node_modules/@wordpress/block-library/build-module/file/view` ),
154-
'navigation/view': join( baseDir, `node_modules/@wordpress/block-library/build-module/navigation/view` ),
155-
'navigation/view-modal': join( baseDir, `node_modules/@wordpress/block-library/build-module/navigation/view-modal` ),
152+
'file/view': normalizeJoin(baseDir, `node_modules/@wordpress/block-library/build-module/file/view` ),
153+
'navigation/view': normalizeJoin(baseDir, `node_modules/@wordpress/block-library/build-module/navigation/view` ),
154+
'navigation/view-modal': normalizeJoin(baseDir, `node_modules/@wordpress/block-library/build-module/navigation/view-modal` ),
156155
},
157156
output: {
158157
devtoolNamespace: 'wp',
159158
filename: `[name]${ suffix }.js`,
160-
path: join( baseDir, `${ buildTarget }/blocks` ),
159+
path: normalizeJoin(baseDir, `${ buildTarget }/blocks` ),
161160
},
162161
plugins: [
163162
new DefinePlugin( {

tools/webpack/packages.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ const { DefinePlugin } = require( 'webpack' );
55
const CopyWebpackPlugin = require( 'copy-webpack-plugin' );
66
const LiveReloadPlugin = require( 'webpack-livereload-plugin' );
77
const UglifyJS = require( 'uglify-js' );
8-
const { join } = require( 'path' );
98

109
/**
1110
* WordPress dependencies
@@ -18,7 +17,7 @@ const DependencyExtractionPlugin = require( '@wordpress/dependency-extraction-we
1817
/**
1918
* Internal dependencies
2019
*/
21-
const { stylesTransform, baseConfig, baseDir } = require( './shared' );
20+
const { normalizeJoin, stylesTransform, baseConfig, baseDir } = require( './shared' );
2221
const { dependencies } = require( '../../package' );
2322

2423
const exportDefaultPackages = [
@@ -42,8 +41,8 @@ const exportDefaultPackages = [
4241
*/
4342
function mapVendorCopies( vendors, buildTarget ) {
4443
return Object.keys( vendors ).map( ( filename ) => ( {
45-
from: join( baseDir, `node_modules/${ vendors[ filename ] }` ),
46-
to: join( baseDir, `${ buildTarget }/js/dist/vendor/${ filename }` ),
44+
from: normalizeJoin(baseDir, `node_modules/${ vendors[ filename ] }` ),
45+
to: normalizeJoin(baseDir, `${ buildTarget }/js/dist/vendor/${ filename }` ),
4746
} ) );
4847
}
4948

@@ -115,22 +114,22 @@ module.exports = function( env = { environment: 'production', watch: false, buil
115114
let vendorCopies = mode === "development" ? developmentCopies : [ ...minifiedCopies, ...minifyCopies ];
116115

117116
let cssCopies = packages.map( ( packageName ) => ( {
118-
from: join( baseDir, `node_modules/@wordpress/${ packageName }/build-style/*.css` ),
119-
to: join( baseDir, `${ buildTarget }/css/dist/${ packageName }/[name]${ suffix }.css` ),
117+
from: normalizeJoin(baseDir, `node_modules/@wordpress/${ packageName }/build-style/*.css` ),
118+
to: normalizeJoin(baseDir, `${ buildTarget }/css/dist/${ packageName }/[name]${ suffix }.css` ),
120119
transform: stylesTransform( mode ),
121120
noErrorOnMissing: true,
122121
} ) );
123122

124123
const phpCopies = Object.keys( phpFiles ).map( ( filename ) => ( {
125-
from: join( baseDir, `node_modules/@wordpress/${ filename }` ),
126-
to: join( baseDir, `src/${ phpFiles[ filename ] }` ),
124+
from: normalizeJoin(baseDir, `node_modules/@wordpress/${ filename }` ),
125+
to: normalizeJoin(baseDir, `src/${ phpFiles[ filename ] }` ),
127126
} ) );
128127

129128
const config = {
130129
...baseConfig( env ),
131130
entry: packages.reduce( ( memo, packageName ) => {
132131
memo[ packageName ] = {
133-
import: join( baseDir, `node_modules/@wordpress/${ packageName }` ),
132+
import: normalizeJoin(baseDir, `node_modules/@wordpress/${ packageName }` ),
134133
library: {
135134
name: [ 'wp', camelCaseDash( packageName ) ],
136135
type: 'window',
@@ -145,7 +144,7 @@ module.exports = function( env = { environment: 'production', watch: false, buil
145144
output: {
146145
devtoolNamespace: 'wp',
147146
filename: `[name]${ suffix }.js`,
148-
path: join( baseDir, `${ buildTarget }/js/dist` ),
147+
path: normalizeJoin(baseDir, `${ buildTarget }/js/dist` ),
149148
},
150149
plugins: [
151150
new DefinePlugin( {

tools/webpack/shared.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,12 @@ const stylesTransform = ( mode ) => ( content ) => {
6969
return content;
7070
};
7171

72+
const normalizeJoin = ( ...paths ) => join( ...paths ).replace( /\\/g, '/' );
73+
74+
7275
module.exports = {
7376
baseDir,
7477
baseConfig,
78+
normalizeJoin,
7579
stylesTransform,
7680
};

0 commit comments

Comments
 (0)