diff --git a/package.json b/package.json index edb779ec5..365d2b8d9 100644 --- a/package.json +++ b/package.json @@ -164,6 +164,7 @@ ] }, "dependencies": { + "@eslint/js": "^9.28.0", "@mathjax/mathjax-newcm-font": "0.4.3-beta.8", "@xmldom/xmldom": "^0.8.10", "mhchemparser": "^4.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cae4eeeec..17f4aa110 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@eslint/js': + specifier: ^9.28.0 + version: 9.28.0 '@mathjax/mathjax-newcm-font': specifier: 0.4.3-beta.8 version: 0.4.3-beta.8 @@ -205,14 +208,14 @@ packages: '@types/eslint@9.6.1': resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@22.15.29': - resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==} + '@types/node@22.15.30': + resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} '@typescript-eslint/eslint-plugin@8.33.1': resolution: {integrity: sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==} @@ -448,8 +451,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001720: - resolution: {integrity: sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==} + caniuse-lite@1.0.30001721: + resolution: {integrity: sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -548,8 +551,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.162: - resolution: {integrity: sha512-hQA+Zb5QQwoSaXJWEAGEw1zhk//O7qDzib05Z4qTqZfNju/FAkrm5ZInp0JbTp4Z18A6bilopdZWEYrFSsfllA==} + electron-to-chromium@1.5.165: + resolution: {integrity: sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw==} emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -751,8 +754,8 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + form-data@4.0.3: + resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} engines: {node: '>= 6'} fs.realpath@1.0.0: @@ -1381,8 +1384,8 @@ packages: uglify-js: optional: true - terser@5.40.0: - resolution: {integrity: sha512-cfeKl/jjwSR5ar7d0FGmave9hFGJT8obyo0z+CrQOylLDbk7X81nPU6vq9VORa5jU30SkDnT2FXjLbR8HLP+xA==} + terser@5.41.0: + resolution: {integrity: sha512-H406eLPXpZbAX14+B8psIuvIr8+3c+2hkuYzpMkoE0ij+NdsVATbA78vb8neA/eqrj7rywa2pIkdmWRsXW6wmw==} engines: {node: '>=10'} hasBin: true @@ -1661,18 +1664,18 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 - '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} '@types/json-schema@7.0.15': {} - '@types/node@22.15.29': + '@types/node@22.15.30': dependencies: undici-types: 6.21.0 @@ -1919,7 +1922,7 @@ snapshots: axios@1.9.0: dependencies: follow-redirects: 1.15.9 - form-data: 4.0.2 + form-data: 4.0.3 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -1941,8 +1944,8 @@ snapshots: browserslist@4.25.0: dependencies: - caniuse-lite: 1.0.30001720 - electron-to-chromium: 1.5.162 + caniuse-lite: 1.0.30001721 + electron-to-chromium: 1.5.165 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.0) @@ -1955,7 +1958,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001720: {} + caniuse-lite@1.0.30001721: {} chalk@4.1.2: dependencies: @@ -2045,7 +2048,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.162: {} + electron-to-chromium@1.5.165: {} emoji-regex@10.4.0: {} @@ -2138,7 +2141,7 @@ snapshots: '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 @@ -2259,11 +2262,12 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.2: + form-data@4.0.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 + hasown: 2.0.2 mime-types: 2.1.35 fs.realpath@1.0.0: {} @@ -2413,7 +2417,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.15.29 + '@types/node': 22.15.30 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -2831,10 +2835,10 @@ snapshots: jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 - terser: 5.40.0 + terser: 5.41.0 webpack: 5.99.9(webpack-cli@5.1.4) - terser@5.40.0: + terser@5.41.0: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.14.1 @@ -2923,7 +2927,7 @@ snapshots: webpack@5.99.9(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 diff --git a/testsuite/src/setupTex.ts b/testsuite/src/setupTex.ts index c57f5ea10..8f8b31252 100644 --- a/testsuite/src/setupTex.ts +++ b/testsuite/src/setupTex.ts @@ -13,9 +13,11 @@ import {mathjax} from '#js/mathjax.js'; import {OptionList} from '#js/util/Options.js'; import {tmpJsonFile} from '#src/constants.js'; import * as fs from 'fs'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import {init} from '#source/node-main/node-main.mjs'; import {expect} from '@jest/globals'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import {source} from '#source/source.js'; diff --git a/ts/input/tex/unicode/UnicodeConfiguration.ts b/ts/input/tex/unicode/UnicodeConfiguration.ts index 7e0997ca9..062103e7b 100644 --- a/ts/input/tex/unicode/UnicodeConfiguration.ts +++ b/ts/input/tex/unicode/UnicodeConfiguration.ts @@ -134,6 +134,7 @@ const UnicodeMethods: { [key: string]: ParseMethod } = { let c = ''; const text = parser.string.substring(parser.i); if (next === "'") { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore match = text.match(/^'([0-7]{1,7}) ?/u); if (match) { @@ -145,6 +146,7 @@ const UnicodeMethods: { [key: string]: ParseMethod } = { c = String.fromCodePoint(parseInt(match[1], 16)); } } else if (next === '`') { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore match = text.match(/^`(?:(\\\S)|(.))/u); if (match) {