From 839744ee2f10872f03aa87504c189e2d9cd72bd0 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 5 Feb 2026 10:43:01 +0000 Subject: [PATCH] Switch element-web to ESM Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .eslintrc.js => .eslintrc.cjs | 0 .prettierrc.js | 1 - .stylelintrc.js => .stylelintrc.cjs | 0 babel.config.js => babel.config.cjs | 0 jest.config.ts | 2 +- package.json | 3 ++- packages/shared-components/package.json | 2 +- packages/shared-components/yarn.lock | 6 +++--- recorder-worklet-loader.js => recorder-worklet-loader.cjs | 0 webpack.config.js => webpack.config.cjs | 2 +- yarn.lock | 5 +++++ 11 files changed, 13 insertions(+), 8 deletions(-) rename .eslintrc.js => .eslintrc.cjs (100%) delete mode 100644 .prettierrc.js rename .stylelintrc.js => .stylelintrc.cjs (100%) rename babel.config.js => babel.config.cjs (100%) rename recorder-worklet-loader.js => recorder-worklet-loader.cjs (100%) rename webpack.config.js => webpack.config.cjs (99%) diff --git a/.eslintrc.js b/.eslintrc.cjs similarity index 100% rename from .eslintrc.js rename to .eslintrc.cjs diff --git a/.prettierrc.js b/.prettierrc.js deleted file mode 100644 index 6a17910f1a..0000000000 --- a/.prettierrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("eslint-plugin-matrix-org/.prettierrc.js"); diff --git a/.stylelintrc.js b/.stylelintrc.cjs similarity index 100% rename from .stylelintrc.js rename to .stylelintrc.cjs diff --git a/babel.config.js b/babel.config.cjs similarity index 100% rename from babel.config.js rename to babel.config.cjs diff --git a/jest.config.ts b/jest.config.ts index 8662a89ca7..b19b884d30 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -43,7 +43,7 @@ const config: Config = { "@vector-im/compound-web": "/node_modules/@vector-im/compound-web", }, transformIgnorePatterns: [ - "/node_modules/(?!(mime|matrix-js-sdk|uuid|p-retry|is-network-error|react-merge-refs|is-ip|ip-regex|super-regex|function-timeout|time-span|convert-hrtime|clone-regexp|is-regexp|matrix-web-i18n|await-lock|@element-hq/web-shared-components|react-virtuoso)).+$", + "/node_modules/(?!(mime|matrix-js-sdk|uuid|p-retry|is-network-error|react-merge-refs|is-ip|ip-regex|super-regex|function-timeout|time-span|convert-hrtime|clone-regexp|is-regexp|matrix-web-i18n|await-lock|@element-hq/web-shared-components|react-virtuoso|lodash)).+$", ], collectCoverageFrom: [ "/src/**/*.{js,ts,tsx}", diff --git a/package.json b/package.json index 397465c8fe..4c2d4cb746 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "url": "https://github.com/element-hq/element-web" }, "license": "SEE LICENSE IN README.md", + "type": "module", "files": [ "lib", "res", @@ -126,7 +127,7 @@ "linkify-react": "4.3.2", "linkify-string": "4.3.2", "linkifyjs": "4.3.2", - "lodash": "^4.17.21", + "lodash": "npm:lodash-es@^4.17.21", "maplibre-gl": "^5.0.0", "matrix-encrypt-attachment": "^1.0.3", "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", diff --git a/packages/shared-components/package.json b/packages/shared-components/package.json index 0ed297872e..7e91fb482f 100644 --- a/packages/shared-components/package.json +++ b/packages/shared-components/package.json @@ -54,7 +54,7 @@ "@vector-im/compound-design-tokens": "^6.4.3", "classnames": "^2.5.1", "counterpart": "^0.18.6", - "lodash": "^4.17.21", + "lodash": "npm:lodash-es@^4.17.21", "matrix-web-i18n": "3.6.0", "react-merge-refs": "^3.0.2", "react-virtuoso": "^4.14.0", diff --git a/packages/shared-components/yarn.lock b/packages/shared-components/yarn.lock index 65e06d97d6..b63a1566d3 100644 --- a/packages/shared-components/yarn.lock +++ b/packages/shared-components/yarn.lock @@ -4754,10 +4754,10 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.17.15, lodash@^4.17.21, lodash@~4.17.15: +lodash@^4.17.15, lodash@^4.17.21, "lodash@npm:lodash-es@^4.17.21", lodash@~4.17.15: version "4.17.23" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" - integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.23.tgz#58c4360fd1b5d33afc6c0bbd3d1149349b1138e0" + integrity sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg== long@^5.0.0: version "5.3.2" diff --git a/recorder-worklet-loader.js b/recorder-worklet-loader.cjs similarity index 100% rename from recorder-worklet-loader.js rename to recorder-worklet-loader.cjs diff --git a/webpack.config.js b/webpack.config.cjs similarity index 99% rename from webpack.config.js rename to webpack.config.cjs index 3ea0f68b0e..d2bccc5969 100644 --- a/webpack.config.js +++ b/webpack.config.cjs @@ -413,7 +413,7 @@ module.exports = (env, argv) => { type: "javascript/auto", use: [ { - loader: path.resolve("./recorder-worklet-loader.js"), + loader: path.resolve("./recorder-worklet-loader.cjs"), }, { loader: "babel-loader", diff --git a/yarn.lock b/yarn.lock index 03671c8044..ce8716d50a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9617,6 +9617,11 @@ lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== +"lodash@npm:lodash-es@^4.17.21": + version "4.17.23" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.23.tgz#58c4360fd1b5d33afc6c0bbd3d1149349b1138e0" + integrity sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg== + log-update@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4"