From 0a36934d557d5c02b9c041b67d4fb8f364c8d2f0 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Wed, 8 Nov 2023 10:04:09 +0100 Subject: [PATCH] Eliminate use of loader-utils --- package.json | 2 -- scripts/copy-res.ts | 4 +-- src/@types/loader-utils.d.ts | 28 ----------------- yarn.lock | 58 +----------------------------------- 4 files changed, 3 insertions(+), 89 deletions(-) delete mode 100644 src/@types/loader-utils.d.ts diff --git a/package.json b/package.json index ada19e784f..557066a77f 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,6 @@ "@types/jest": "^29.0.0", "@types/jitsi-meet": "^2.0.2", "@types/jsrsasign": "^10.5.4", - "@types/loader-utils": "^2.0.4", "@types/lodash": "^4.14.197", "@types/node": "^16", "@types/node-fetch": "^2.6.4", @@ -149,7 +148,6 @@ "jest-mock": "^29.0.0", "jest-raw-loader": "^1.0.1", "json-loader": "^0.5.7", - "loader-utils": "^3.0.0", "matrix-mock-request": "^2.5.0", "matrix-web-i18n": "^3.1.3", "mini-css-extract-plugin": "^2.7.6", diff --git a/scripts/copy-res.ts b/scripts/copy-res.ts index 83a0fe693e..d50ecca188 100755 --- a/scripts/copy-res.ts +++ b/scripts/copy-res.ts @@ -7,7 +7,7 @@ import * as chokidar from "chokidar"; import * as fs from "node:fs"; import _ from "lodash"; import { Cpx } from "cpx"; -import * as loaderUtils from "loader-utils"; +import { util } from 'webpack'; import { Translations } from "matrix-web-i18n"; const REACT_I18N_BASE_PATH = "node_modules/matrix-react-sdk/src/i18n/strings/"; @@ -124,7 +124,7 @@ function genLangFile(lang: string, dest: string): string { const json = JSON.stringify(translations, null, 4); const jsonBuffer = Buffer.from(json); - const digest = loaderUtils.getHashDigest(jsonBuffer, null, "hex", 7); + const digest = util.createHash("xxhash64").update(jsonBuffer).digest("hex").slice(0, 7); const filename = `${lang}.${digest}.json`; fs.writeFileSync(dest + filename, json); diff --git a/src/@types/loader-utils.d.ts b/src/@types/loader-utils.d.ts deleted file mode 100644 index c9ceb6574a..0000000000 --- a/src/@types/loader-utils.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2023 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -import * as LoaderUtils from "loader-utils"; - -declare module "loader-utils" { - export function getHashDigest( - buffer: Buffer, - hashType: null, - digestType: LoaderUtils.DigestType, - maxLength: number, - ): string; -} - -export as namespace Cpx; diff --git a/yarn.lock b/yarn.lock index 2f10b05821..711f927393 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2591,14 +2591,6 @@ resolved "https://registry.yarnpkg.com/@types/jsrsasign/-/jsrsasign-10.5.11.tgz#db7991d73f9800f561ca2da85d3036dcda4e47fc" integrity sha512-dBjGoI99kzjDe79LEfOpSHjc/U2BnEvY/FG6Yy1qvPYS2S0yxuWRKOk2Urzh3vGeb5dDq2JRqzilSKhH05t//Q== -"@types/loader-utils@^2.0.4": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/loader-utils/-/loader-utils-2.0.5.tgz#df199c88d2139ceeeeac861c704bc37b08506537" - integrity sha512-KBwEnl6biBRJ1MapcgVmkC/nkk7adZinKF1D6VscHviaumX8g/pbxyjBCNfmqnA6LzQ7NnomkdPazUDLTYEUvA== - dependencies: - "@types/node" "*" - "@types/webpack" "^4" - "@types/lodash@^4.14.197": version "4.14.200" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.200.tgz#435b6035c7eba9cdf1e039af8212c9e9281e7149" @@ -2760,21 +2752,11 @@ dependencies: "@types/node" "*" -"@types/source-list-map@*": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.4.tgz#a3d4e4791606f40a833ab1caf41f77463c8d72ff" - integrity sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg== - "@types/stack-utils@^2.0.0": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.2.tgz#01284dde9ef4e6d8cef6422798d9a3ad18a66f8b" integrity sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw== -"@types/tapable@^1": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.10.tgz#5203aad08455c6988f7b2347715023e3935b1056" - integrity sha512-q8F20SdXG5fdVJQ5yxsVlH+f+oekP42QeHv4s5KlrxTMT0eopXn7ol1rhxMcksf8ph7XNv811iVDE2hOpUvEPg== - "@types/tough-cookie@*": version "4.0.3" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" @@ -2785,34 +2767,6 @@ resolved "https://registry.yarnpkg.com/@types/ua-parser-js/-/ua-parser-js-0.7.38.tgz#fd5eae721a4c4dd386d9ebab745a9306c8e71210" integrity sha512-59CA5oavBEWSNLtS/BChj9xntiWMsIf9IytjxmBo9OuZEYuRzRf3K1ARzFPlXTOz5Zm2wXI38AP9RlLqDYMToQ== -"@types/uglify-js@*": - version "3.17.3" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.3.tgz#784efb40320d248588e1748dd12e1f43733f1416" - integrity sha512-ToldSfJ6wxO21cakcz63oFD1GjqQbKzhZCD57eH7zWuYT5UEZvfUoqvrjX5d+jB9g4a/sFO0n6QSVzzn5sMsjg== - dependencies: - source-map "^0.6.1" - -"@types/webpack-sources@*": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.1.tgz#98670b35fa799c44ac235910f3fda9bfdcdbc2c6" - integrity sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4": - version "4.41.34" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.34.tgz#8cf616be84b39c8fb26f9459d4470a5514df2477" - integrity sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g== - dependencies: - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - anymatch "^3.0.0" - source-map "^0.6.0" - "@types/ws@^8.5.5": version "8.5.5" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" @@ -3285,7 +3239,7 @@ anymatch@^1.3.0: micromatch "^2.1.5" normalize-path "^2.0.0" -anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -8175,11 +8129,6 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -loader-utils@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== - locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -11327,11 +11276,6 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - spawn-command@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e"