From b79f56f4d381906eda4a6c6c883cf6bec1a7136e Mon Sep 17 00:00:00 2001 From: Eric Joanis Date: Wed, 7 Oct 2026 16:38:10 -0400 Subject: [PATCH 1/2] fix: update browserslist on install rather than on serve Having serve depend on update-browserslist can cause a race condition when you're using npx nx run-many because one process (update-browserslist) is changing packages while others (serve-es, serve-fr, serve web-component) are compiling from them. Also, having serve depend on update-browerslist makes serve much slower on my Windows machine, because the latter can easily take a minute. We want to automate it, yes, but Del and I agree that on install is a better time and place to automate it than on serve, and it's plently often enough to satisfy our requirements. --- package-lock.json | 1 + package.json | 3 ++- packages/studio-web/project.json | 1 - 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b5b120f1..0077603b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "packages": { "": { "name": "root", + "hasInstallScript": true, "license": "(MIT AND BSD-3-Clause)", "workspaces": [ "packages/*" diff --git a/package.json b/package.json index 26378187..85c59b9b 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,8 @@ "zone.js": "~0.15.0" }, "scripts": { - "prepare": "husky" + "prepare": "husky", + "postinstall": "npx -y update-browserslist-db@latest" }, "commitlint": { "extends": [ diff --git a/packages/studio-web/project.json b/packages/studio-web/project.json index efc71bba..ebceeb12 100644 --- a/packages/studio-web/project.json +++ b/packages/studio-web/project.json @@ -92,7 +92,6 @@ }, "serve": { "executor": "@angular-builders/custom-webpack:dev-server", - "dependsOn": ["update-browserslist"], "configurations": { "production-en": { "buildTarget": "studio-web:build:production,en" From 155912a0e0461db11b30df8fb26970194a6dc330 Mon Sep 17 00:00:00 2001 From: Eric Joanis Date: Thu, 8 Oct 2026 11:49:45 -0400 Subject: [PATCH 2/2] ci: do not re-update browserslist unecessarily --- .github/workflows/bundle.yml | 1 + .github/workflows/deploy.yml | 1 + .github/workflows/dev-preview.yml | 1 - .github/workflows/pr-preview.yml | 4 ---- .github/workflows/release.yml | 1 + .github/workflows/windows-tests.yml | 1 - 6 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/bundle.yml b/.github/workflows/bundle.yml index adf3692a..a84cd484 100644 --- a/.github/workflows/bundle.yml +++ b/.github/workflows/bundle.yml @@ -19,6 +19,7 @@ jobs: - run: npm install -g npm@latest - run: npm ci - run: npx update-browserslist-db@latest + # redundant, npm ci also updates browserslist, but for release we redo it just in case - run: npx nx bundle web-component - name: Create Pull Request uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index cb51a869..a486c85c 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -21,6 +21,7 @@ jobs: - run: npm install -g npm@latest - run: npm ci - run: npx update-browserslist-db@latest + # redundant, npm ci also updates browserslist, but for deploy we redo it just in case - name: Build web-component run: | # create the bundles required for studio-web diff --git a/.github/workflows/dev-preview.yml b/.github/workflows/dev-preview.yml index a0a7e47a..89fd8993 100644 --- a/.github/workflows/dev-preview.yml +++ b/.github/workflows/dev-preview.yml @@ -21,7 +21,6 @@ jobs: node-version: "24" - run: npm install -g npm@latest - run: npm ci - - run: npx update-browserslist-db@latest - name: Build web-component run: | # create the bundles required for studio-web diff --git a/.github/workflows/pr-preview.yml b/.github/workflows/pr-preview.yml index c8651b64..c6893166 100644 --- a/.github/workflows/pr-preview.yml +++ b/.github/workflows/pr-preview.yml @@ -31,10 +31,6 @@ jobs: if: github.event.action != 'closed' run: | npm ci - - name: Always preview with the latest browserslist db - if: github.event.action != 'closed' - run: | - npx update-browserslist-db@latest - name: Build web-component if: github.event.action != 'closed' run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4397433e..3273d63e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -39,6 +39,7 @@ jobs: run: npm install -g npm@latest - run: npm ci - run: npx update-browserslist-db@latest + # redundant, npm ci also updates browserslist, but for release we redo it just in case - name: Build and bundle run: | npx nx bundle web-component diff --git a/.github/workflows/windows-tests.yml b/.github/workflows/windows-tests.yml index 501b47aa..2f392011 100644 --- a/.github/workflows/windows-tests.yml +++ b/.github/workflows/windows-tests.yml @@ -19,7 +19,6 @@ jobs: node-version: 24 - run: npm install -g npm@latest - run: npm ci --verbose - - run: npx update-browserslist-db@latest - name: Ng unit test for studio-web run: |