Skip to content

Commit 9542580

Browse files
committed
Build/Test Tools: Consolidate vendor file copying to ensure .min.js files are minified.
Relocates the copying of vendor JavaScript files back to the `grunt copy:vendor-js` subtask to ensure the files are in place prior to the grunt uglify step running to minify the files. Reviewed by desrosj, peterwilsoncc. Merges [62258] to the 7.0 branch. Props desrosj, peterwilsoncc. Fixes #65007. See #64393. git-svn-id: https://develop.svn.wordpress.org/branches/7.0@62276 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 4bca859 commit 9542580

3 files changed

Lines changed: 63 additions & 201 deletions

File tree

Gruntfile.js

Lines changed: 62 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,55 @@ module.exports = function(grunt) {
397397
'suggest*'
398398
],
399399
dest: WORKING_DIR + 'wp-includes/js/jquery/'
400+
},
401+
{
402+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/lodash.js' ]: [ './node_modules/lodash/lodash.js' ],
403+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/lodash.min.js' ]: [ './node_modules/lodash/lodash.min.js' ],
404+
},
405+
{
406+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/moment.js' ]: [ './node_modules/moment/moment.js' ],
407+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/moment.min.js' ]: [ './node_modules/moment/min/moment.min.js' ],
408+
},
409+
{
410+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/regenerator-runtime.js' ]: [ './node_modules/regenerator-runtime/runtime.js' ],
411+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/regenerator-runtime.min.js' ]: [ './node_modules/regenerator-runtime/runtime.js' ],
412+
},
413+
// React libraries: react, react-dom
414+
{
415+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/react.js' ]: [ './node_modules/react/umd/react.development.js' ],
416+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/react.min.js' ]: [ './node_modules/react/umd/react.production.min.js' ],
417+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/react-dom.js' ]: [ './node_modules/react-dom/umd/react-dom.development.js' ],
418+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/react-dom.min.js' ]: [ './node_modules/react-dom/umd/react-dom.production.min.js' ],
419+
},
420+
// Polyfills
421+
{
422+
// @wordpress/babel-preset-default
423+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill.js' ]: [ './node_modules/@wordpress/babel-preset-default/build/polyfill.js' ],
424+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill.min.js' ]: [ './node_modules/@wordpress/babel-preset-default/build/polyfill.min.js' ],
425+
// polyfill-library (DOMRect)
426+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-dom-rect.js' ]: [ './node_modules/polyfill-library/polyfills/__dist/DOMRect/raw.js' ],
427+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-dom-rect.min.js' ]: [ './node_modules/polyfill-library/polyfills/__dist/DOMRect/min.js' ],
428+
// element-closest
429+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-element-closest.js' ]: [ './node_modules/element-closest/browser.js' ],
430+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-element-closest.min.js' ]: [ './node_modules/element-closest/browser.js' ],
431+
// whatwg-fetch
432+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-fetch.js' ]: [ './node_modules/whatwg-fetch/dist/fetch.umd.js' ],
433+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-fetch.min.js' ]: [ './node_modules/whatwg-fetch/dist/fetch.umd.js' ],
434+
// formdata-polyfill
435+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-formdata.js' ]: [ './node_modules/formdata-polyfill/FormData.js' ],
436+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-formdata.min.js' ]: [ './node_modules/formdata-polyfill/formdata.min.js' ],
437+
// wicg-inert
438+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-inert.js' ]: [ './node_modules/wicg-inert/dist/inert.js' ],
439+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-inert.min.js' ]: [ './node_modules/wicg-inert/dist/inert.min.js' ],
440+
// polyfill-library (Node.prototype.contains)
441+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-node-contains.js' ]: [ './node_modules/polyfill-library/polyfills/__dist/Node.prototype.contains/raw.js' ],
442+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-node-contains.min.js' ]: [ './node_modules/polyfill-library/polyfills/__dist/Node.prototype.contains/min.js' ],
443+
// objectFitPolyfill
444+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-object-fit.js' ]: [ './node_modules/objectFitPolyfill/src/objectFitPolyfill.js' ],
445+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-object-fit.min.js' ]: [ './node_modules/objectFitPolyfill/dist/objectFitPolyfill.min.js' ],
446+
// core-js-url-browser
447+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-url.js' ]: [ './node_modules/core-js-url-browser/url.js' ],
448+
[ WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-url.min.js' ]: [ './node_modules/core-js-url-browser/url.min.js' ],
400449
}
401450
].concat(
402451
// Copy tinymce.js only when building to /src.
@@ -1107,6 +1156,14 @@ module.exports = function(grunt) {
11071156
src: WORKING_DIR + 'wp-includes/js/dist/vendor/moment.js',
11081157
dest: WORKING_DIR + 'wp-includes/js/dist/vendor/moment.min.js'
11091158
},
1159+
'regenerator-runtime': {
1160+
src: WORKING_DIR + 'wp-includes/js/dist/vendor/regenerator-runtime.js',
1161+
dest: WORKING_DIR + 'wp-includes/js/dist/vendor/regenerator-runtime.min.js'
1162+
},
1163+
'wp-polyfill-fetch': {
1164+
src: WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-fetch.js',
1165+
dest: WORKING_DIR + 'wp-includes/js/dist/vendor/wp-polyfill-fetch.min.js'
1166+
},
11101167
dynamic: {
11111168
expand: true,
11121169
cwd: WORKING_DIR,
@@ -1635,18 +1692,6 @@ module.exports = function(grunt) {
16351692
} );
16361693
} );
16371694

1638-
grunt.registerTask( 'copy-vendor-scripts', 'Copies vendor scripts from node_modules to wp-includes/js/dist/vendor/.', function() {
1639-
const done = this.async();
1640-
const buildDir = grunt.option( 'dev' ) ? 'src' : 'build';
1641-
grunt.util.spawn( {
1642-
cmd: 'node',
1643-
args: [ 'tools/vendors/copy-vendors.js', `--build-dir=${ buildDir }` ],
1644-
opts: { stdio: 'inherit' }
1645-
}, function( error ) {
1646-
done( ! error );
1647-
} );
1648-
} );
1649-
16501695
grunt.renameTask( 'watch', '_watch' );
16511696

16521697
grunt.registerTask( 'watch', function() {
@@ -1675,6 +1720,8 @@ module.exports = function(grunt) {
16751720
'uglify:imgareaselect',
16761721
'uglify:jqueryform',
16771722
'uglify:moment',
1723+
'uglify:regenerator-runtime',
1724+
'uglify:wp-polyfill-fetch',
16781725
'qunit:compiled'
16791726
] );
16801727

@@ -1817,7 +1864,9 @@ module.exports = function(grunt) {
18171864
'uglify:jquery-ui',
18181865
'uglify:imgareaselect',
18191866
'uglify:jqueryform',
1820-
'uglify:moment'
1867+
'uglify:moment',
1868+
'uglify:regenerator-runtime',
1869+
'uglify:wp-polyfill-fetch'
18211870
] );
18221871

18231872
grunt.registerTask( 'build:codemirror', [
@@ -1837,7 +1886,6 @@ module.exports = function(grunt) {
18371886
'clean:js',
18381887
'build:webpack',
18391888
'copy:js',
1840-
'copy-vendor-scripts',
18411889
'file_append',
18421890
'uglify:all',
18431891
'concat:tinymce',

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@
142142
"typecheck:php": "node ./tools/local-env/scripts/docker.js run --rm php composer phpstan",
143143
"gutenberg:copy": "node tools/gutenberg/copy.js",
144144
"gutenberg:verify": "node tools/gutenberg/utils.js",
145-
"gutenberg:download": "node tools/gutenberg/download.js && grunt build:gutenberg --dev",
146-
"vendor:copy": "node tools/vendors/copy-vendors.js"
145+
"gutenberg:download": "node tools/gutenberg/download.js && grunt build:gutenberg --dev"
147146
}
148147
}

tools/vendors/copy-vendors.js

Lines changed: 0 additions & 185 deletions
This file was deleted.

0 commit comments

Comments
 (0)