Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
"@babel/runtime": "^7.12.5",
"@element-hq/element-web-module-api": "1.5.0",
"@element-hq/web-shared-components": "link:packages/shared-components",
"@fontsource/inconsolata": "^5",
"@fontsource/fira-code": "^5",
"@fontsource/inter": "^5",
"@formatjs/intl-segmenter": "^11.5.7",
"@matrix-org/analytics-events": "^0.30.0",
Expand Down
6 changes: 3 additions & 3 deletions playwright/e2e/audio-player/audio-player.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ test.describe("Audio player", { tag: ["@no-firefox", "@no-webkit"] }, () => {
/**
* Take snapshots of mx_EventTile_last on each layout, outputting log for reference/debugging.
* @param detail The snapshot name. Used for outputting logs too.
* @param monospace This changes the font used to render the UI from a default one to Inconsolata. Set to false by default.
* @param monospace This changes the font used to render the UI from a default one to Fira Code. Set to false by default.
*/
const takeSnapshots = async (page: Page, app: ElementAppPage, detail: string, monospace = false) => {
// Check that the audio player is rendered and its button becomes visible
Expand All @@ -65,15 +65,15 @@ test.describe("Audio player", { tag: ["@no-firefox", "@no-webkit"] }, () => {

if (monospace) {
// Assert that the monospace timer is visible
await expect(locator.locator("[role='timer']")).toHaveCSS("font-family", "Inconsolata");
await expect(locator.locator("[role='timer']")).toHaveCSS("font-family", '"Fira Code"');
}
};

if (monospace) {
// Enable system font and monospace setting
await app.settings.setValue("useBundledEmojiFont", null, SettingLevel.DEVICE, false);
await app.settings.setValue("useSystemFont", null, SettingLevel.DEVICE, true);
await app.settings.setValue("systemFont", null, SettingLevel.DEVICE, "Inconsolata");
await app.settings.setValue("systemFont", null, SettingLevel.DEVICE, "Fira Code");
}

// Check the status of the seek bar
Expand Down
2 changes: 1 addition & 1 deletion playwright/e2e/right-panel/right-panel.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,12 +159,12 @@
await expect(page.locator(".mx_UserInfo")).toBeVisible();
await expect(page.locator(".mx_UserInfo_profile").getByText(LONG_NAME)).toBeVisible();

await expect(page.locator(".mx_UserInfo")).toMatchScreenshot("with-long-name.png", {

Check failure on line 162 in playwright/e2e/right-panel/right-panel.spec.ts

View workflow job for this annotation

GitHub Actions / Run Tests [Chrome] 3/6

[Chrome] › playwright/e2e/right-panel/right-panel.spec.ts:144:13 › RightPanel › in rooms › should handle viewing long room member name @screenshot

1) [Chrome] › playwright/e2e/right-panel/right-panel.spec.ts:144:13 › RightPanel › in rooms › should handle viewing long room member name @screenshot Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('.mx_UserInfo') 670 pixels (ratio 0.01 of all image pixels) are different. Snapshot: with-long-name.png Call log: - Expect "toHaveScreenshot(with-long-name.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.mx_UserInfo') - locator resolved to <div class="mx_BaseCard mx_UserInfo">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 670 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.mx_UserInfo') - locator resolved to <div class="mx_BaseCard mx_UserInfo">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 670 pixels (ratio 0.01 of all image pixels) are different. 160 | await expect(page.locator(".mx_UserInfo_profile").getByText(LONG_NAME)).toBeVisible(); 161 | > 162 | await expect(page.locator(".mx_UserInfo")).toMatchScreenshot("with-long-name.png", { | ^ 163 | mask: [page.locator(".mx_UserInfo_profile_mxid")], 164 | css: ` 165 | /* Use monospace font for consistent mask width */ at /home/runner/work/element-web/element-web/playwright/e2e/right-panel/right-panel.spec.ts:162:60

Check failure on line 162 in playwright/e2e/right-panel/right-panel.spec.ts

View workflow job for this annotation

GitHub Actions / Run Tests [Chrome] 3/6

[Chrome] › playwright/e2e/right-panel/right-panel.spec.ts:144:13 › RightPanel › in rooms › should handle viewing long room member name @screenshot

1) [Chrome] › playwright/e2e/right-panel/right-panel.spec.ts:144:13 › RightPanel › in rooms › should handle viewing long room member name @screenshot Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('.mx_UserInfo') 670 pixels (ratio 0.01 of all image pixels) are different. Snapshot: with-long-name.png Call log: - Expect "toHaveScreenshot(with-long-name.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.mx_UserInfo') - locator resolved to <div class="mx_BaseCard mx_UserInfo">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 670 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.mx_UserInfo') - locator resolved to <div class="mx_BaseCard mx_UserInfo">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 670 pixels (ratio 0.01 of all image pixels) are different. 160 | await expect(page.locator(".mx_UserInfo_profile").getByText(LONG_NAME)).toBeVisible(); 161 | > 162 | await expect(page.locator(".mx_UserInfo")).toMatchScreenshot("with-long-name.png", { | ^ 163 | mask: [page.locator(".mx_UserInfo_profile_mxid")], 164 | css: ` 165 | /* Use monospace font for consistent mask width */ at /home/runner/work/element-web/element-web/playwright/e2e/right-panel/right-panel.spec.ts:162:60

Check failure on line 162 in playwright/e2e/right-panel/right-panel.spec.ts

View workflow job for this annotation

GitHub Actions / Run Tests [Chrome] 3/6

[Chrome] › playwright/e2e/right-panel/right-panel.spec.ts:144:13 › RightPanel › in rooms › should handle viewing long room member name @screenshot

1) [Chrome] › playwright/e2e/right-panel/right-panel.spec.ts:144:13 › RightPanel › in rooms › should handle viewing long room member name @screenshot Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('.mx_UserInfo') 670 pixels (ratio 0.01 of all image pixels) are different. Snapshot: with-long-name.png Call log: - Expect "toHaveScreenshot(with-long-name.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.mx_UserInfo') - locator resolved to <div class="mx_BaseCard mx_UserInfo">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 670 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.mx_UserInfo') - locator resolved to <div class="mx_BaseCard mx_UserInfo">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 670 pixels (ratio 0.01 of all image pixels) are different. 160 | await expect(page.locator(".mx_UserInfo_profile").getByText(LONG_NAME)).toBeVisible(); 161 | > 162 | await expect(page.locator(".mx_UserInfo")).toMatchScreenshot("with-long-name.png", { | ^ 163 | mask: [page.locator(".mx_UserInfo_profile_mxid")], 164 | css: ` 165 | /* Use monospace font for consistent mask width */ at /home/runner/work/element-web/element-web/playwright/e2e/right-panel/right-panel.spec.ts:162:60
mask: [page.locator(".mx_UserInfo_profile_mxid")],
css: `
/* Use monospace font for consistent mask width */
.mx_UserInfo_profile_mxid {
font-family: Inconsolata !important;
font-family: "Fira Code" !important;
}
`,
});
Expand Down
2 changes: 1 addition & 1 deletion playwright/e2e/user-view/user-view.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@

const rightPanel = page.locator("#mx_RightPanel");
await expect(rightPanel.getByRole("heading", { name: bot.credentials.displayName, exact: true })).toBeVisible();
await expect(rightPanel).toMatchScreenshot("user-info.png", {

Check failure on line 22 in playwright/e2e/user-view/user-view.spec.ts

View workflow job for this annotation

GitHub Actions / Run Tests [Chrome] 6/6

[Chrome] › playwright/e2e/user-view/user-view.spec.ts:17:9 › UserView › should render the user view as expected @screenshot

1) [Chrome] › playwright/e2e/user-view/user-view.spec.ts:17:9 › UserView › should render the user view as expected @screenshot Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#mx_RightPanel') 670 pixels (ratio 0.01 of all image pixels) are different. Snapshot: user-info.png Call log: - Expect "toHaveScreenshot(user-info.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#mx_RightPanel') - locator resolved to <aside id="mx_RightPanel" class="mx_RightPanel" data-testid="right-panel">…</aside> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 670 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#mx_RightPanel') - locator resolved to <aside id="mx_RightPanel" class="mx_RightPanel" data-testid="right-panel">…</aside> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 670 pixels (ratio 0.01 of all image pixels) are different. 20 | const rightPanel = page.locator("#mx_RightPanel"); 21 | await expect(rightPanel.getByRole("heading", { name: bot.credentials.displayName, exact: true })).toBeVisible(); > 22 | await expect(rightPanel).toMatchScreenshot("user-info.png", { | ^ 23 | mask: [page.locator(".mx_UserInfo_profile_mxid")], 24 | css: ` 25 | /* Use monospace font for consistent mask width */ at /home/runner/work/element-web/element-web/playwright/e2e/user-view/user-view.spec.ts:22:34

Check failure on line 22 in playwright/e2e/user-view/user-view.spec.ts

View workflow job for this annotation

GitHub Actions / Run Tests [Chrome] 6/6

[Chrome] › playwright/e2e/user-view/user-view.spec.ts:17:9 › UserView › should render the user view as expected @screenshot

1) [Chrome] › playwright/e2e/user-view/user-view.spec.ts:17:9 › UserView › should render the user view as expected @screenshot Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#mx_RightPanel') 670 pixels (ratio 0.01 of all image pixels) are different. Snapshot: user-info.png Call log: - Expect "toHaveScreenshot(user-info.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#mx_RightPanel') - locator resolved to <aside id="mx_RightPanel" class="mx_RightPanel" data-testid="right-panel">…</aside> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 670 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#mx_RightPanel') - locator resolved to <aside id="mx_RightPanel" class="mx_RightPanel" data-testid="right-panel">…</aside> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 670 pixels (ratio 0.01 of all image pixels) are different. 20 | const rightPanel = page.locator("#mx_RightPanel"); 21 | await expect(rightPanel.getByRole("heading", { name: bot.credentials.displayName, exact: true })).toBeVisible(); > 22 | await expect(rightPanel).toMatchScreenshot("user-info.png", { | ^ 23 | mask: [page.locator(".mx_UserInfo_profile_mxid")], 24 | css: ` 25 | /* Use monospace font for consistent mask width */ at /home/runner/work/element-web/element-web/playwright/e2e/user-view/user-view.spec.ts:22:34

Check failure on line 22 in playwright/e2e/user-view/user-view.spec.ts

View workflow job for this annotation

GitHub Actions / Run Tests [Chrome] 6/6

[Chrome] › playwright/e2e/user-view/user-view.spec.ts:17:9 › UserView › should render the user view as expected @screenshot

1) [Chrome] › playwright/e2e/user-view/user-view.spec.ts:17:9 › UserView › should render the user view as expected @screenshot Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#mx_RightPanel') 670 pixels (ratio 0.01 of all image pixels) are different. Snapshot: user-info.png Call log: - Expect "toHaveScreenshot(user-info.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#mx_RightPanel') - locator resolved to <aside id="mx_RightPanel" class="mx_RightPanel" data-testid="right-panel">…</aside> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 670 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#mx_RightPanel') - locator resolved to <aside id="mx_RightPanel" class="mx_RightPanel" data-testid="right-panel">…</aside> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 670 pixels (ratio 0.01 of all image pixels) are different. 20 | const rightPanel = page.locator("#mx_RightPanel"); 21 | await expect(rightPanel.getByRole("heading", { name: bot.credentials.displayName, exact: true })).toBeVisible(); > 22 | await expect(rightPanel).toMatchScreenshot("user-info.png", { | ^ 23 | mask: [page.locator(".mx_UserInfo_profile_mxid")], 24 | css: ` 25 | /* Use monospace font for consistent mask width */ at /home/runner/work/element-web/element-web/playwright/e2e/user-view/user-view.spec.ts:22:34
mask: [page.locator(".mx_UserInfo_profile_mxid")],
css: `
/* Use monospace font for consistent mask width */
.mx_UserInfo_profile_mxid {
font-family: Inconsolata !important;
font-family: "Fira Code" !important;
}
`,
});
Expand Down
2 changes: 1 addition & 1 deletion playwright/element-web-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ export const expect = baseExpect.extend<Expectations>({
}
/* Use monospace font for timestamp for consistent mask width */
.mx_MessageTimestamp {
font-family: Inconsolata !important;
font-family: "Fira Code" !important;
}
`;

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
color: var(--cpd-color-text-secondary);

.mx_KeyPanel_key {
font-family: Inconsolata, monospace;
font-family: "Fira Code", monospace;
/*
* From figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77471&t=t7lozYrSI1AVZZ3U-4
*/
Expand Down
2 changes: 1 addition & 1 deletion res/themes/legacy-light/css/_legacy-light.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ $font-family:
"Noto Color Emoji";

$monospace-font-family:
"Inconsolata", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
"Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
"Noto Color Emoji";

/* unified palette */
Expand Down
2 changes: 1 addition & 1 deletion res/themes/light/css/_light.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ $font-family:
"Noto Color Emoji";

$monospace-font-family:
"Inconsolata", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
"Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
"Noto Color Emoji";

/* Colors from Figma Compound https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=559%3A120 */
Expand Down
8 changes: 4 additions & 4 deletions src/theme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import "@fontsource/inter/600-italic.css";
import "@fontsource/inter/700.css";
import "@fontsource/inter/700-italic.css";

import "@fontsource/inconsolata/latin-ext-400.css";
import "@fontsource/inconsolata/latin-400.css";
import "@fontsource/inconsolata/latin-ext-700.css";
import "@fontsource/inconsolata/latin-700.css";
import "@fontsource/fira-code/latin-ext-400.css";
import "@fontsource/fira-code/latin-400.css";
import "@fontsource/fira-code/latin-ext-700.css";
import "@fontsource/fira-code/latin-700.css";

import { logger } from "matrix-js-sdk/src/logger";

Expand Down
4 changes: 2 additions & 2 deletions src/utils/exportUtils/exportCSS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ import customCSS from "!!raw-loader!./exportCustomCSS.css";
const cssSelectorTextClassesRegex = /\.[\w-]+/g;

function mutateCssText(css: string): string {
// replace used fonts so that we don't have to bundle Inter & Inconsalata
// replace used fonts so that we don't have to bundle Inter & Fira Code
const sansFont = `-apple-system, BlinkMacSystemFont, avenir next,
avenir, segoe ui, helvetica neue, helvetica, Ubuntu, roboto, noto, arial, sans-serif`;
return css
.replace(/font-family: ?(Inter|'Inter'|"Inter")/g, `font-family: ${sansFont}`)
.replace(/--cpd-font-family-sans: ?(Inter|'Inter'|"Inter")/g, `--cpd-font-family-sans: ${sansFont}`)
.replace(
/font-family: ?Inconsolata/g,
/font-family: ?Fira Code/g,
"font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace",
);
}
Expand Down
19 changes: 6 additions & 13 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1814,10 +1814,10 @@
resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.10.tgz#a2a1e3812d14525f725d011a73eceb41fef5bc1c"
integrity sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==

"@fontsource/inconsolata@^5":
version "5.2.8"
resolved "https://registry.yarnpkg.com/@fontsource/inconsolata/-/inconsolata-5.2.8.tgz#593859a9229939558219efb9c894f9f5ee6c491a"
integrity sha512-lIZW+WOZYpUH91g9r6rYYhfTmptF3YPPM54ZOs8IYVeeL4SeiAu4tfj7mdr8llYEq31DLYgi6JtGIJa192gB0Q==
"@fontsource/fira-code@^5":
version "5.2.7"
resolved "https://registry.yarnpkg.com/@fontsource/fira-code/-/fira-code-5.2.7.tgz#9ecbd909d53e7196a5d895b601747fe34491fc6a"
integrity sha512-tnB9NNund9TwIym8/7DMJe573nlPEQb+fKUV5GL8TBYXjIhDvL0D7mgmNVNQUPhXp+R7RylQeiBdkA4EbOHPGQ==

"@fontsource/inter@^5":
version "5.2.8"
Expand Down Expand Up @@ -4218,8 +4218,9 @@
classnames "^2.5.1"
vaul "^1.0.0"

"@vector-im/matrix-wysiwyg-wasm@link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.40.0-53c9ca5ea907d91e4515da64f20a82e5586b882c-integrity/node_modules/bindings/wysiwyg-wasm":
"@vector-im/matrix-wysiwyg-wasm@link:../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.40.0-53c9ca5ea907d91e4515da64f20a82e5586b882c-integrity/node_modules/bindings/wysiwyg-wasm":
version "0.0.0"
uid ""

"@vector-im/[email protected]":
version "2.40.0"
Expand Down Expand Up @@ -9695,14 +9696,6 @@ matrix-widget-api@^1.14.0:
"@types/events" "^3.0.0"
events "^3.2.0"

matrix-widget-api@^1.14.0:
version "1.14.0"
resolved "https://registry.yarnpkg.com/matrix-widget-api/-/matrix-widget-api-1.14.0.tgz#aa90c40ace27d3165299f7dbc760a53001ce1446"
integrity sha512-DDvZGOQhI/rilPWg5VlLN7pHIsPt0Jt14lsuHDP+KU+fmpAQNITJ6aIld1ZoXWsrVGv2PS3x6K/MHtfruIOQJQ==
dependencies:
"@types/events" "^3.0.0"
events "^3.2.0"

[email protected]:
version "2.0.28"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba"
Expand Down
Loading