From e84886aa37107f35d61b3bde9406c78c13f77cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Thu, 2 Nov 2023 00:48:05 +0100 Subject: [PATCH] Build: Update ESLint-related packages, fix linting errors (3.x version) The main change is the new rule in `eslint-config-jquery`: `template-curly-spacing`. Closes gh-5348 Ref jquery/eslint-config-jquery#21 Ref gh-5347 --- build/tasks/build.js | 8 ++++---- build/tasks/compare_size.mjs | 14 +++++++------- build/tasks/lib/getTimestamp.js | 2 +- build/tasks/minify.js | 6 ++++-- build/tasks/node_smoke_tests.js | 6 +++--- build/tasks/npmcopy.js | 2 +- build/tasks/promises_aplus_tests.js | 2 +- package-lock.json | 26 +++++++++++++------------- package.json | 4 ++-- 9 files changed, 36 insertions(+), 34 deletions(-) diff --git a/build/tasks/build.js b/build/tasks/build.js index 50f6675c3..e07c26155 100644 --- a/build/tasks/build.js +++ b/build/tasks/build.js @@ -45,7 +45,7 @@ async function read( filename ) { // and ensure unix-style path separators function moduleName( filename ) { return filename - .replace( `${srcFolder}${path.sep}`, "" ) + .replace( `${ srcFolder }${ path.sep }`, "" ) .replace( /\.js$/, "" ) .split( path.sep ) .join( path.posix.sep ); @@ -182,7 +182,7 @@ async function checkExclude( exclude, include ) { for ( const module of exclude ) { if ( minimum.indexOf( module ) !== -1 ) { - throw new Error( `Module \"${module}\" is a minimum requirement.` ); + throw new Error( `Module \"${ module }\" is a minimum requirement.` ); } // Exclude all files in the dir of the same name @@ -230,7 +230,7 @@ async function build( { // Add "+SHA" if the version is not set. // Add ".dirty" as well if the working dir is not clean. - version = `${pkg.version}+${stdout.trim()}${isClean ? "" : ".dirty"}`; + version = `${ pkg.version }+${ stdout.trim() }${ isClean ? "" : ".dirty" }`; } await fs.promises.mkdir( dir, { recursive: true } ); @@ -315,7 +315,7 @@ async function build( { } ); } ); - console.log( `[${getTimestamp()}] ${filename} v${version} created.` ); + console.log( `[${ getTimestamp() }] ${ filename } v${ version } created.` ); await minify( { filename, dir } ); } diff --git a/build/tasks/compare_size.mjs b/build/tasks/compare_size.mjs index c3973bc7a..879a18f93 100644 --- a/build/tasks/compare_size.mjs +++ b/build/tasks/compare_size.mjs @@ -24,7 +24,7 @@ async function getCommitHash() { function getBranchHeader( branch, commit ) { let branchHeader = branch.trim(); if ( commit ) { - branchHeader = chalk.bold( branchHeader ) + chalk.gray( ` @${commit}` ); + branchHeader = chalk.bold( branchHeader ) + chalk.gray( ` @${ commit }` ); } else { branchHeader = chalk.italic( branchHeader ); } @@ -65,13 +65,13 @@ function saveCache( loc, cache ) { function compareSizes( existing, current, padLength ) { if ( typeof current !== "number" ) { - return chalk.grey( `${existing}`.padStart( padLength ) ); + return chalk.grey( `${ existing }`.padStart( padLength ) ); } const delta = current - existing; if ( delta > 0 ) { - return chalk.red( `+${delta}`.padStart( padLength ) ); + return chalk.red( `+${ delta }`.padStart( padLength ) ); } - return chalk.green( `${delta}`.padStart( padLength ) ); + return chalk.green( `${ delta }`.padStart( padLength ) ); } function sortBranches( a, b ) { @@ -130,7 +130,7 @@ export async function compareSize( { cache = ".sizecache.json", files } = {} ) { const sizes = results.map( function( result ) { const rawSize = result.raw.toString().padStart( rawPadLength ); const gzSize = result.gz.toString().padStart( gzPadLength ); - return `${rawSize} ${gzSize} ${result.filename}`; + return `${ rawSize } ${ gzSize } ${ result.filename }`; } ); const comparisons = Object.keys( sizeCache ).sort( sortBranches ).map( function( branch ) { @@ -146,7 +146,7 @@ export async function compareSize( { cache = ".sizecache.json", files } = {} ) { const compareRaw = compareSizes( branchResult.raw, compareResult.raw, rawPadLength ); const compareGz = compareSizes( branchResult.gz, compareResult.gz, gzPadLength ); - return `${compareRaw} ${compareGz} ${filename}`; + return `${ compareRaw } ${ compareGz } ${ filename }`; } ); return [ @@ -182,7 +182,7 @@ export async function compareSize( { cache = ".sizecache.json", files } = {} ) { meta: { commit }, files: cacheResults( results ) }; - console.log( `Saved cache for ${branch}.` ); + console.log( `Saved cache for ${ branch }.` ); } await saveCache( cache, sizeCache ); diff --git a/build/tasks/lib/getTimestamp.js b/build/tasks/lib/getTimestamp.js index c3c8aed11..4706353c5 100644 --- a/build/tasks/lib/getTimestamp.js +++ b/build/tasks/lib/getTimestamp.js @@ -5,5 +5,5 @@ module.exports = function getTimestamp() { const hours = now.getHours().toString().padStart( 2, "0" ); const minutes = now.getMinutes().toString().padStart( 2, "0" ); const seconds = now.getSeconds().toString().padStart( 2, "0" ); - return `${hours}:${minutes}:${seconds}`; + return `${ hours }:${ minutes }:${ seconds }`; }; diff --git a/build/tasks/minify.js b/build/tasks/minify.js index edb289cd3..0819246a5 100644 --- a/build/tasks/minify.js +++ b/build/tasks/minify.js @@ -12,7 +12,7 @@ module.exports = async function minify( { dir, filename } ) { const filepath = path.join( dir, filename ); const contents = await fs.promises.readFile( filepath, "utf8" ); const version = /jQuery JavaScript Library ([^\n]+)/.exec( contents )[ 1 ]; - const banner = `/*! jQuery ${version}` + + const banner = `/*! jQuery ${ version }` + " | (c) OpenJS Foundation and other contributors" + " | jquery.org/license */"; @@ -79,5 +79,7 @@ module.exports = async function minify( { dir, filename } ) { processForDist( code, minFilename ); processForDist( map, mapFilename ); - console.log( `[${getTimestamp()}] ${minFilename} ${version} with ${mapFilename} created.` ); + console.log( `[${ getTimestamp() }] ${ minFilename } ${ version } with ${ + mapFilename + } created.` ); }; diff --git a/build/tasks/node_smoke_tests.js b/build/tasks/node_smoke_tests.js index dd74d180c..01d69eb25 100644 --- a/build/tasks/node_smoke_tests.js +++ b/build/tasks/node_smoke_tests.js @@ -21,15 +21,15 @@ async function runTests( { module } ) { const testFiles = files.filter( ( testFilePath ) => testFilePath.isFile() ); if ( !testFiles.length ) { - throw new Error( `No test files found for "${module}"` ); + throw new Error( `No test files found for "${ module }"` ); } await Promise.all( testFiles.map( ( testFile ) => - exec( `node "${dir}/${testFile.name}" ${module}` ) + exec( `node "${ dir }/${ testFile.name }" ${ module }` ) ) ); - console.log( `Node smoke tests passed for "${module}".` ); + console.log( `Node smoke tests passed for "${ module }".` ); } async function runDefaultTests() { diff --git a/build/tasks/npmcopy.js b/build/tasks/npmcopy.js index c57acc2e7..750f26d8a 100644 --- a/build/tasks/npmcopy.js +++ b/build/tasks/npmcopy.js @@ -35,7 +35,7 @@ async function npmcopy() { const toDir = path.dirname( to ); await fs.promises.mkdir( toDir, { recursive: true } ); await fs.promises.copyFile( from, to ); - console.log( `${source} → ${dest}` ); + console.log( `${ source } → ${ dest }` ); } } diff --git a/build/tasks/promises_aplus_tests.js b/build/tasks/promises_aplus_tests.js index b078e3c5b..931db1b44 100644 --- a/build/tasks/promises_aplus_tests.js +++ b/build/tasks/promises_aplus_tests.js @@ -11,7 +11,7 @@ if ( !verifyNodeVersion() ) { const command = path.resolve( __dirname, - `../../node_modules/.bin/promises-aplus-tests${os.platform() === "win32" ? ".cmd" : ""}` + `../../node_modules/.bin/promises-aplus-tests${ os.platform() === "win32" ? ".cmd" : "" }` ); const args = [ "--reporter", "dot", "--timeout", "2000" ]; const tests = [ diff --git a/package-lock.json b/package-lock.json index c54b192d8..8d4f77d15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,8 +19,8 @@ "commitplease": "3.2.0", "concurrently": "8.2.0", "core-js-bundle": "3.32.1", - "eslint": "8.48.0", - "eslint-config-jquery": "3.0.1", + "eslint": "8.51.0", + "eslint-config-jquery": "3.0.2", "express": "4.18.2", "globals": "13.20.0", "grunt": "1.5.3", @@ -636,9 +636,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", - "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2330,16 +2330,16 @@ } }, "node_modules/eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", - "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.51.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", @@ -2384,9 +2384,9 @@ } }, "node_modules/eslint-config-jquery": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-jquery/-/eslint-config-jquery-3.0.1.tgz", - "integrity": "sha512-YAV9A5rrLdVu6SDaBvqSiqSHPbKCRGoLB1u+gLHnK5Z8GURp4jcdbuWNLdL/fp646vJNLzUeaef95c+Juexq/Q==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-jquery/-/eslint-config-jquery-3.0.2.tgz", + "integrity": "sha512-1CdP7AY5ZuhDGUXz+/b7FwhRnDoK0A1swz+2nZ+zpEYJ3EyV085AOAfpFJL2s+ioHDspNQEsGSsl9uUEm9/f/g==", "dev": true }, "node_modules/eslint-scope": { diff --git a/package.json b/package.json index f1ab993a3..62f7c10ca 100644 --- a/package.json +++ b/package.json @@ -59,8 +59,8 @@ "commitplease": "3.2.0", "concurrently": "8.2.0", "core-js-bundle": "3.32.1", - "eslint": "8.48.0", - "eslint-config-jquery": "3.0.1", + "eslint": "8.51.0", + "eslint-config-jquery": "3.0.2", "express": "4.18.2", "globals": "13.20.0", "grunt": "1.5.3",