From b5ac8ea37bc69a25f4c6f8b08fd2c619985b6cbb Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 19 Mar 2026 08:40:00 -0400 Subject: [PATCH 1/5] Add `grunt clean` to `postinstall` temporarily. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index faf0b41fffee6..b08c3e4b8039f 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "wicg-inert": "3.1.3" }, "scripts": { - "postinstall": "npm run gutenberg:verify", + "postinstall": "npm run grunt clean -- --dev && npm run gutenberg:verify", "build": "grunt build", "build:dev": "grunt build --dev", "build:gutenberg": "grunt build:gutenberg", From cf1ac405142619730619e3ce5843af0d7d8c4a70 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 19 Mar 2026 09:15:37 -0400 Subject: [PATCH 2/5] Try `gutenberg:download` instead. The previous attempt was creating an infinite loop. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b08c3e4b8039f..bc52d838d4176 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "wicg-inert": "3.1.3" }, "scripts": { - "postinstall": "npm run grunt clean -- --dev && npm run gutenberg:verify", + "postinstall": "npm run gutenberg:download", "build": "grunt build", "build:dev": "grunt build --dev", "build:gutenberg": "grunt build:gutenberg", From 04c37f21ccf7c971c1a750370df85ebdb38356a4 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 19 Mar 2026 10:42:02 -0400 Subject: [PATCH 3/5] Try moving clean after verify. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bc52d838d4176..a32904d79895d 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "wicg-inert": "3.1.3" }, "scripts": { - "postinstall": "npm run gutenberg:download", + "postinstall": "npm run gutenberg:verify && npm run grunt clean -- --dev", "build": "grunt build", "build:dev": "grunt build --dev", "build:gutenberg": "grunt build:gutenberg", From 73e0060922624eb8013f66c2c142b56ce5703981 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 19 Mar 2026 10:51:49 -0400 Subject: [PATCH 4/5] Add code in Grunt itself. --- Gruntfile.js | 12 ++++++++++-- package.json | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index dddc595d2e29d..0ebfe5d99dfb7 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2063,9 +2063,17 @@ module.exports = function(grunt) { ] ); grunt.registerTask( 'build', function() { + grunt.util.spawn( { + grunt: true, + args: [ 'clean', '--dev' ], + opts: { stdio: 'inherit' } + }, function( buildError ) { + done( ! buildError ); + } ); + if ( grunt.option( 'dev' ) ) { grunt.task.run( [ - 'gutenberg:verify', + 'gutenberg:download', 'build:js', 'build:css', 'build:codemirror', @@ -2075,7 +2083,7 @@ module.exports = function(grunt) { ] ); } else { grunt.task.run( [ - 'gutenberg:verify', + 'gutenberg:download', 'build:certificates', 'build:files', 'build:js', diff --git a/package.json b/package.json index a32904d79895d..faf0b41fffee6 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "wicg-inert": "3.1.3" }, "scripts": { - "postinstall": "npm run gutenberg:verify && npm run grunt clean -- --dev", + "postinstall": "npm run gutenberg:verify", "build": "grunt build", "build:dev": "grunt build --dev", "build:gutenberg": "grunt build:gutenberg", From c88e55f3a009a4092033d728ae8e8a9caacda714 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 19 Mar 2026 10:54:45 -0400 Subject: [PATCH 5/5] Add missing `done`. --- Gruntfile.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gruntfile.js b/Gruntfile.js index 0ebfe5d99dfb7..821046a4c86c6 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2063,6 +2063,8 @@ module.exports = function(grunt) { ] ); grunt.registerTask( 'build', function() { + var done = this.async(); + grunt.util.spawn( { grunt: true, args: [ 'clean', '--dev' ],