Compare commits

...

4 Commits

Author SHA1 Message Date
renovate[bot]
5a377bfd8c
Merge 14143359fa into 3b52dca405 2025-07-11 17:06:10 +00:00
Claire
3b52dca405
Fix quote attributes missing from Mastodon's context (#35354)
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
Chromatic / Run Chromatic (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
2025-07-11 16:35:06 +00:00
Echo
853a0c466e
Make bio hashtags open the local page instead of the remote instance (#35349) 2025-07-11 15:18:34 +00:00
renovate[bot]
14143359fa
chore(deps): update dependency eslint-plugin-jsdoc to v51 2025-07-09 10:10:35 +00:00
7 changed files with 131 additions and 85 deletions

View File

@ -26,6 +26,12 @@ module ContextHelper
suspended: { 'toot' => 'http://joinmastodon.org/ns#', 'suspended' => 'toot:suspended' }, suspended: { 'toot' => 'http://joinmastodon.org/ns#', 'suspended' => 'toot:suspended' },
attribution_domains: { 'toot' => 'http://joinmastodon.org/ns#', 'attributionDomains' => { '@id' => 'toot:attributionDomains', '@type' => '@id' } }, attribution_domains: { 'toot' => 'http://joinmastodon.org/ns#', 'attributionDomains' => { '@id' => 'toot:attributionDomains', '@type' => '@id' } },
quote_requests: { 'QuoteRequest' => 'https://w3id.org/fep/044f#QuoteRequest' }, quote_requests: { 'QuoteRequest' => 'https://w3id.org/fep/044f#QuoteRequest' },
quotes: {
'quote' => 'https://w3id.org/fep/044f#quote',
'quoteUri' => 'http://fedibird.com/ns#quoteUri',
'_misskey_quote' => 'https://misskey-hub.net/ns#_misskey_quote',
'quoteAuthorization' => 'https://w3id.org/fep/044f#quoteAuthorization',
},
interaction_policies: { interaction_policies: {
'gts' => 'https://gotosocial.org/ns#', 'gts' => 'https://gotosocial.org/ns#',
'interactionPolicy' => { '@id' => 'gts:interactionPolicy', '@type' => '@id' }, 'interactionPolicy' => { '@id' => 'gts:interactionPolicy', '@type' => '@id' },

View File

@ -1,12 +1,30 @@
import { useCallback } from 'react';
import { useLinks } from 'mastodon/hooks/useLinks'; import { useLinks } from 'mastodon/hooks/useLinks';
export const AccountBio: React.FC<{ interface AccountBioProps {
note: string; note: string;
className: string; className: string;
}> = ({ note, className }) => { dropdownAccountId?: string;
const handleClick = useLinks(); }
if (note.length === 0 || note === '<p></p>') { export const AccountBio: React.FC<AccountBioProps> = ({
note,
className,
dropdownAccountId,
}) => {
const handleClick = useLinks(!!dropdownAccountId);
const handleNodeChange = useCallback(
(node: HTMLDivElement | null) => {
if (!dropdownAccountId || !node || node.childNodes.length === 0) {
return;
}
addDropdownToHashtags(node, dropdownAccountId);
},
[dropdownAccountId],
);
if (note.length === 0) {
return null; return null;
} }
@ -15,6 +33,28 @@ export const AccountBio: React.FC<{
className={`${className} translate`} className={`${className} translate`}
dangerouslySetInnerHTML={{ __html: note }} dangerouslySetInnerHTML={{ __html: note }}
onClickCapture={handleClick} onClickCapture={handleClick}
ref={handleNodeChange}
/> />
); );
}; };
function addDropdownToHashtags(node: HTMLElement | null, accountId: string) {
if (!node) {
return;
}
for (const childNode of node.childNodes) {
if (!(childNode instanceof HTMLElement)) {
continue;
}
if (
childNode instanceof HTMLAnchorElement &&
(childNode.classList.contains('hashtag') ||
childNode.innerText.startsWith('#')) &&
!childNode.dataset.menuHashtag
) {
childNode.dataset.menuHashtag = accountId;
} else if (childNode.childNodes.length > 0) {
addDropdownToHashtags(childNode, accountId);
}
}
}

View File

@ -6,6 +6,7 @@ import classNames from 'classnames';
import { Helmet } from 'react-helmet'; import { Helmet } from 'react-helmet';
import { NavLink } from 'react-router-dom'; import { NavLink } from 'react-router-dom';
import { AccountBio } from '@/mastodon/components/account_bio';
import CheckIcon from '@/material-icons/400-24px/check.svg?react'; import CheckIcon from '@/material-icons/400-24px/check.svg?react';
import LockIcon from '@/material-icons/400-24px/lock.svg?react'; import LockIcon from '@/material-icons/400-24px/lock.svg?react';
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
@ -773,7 +774,6 @@ export const AccountHeader: React.FC<{
); );
} }
const content = { __html: account.note_emojified };
const displayNameHtml = { __html: account.display_name_html }; const displayNameHtml = { __html: account.display_name_html };
const fields = account.fields; const fields = account.fields;
const isLocal = !account.acct.includes('@'); const isLocal = !account.acct.includes('@');
@ -897,12 +897,11 @@ export const AccountHeader: React.FC<{
<AccountNote accountId={accountId} /> <AccountNote accountId={accountId} />
)} )}
{account.note.length > 0 && account.note !== '<p></p>' && ( <AccountBio
<div note={account.note_emojified}
className='account__header__content translate' dropdownAccountId={accountId}
dangerouslySetInnerHTML={content} className='account__header__content'
/> />
)}
<div className='account__header__fields'> <div className='account__header__fields'>
<dl> <dl>

View File

@ -8,13 +8,14 @@ import { openURL } from 'mastodon/actions/search';
import { useAppDispatch } from 'mastodon/store'; import { useAppDispatch } from 'mastodon/store';
const isMentionClick = (element: HTMLAnchorElement) => const isMentionClick = (element: HTMLAnchorElement) =>
element.classList.contains('mention'); element.classList.contains('mention') &&
!element.classList.contains('hashtag');
const isHashtagClick = (element: HTMLAnchorElement) => const isHashtagClick = (element: HTMLAnchorElement) =>
element.textContent?.[0] === '#' || element.textContent?.[0] === '#' ||
element.previousSibling?.textContent?.endsWith('#'); element.previousSibling?.textContent?.endsWith('#');
export const useLinks = () => { export const useLinks = (skipHashtags?: boolean) => {
const history = useHistory(); const history = useHistory();
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
@ -61,12 +62,12 @@ export const useLinks = () => {
if (isMentionClick(target)) { if (isMentionClick(target)) {
e.preventDefault(); e.preventDefault();
void handleMentionClick(target); void handleMentionClick(target);
} else if (isHashtagClick(target)) { } else if (isHashtagClick(target) && !skipHashtags) {
e.preventDefault(); e.preventDefault();
handleHashtagClick(target); handleHashtagClick(target);
} }
}, },
[handleMentionClick, handleHashtagClick], [skipHashtags, handleMentionClick, handleHashtagClick],
); );
return handleClick; return handleClick;

View File

@ -126,6 +126,9 @@ export function createAccountFromServerJSON(serverJSON: ApiAccountJSON) {
? accountJSON.username ? accountJSON.username
: accountJSON.display_name; : accountJSON.display_name;
const accountNote =
accountJSON.note && accountJSON.note !== '<p></p>' ? accountJSON.note : '';
return AccountFactory({ return AccountFactory({
...accountJSON, ...accountJSON,
moved: moved?.id, moved: moved?.id,
@ -142,8 +145,8 @@ export function createAccountFromServerJSON(serverJSON: ApiAccountJSON) {
escapeTextContentForBrowser(displayName), escapeTextContentForBrowser(displayName),
emojiMap, emojiMap,
), ),
note_emojified: emojify(accountJSON.note, emojiMap), note_emojified: emojify(accountNote, emojiMap),
note_plain: unescapeHTML(accountJSON.note), note_plain: unescapeHTML(accountNote),
url: url:
accountJSON.url.startsWith('http://') || accountJSON.url.startsWith('http://') ||
accountJSON.url.startsWith('https://') accountJSON.url.startsWith('https://')

View File

@ -167,7 +167,7 @@
"eslint-import-resolver-typescript": "^4.2.5", "eslint-import-resolver-typescript": "^4.2.5",
"eslint-plugin-formatjs": "^5.3.1", "eslint-plugin-formatjs": "^5.3.1",
"eslint-plugin-import": "~2.31.0", "eslint-plugin-import": "~2.31.0",
"eslint-plugin-jsdoc": "^50.6.9", "eslint-plugin-jsdoc": "^51.0.0",
"eslint-plugin-jsx-a11y": "~6.10.2", "eslint-plugin-jsx-a11y": "~6.10.2",
"eslint-plugin-promise": "~7.2.1", "eslint-plugin-promise": "~7.2.1",
"eslint-plugin-react": "^7.37.4", "eslint-plugin-react": "^7.37.4",

131
yarn.lock
View File

@ -1932,14 +1932,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@es-joy/jsdoccomment@npm:~0.49.0": "@es-joy/jsdoccomment@npm:~0.52.0":
version: 0.49.0 version: 0.52.0
resolution: "@es-joy/jsdoccomment@npm:0.49.0" resolution: "@es-joy/jsdoccomment@npm:0.52.0"
dependencies: dependencies:
"@types/estree": "npm:^1.0.8"
"@typescript-eslint/types": "npm:^8.34.1"
comment-parser: "npm:1.4.1" comment-parser: "npm:1.4.1"
esquery: "npm:^1.6.0" esquery: "npm:^1.6.0"
jsdoc-type-pratt-parser: "npm:~4.1.0" jsdoc-type-pratt-parser: "npm:~4.1.0"
checksum: 10c0/16717507d557d37e7b59456fedeefbe0a3bc93aa2d9c043d5db91e24e076509b6fcb10ee6fd1dafcb0c5bbe50ae329b45de5b83541cb5994a98c9e862a45641e checksum: 10c0/4def78060ef58859f31757b9d30c4939fc33e7d9ee85637a7f568c1d209c33aa0abd2cf5a3a4f3662ec5b12b85ecff2f2035d809dc93b9382a31a6dfb200d83c
languageName: node languageName: node
linkType: hard linkType: hard
@ -2674,7 +2676,7 @@ __metadata:
eslint-import-resolver-typescript: "npm:^4.2.5" eslint-import-resolver-typescript: "npm:^4.2.5"
eslint-plugin-formatjs: "npm:^5.3.1" eslint-plugin-formatjs: "npm:^5.3.1"
eslint-plugin-import: "npm:~2.31.0" eslint-plugin-import: "npm:~2.31.0"
eslint-plugin-jsdoc: "npm:^50.6.9" eslint-plugin-jsdoc: "npm:^51.0.0"
eslint-plugin-jsx-a11y: "npm:~6.10.2" eslint-plugin-jsx-a11y: "npm:~6.10.2"
eslint-plugin-promise: "npm:~7.2.1" eslint-plugin-promise: "npm:~7.2.1"
eslint-plugin-react: "npm:^7.37.4" eslint-plugin-react: "npm:^7.37.4"
@ -3088,13 +3090,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@pkgr/core@npm:^0.1.0":
version: 0.1.1
resolution: "@pkgr/core@npm:0.1.1"
checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8
languageName: node
linkType: hard
"@polka/url@npm:^1.0.0-next.24": "@polka/url@npm:^1.0.0-next.24":
version: 1.0.0-next.29 version: 1.0.0-next.29
resolution: "@polka/url@npm:1.0.0-next.29" resolution: "@polka/url@npm:1.0.0-next.29"
@ -3969,10 +3964,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/estree@npm:*, @types/estree@npm:1.0.7, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": "@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8":
version: 1.0.7 version: 1.0.8
resolution: "@types/estree@npm:1.0.7" resolution: "@types/estree@npm:1.0.8"
checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5
languageName: node languageName: node
linkType: hard linkType: hard
@ -3983,6 +3978,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/estree@npm:1.0.7":
version: 1.0.7
resolution: "@types/estree@npm:1.0.7"
checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c
languageName: node
linkType: hard
"@types/express-serve-static-core@npm:^4.17.33": "@types/express-serve-static-core@npm:^4.17.33":
version: 4.17.41 version: 4.17.41
resolution: "@types/express-serve-static-core@npm:4.17.41" resolution: "@types/express-serve-static-core@npm:4.17.41"
@ -4485,13 +4487,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/types@npm:8.33.0, @typescript-eslint/types@npm:^8.33.0": "@typescript-eslint/types@npm:8.33.0":
version: 8.33.0 version: 8.33.0
resolution: "@typescript-eslint/types@npm:8.33.0" resolution: "@typescript-eslint/types@npm:8.33.0"
checksum: 10c0/348b64eb408719d7711a433fc9716e0c2aab8b3f3676f5a1cc2e00269044132282cf655deb6d0dd9817544116909513de3b709005352d186949d1014fad1a3cb checksum: 10c0/348b64eb408719d7711a433fc9716e0c2aab8b3f3676f5a1cc2e00269044132282cf655deb6d0dd9817544116909513de3b709005352d186949d1014fad1a3cb
languageName: node languageName: node
linkType: hard linkType: hard
"@typescript-eslint/types@npm:^8.33.0, @typescript-eslint/types@npm:^8.34.1":
version: 8.36.0
resolution: "@typescript-eslint/types@npm:8.36.0"
checksum: 10c0/cacb941a0caad6ab556c416051b97ec33b364b7c8e0703e2729ae43f12daf02b42eef12011705329107752e3f1685ca82cfffe181d637f85907293cb634bee31
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:8.29.1": "@typescript-eslint/typescript-estree@npm:8.29.1":
version: 8.29.1 version: 8.29.1
resolution: "@typescript-eslint/typescript-estree@npm:8.29.1" resolution: "@typescript-eslint/typescript-estree@npm:8.29.1"
@ -4980,12 +4989,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"acorn@npm:^8.14.0, acorn@npm:^8.8.2": "acorn@npm:^8.14.0, acorn@npm:^8.15.0, acorn@npm:^8.8.2":
version: 8.14.1 version: 8.15.0
resolution: "acorn@npm:8.14.1" resolution: "acorn@npm:8.15.0"
bin: bin:
acorn: bin/acorn acorn: bin/acorn
checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec
languageName: node languageName: node
linkType: hard linkType: hard
@ -6764,7 +6773,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"es-module-lexer@npm:^1.5.3, es-module-lexer@npm:^1.7.0": "es-module-lexer@npm:^1.7.0":
version: 1.7.0 version: 1.7.0
resolution: "es-module-lexer@npm:1.7.0" resolution: "es-module-lexer@npm:1.7.0"
checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b
@ -7024,24 +7033,23 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint-plugin-jsdoc@npm:^50.6.9": "eslint-plugin-jsdoc@npm:^51.0.0":
version: 50.6.9 version: 51.3.4
resolution: "eslint-plugin-jsdoc@npm:50.6.9" resolution: "eslint-plugin-jsdoc@npm:51.3.4"
dependencies: dependencies:
"@es-joy/jsdoccomment": "npm:~0.49.0" "@es-joy/jsdoccomment": "npm:~0.52.0"
are-docs-informative: "npm:^0.0.2" are-docs-informative: "npm:^0.0.2"
comment-parser: "npm:1.4.1" comment-parser: "npm:1.4.1"
debug: "npm:^4.3.6" debug: "npm:^4.4.1"
escape-string-regexp: "npm:^4.0.0" escape-string-regexp: "npm:^4.0.0"
espree: "npm:^10.1.0" espree: "npm:^10.4.0"
esquery: "npm:^1.6.0" esquery: "npm:^1.6.0"
parse-imports: "npm:^2.1.1" parse-imports-exports: "npm:^0.2.4"
semver: "npm:^7.6.3" semver: "npm:^7.7.2"
spdx-expression-parse: "npm:^4.0.0" spdx-expression-parse: "npm:^4.0.0"
synckit: "npm:^0.9.1"
peerDependencies: peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
checksum: 10c0/cad199d262c2e889a3af4e402f6adc624e4273b3d5ca1940e7227b37d87af8090ca3444f7fff57f58dab9a827faed8722fc2f5d4daf31ec085eb00e9f5a338a7 checksum: 10c0/59e5aa972bdd1bd4e2ca2796ed4455dff1069044abc028621e107aa4b0cbb62ce09554c8e7c2ff3a44a1cbd551e54b6970adc420ba3a89adc6236b94310a81ff
languageName: node languageName: node
linkType: hard linkType: hard
@ -7147,10 +7155,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint-visitor-keys@npm:^4.2.0": "eslint-visitor-keys@npm:^4.2.0, eslint-visitor-keys@npm:^4.2.1":
version: 4.2.0 version: 4.2.1
resolution: "eslint-visitor-keys@npm:4.2.0" resolution: "eslint-visitor-keys@npm:4.2.1"
checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 checksum: 10c0/fcd43999199d6740db26c58dbe0c2594623e31ca307e616ac05153c9272f12f1364f5a0b1917a8e962268fdecc6f3622c1c2908b4fcc2e047a106fe6de69dc43
languageName: node languageName: node
linkType: hard linkType: hard
@ -7204,14 +7212,14 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"espree@npm:^10.0.1, espree@npm:^10.1.0, espree@npm:^10.3.0": "espree@npm:^10.0.1, espree@npm:^10.3.0, espree@npm:^10.4.0":
version: 10.3.0 version: 10.4.0
resolution: "espree@npm:10.3.0" resolution: "espree@npm:10.4.0"
dependencies: dependencies:
acorn: "npm:^8.14.0" acorn: "npm:^8.15.0"
acorn-jsx: "npm:^5.3.2" acorn-jsx: "npm:^5.3.2"
eslint-visitor-keys: "npm:^4.2.0" eslint-visitor-keys: "npm:^4.2.1"
checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b
languageName: node languageName: node
linkType: hard linkType: hard
@ -10015,13 +10023,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"parse-imports@npm:^2.1.1": "parse-imports-exports@npm:^0.2.4":
version: 2.1.1 version: 0.2.4
resolution: "parse-imports@npm:2.1.1" resolution: "parse-imports-exports@npm:0.2.4"
dependencies: dependencies:
es-module-lexer: "npm:^1.5.3" parse-statements: "npm:1.0.11"
slashes: "npm:^3.0.12" checksum: 10c0/51b729037208abdf65c4a1f8e9ed06f4e7ccd907c17c668a64db54b37d95bb9e92081f8b16e4133e14102af3cb4e89870975b6ad661b4d654e9ec8f4fb5c77d6
checksum: 10c0/c9bb0b4e1823f84f034d2d7bd2b37415b1715a5c963fda14968c706186b48b02c10e97d04bce042b9dcd679b42f29c391ea120799ddf581c7f54786edd99e3a9
languageName: node languageName: node
linkType: hard linkType: hard
@ -10037,6 +10044,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"parse-statements@npm:1.0.11":
version: 1.0.11
resolution: "parse-statements@npm:1.0.11"
checksum: 10c0/48960e085019068a5f5242e875fd9d21ec87df2e291acf5ad4e4887b40eab6929a8c8d59542acb85a6497e870c5c6a24f5ab7f980ef5f907c14cc5f7984a93f3
languageName: node
linkType: hard
"parse5@npm:^7.2.1": "parse5@npm:^7.2.1":
version: 7.2.1 version: 7.2.1
resolution: "parse5@npm:7.2.1" resolution: "parse5@npm:7.2.1"
@ -12059,7 +12073,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1": "semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.7.1, semver@npm:^7.7.2":
version: 7.7.2 version: 7.7.2
resolution: "semver@npm:7.7.2" resolution: "semver@npm:7.7.2"
bin: bin:
@ -12264,13 +12278,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"slashes@npm:^3.0.12":
version: 3.0.12
resolution: "slashes@npm:3.0.12"
checksum: 10c0/71ca2a1fcd1ab6814b0fdb8cf9c33a3d54321deec2aa8d173510f0086880201446021a9b9e6a18561f7c472b69a2145977c6a8fb9c53a8ff7be31778f203d175
languageName: node
linkType: hard
"slice-ansi@npm:^4.0.0": "slice-ansi@npm:^4.0.0":
version: 4.0.0 version: 4.0.0
resolution: "slice-ansi@npm:4.0.0" resolution: "slice-ansi@npm:4.0.0"
@ -12965,16 +12972,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"synckit@npm:^0.9.1":
version: 0.9.1
resolution: "synckit@npm:0.9.1"
dependencies:
"@pkgr/core": "npm:^0.1.0"
tslib: "npm:^2.6.2"
checksum: 10c0/d8b89e1bf30ba3ffb469d8418c836ad9c0c062bf47028406b4d06548bc66af97155ea2303b96c93bf5c7c0f0d66153a6fbd6924c76521b434e6a9898982abc2e
languageName: node
linkType: hard
"systemjs@npm:^6.15.1": "systemjs@npm:^6.15.1":
version: 6.15.1 version: 6.15.1
resolution: "systemjs@npm:6.15.1" resolution: "systemjs@npm:6.15.1"
@ -13315,7 +13312,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.8.0": "tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0, tslib@npm:^2.8.0":
version: 2.8.1 version: 2.8.1
resolution: "tslib@npm:2.8.1" resolution: "tslib@npm:2.8.1"
checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62