]> source.dussan.org Git - jquery.git/commitdiff
Build: fix inconsistent builds in Node 20
authorTimmy Willison <timmywil@users.noreply.github.com>
Wed, 20 Sep 2023 21:19:21 +0000 (17:19 -0400)
committerTimmy Willison <timmywil@users.noreply.github.com>
Wed, 20 Sep 2023 22:20:59 +0000 (18:20 -0400)
- one fileOverrides per build
- only run the lint build when running lint

Close gh-5332

.github/workflows/node.js.yml
build/tasks/build.js

index 65a1d2167c17c790ec287cbe4063566ff834d555..5be13bcdd595b24fe8103af3503249eb5470ac91 100644 (file)
@@ -70,12 +70,8 @@ jobs:
       run: npx playwright-webkit install-deps
       if: matrix.NPM_SCRIPT == 'test:browser' && contains(matrix.BROWSERS, 'WebkitHeadless')
 
-    - name: Build jQuery for Lint
-      run: npm run build:all
-      if: matrix.NPM_SCRIPT == 'test:browserless'
-
     - name: Lint code
-      run: npm run lint
+      run: npm run build:all && npm run lint
       if: matrix.NODE_VERSION == '18.x'
 
     - name: Prepare tests
index 69a4de7c7c7228eefae31925a830f4becd30b374..f9cc8e2a2accbd3e1e4eff500b73c95bb9bed7ba 100644 (file)
@@ -102,15 +102,6 @@ async function getOutputRollupOptions( {
        };
 }
 
-const fileOverrides = new Map();
-
-function setOverride( filePath, source ) {
-
-       // We want normalized paths in overrides as they will be matched
-       // against normalized paths in the file overrides Rollup plugin.
-       fileOverrides.set( path.resolve( filePath ), source );
-}
-
 function unique( array ) {
        return [ ...new Set( array ) ];
 }
@@ -179,6 +170,15 @@ async function build( {
 } = {} ) {
        const pureSlim = slim && !exclude.length && !include.length;
 
+       const fileOverrides = new Map();
+
+       function setOverride( filePath, source ) {
+
+               // We want normalized paths in overrides as they will be matched
+               // against normalized paths in the file overrides Rollup plugin.
+               fileOverrides.set( path.resolve( filePath ), source );
+       }
+
        // Add the short commit hash to the version string
        // when the version is not for a release.
        if ( !version ) {
@@ -280,11 +280,6 @@ async function build( {
                );
        }
 
-       const bundle = await rollup.rollup( {
-               ...inputOptions,
-               plugins: [ rollupFileOverrides( fileOverrides ) ]
-       } );
-
        const outputOptions = await getOutputRollupOptions( { esm, factory } );
 
        if ( watch ) {
@@ -326,6 +321,11 @@ async function build( {
 
                return watcher;
        } else {
+               const bundle = await rollup.rollup( {
+                       ...inputOptions,
+                       plugins: [ rollupFileOverrides( fileOverrides ) ]
+               } );
+
                const {
                        output: [ { code } ]
                } = await bundle.generate( outputOptions );