Update pnpm to v11 (#33573)
* Update pnpm to v11 * Handle breaking changes * Attach pnpm hash * Remove redundant packageManager fields * Make lint-staged happy * Lockfile pnpm itself too * Update pnpm/action-setup for better v11 compatibility * Specify types to make tsc happier * Fix permissions * Check ulimit * Specify minimumReleaseAgeExclude * Run desktop tests * Revert "Run desktop tests" This reverts commit 911eb0ba2e9237d4b28e3bdaaf8f10ba6f22e827. * Revert "Check ulimit" This reverts commit f09eb59d715ba30a2e7fc5dba17dde092bd9bf17. * Reapply "Check ulimit" This reverts commit 83227c19ff5d07db91b6586f407f56870b00c041. * Run desktop tests * Switch nodeLinker & remove app-builder-lib patch * Fix webpack.config.ts * Fix .stylelintrc.cjs * Fix `events` package * Makes types happier * Make knip happy * Fix hak build * Make jest happy * Make pnpm-link happy * Remove dead file * Run playwright tests * Fix linux hak permissions in ci * Test * Remove ulimit checks * Disable skip * Update nx * Tweak line endings * Update screenshot * Iterate * Webpack fallback `events` --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
@@ -63,7 +63,7 @@ jobs:
|
||||
repository: element-hq/element-web
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
cache: "pnpm"
|
||||
@@ -145,7 +145,7 @@ jobs:
|
||||
name: webapp
|
||||
path: apps/web/webapp
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
cache: "pnpm"
|
||||
@@ -266,7 +266,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
repository: element-hq/element-web
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
if: needs.build_ew.outputs.skip == 'false'
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
if: needs.build_ew.outputs.skip == 'false'
|
||||
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
# Disable cache on Windows as it is slower than not caching
|
||||
|
||||
@@ -110,7 +110,7 @@ jobs:
|
||||
path: |
|
||||
apps/desktop/.hak
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
node-version-file: apps/desktop/.node-version
|
||||
@@ -154,10 +154,12 @@ jobs:
|
||||
|
||||
- name: Fix permissions
|
||||
run: |
|
||||
shopt -s globstar
|
||||
|
||||
# For .hak
|
||||
sudo chown -R $USER:$USER apps/desktop/.hak
|
||||
# For node_modules pnpm strict security
|
||||
sudo chmod +x node_modules/7zip-bin/linux/*/7za
|
||||
# For node_modules
|
||||
sudo chown -R $USER:$USER **/node_modules
|
||||
|
||||
- name: Check native libraries in hak dependencies
|
||||
working-directory: apps/desktop
|
||||
|
||||
@@ -113,7 +113,7 @@ jobs:
|
||||
# https://github.com/electron-userland/electron-builder/issues/9511#issuecomment-3774092888
|
||||
- run: sudo pip3 install pyobjc-framework-Quartz
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
node-version-file: apps/desktop/.node-version
|
||||
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
repository: element-hq/element-web
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
node-version-file: apps/desktop/.node-version
|
||||
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
repository: element-hq/element-web
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
id: pnpm
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
|
||||
@@ -108,6 +108,12 @@ jobs:
|
||||
}
|
||||
}
|
||||
|
||||
# Tweak line endings to make nx happy, workaround for https://github.com/nrwl/nx/issues/35828
|
||||
- name: Configure git line endings
|
||||
run: |
|
||||
git config --system core.autocrlf false
|
||||
git config --system core.eol lf
|
||||
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
with:
|
||||
repository: element-hq/element-web
|
||||
@@ -152,7 +158,7 @@ jobs:
|
||||
env:
|
||||
TARGET: ${{ steps.config.outputs.target }}
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
node-version-file: apps/desktop/.node-version
|
||||
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
cache: "pnpm"
|
||||
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
id: builder
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
node-version-file: package.json
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
with:
|
||||
package_json_file: package.json
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- name: 🔧 Set up node environment
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
|
||||
@@ -16,7 +16,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- name: 🔧 Pnpm cache
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
repository: element-hq/element-web
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
cache: "pnpm"
|
||||
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
if: matrix.install != ''
|
||||
with:
|
||||
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
repository: ${{ inputs.matrix-js-sdk-sha && 'element-hq/element-web' || github.repository }}
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- name: pnpm cache
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
@@ -141,7 +141,7 @@ jobs:
|
||||
repository: ${{ inputs.matrix-js-sdk-sha && 'element-hq/element-web' || github.repository }}
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- name: pnpm cache
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
cache: "pnpm"
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
npx lint-staged --concurrent false
|
||||
pnpm exec lint-staged --concurrent false
|
||||
|
||||
@@ -112,7 +112,6 @@
|
||||
"hakDependencies": {
|
||||
"matrix-seshat": "4.3.0"
|
||||
},
|
||||
"packageManager": "pnpm@10.33.4+sha512.1c67b3b359b2d408119ba1ed289f34b8fc3c6873412bec6fd264fbdc82489e510fcbecb9ce9d22dae7f3b76269d8441046014bdca53b9979cd7a561ad631b800",
|
||||
"nx": {
|
||||
"includedScripts": []
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ import childProcess, { type SpawnOptions } from "node:child_process";
|
||||
import { type Arch, type Target, TARGETS, getHost, isHostId, type TargetId } from "./target.ts";
|
||||
|
||||
async function getRuntimeVersion(projectRoot: string): Promise<string> {
|
||||
const electronVersion = await getElectronVersionFromInstalled(path.join(projectRoot, "..", ".."));
|
||||
const electronVersion = await getElectronVersionFromInstalled(projectRoot);
|
||||
if (!electronVersion) {
|
||||
throw new Error("Can't determine Electron version");
|
||||
}
|
||||
|
||||
@@ -62,10 +62,10 @@ module.exports = {
|
||||
{ from: "res/css/views/settings/tabs/_SettingsTab.pcss", type: "css" },
|
||||
{ from: "res/css/structures/_RoomView.pcss", type: "css" },
|
||||
// Compound vars
|
||||
"../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-base.css",
|
||||
"../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-semantic.css",
|
||||
"../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-base-mq.css",
|
||||
"../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-semantic-mq.css",
|
||||
"./node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-base.css",
|
||||
"./node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-semantic.css",
|
||||
"./node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-base-mq.css",
|
||||
"./node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-semantic-mq.css",
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
@@ -6,10 +6,14 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com
|
||||
Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
import { env } from "process";
|
||||
import { env } from "node:process";
|
||||
import path, { dirname } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
import type { Config } from "jest";
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
const config: Config = {
|
||||
testEnvironment: "jest-fixed-jsdom",
|
||||
testEnvironmentOptions: {
|
||||
@@ -31,10 +35,8 @@ const config: Config = {
|
||||
"\\.(gif|png|ttf|woff2)$": "<rootDir>/__mocks__/imageMock.js",
|
||||
"\\.svg$": "<rootDir>/__mocks__/svg.js",
|
||||
"\\$webapp/i18n/languages.json": "<rootDir>/__mocks__/languages.json",
|
||||
"^react$": "<rootDir>/../../node_modules/react",
|
||||
"^react-dom$": "<rootDir>/../../node_modules/react-dom",
|
||||
"^matrix-js-sdk$": "<rootDir>/../../node_modules/matrix-js-sdk/src",
|
||||
"^matrix-react-sdk$": "<rootDir>/src",
|
||||
"^react$": "<rootDir>/node_modules/react",
|
||||
"^react-dom$": "<rootDir>/node_modules/react-dom",
|
||||
"decoderWorker\\.min\\.js": "<rootDir>/__mocks__/empty.js",
|
||||
"decoderWorker\\.min\\.wasm": "<rootDir>/__mocks__/empty.js",
|
||||
"waveWorker\\.min\\.js": "<rootDir>/__mocks__/empty.js",
|
||||
@@ -42,10 +44,10 @@ const config: Config = {
|
||||
"workers/(.+)Factory": "<rootDir>/__mocks__/workerFactoryMock.js",
|
||||
"^!!raw-loader!.*": "jest-raw-loader",
|
||||
"recorderWorkletFactory": "<rootDir>/__mocks__/empty.js",
|
||||
"@vector-im/compound-web": "<rootDir>/../../node_modules/@vector-im/compound-web",
|
||||
"@vector-im/compound-web": "<rootDir>/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|lodash|domutils|domhandler|domelementtype|dom-serializer|entities)).+$",
|
||||
`${path.join(__dirname, "../..")}/node_modules/.pnpm/(?!(mime|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|domutils|domhandler|domelementtype|dom-serializer|entities)).+$`,
|
||||
],
|
||||
collectCoverageFrom: [
|
||||
"<rootDir>/src/**/*.{js,ts,tsx}",
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
"domutils": "^4.0.0",
|
||||
"emojibase-regex": "^17.0.0",
|
||||
"escape-html": "^1.0.3",
|
||||
"events": "^3.3.0",
|
||||
"file-saver": "^2.0.5",
|
||||
"filesize": "11.0.17",
|
||||
"github-markdown-css": "^5.5.1",
|
||||
@@ -243,6 +244,5 @@
|
||||
"engines": {
|
||||
"node": ">=22.18"
|
||||
},
|
||||
"packageManager": "pnpm@10.33.4+sha512.1c67b3b359b2d408119ba1ed289f34b8fc3c6873412bec6fd264fbdc82489e510fcbecb9ce9d22dae7f3b76269d8441046014bdca53b9979cd7a561ad631b800",
|
||||
"private": true
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
+11
-3
@@ -369,6 +369,8 @@ export const LinkedTextConfiguration = {
|
||||
urlTargetTransformer: urlTargetTransformFunction,
|
||||
};
|
||||
|
||||
type LinkifyOpts = Parameters<typeof _linkifyString>[1];
|
||||
|
||||
/**
|
||||
* Linkifies the given string. This is a wrapper around 'linkifyjs/string'.
|
||||
*
|
||||
@@ -376,7 +378,10 @@ export const LinkedTextConfiguration = {
|
||||
* @param [options] Options for linkifyString.
|
||||
* @returns Linkified string
|
||||
*/
|
||||
export function linkifyString(value: string, options = generateLinkedTextOptions(LinkedTextConfiguration)): string {
|
||||
export function linkifyString(
|
||||
value: string,
|
||||
options: LinkifyOpts = generateLinkedTextOptions(LinkedTextConfiguration),
|
||||
): string {
|
||||
return _linkifyString(value, options);
|
||||
}
|
||||
|
||||
@@ -387,7 +392,10 @@ export function linkifyString(value: string, options = generateLinkedTextOptions
|
||||
* @param [options] Options for linkifyHtml.
|
||||
* @returns Linkified string
|
||||
*/
|
||||
export function linkifyHtml(value: string, options = generateLinkedTextOptions(LinkedTextConfiguration)): string {
|
||||
export function linkifyHtml(
|
||||
value: string,
|
||||
options: LinkifyOpts = generateLinkedTextOptions(LinkedTextConfiguration),
|
||||
): string {
|
||||
return _linkifyHtml(value, options);
|
||||
}
|
||||
|
||||
@@ -400,7 +408,7 @@ export function linkifyHtml(value: string, options = generateLinkedTextOptions(L
|
||||
*/
|
||||
export function linkifyAndSanitizeHtml(
|
||||
dirtyHtml: string,
|
||||
options = generateLinkedTextOptions(LinkedTextConfiguration),
|
||||
options: LinkifyOpts = generateLinkedTextOptions(LinkedTextConfiguration),
|
||||
): string {
|
||||
return sanitizeHtml(linkifyString(dirtyHtml, options), sanitizeHtmlParams);
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
/*
|
||||
Copyright 2024 New Vector Ltd.
|
||||
Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
||||
Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
// Import the js-sdk so the proper `request` object can be set. This does some
|
||||
// magic with the browser injection to make all subsequent imports work fine.
|
||||
import "matrix-js-sdk/src/browser-index";
|
||||
@@ -74,8 +74,9 @@ export class ModuleApi implements Api {
|
||||
public readonly _registerLegacyRoomListCustomisations = legacyCustomisationsFactory(RoomListCustomisations);
|
||||
public readonly _registerLegacyUserIdentifierCustomisations =
|
||||
legacyCustomisationsFactory(UserIdentifierCustomisations);
|
||||
public readonly _registerLegacyWidgetPermissionsCustomisations =
|
||||
legacyCustomisationsFactory(WidgetPermissionCustomisations);
|
||||
public readonly _registerLegacyWidgetPermissionsCustomisations: (
|
||||
customisations: typeof WidgetPermissionCustomisations,
|
||||
) => void = legacyCustomisationsFactory(WidgetPermissionCustomisations);
|
||||
public readonly _registerLegacyWidgetVariablesCustomisations =
|
||||
legacyCustomisationsFactory(WidgetVariableCustomisations);
|
||||
/* eslint-enable @typescript-eslint/naming-convention */
|
||||
|
||||
@@ -258,7 +258,6 @@ export default (env: string, argv: Record<string, any>): webpack.Configuration =
|
||||
"$webapp": path.resolve(__dirname, "webapp"),
|
||||
|
||||
// Make shared-components imports resolve to EW deps
|
||||
"counterpart": getPackageRoot("counterpart"),
|
||||
"@vector-im/compound-web": getPackageRoot("@vector-im/compound-web", ""),
|
||||
},
|
||||
fallback: {
|
||||
@@ -267,6 +266,7 @@ export default (env: string, argv: Record<string, any>): webpack.Configuration =
|
||||
"net": false,
|
||||
"tls": false,
|
||||
"crypto": false,
|
||||
"events": import.meta.resolve("events/"),
|
||||
|
||||
// Polyfill needed by counterpart
|
||||
"util": import.meta.resolve("util/"),
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ cd element-web
|
||||
Set up your local development link by creating a `.link-config` file with contents like:
|
||||
|
||||
```
|
||||
matrix-js-sdk=/path/to/matrix-js-sdk
|
||||
matrix-js-sdk=/path/to/matrix-js-sdk=apps/web
|
||||
```
|
||||
|
||||
**Note for Windows users**: Your link config path might need escaping. For example, `matrix-js-sdk=C:\\path\\to\\matrix-js-sdk`.
|
||||
|
||||
@@ -62,6 +62,10 @@ export default {
|
||||
entry: ["scripts/**", "docs/**"],
|
||||
},
|
||||
},
|
||||
ignoreDependencies: [
|
||||
// Used by multiple packages, raises a false positive for some reason
|
||||
"events",
|
||||
],
|
||||
ignoreExportsUsedInFile: true,
|
||||
compilers: {
|
||||
pcss: (text: string) =>
|
||||
|
||||
+8
-63
@@ -38,77 +38,22 @@
|
||||
"lodash": "^4.17.21",
|
||||
"mermaid": "^11.13.0",
|
||||
"minimist": "^1.2.6",
|
||||
"nx": "22.7.2",
|
||||
"nx": "22.7.4",
|
||||
"prettier": "3.8.3",
|
||||
"typescript": "catalog:",
|
||||
"vitepress": "^1.6.4",
|
||||
"vitepress-plugin-mermaid": "^2.0.17",
|
||||
"yaml": "^2.3.3"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
"matrix-js-sdk"
|
||||
],
|
||||
"ignoredBuiltDependencies": [
|
||||
"@sentry/cli",
|
||||
"nx"
|
||||
],
|
||||
"patchedDependencies": {
|
||||
"@vector-im/matrix-wysiwyg": "patches/@vector-im__matrix-wysiwyg.patch",
|
||||
"react-blurhash": "patches/react-blurhash.patch",
|
||||
"linkify-html": "patches/linkify-html.patch",
|
||||
"@matrix-org/react-sdk-module-api": "patches/@matrix-org__react-sdk-module-api.patch",
|
||||
"@types/auto-launch": "patches/@types__auto-launch.patch",
|
||||
"@types/mdx": "patches/@types__mdx.patch",
|
||||
"await-lock": "patches/await-lock.patch",
|
||||
"jest-fixed-jsdom": "patches/jest-fixed-jsdom.patch",
|
||||
"jsdom": "patches/jsdom.patch",
|
||||
"rollup": "patches/rollup.patch",
|
||||
"postcss-mixins": "patches/postcss-mixins.patch",
|
||||
"app-builder-lib": "patches/app-builder-lib.patch",
|
||||
"knip": "patches/knip.patch",
|
||||
"plist": "patches/plist.patch",
|
||||
"@dnd-kit/abstract": "patches/@dnd-kit__abstract.patch"
|
||||
},
|
||||
"peerDependencyRules": {
|
||||
"allowedVersions": {
|
||||
"react": "19",
|
||||
"react-dom": "19",
|
||||
"eslint": "8"
|
||||
}
|
||||
},
|
||||
"allowedDeprecatedVersions": {
|
||||
"eslint": "8",
|
||||
"react-beautiful-dnd": "13"
|
||||
},
|
||||
"overrides": {
|
||||
"pretty-format@30>react-is": "19.2.5",
|
||||
"@types/react": "catalog:",
|
||||
"@types/react-dom": "catalog:",
|
||||
"oidc-client-ts": "3.5.0",
|
||||
"jwt-decode": "4.0.0",
|
||||
"caniuse-lite": "1.0.30001793",
|
||||
"markdown-it": "14.1.1",
|
||||
"matrix-widget-api": "^1.17.0",
|
||||
"@types/node": "18.19.130",
|
||||
"config-file-ts": "0.2.8-rc1",
|
||||
"node-abi": "4.31.0",
|
||||
"@types/pg-pool": "2.0.7",
|
||||
"axios@>1.0.0 <=1.15.0": "1.15.2",
|
||||
"esbuild@<=0.24.2": "0.27.4",
|
||||
"esbuild@~0.27.0": "0.27.4",
|
||||
"follow-redirects@1.15.11": "1.16.0",
|
||||
"brace-expansion@>=5 <5.0.6": "5.0.6",
|
||||
"ip-address@>=10 <10.1.1": "10.1.1",
|
||||
"uuid@>=11 <11.1.1": "11.1.1",
|
||||
"yaml@>=2 <2.8.3": "2.8.4",
|
||||
"protobufjs@7 <7.5.8": "7.6.1",
|
||||
"@protobufjs/utf8@1 <1.1.1": "1.1.1"
|
||||
}
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.18"
|
||||
},
|
||||
"packageManager": "pnpm@10.33.4+sha512.1c67b3b359b2d408119ba1ed289f34b8fc3c6873412bec6fd264fbdc82489e510fcbecb9ce9d22dae7f3b76269d8441046014bdca53b9979cd7a561ad631b800",
|
||||
"devEngines": {
|
||||
"packageManager": {
|
||||
"name": "pnpm",
|
||||
"version": "11.2.2+sha512.36e6621fad506178936455e70247b8808ef4ec25797a9f437a93281a020484e2607f6a469a22e982987c3dbb8866e3071514ab10a4a1749e06edcd1ec118436f",
|
||||
"onFail": "error"
|
||||
}
|
||||
},
|
||||
"private": true
|
||||
}
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
"@vector-im/compound-design-tokens": "catalog:",
|
||||
"classnames": "^2.5.1",
|
||||
"counterpart": "^0.18.6",
|
||||
"events": "^3.3.0",
|
||||
"html-react-parser": "^6.0.0",
|
||||
"linkify-html": "4.3.3",
|
||||
"linkify-react": "4.3.2",
|
||||
@@ -137,7 +138,6 @@
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
},
|
||||
"packageManager": "pnpm@10.33.4+sha512.1c67b3b359b2d408119ba1ed289f34b8fc3c6873412bec6fd264fbdc82489e510fcbecb9ce9d22dae7f3b76269d8441046014bdca53b9979cd7a561ad631b800",
|
||||
"peerDependencies": {
|
||||
"@vector-im/compound-web": "^8.3.5 || ^9.0.0",
|
||||
"react": "catalog:"
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
diff --git a/out/node-module-collector/moduleManager.js b/out/node-module-collector/moduleManager.js
|
||||
index e9d6d16f8950c01417039d65ed1939009d642b7a..9f47c5e18fb34fe60e4f09bf512f9639aa2d90c0 100644
|
||||
--- a/out/node-module-collector/moduleManager.js
|
||||
+++ b/out/node-module-collector/moduleManager.js
|
||||
@@ -5,6 +5,7 @@ const builder_util_1 = require("builder-util");
|
||||
const fs = require("fs-extra");
|
||||
const path = require("path");
|
||||
const semver = require("semver");
|
||||
+const searchModule = require("../electron/search-module");
|
||||
var LogMessageByKey;
|
||||
(function (LogMessageByKey) {
|
||||
LogMessageByKey["PKG_DUPLICATE_REF"] = "duplicate dependency references";
|
||||
@@ -115,15 +116,15 @@ class ModuleManager {
|
||||
return { packageDir: path.dirname(direct), packageJson: json };
|
||||
}
|
||||
}
|
||||
- // 2) upward hoisted search, then 3) downward non-hoisted search
|
||||
+ // 2) upward hoisted search, then 3) downward non-hoisted search, then 4) downward from workspace root
|
||||
const upward = await this.upwardSearch(parentDir, pkgName, requiredRange);
|
||||
if (upward) {
|
||||
return upward;
|
||||
}
|
||||
- if (skipDownwardSearch) {
|
||||
- return null;
|
||||
- }
|
||||
- return (await this.downwardSearch(parentDir, pkgName, requiredRange)) || null;
|
||||
+ const workspaceRoot = await searchModule.getProjectRootPath(parentDir);
|
||||
+ return (await this.downwardSearch(parentDir, pkgName, requiredRange)) ||
|
||||
+ (await this.downwardSearch(workspaceRoot, pkgName, requiredRange)) ||
|
||||
+ null;
|
||||
}
|
||||
semverSatisfies(found, range) {
|
||||
if ((0, builder_util_1.isEmptyOrSpaces)(range) || range === "*") {
|
||||
Generated
+362
-188
File diff suppressed because it is too large
Load Diff
+81
-3
@@ -1,9 +1,10 @@
|
||||
nodeLinker: hoisted
|
||||
linkWorkspacePackages: true
|
||||
cleanupUnusedCatalogs: true
|
||||
ignorePatchFailures: false
|
||||
packages:
|
||||
- "apps/*"
|
||||
- "packages/*"
|
||||
cleanupUnusedCatalogs: true
|
||||
|
||||
catalog:
|
||||
# typescript
|
||||
typescript: 6.0.3
|
||||
@@ -27,6 +28,7 @@ catalog:
|
||||
vitest: 4.1.7
|
||||
vitest-sonar-reporter: 3.0.0
|
||||
"@vitest/coverage-v8": 4.1.7
|
||||
|
||||
packageExtensions:
|
||||
fdir:
|
||||
dependencies:
|
||||
@@ -36,4 +38,80 @@ packageExtensions:
|
||||
peerDependencies:
|
||||
# Silence warning
|
||||
vite: "^8.0.0"
|
||||
ignorePatchFailures: false
|
||||
|
||||
allowBuilds:
|
||||
matrix-js-sdk: true
|
||||
# Installs the CLI, which we do not need
|
||||
"@sentry/cli": false
|
||||
# Installs nx cloud client, which we do not need
|
||||
nx: false
|
||||
# Runs `vp config` to set up git hooks, which we do not need
|
||||
unrs-resolver: false
|
||||
# Prints funding banner
|
||||
core-js: false
|
||||
# Builds native bindings, which we do not need
|
||||
cpu-features: false
|
||||
# Copies the 7z binaries which match our arch, though somehow works without it
|
||||
electron-winstaller: false
|
||||
# Installs esbuild binary, though somehow works without it
|
||||
esbuild: false
|
||||
# Performs additional version checks, which we do not need
|
||||
protobufjs: false
|
||||
# Builds optional crypto binding, which we do not need
|
||||
ssh2: false
|
||||
|
||||
patchedDependencies:
|
||||
"@vector-im/matrix-wysiwyg": patches/@vector-im__matrix-wysiwyg.patch
|
||||
react-blurhash: patches/react-blurhash.patch
|
||||
linkify-html: patches/linkify-html.patch
|
||||
"@matrix-org/react-sdk-module-api": patches/@matrix-org__react-sdk-module-api.patch
|
||||
"@types/auto-launch": patches/@types__auto-launch.patch
|
||||
"@types/mdx": patches/@types__mdx.patch
|
||||
await-lock: patches/await-lock.patch
|
||||
jest-fixed-jsdom: patches/jest-fixed-jsdom.patch
|
||||
jsdom: patches/jsdom.patch
|
||||
rollup: patches/rollup.patch
|
||||
postcss-mixins: patches/postcss-mixins.patch
|
||||
knip: patches/knip.patch
|
||||
plist: patches/plist.patch
|
||||
"@dnd-kit/abstract": patches/@dnd-kit__abstract.patch
|
||||
|
||||
peerDependencyRules:
|
||||
allowedVersions:
|
||||
react: "19"
|
||||
react-dom: "19"
|
||||
eslint: "8"
|
||||
|
||||
allowedDeprecatedVersions:
|
||||
eslint: "8"
|
||||
react-beautiful-dnd: "13"
|
||||
|
||||
overrides:
|
||||
pretty-format@30>react-is: 19.2.5
|
||||
"@types/react": "catalog:"
|
||||
"@types/react-dom": "catalog:"
|
||||
oidc-client-ts: 3.5.0
|
||||
jwt-decode: 4.0.0
|
||||
caniuse-lite: 1.0.30001793
|
||||
markdown-it: 14.1.1
|
||||
matrix-widget-api: "^1.17.0"
|
||||
"@types/node": 18.19.130
|
||||
config-file-ts: 0.2.8-rc1
|
||||
node-abi: 4.31.0
|
||||
"@types/pg-pool": 2.0.7
|
||||
axios@>1.0.0 <=1.15.0: 1.15.2
|
||||
esbuild@<=0.24.2: 0.27.4
|
||||
esbuild@~0.27.0: 0.27.4
|
||||
follow-redirects@1.15.11: 1.16.0
|
||||
brace-expansion@>=5 <=5.0.5: 5.0.6
|
||||
ip-address@>=10 <10.1.1: 10.1.1
|
||||
uuid@>=11 <11.1.1: 11.1.1
|
||||
yaml@>=2 <2.8.3: 2.8.4
|
||||
protobufjs@7 <7.5.8: 7.6.1
|
||||
"@protobufjs/utf8@1 <1.1.1": 1.1.1
|
||||
|
||||
minimumReleaseAgeExclude:
|
||||
- "matrix-js-sdk"
|
||||
- "@matrix-org/*"
|
||||
- "@vector-im/*"
|
||||
- "@element-hq/*"
|
||||
|
||||
@@ -28,8 +28,9 @@ try {
|
||||
const configFile = await fs.readFile(configPath, "utf-8");
|
||||
for (const line of configFile.trim().split("\n")) {
|
||||
if (!line || line.startsWith("#")) continue;
|
||||
const [dependency, path] = line.split("=");
|
||||
const dependencyPath = join(nodeModulesPath, dependency);
|
||||
const [dependency, path, dir] = line.split("=");
|
||||
const nodeModules = dir ? join(dir, "node_modules") : nodeModulesPath;
|
||||
const dependencyPath = join(nodeModules, dependency);
|
||||
|
||||
try {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user