Switch element-web from yarn classic to pnpm

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2026-02-04 14:18:41 +00:00
parent d54e6c6704
commit 34fe390ffb
No known key found for this signature in database
GPG Key ID: A2B008A5F49F5D0D
21 changed files with 21138 additions and 14317 deletions

View File

@ -12,7 +12,7 @@ WORKDIR /src
COPY --exclude=docker . /src
RUN /src/scripts/docker-link-repos.sh
RUN yarn --network-timeout=200000 install
RUN pnpm --network-timeout=200000 install
RUN /src/scripts/docker-package.sh
# Copy the config now so that we don't create another layer in the app image

View File

@ -38,7 +38,7 @@ export function installer(config: BuildConfig): void {
let exitCode = 0;
// We cheat a bit and store the current package.json and lockfile so we can safely
// run `yarn add` without creating extra committed files for people. We restore
// run `pnpm add` without creating extra committed files for people. We restore
// these files by simply overwriting them when we're done.
const packageDeps = readCurrentPackageDetails();
@ -47,7 +47,7 @@ export function installer(config: BuildConfig): void {
const currentOptDeps = getOptionalDepNames(packageDeps.packageJson);
try {
// Install the modules with yarn
// Install the modules with pnpm
const yarnAddRef = config.modules.join(" ");
callYarnAdd(yarnAddRef); // install them all at once
@ -108,20 +108,20 @@ type RawDependencies = {
function readCurrentPackageDetails(): RawDependencies {
return {
lockfile: fs.readFileSync("./yarn.lock", "utf-8"),
lockfile: fs.readFileSync("./pnpm-lock.yaml", "utf-8"),
packageJson: fs.readFileSync("./package.json", "utf-8"),
};
}
function writePackageDetails(deps: RawDependencies): void {
fs.writeFileSync("./yarn.lock", deps.lockfile, "utf-8");
fs.writeFileSync("./pnpm-lock.yaml", deps.lockfile, "utf-8");
fs.writeFileSync("./package.json", deps.packageJson, "utf-8");
}
function callYarnAdd(dep: string): void {
// Add the module to the optional dependencies section just in case something
// goes wrong in restoring the original package details.
childProcess.execSync(`yarn add -O ${dep}`, {
childProcess.execSync(`pnpm add -O ${dep}`, {
env: process.env,
stdio: ["inherit", "inherit", "inherit"],
});
@ -170,7 +170,7 @@ function getTopLevelDependencyVersion(dep: string): string {
function getModuleApiVersionFor(moduleName: string): string {
// We'll just pretend that this isn't highly problematic...
// Yarn is fairly stable in putting modules in a flat hierarchy, at least.
// pnpm is fairly stable in putting modules in a flat hierarchy, at least.
const pkgJsonStr = fs.readFileSync(`./node_modules/${moduleName}/package.json`, "utf-8");
return findDepVersionInPackageJson(moduleApiDepName, pkgJsonStr);
}

View File

@ -29,30 +29,30 @@
"UserFriendlyError"
],
"scripts": {
"i18n": "matrix-gen-i18n src res && yarn i18n:sort && yarn i18n:lint",
"i18n:sort": "matrix-sort-i18n src/i18n/strings/en_EN.json && yarn --cwd packages/shared-components i18n:sort",
"i18n:lint": "matrix-i18n-lint && prettier --log-level=silent --write src/i18n/strings/ --ignore-path /dev/null && yarn --cwd packages/shared-components i18n:lint",
"i18n:diff": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"i18n": "matrix-gen-i18n src res && pnpm i18n:sort && pnpm i18n:lint",
"i18n:sort": "matrix-sort-i18n src/i18n/strings/en_EN.json && pnpm --dir packages/shared-components i18n:sort",
"i18n:lint": "matrix-i18n-lint && prettier --log-level=silent --write src/i18n/strings/ --ignore-path /dev/null && pnpm --dir packages/shared-components i18n:lint",
"i18n:diff": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && pnpm i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"make-component": "node scripts/make-react-component.js",
"rethemendex": "./res/css/rethemendex.sh",
"clean": "rimraf lib webapp",
"build": "yarn clean && yarn build:genfiles && yarn build:bundle",
"build-stats": "yarn clean && yarn build:genfiles && yarn build:bundle-stats",
"build": "pnpm clean && pnpm build:genfiles && pnpm build:bundle",
"build-stats": "pnpm clean && pnpm build:genfiles && pnpm build:bundle-stats",
"build:res": "node scripts/copy-res.ts",
"build:genfiles": "yarn build:res && yarn build:module_system",
"build:genfiles": "pnpm build:res && pnpm build:module_system",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:bundle": "webpack --progress --mode production",
"build:bundle-stats": "webpack --progress --mode production --json > webpack-stats.json",
"build:module_system": "node module_system/scripts/install.ts",
"dist": "./scripts/package.sh",
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n modules,res \"yarn build:module_system\" \"yarn build:res\" && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js\"",
"start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --server-type https\"",
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n modules,res \"pnpm build:module_system\" \"pnpm build:res\" && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"pnpm start:res\" \"pnpm start:js\"",
"start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"pnpm start:res\" \"pnpm start:js --server-type https\"",
"start:res": "node scripts/copy-res.ts -w",
"start:js": "webpack serve --output-path webapp --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js --mode development",
"lint": "yarn lint:types && yarn lint:js && yarn lint:style && yarn lint:workflows",
"lint": "pnpm lint:types && pnpm lint:js && pnpm lint:style && pnpm lint:workflows",
"lint:js": "eslint --max-warnings 0 src test playwright module_system && prettier --check .",
"lint:js-fix": "prettier --log-level=warn --write . && eslint --fix src test playwright module_system",
"lint:types": "yarn lint:types:src && yarn lint:types:module_system",
"lint:types": "pnpm lint:types:src && pnpm lint:types:module_system",
"lint:types:src": "tsc --noEmit --jsx react && tsc --noEmit --jsx react -p playwright",
"lint:types:module_system": "tsc --noEmit --project ./tsconfig.module_system.json",
"lint:style": "stylelint \"res/css/**/*.pcss\"",
@ -60,25 +60,11 @@
"lint:knip": "knip",
"test": "jest",
"test:playwright": "playwright test",
"test:playwright:open": "yarn test:playwright --ui",
"test:playwright:open": "pnpm test:playwright --ui",
"test:playwright:screenshots": "playwright-screenshots --project=Chrome",
"coverage": "yarn test --coverage",
"coverage": "pnpm test --coverage",
"analyse:webpack-bundles": "webpack-bundle-analyzer webpack-stats.json webapp",
"update:jitsi": "curl -s https://meet.element.io/libs/external_api.min.js > ./res/jitsi_external_api.min.js",
"install": "yarn --cwd packages/shared-components install --frozen-lockfile",
"postinstall": "patch-package"
},
"resolutions": {
"**/pretty-format/react-is": "19.2.4",
"@types/react": "19.2.10",
"@types/react-dom": "19.2.3",
"oidc-client-ts": "3.4.1",
"jwt-decode": "4.0.0",
"caniuse-lite": "1.0.30001764",
"testcontainers": "^11.0.0",
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0",
"wrap-ansi": "npm:wrap-ansi@^7.0.0",
"matrix-widget-api": "^1.16.1"
"update:jitsi": "curl -s https://meet.element.io/libs/external_api.min.js > ./res/jitsi_external_api.min.js"
},
"dependencies": {
"@babel/runtime": "^7.12.5",
@ -180,6 +166,7 @@
"@element-hq/element-call-embedded": "0.16.3",
"@element-hq/element-web-playwright-common": "2.2.5",
"@fetch-mock/jest": "^0.2.20",
"@jest/globals": "^30.2.0",
"@peculiar/webcrypto": "^1.4.3",
"@playwright/test": "1.57.0",
"@principalstudio/html-webpack-inject-preload": "^1.2.7",
@ -205,7 +192,7 @@
"@types/lodash": "^4.14.168",
"@types/minimist": "^1.2.5",
"@types/modernizr": "^3.5.3",
"@types/node": "18",
"@types/node": "22",
"@types/pako": "^2.0.0",
"@types/qrcode": "^1.3.5",
"@types/react": "19.2.10",
@ -261,7 +248,6 @@
"mini-css-extract-plugin": "2.9.2",
"minimist": "^1.2.6",
"modernizr": "^3.12.0",
"patch-package": "^8.0.0",
"postcss": "8.4.46",
"postcss-easings": "^4.0.0",
"postcss-hexrgba": "2.1.0",
@ -295,6 +281,44 @@
"webpack-version-file-plugin": "^0.5.0",
"yaml": "^2.3.3"
},
"pnpm": {
"onlyBuiltDependencies": [
"matrix-js-sdk"
],
"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/mdx": "patches/@types__mdx.patch",
"await-lock": "patches/await-lock.patch",
"jest-fixed-jsdom": "patches/jest-fixed-jsdom.patch",
"jsdom": "patches/jsdom.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.4",
"@types/react": "19.2.10",
"@types/react-dom": "19.2.3",
"oidc-client-ts": "3.4.1",
"jwt-decode": "4.0.0",
"caniuse-lite": "1.0.30001764",
"testcontainers": "^11.0.0",
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0",
"wrap-ansi": "npm:wrap-ansi@^7.0.0",
"matrix-widget-api": "^1.16.1"
}
},
"@casualbot/jest-sonar-reporter": {
"outputDirectory": "coverage",
"outputName": "jest-sonar-report.xml",
@ -303,5 +327,5 @@
"engines": {
"node": ">=22.18"
},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
"packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264"
}

View File

@ -1,7 +1,7 @@
diff --git a/node_modules/@matrix-org/react-sdk-module-api/lib/ModuleApi.d.ts b/node_modules/@matrix-org/react-sdk-module-api/lib/ModuleApi.d.ts
index 917a7fc..a2710c6 100644
--- a/node_modules/@matrix-org/react-sdk-module-api/lib/ModuleApi.d.ts
+++ b/node_modules/@matrix-org/react-sdk-module-api/lib/ModuleApi.d.ts
diff --git a/lib/ModuleApi.d.ts b/lib/ModuleApi.d.ts
index 917a7fc073ea208ed8e45ccca994ae2ca0493bb8..a2710c6f99b1c6a9186232f3d1aa4d5e8a903062 100644
--- a/lib/ModuleApi.d.ts
+++ b/lib/ModuleApi.d.ts
@@ -37,7 +37,7 @@ export interface ModuleApi {
* @returns Whether the user submitted the dialog or closed it, and the model returned by the
* dialog component if submitted.
@ -11,11 +11,11 @@ index 917a7fc..a2710c6 100644
didOkOrSubmit: boolean;
model: M;
}>;
diff --git a/node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.d.ts b/node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.d.ts
index cb5f2e5..51daa51 100644
--- a/node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.d.ts
+++ b/node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.d.ts
@@ -66,23 +66,23 @@ export interface SetupEncryptionStoreProjection {
diff --git a/lib/lifecycles/CryptoSetupExtensions.d.ts b/lib/lifecycles/CryptoSetupExtensions.d.ts
index cb5f2e5224f36e4a258caf782d49bf925dd552b9..d3474c6847c0c65e953219bf6616c1d8a2c37b62 100644
--- a/lib/lifecycles/CryptoSetupExtensions.d.ts
+++ b/lib/lifecycles/CryptoSetupExtensions.d.ts
@@ -66,8 +66,8 @@ export interface SetupEncryptionStoreProjection {
export interface ProvideCryptoSetupExtensions {
examineLoginResponse(response: any, credentials: ExtendedMatrixClientCreds): void;
persistCredentials(credentials: ExtendedMatrixClientCreds): void;
@ -26,10 +26,7 @@ index cb5f2e5..51daa51 100644
catchAccessSecretStorageError(e: Error): void;
setupEncryptionNeeded: (args: CryptoSetupArgs) => boolean;
/** @deprecated This callback is no longer used by matrix-react-sdk */
- getDehydrationKeyCallback(): ((keyInfo: SecretStorageKeyDescription, checkFunc: (key: Uint8Array) => void) => Promise<Uint8Array>) | null;
+ getDehydrationKeyCallback(): ((keyInfo: SecretStorageKeyDescription, checkFunc: (key: Uint8Array<ArrayBuffer>) => void) => Promise<Uint8Array<ArrayBuffer>>) | null;
SHOW_ENCRYPTION_SETUP_UI: boolean;
}
@@ -77,8 +77,8 @@ export interface ProvideCryptoSetupExtensions {
export declare abstract class CryptoSetupExtensionsBase implements ProvideCryptoSetupExtensions {
abstract examineLoginResponse(response: any, credentials: ExtendedMatrixClientCreds): void;
abstract persistCredentials(credentials: ExtendedMatrixClientCreds): void;
@ -40,12 +37,7 @@ index cb5f2e5..51daa51 100644
abstract catchAccessSecretStorageError(e: Error): void;
abstract setupEncryptionNeeded(args: CryptoSetupArgs): boolean;
/** `getDehydrationKeyCallback` is no longer used; we provide an empty impl for type compatibility. */
- getDehydrationKeyCallback(): ((keyInfo: SecretStorageKeyDescription, checkFunc: (key: Uint8Array) => void) => Promise<Uint8Array>) | null;
+ getDehydrationKeyCallback(): ((keyInfo: SecretStorageKeyDescription, checkFunc: (key: Uint8Array<ArrayBuffer>) => void) => Promise<Uint8Array<ArrayBuffer>>) | null;
abstract SHOW_ENCRYPTION_SETUP_UI: boolean;
}
export interface CryptoSetupArgs {
@@ -98,9 +98,9 @@ export declare class DefaultCryptoSetupExtensions extends CryptoSetupExtensionsB
@@ -98,8 +98,8 @@ export declare class DefaultCryptoSetupExtensions extends CryptoSetupExtensionsB
SHOW_ENCRYPTION_SETUP_UI: boolean;
examineLoginResponse(response: any, credentials: ExtendedMatrixClientCreds): void;
persistCredentials(credentials: ExtendedMatrixClientCreds): void;
@ -55,13 +47,11 @@ index cb5f2e5..51daa51 100644
+ createSecretStorageKey(): Uint8Array<ArrayBuffer> | null;
catchAccessSecretStorageError(e: Error): void;
setupEncryptionNeeded(args: CryptoSetupArgs): boolean;
- getDehydrationKeyCallback(): ((keyInfo: SecretStorageKeyDescription, checkFunc: (key: Uint8Array) => void) => Promise<Uint8Array>) | null;
+ getDehydrationKeyCallback(): ((keyInfo: SecretStorageKeyDescription, checkFunc: (key: Uint8Array<ArrayBuffer>) => void) => Promise<Uint8Array<ArrayBuffer>>) | null;
}
diff --git a/node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.js b/node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.js
index 5d422ed..b823add 100644
--- a/node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.js
+++ b/node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/CryptoSetupExtensions.js
getDehydrationKeyCallback(): ((keyInfo: SecretStorageKeyDescription, checkFunc: (key: Uint8Array) => void) => Promise<Uint8Array>) | null;
diff --git a/lib/lifecycles/CryptoSetupExtensions.js b/lib/lifecycles/CryptoSetupExtensions.js
index 5d422ed500ac5846e713a8e8ecddb3be75357b60..011c19fafd06d1f203df1383360c52a45e387dcf 100644
--- a/lib/lifecycles/CryptoSetupExtensions.js
+++ b/lib/lifecycles/CryptoSetupExtensions.js
@@ -124,34 +124,28 @@ var DefaultCryptoSetupExtensions = /*#__PURE__*/function (_CryptoSetupExtension)
(0, _createClass2["default"])(DefaultCryptoSetupExtensions, [{
key: "examineLoginResponse",

46
patches/@types__mdx.patch Normal file
View File

@ -0,0 +1,46 @@
diff --git a/types.d.ts b/types.d.ts
index 498bb694de2e6a62f14d3fe998dc538aff920fc6..ab288cdf8ca228fc8daaff2c5fb84ce665b40812 100644
--- a/types.d.ts
+++ b/types.d.ts
@@ -5,7 +5,7 @@
*/
// @ts-ignore JSX runtimes may optionally define JSX.ElementType. The MDX types need to work regardless whether this is
// defined or not.
-type ElementType = any extends JSX.ElementType ? never : JSX.ElementType;
+type ElementType = any extends React.JSX.ElementType ? never : React.JSX.ElementType;
/**
* This matches any function component types that ar part of `ElementType`.
@@ -20,12 +20,12 @@ type ClassElementType = Extract<ElementType, new(props: Record<string, any>) =>
/**
* A valid JSX string component.
*/
-type StringComponent = Extract<keyof JSX.IntrinsicElements, ElementType extends never ? string : ElementType>;
+type StringComponent = Extract<keyof React.JSX.IntrinsicElements, ElementType extends never ? string : ElementType>;
/**
* A JSX element returned by MDX content.
*/
-export type Element = JSX.Element;
+export type Element = React.JSX.Element;
/**
* A valid JSX function component.
@@ -44,7 +44,7 @@ type FunctionComponent<Props> = ElementType extends never
*/
type ClassComponent<Props> = ElementType extends never
// If JSX.ElementType isnt defined, the valid return type is a constructor that returns JSX.ElementClass
- ? new(props: Props) => JSX.ElementClass
+ ? new(props: Props) => React.JSX.ElementClass
: ClassElementType extends never
// If JSX.ElementType is defined, but doesnt allow constructors, function components are disallowed.
? never
@@ -70,7 +70,7 @@ interface NestedMDXComponents {
export type MDXComponents =
& NestedMDXComponents
& {
- [Key in StringComponent]?: Component<JSX.IntrinsicElements[Key]>;
+ [Key in StringComponent]?: Component<React.JSX.IntrinsicElements[Key]>;
}
& {
/**

View File

@ -1,12 +0,0 @@
diff --git a/node_modules/@vector-im/matrix-wysiwyg/package.json b/node_modules/@vector-im/matrix-wysiwyg/package.json
index 8163a3b..dfef973 100644
--- a/node_modules/@vector-im/matrix-wysiwyg/package.json
+++ b/node_modules/@vector-im/matrix-wysiwyg/package.json
@@ -11,6 +11,7 @@
"license": "SEE LICENSE IN README.md",
"exports": {
".": {
+ "types": "./dist/index.d.ts",
"import": "./dist/matrix-wysiwyg.js",
"require": "./dist/matrix-wysiwyg.umd.cjs"
}

View File

@ -0,0 +1,12 @@
diff --git a/package.json b/package.json
index 8163a3bea0bba33af6fc97cd21c1a04ddef548b7..dfef973c43d84b8f0453be7e67db89a654426c60 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"license": "SEE LICENSE IN README.md",
"exports": {
".": {
+ "types": "./dist/index.d.ts",
"import": "./dist/matrix-wysiwyg.js",
"require": "./dist/matrix-wysiwyg.umd.cjs"
}

View File

@ -1,7 +1,7 @@
diff --git a/node_modules/await-lock/package.json b/node_modules/await-lock/package.json
index 84a2734..cbda839 100644
--- a/node_modules/await-lock/package.json
+++ b/node_modules/await-lock/package.json
diff --git a/package.json b/package.json
index 84a2734a8989f43fd5368adbd4638b52560a11ab..cbda8398f3b4094b2d86152211811fe6c2342232 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,8 @@
"exports": {
".": {

View File

@ -1,11 +1,11 @@
diff --git a/node_modules/jest-fixed-jsdom/index.js b/node_modules/jest-fixed-jsdom/index.js
diff --git a/index.js b/index.js
index ac8033b..b1ba8f0 100644
--- a/node_modules/jest-fixed-jsdom/index.js
+++ b/node_modules/jest-fixed-jsdom/index.js
--- a/index.js
+++ b/index.js
@@ -21,9 +21,10 @@ class FixedJSDOMEnvironment extends JSDOMEnvironment {
this.global.TextEncoderStream = TextEncoderStream
this.global.ReadableStream = ReadableStream
- this.global.Blob = Blob
+ // this.global.Blob = Blob
+ // this.global.File = File

View File

@ -1,10 +1,10 @@
diff --git a/node_modules/jsdom/lib/jsdom/browser/Window.js b/node_modules/jsdom/lib/jsdom/browser/Window.js
diff --git a/lib/jsdom/browser/Window.js b/lib/jsdom/browser/Window.js
index 52d011c..f62f6d6 100644
--- a/node_modules/jsdom/lib/jsdom/browser/Window.js
+++ b/node_modules/jsdom/lib/jsdom/browser/Window.js
--- a/lib/jsdom/browser/Window.js
+++ b/lib/jsdom/browser/Window.js
@@ -505,10 +505,10 @@ function installOwnProperties(window, options) {
event: makeReplaceablePropertyDescriptor("event", window),
// [LegacyUnforgeable]:
- window: { configurable: false },
- document: { configurable: false },
@ -15,12 +15,12 @@ index 52d011c..f62f6d6 100644
+ location: { configurable: true },
+ top: { configurable: true }
});
diff --git a/node_modules/jsdom/lib/jsdom/living/generated/Location.js b/node_modules/jsdom/lib/jsdom/living/generated/Location.js
diff --git a/lib/jsdom/living/generated/Location.js b/lib/jsdom/living/generated/Location.js
index fc4d1dd..c855bd5 100644
--- a/node_modules/jsdom/lib/jsdom/living/generated/Location.js
+++ b/node_modules/jsdom/lib/jsdom/living/generated/Location.js
--- a/lib/jsdom/living/generated/Location.js
+++ b/lib/jsdom/living/generated/Location.js
@@ -322,19 +322,19 @@ function getUnforgeables(globalObject) {
}
});

View File

@ -1,7 +1,7 @@
diff --git a/node_modules/linkify-html/dist/linkify-html.mjs b/node_modules/linkify-html/dist/linkify-html.mjs
index 63b1fe5..f61e3b7 100644
--- a/node_modules/linkify-html/dist/linkify-html.mjs
+++ b/node_modules/linkify-html/dist/linkify-html.mjs
diff --git a/dist/linkify-html.mjs b/dist/linkify-html.mjs
index 63b1fe5019a58d73986974fc621701db33a4ac11..f61e3b7118ed6adc93da88ca9ecf2dce486989fd 100644
--- a/dist/linkify-html.mjs
+++ b/dist/linkify-html.mjs
@@ -201,6 +201,8 @@ var EventedTokenizer = /** @class */function () {
this.consume();
if (this.delegate.endDoctype) this.delegate.endDoctype();

View File

@ -1,7 +1,7 @@
diff --git a/node_modules/react-blurhash/dist/index.d.ts b/node_modules/react-blurhash/dist/index.d.ts
index 3adbd0a..32e8c13 100644
--- a/node_modules/react-blurhash/dist/index.d.ts
+++ b/node_modules/react-blurhash/dist/index.d.ts
diff --git a/dist/index.d.ts b/dist/index.d.ts
index 3adbd0a4561d9114277241af6994111f97e17cbf..32e8c13a574d860d589c2c8232795b8fc1e3195f 100644
--- a/dist/index.d.ts
+++ b/dist/index.d.ts
@@ -19,7 +19,7 @@ declare class Blurhash extends React.PureComponent<Props$1> {
resolutionY: number;
};

View File

@ -79,7 +79,7 @@ export default defineConfig<WorkerOptions>({
trace: "on-first-retry",
},
webServer: {
command: process.env.CI ? "npx serve -p 8080 -L ./webapp" : "yarn start",
command: process.env.CI ? "npx serve -p 8080 -L ./webapp" : "pnpm start",
url: `${baseURL}/config.json`,
reuseExistingServer: true,
timeout: (process.env.CI ? 30 : 120) * 1000,

20955
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

4
pnpm-workspace.yaml Normal file
View File

@ -0,0 +1,4 @@
nodeLinker: hoisted
linkWorkspacePackages: true
packages:
- "packages/*"

View File

@ -28,7 +28,7 @@ ignore.push("/common.ts");
// We ignore js-sdk by default as it may export for other non element-web projects
if (!includeJSSDK) ignore.push("matrix-js-sdk");
const command = `yarn ts-prune --ignore "${ignore.join("|")}" | grep -v "(used in module)"`;
const command = `pnpm ts-prune --ignore "${ignore.join("|")}" | grep -v "(used in module)"`;
exec(command, (error, stdout, stderr) => {
if (error) throw error;

View File

@ -21,9 +21,9 @@ fi
echo "Linking js-sdk"
git clone --depth 1 --branch $JS_SDK_BRANCH "$JS_SDK_REPO" js-sdk
cd js-sdk
yarn link
yarn --network-timeout=100000 install
pnpm link
pnpm --network-timeout=100000 install
cd ../
echo "Setting up element-web with js-sdk package"
yarn link matrix-js-sdk
pnpm link matrix-js-sdk

View File

@ -18,4 +18,4 @@ fi
DIST_VERSION=$("$DIR"/normalize-version.sh "$DIST_VERSION")
VERSION=$DIST_VERSION yarn build
VERSION=$DIST_VERSION pnpm build

View File

@ -14,7 +14,7 @@ set -ex
# for the primary repo (element-web in this case).
# Install dependencies
yarn install --frozen-lockfile
pnpm install --frozen-lockfile
# Pass appropriate repo to fetchdep.sh
export PR_ORG=element-hq
@ -24,8 +24,8 @@ export PR_REPO=element-web
scripts/fetchdep.sh matrix-org matrix-js-sdk develop
pushd matrix-js-sdk
[ -n "$JS_SDK_GITHUB_BASE_REF" ] && git fetch --depth 1 origin $JS_SDK_GITHUB_BASE_REF && git checkout $JS_SDK_GITHUB_BASE_REF
yarn link
yarn install --frozen-lockfile
pnpm link
pnpm install --frozen-lockfile
popd
# Also set up matrix-analytics-events for branch with matching name
@ -34,13 +34,13 @@ scripts/fetchdep.sh matrix-org matrix-analytics-events
# This is expected as this project does not share a release cycle but we still branch match it
if [ -d matrix-analytics-events ]; then
pushd matrix-analytics-events
yarn link
yarn install --frozen-lockfile
yarn build:ts
pnpm link
pnpm install --frozen-lockfile
pnpm build:ts
popd
fi
# Link the layers into element-web
yarn link matrix-js-sdk
[ -d matrix-analytics-events ] && yarn link @matrix-org/analytics-events
yarn install --frozen-lockfile $@
pnpm link matrix-js-sdk
[ -d matrix-analytics-events ] && pnpm link @matrix-org/analytics-events
pnpm install --frozen-lockfile $@

View File

@ -8,11 +8,11 @@ else
version=`git describe --dirty --tags || echo unknown`
fi
yarn clean
VERSION=$version yarn build
pnpm clean
VERSION=$version pnpm build
# include the sample config in the tarball. Arguably this should be done by
# `yarn build`, but it's just too painful.
# `pnpm build`, but it's just too painful.
cp config.sample.json webapp/
mkdir -p dist

14198
yarn.lock

File diff suppressed because it is too large Load Diff