Build: fix inconsistent builds in Node 20

- one fileOverrides per build
- only run the lint build when running lint

Close gh-5332
This commit is contained in:
Timmy Willison 2023-09-20 17:19:21 -04:00
parent 77d6ad7172
commit 7ef9099d32
2 changed files with 15 additions and 19 deletions

View File

@ -70,12 +70,8 @@ jobs:
run: npx playwright-webkit install-deps run: npx playwright-webkit install-deps
if: matrix.NPM_SCRIPT == 'test:browser' && contains(matrix.BROWSERS, 'WebkitHeadless') 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 - name: Lint code
run: npm run lint run: npm run build:all && npm run lint
if: matrix.NODE_VERSION == '18.x' if: matrix.NODE_VERSION == '18.x'
- name: Prepare tests - name: Prepare tests

View 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 ) { function unique( array ) {
return [ ...new Set( array ) ]; return [ ...new Set( array ) ];
} }
@ -179,6 +170,15 @@ async function build( {
} = {} ) { } = {} ) {
const pureSlim = slim && !exclude.length && !include.length; 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 // Add the short commit hash to the version string
// when the version is not for a release. // when the version is not for a release.
if ( !version ) { if ( !version ) {
@ -280,11 +280,6 @@ async function build( {
); );
} }
const bundle = await rollup.rollup( {
...inputOptions,
plugins: [ rollupFileOverrides( fileOverrides ) ]
} );
const outputOptions = await getOutputRollupOptions( { esm, factory } ); const outputOptions = await getOutputRollupOptions( { esm, factory } );
if ( watch ) { if ( watch ) {
@ -326,6 +321,11 @@ async function build( {
return watcher; return watcher;
} else { } else {
const bundle = await rollup.rollup( {
...inputOptions,
plugins: [ rollupFileOverrides( fileOverrides ) ]
} );
const { const {
output: [ { code } ] output: [ { code } ]
} = await bundle.generate( outputOptions ); } = await bundle.generate( outputOptions );