From 2abd073df738d99366a7d7bb11ac58fadade23a1 Mon Sep 17 00:00:00 2001 From: Florian Dieminger Date: Sat, 23 Nov 2024 11:30:38 +0100 Subject: [PATCH 001/156] fix(livesamples): fix data attribute for path (#12169) --- client/src/playground/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/playground/utils.ts b/client/src/playground/utils.ts index fe2aeb7c3eec..b7fab2b568b7 100644 --- a/client/src/playground/utils.ts +++ b/client/src/playground/utils.ts @@ -34,7 +34,7 @@ export async function initPlayIframe( const { state, hash } = await compressAndBase64Encode( JSON.stringify(editorContent) ); - const path = iframe.getAttribute("data-play-path"); + const path = iframe.getAttribute("data-live-path"); const host = PLAYGROUND_BASE_HOST.startsWith("localhost") ? PLAYGROUND_BASE_HOST : `${hash}.${PLAYGROUND_BASE_HOST}`; From 32ff06b670490e6377a695408530ef3ede7491ae Mon Sep 17 00:00:00 2001 From: Florian Dieminger Date: Sat, 23 Nov 2024 15:57:53 +0100 Subject: [PATCH 002/156] fix(playground) use src for path (#12170) --- client/src/playground/index.tsx | 60 ++++++++++++++++----------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/client/src/playground/index.tsx b/client/src/playground/index.tsx index fd9bfd72da4a..142a05f137b9 100644 --- a/client/src/playground/index.tsx +++ b/client/src/playground/index.tsx @@ -80,6 +80,7 @@ export default function Playground() { let [vConsole, setVConsole] = useState([]); let [state, setState] = useState(State.initial); let [codeSrc, setCodeSrc] = useState(); + let [iframeSrc, setIframeSrc] = useState("about:blank"); const [isEmpty, setIsEmpty] = useState(true); const subdomain = useRef(crypto.randomUUID()); const [initialContent, setInitialContent] = useState( @@ -119,16 +120,25 @@ export default function Playground() { const iframe = useRef(null); const diaRef = useRef(null); - const updateWithCode = async (code: EditorContent) => { - const { state } = await compressAndBase64Encode(JSON.stringify(code)); - const sp = new URLSearchParams([["state", state]]); - - if (iframe.current) { - const url = new URL(iframe.current.src); - url.search = sp.toString(); - iframe.current.src = url.href; - } - }; + const updateWithCode = useCallback( + async (code: EditorContent) => { + const { state } = await compressAndBase64Encode(JSON.stringify(code)); + + // We're using a random subdomain for origin isolation. + const url = new URL( + `${window.location.protocol}//${ + PLAYGROUND_BASE_HOST.startsWith("localhost") + ? "" + : `${subdomain.current}.` + }${PLAYGROUND_BASE_HOST}` + ); + setVConsole([]); + url.searchParams.set("state", state); + url.pathname = `${codeSrc || code.src || ""}/runner.html`; + setIframeSrc(url.href); + }, + [codeSrc, setVConsole, setIframeSrc] + ); useEffect(() => { if (initialCode) { @@ -144,17 +154,15 @@ export default function Playground() { html: htmlRef.current?.getContent() || HTML_DEFAULT, css: cssRef.current?.getContent() || CSS_DEFAULT, js: jsRef.current?.getContent() || JS_DEFAULT, - src: initialCode?.src, + src: initialCode?.src || initialContent?.src, }; store(SESSION_KEY, code); return code; - }, [initialCode?.src]); + }, [initialContent?.src, initialCode?.src]); let messageListener = useCallback(({ data: { typ, prop, message } }) => { if (typ === "console") { - if (prop === "clear") { - setVConsole([]); - } else if ( + if ( (prop === "log" || prop === "error" || prop === "warn") && typeof message === "string" ) { @@ -178,7 +186,7 @@ export default function Playground() { cssRef.current?.setContent(css); jsRef.current?.setContent(js); if (src) { - setCodeSrc(src.split("/").slice(0, -1).join("/")); + setCodeSrc(src); } setIsEmpty(!html && !css && !js); }; @@ -210,7 +218,7 @@ export default function Playground() { setState(State.ready); } })(); - }, [initialCode, state, gistId, stateParam]); + }, [initialCode, state, gistId, stateParam, updateWithCode]); useEffect(() => { window.addEventListener("message", messageListener); @@ -222,8 +230,8 @@ export default function Playground() { const clear = async () => { setSearchParams([], { replace: true }); setCodeSrc(undefined); - setEditorContent({ html: HTML_DEFAULT, css: CSS_DEFAULT, js: JS_DEFAULT }); setInitialContent(null); + setEditorContent({ html: HTML_DEFAULT, css: CSS_DEFAULT, js: JS_DEFAULT }); updateWithEditorContent(); }; @@ -253,7 +261,7 @@ export default function Playground() { }; const updateWithEditorContent = () => { - const { html, css, js } = getEditorContent(); + const { html, css, js, src } = getEditorContent(); setIsEmpty(!html && !css && !js); const loading = [ @@ -269,7 +277,7 @@ export default function Playground() { iterations: 1, }; document.getElementById("run")?.firstElementChild?.animate(loading, timing); - updateWithCode({ html, css, js }); + updateWithCode({ html, css, js, src }); }; const format = async () => { @@ -307,16 +315,6 @@ export default function Playground() { setShareUrl(url); }, [setSearchParams, setShareUrl, setShared, getEditorContent]); - // We're using a random subdomain for origin isolation. - const src = new URL( - `${window.location.protocol}//${ - PLAYGROUND_BASE_HOST.startsWith("localhost") - ? "" - : `${subdomain.current}.` - }${PLAYGROUND_BASE_HOST}` - ); - src.pathname = `${codeSrc || ""}/runner.html`; - const cleanDialog = () => { if (dialogState === DialogState.share) { setShareUrl(null); @@ -412,7 +410,7 @@ export default function Playground() { From 043f305f27933dc7679aac59f920077ee7b341e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:21:19 +0000 Subject: [PATCH 003/156] chore(deps-dev): bump typescript from 5.6.3 to 5.7.2 in /client/pwa (#12174) --- client/pwa/package.json | 2 +- client/pwa/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/client/pwa/package.json b/client/pwa/package.json index c5c7a65d8006..b668d58825dc 100644 --- a/client/pwa/package.json +++ b/client/pwa/package.json @@ -18,7 +18,7 @@ "devDependencies": { "@types/dexie": "1.3.35", "ts-loader": "^9.5.1", - "typescript": "^5.6.3", + "typescript": "^5.7.2", "webpack": "^5.96.1", "webpack-cli": "^5.1.4", "workers-preview": "^1.0.6" diff --git a/client/pwa/yarn.lock b/client/pwa/yarn.lock index 8eb11473704f..d6f0e15f6484 100644 --- a/client/pwa/yarn.lock +++ b/client/pwa/yarn.lock @@ -842,10 +842,10 @@ ts-loader@^9.5.1: semver "^7.3.4" source-map "^0.7.4" -typescript@^5.6.3: - version "5.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== +typescript@^5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" + integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== update-browserslist-db@^1.1.1: version "1.1.1" From a37cfea9c486a8e3cee9f4659b40a998b8996aab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:22:57 +0000 Subject: [PATCH 004/156] chore(deps-dev): bump prettier-plugin-packagejson from 2.5.5 to 2.5.6 (#12178) --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 8c6ae5c66fe2..ca73f1ae2b20 100644 --- a/package.json +++ b/package.json @@ -227,7 +227,7 @@ "postcss-normalize": "^13.0.1", "postcss-preset-env": "^10.1.1", "prettier": "^3.3.3", - "prettier-plugin-packagejson": "^2.5.5", + "prettier-plugin-packagejson": "^2.5.6", "prompts": "^2.4.2", "react": "^18.3.1", "react-app-polyfill": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index 40df3d307cf7..44279c22ea07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12297,12 +12297,12 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier-plugin-packagejson@^2.5.5: - version "2.5.5" - resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.5.tgz#d88b66ff376ec1954aecee17fae177518b8ddb90" - integrity sha512-SvzImCwDluH29OgD37wDv96milAHhIQuYS+WN3iwQzonR8lqv0su7IdQYfLc3So+0MtuPSCEQF6tZYubTnf7xg== +prettier-plugin-packagejson@^2.5.6: + version "2.5.6" + resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.6.tgz#cd3cca60e1aa87ee3ce3b4032c1c999798d9f714" + integrity sha512-TY7KiLtyt6Tlf53BEbXUWkN0+TRdHKgIMmtXtDCyHH6yWnZ50Lwq6Vb6lyjapZrhDTXooC4EtlY5iLe1sCgi5w== dependencies: - sort-package-json "2.11.0" + sort-package-json "2.12.0" synckit "0.9.2" prettier@^3.3.3: @@ -13515,10 +13515,10 @@ sort-object-keys@^1.1.3: resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45" integrity sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== -sort-package-json@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-2.11.0.tgz#51d02a1dd739ce42f4274612d1a2e32a8742c1d4" - integrity sha512-pBs3n/wcsbnMSiO5EYV4AVnZVtyQslfZ/0v6VbrRRVApqyNf0Uqo4MOXJsBmIplGY1hYZ4bq5qjO9xTgY+K8xw== +sort-package-json@2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-2.12.0.tgz#4196a1ba82ba63c4a512add1d00ab39026bf8ab7" + integrity sha512-/HrPQAeeLaa+vbAH/znjuhwUluuiM/zL5XX9kop8UpDgjtyWKt43hGDk2vd/TBdDpzIyzIHVUgmYofzYrAQjew== dependencies: detect-indent "^7.0.1" detect-newline "^4.0.0" From afe76057912a39ad80d36a6f20a87aa086ed727f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:23:26 +0000 Subject: [PATCH 005/156] chore(deps-dev): bump @types/node from 18.19.64 to 18.19.65 in the types group (#12175) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ca73f1ae2b20..ed09dcf7b594 100644 --- a/package.json +++ b/package.json @@ -168,7 +168,7 @@ "@types/jest": "^29.5.14", "@types/js-yaml": "^4.0.9", "@types/mdast": "^4.0.4", - "@types/node": "^18.19.64", + "@types/node": "^18.19.65", "@types/prismjs": "^1.26.5", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", diff --git a/yarn.lock b/yarn.lock index 44279c22ea07..0cfd304e73a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3425,10 +3425,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.3.tgz#6356df2647de9eac569f9a52eda3480fa9e70b4d" integrity sha512-01s+ac4qerwd6RHD+mVbOEsraDHSgUaefQlEdBbUolnQFjKwCr7luvAlEwW1RFojh67u0z4OUTjPn9LEl4zIkA== -"@types/node@^18.11.18", "@types/node@^18.19.64": - version "18.19.64" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.64.tgz#122897fb79f2a9ec9c979bded01c11461b2b1478" - integrity sha512-955mDqvO2vFf/oL7V3WiUtiz+BugyX8uVbaT2H8oj3+8dRyH2FLiNdowe7eNqRM7IOIZvzDH76EoAT+gwm6aIQ== +"@types/node@^18.11.18", "@types/node@^18.19.65": + version "18.19.65" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.65.tgz#e6aaac55fab80c6a3ff61ab27bc25105a7bea479" + integrity sha512-Ay5BZuO1UkTmVHzZJNvZKw/E+iB3GQABb6kijEz89w2JrfhNA+M/ebp18pfz9Gqe9ywhMC8AA8yC01lZq48J+Q== dependencies: undici-types "~5.26.4" From 34623b505d731202f2e8acde3b44ad025f4b5893 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:24:31 +0000 Subject: [PATCH 006/156] chore(deps): bump @mdn/browser-compat-data from 5.6.17 to 5.6.18 (#12177) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ed09dcf7b594..f29fe1f430df 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "@inquirer/prompts": "^7.1.0", "@lit/react": "^1.0.6", "@mdn/bcd-utils-api": "^0.0.7", - "@mdn/browser-compat-data": "^5.6.17", + "@mdn/browser-compat-data": "^5.6.18", "@mozilla/glean": "5.0.3", "@sentry/node": "^8.40.0", "@stripe/stripe-js": "^4.10.0", diff --git a/yarn.lock b/yarn.lock index 0cfd304e73a5..a5e38eaa459a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2172,10 +2172,10 @@ resolved "https://registry.yarnpkg.com/@mdn/bcd-utils-api/-/bcd-utils-api-0.0.7.tgz#555e80c33df520df068943e6b18ebc07f0e24d19" integrity sha512-IHkkypEjlIkBkx4mJ2//Xbzog9M/Lzne1Sl8db2cIHJ/5pe3NCqSLwSchmqzcUN+/WJr/U+V3tNAbWunk2xZcA== -"@mdn/browser-compat-data@^5.6.17": - version "5.6.17" - resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.6.17.tgz#e1e8ee6bf1f444e3a22185cfdff70fee38e38976" - integrity sha512-Cik21uEp29W9YcRiWHkZM1SEHIinxLIb6EzmPIj7Hc8qPoqMW4oJ5bpDBNl+CkEjvtblKrp94b1cTa4opaNQDA== +"@mdn/browser-compat-data@^5.6.18": + version "5.6.18" + resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.6.18.tgz#62bfd9f7a646e54e68b3739cb34bcf508e699410" + integrity sha512-WCQcQGyydquw7NXPL2NopMCgmUvIQDG7KM/IGR4PMJSDH5SHZKXUDEF6rdpGWj0MtcjQseOCl/hjzYzj0fMMeA== "@mdn/dinocons@^0.5.5": version "0.5.5" From 1810ad074f73b4239de6b8257fcbd118f70a4842 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:52:36 +0000 Subject: [PATCH 007/156] chore(deps): bump boto3 from 1.35.63 to 1.35.68 in /deployer in the dependencies group (#12181) --- deployer/poetry.lock | 16 ++++++++-------- deployer/pyproject.toml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/deployer/poetry.lock b/deployer/poetry.lock index b8caff1f7519..c03a3b346d55 100644 --- a/deployer/poetry.lock +++ b/deployer/poetry.lock @@ -48,17 +48,17 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "boto3" -version = "1.35.63" +version = "1.35.68" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.35.63-py3-none-any.whl", hash = "sha256:d0f938d4f6f392b6ffc5e75fff14a42e5bbb5228675a0367c8af55398abadbec"}, - {file = "boto3-1.35.63.tar.gz", hash = "sha256:deb593d9a0fb240deb4c43e4da8e6626d7c36be7b2fd2fe28f49d44d395b7de0"}, + {file = "boto3-1.35.68-py3-none-any.whl", hash = "sha256:9b26fa31901da7793c1dcd65eee9bab7e897d8aa1ffed0b5e1c3bce93d2aefe4"}, + {file = "boto3-1.35.68.tar.gz", hash = "sha256:091d6bed1422370987a839bff3f8755df7404fc15e9fac2a48e8505356f07433"}, ] [package.dependencies] -botocore = ">=1.35.63,<1.36.0" +botocore = ">=1.35.68,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -67,13 +67,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.63" +version = "1.35.68" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.35.63-py3-none-any.whl", hash = "sha256:0ca1200694a4c0a3fa846795d8e8a08404c214e21195eb9e010c4b8a4ca78a4a"}, - {file = "botocore-1.35.63.tar.gz", hash = "sha256:2b8196bab0a997d206c3d490b52e779ef47dffb68c57c685443f77293aca1589"}, + {file = "botocore-1.35.68-py3-none-any.whl", hash = "sha256:599139d5564291f5be873800711f9e4e14a823395ae9ce7b142be775e9849b94"}, + {file = "botocore-1.35.68.tar.gz", hash = "sha256:42c3700583a82f2b5316281a073d644a521d6358837e2b446dc458ba5d990fb4"}, ] [package.dependencies] @@ -941,4 +941,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "86946a0674415f239d7e8e003539c4c3d9498b8ee41fcf8a114d5b1d0b1429ad" +content-hash = "cfd1dd602157dd10e648a9485ce4ef46a567b5dbcd793797a00bcaa41dba1efb" diff --git a/deployer/pyproject.toml b/deployer/pyproject.toml index 3051cbbaeaa3..f7335f66e843 100644 --- a/deployer/pyproject.toml +++ b/deployer/pyproject.toml @@ -10,7 +10,7 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" click = "^8.1.7" -boto3 = "^1.35.63" +boto3 = "^1.35.68" python-decouple = "^3.8" requests = {extras = ["security"], version = "^2.32.3"} elasticsearch-dsl = "^7.4.1" From 2a0d85ce53244f07cd716ea3c3f1c28dcacac416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=A9=EC=84=B1=EB=B2=94=20=28Bang=20Seongbeom=29?= Date: Tue, 26 Nov 2024 05:57:38 +0900 Subject: [PATCH 008/156] fix(css): fix upside-down rendering of CJK characters in translation (#11922) * fix(css): fix upside-down rendering of CJK characters in translation * fix(css): fix a lint error --- .../document/ingredients/browser-compatibility-table/index.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/document/ingredients/browser-compatibility-table/index.scss b/client/src/document/ingredients/browser-compatibility-table/index.scss index bc8d888c955f..fef506359f7b 100644 --- a/client/src/document/ingredients/browser-compatibility-table/index.scss +++ b/client/src/document/ingredients/browser-compatibility-table/index.scss @@ -146,6 +146,7 @@ line-height: 1; padding-top: 0.5rem; position: relative; + text-orientation: sideways; transform: rotate(180deg); white-space: nowrap; -ms-writing-mode: tb-rl; From ec4f5888562e0670608f58e97212675c401a5d67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 11:49:30 +0000 Subject: [PATCH 009/156] chore(deps): bump openai from 4.73.0 to 4.73.1 (#12186) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f29fe1f430df..0bde0631814b 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "mdn-data": "^2.12.2", "open": "^10.1.0", "open-editor": "^5.0.0", - "openai": "^4.73.0", + "openai": "^4.73.1", "pg": "^8.13.1", "pgvector": "^0.2.0", "prism-svelte": "^0.5.0", diff --git a/yarn.lock b/yarn.lock index a5e38eaa459a..6a9cb4ce6760 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11140,10 +11140,10 @@ open@^10.0.3, open@^10.1.0: is-inside-container "^1.0.0" is-wsl "^3.1.0" -openai@^4.73.0: - version "4.73.0" - resolved "https://registry.yarnpkg.com/openai/-/openai-4.73.0.tgz#b8f8a4793d4db91e7eeab7235446d2cfe3aa0e9c" - integrity sha512-NZstV77w3CEol9KQTRBRQ15+Sw6nxVTicAULSjYO4wn9E5gw72Mtp3fAVaBFXyyVPws4241YmFG6ya4L8v03tA== +openai@^4.73.1: + version "4.73.1" + resolved "https://registry.yarnpkg.com/openai/-/openai-4.73.1.tgz#532bd000d5f1a558e4fff1119da6749992ac41e4" + integrity sha512-nWImDJBcUsqrhy7yJScXB4+iqjzbUEgzfA3un/6UnHFdwWhjX24oztj69Ped/njABfOdLcO/F7CeWTI5dt8Xmg== dependencies: "@types/node" "^18.11.18" "@types/node-fetch" "^2.6.4" From 2c0d6c2104b0a6de68d6036ccde00bd3b7ca689e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 11:49:33 +0000 Subject: [PATCH 010/156] chore(deps-dev): bump @types/node from 18.19.65 to 18.19.66 in the types group (#12185) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 0bde0631814b..ecb76f795fac 100644 --- a/package.json +++ b/package.json @@ -168,7 +168,7 @@ "@types/jest": "^29.5.14", "@types/js-yaml": "^4.0.9", "@types/mdast": "^4.0.4", - "@types/node": "^18.19.65", + "@types/node": "^18.19.66", "@types/prismjs": "^1.26.5", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", diff --git a/yarn.lock b/yarn.lock index 6a9cb4ce6760..9435675fe79d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3425,10 +3425,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.3.tgz#6356df2647de9eac569f9a52eda3480fa9e70b4d" integrity sha512-01s+ac4qerwd6RHD+mVbOEsraDHSgUaefQlEdBbUolnQFjKwCr7luvAlEwW1RFojh67u0z4OUTjPn9LEl4zIkA== -"@types/node@^18.11.18", "@types/node@^18.19.65": - version "18.19.65" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.65.tgz#e6aaac55fab80c6a3ff61ab27bc25105a7bea479" - integrity sha512-Ay5BZuO1UkTmVHzZJNvZKw/E+iB3GQABb6kijEz89w2JrfhNA+M/ebp18pfz9Gqe9ywhMC8AA8yC01lZq48J+Q== +"@types/node@^18.11.18", "@types/node@^18.19.66": + version "18.19.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.66.tgz#0937a47904ceba5994eedf5cf4b6d503d8d6136c" + integrity sha512-14HmtUdGxFUalGRfLLn9Gc1oNWvWh5zNbsyOLo5JV6WARSeN1QcEBKRnZm9QqNfrutgsl/hY4eJW63aZ44aBCg== dependencies: undici-types "~5.26.4" From 12bd1ee295b6c55bd01307ba5c6ae571e15583e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 11:52:11 +0000 Subject: [PATCH 011/156] chore(deps): bump web-features from 2.7.0 to 2.8.0 (#12188) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ecb76f795fac..58dd1399446d 100644 --- a/package.json +++ b/package.json @@ -147,7 +147,7 @@ "unified": "^11.0.5", "unist-builder": "^4.0.0", "unist-util-visit": "^5.0.0", - "web-features": "^2.7.0", + "web-features": "^2.8.0", "web-specs": "^3.27.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 9435675fe79d..c3fe6e50d701 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15075,10 +15075,10 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-features@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/web-features/-/web-features-2.7.0.tgz#a203452112f332e13e94872aadf8f561dd1e217c" - integrity sha512-giPvLGF+GEuTHWnJlIGqZLZe2zmJFlzuRYKyzghXDwbSM6F7mPtk51dEQ9yETZ/wJxiyfg3R+Bx+IaTq+nBG2A== +web-features@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/web-features/-/web-features-2.8.0.tgz#6b1b79e30ca7e7e0160f2d3527b1dfc5275c6a64" + integrity sha512-KR0C0mFyTw83pJmBX/Zrymak5ip79wlq3gSoLJhY4T9+AnVc60RRUv4/aBUxERPjw/jQEGxd2sfRRv4Y2/QZkA== web-namespaces@^2.0.0: version "2.0.1" From 7b29e9785dfc0a81c7ecebb7acb7b3135307060e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 11:52:59 +0000 Subject: [PATCH 012/156] chore(deps): bump @codemirror/lang-css from 6.3.0 to 6.3.1 (#12189) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 58dd1399446d..c5db01beefea 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ }, "dependencies": { "@caporal/core": "^2.0.7", - "@codemirror/lang-css": "^6.3.0", + "@codemirror/lang-css": "^6.3.1", "@codemirror/lang-html": "^6.4.9", "@codemirror/lang-javascript": "^6.2.2", "@codemirror/state": "^6.4.1", diff --git a/yarn.lock b/yarn.lock index c3fe6e50d701..163bdae3187e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1134,10 +1134,10 @@ "@codemirror/view" "^6.27.0" "@lezer/common" "^1.1.0" -"@codemirror/lang-css@^6.0.0", "@codemirror/lang-css@^6.3.0": - version "6.3.0" - resolved "https://registry.yarnpkg.com/@codemirror/lang-css/-/lang-css-6.3.0.tgz#607628559f2471b385c6070ec795072a55cffc0b" - integrity sha512-CyR4rUNG9OYcXDZwMPvJdtb6PHbBDKUc/6Na2BIwZ6dKab1JQqKa4di+RNRY9Myn7JB81vayKwJeQ7jEdmNVDA== +"@codemirror/lang-css@^6.0.0", "@codemirror/lang-css@^6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-css/-/lang-css-6.3.1.tgz#763ca41aee81bb2431be55e3cfcc7cc8e91421a3" + integrity sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg== dependencies: "@codemirror/autocomplete" "^6.0.0" "@codemirror/language" "^6.0.0" From 6b3440b3fa1ab1773e6cea8889a5015d164ed686 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 11:55:16 +0000 Subject: [PATCH 013/156] chore(deps-dev): bump typescript-eslint from 8.15.0 to 8.16.0 (#12190) --- package.json | 2 +- yarn.lock | 114 +++++++++++++++++++++++++-------------------------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/package.json b/package.json index c5db01beefea..72c98ddb1a88 100644 --- a/package.json +++ b/package.json @@ -259,7 +259,7 @@ "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "typescript": "^5.6.3", - "typescript-eslint": "^8.15.0", + "typescript-eslint": "^8.16.0", "webpack": "^5.96.1", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", diff --git a/yarn.lock b/yarn.lock index 163bdae3187e..96c2883314f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3642,16 +3642,16 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz#c95c6521e70c8b095a684d884d96c0c1c63747d2" - integrity sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg== +"@typescript-eslint/eslint-plugin@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.16.0.tgz#ac56825bcdf3b392fc76a94b1315d4a162f201a6" + integrity sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.15.0" - "@typescript-eslint/type-utils" "8.15.0" - "@typescript-eslint/utils" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" + "@typescript-eslint/scope-manager" "8.16.0" + "@typescript-eslint/type-utils" "8.16.0" + "@typescript-eslint/utils" "8.16.0" + "@typescript-eslint/visitor-keys" "8.16.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" @@ -3680,15 +3680,15 @@ dependencies: "@typescript-eslint/utils" "5.62.0" -"@typescript-eslint/parser@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.15.0.tgz#92610da2b3af702cfbc02a46e2a2daa6260a9045" - integrity sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A== +"@typescript-eslint/parser@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.16.0.tgz#ee5b2d6241c1ab3e2e53f03fd5a32d8e266d8e06" + integrity sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w== dependencies: - "@typescript-eslint/scope-manager" "8.15.0" - "@typescript-eslint/types" "8.15.0" - "@typescript-eslint/typescript-estree" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" + "@typescript-eslint/scope-manager" "8.16.0" + "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/typescript-estree" "8.16.0" + "@typescript-eslint/visitor-keys" "8.16.0" debug "^4.3.4" "@typescript-eslint/parser@^5.5.0": @@ -3709,13 +3709,13 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz#28a1a0f13038f382424f45a988961acaca38f7c6" - integrity sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA== +"@typescript-eslint/scope-manager@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.16.0.tgz#ebc9a3b399a69a6052f3d88174456dd399ef5905" + integrity sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg== dependencies: - "@typescript-eslint/types" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" + "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/visitor-keys" "8.16.0" "@typescript-eslint/type-utils@5.62.0": version "5.62.0" @@ -3727,13 +3727,13 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/type-utils@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.15.0.tgz#a6da0f93aef879a68cc66c73fe42256cb7426c72" - integrity sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw== +"@typescript-eslint/type-utils@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.16.0.tgz#585388735f7ac390f07c885845c3d185d1b64740" + integrity sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg== dependencies: - "@typescript-eslint/typescript-estree" "8.15.0" - "@typescript-eslint/utils" "8.15.0" + "@typescript-eslint/typescript-estree" "8.16.0" + "@typescript-eslint/utils" "8.16.0" debug "^4.3.4" ts-api-utils "^1.3.0" @@ -3742,10 +3742,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.15.0.tgz#4958edf3d83e97f77005f794452e595aaf6430fc" - integrity sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ== +"@typescript-eslint/types@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.16.0.tgz#49c92ae1b57942458ab83d9ec7ccab3005e64737" + integrity sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -3760,13 +3760,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz#915c94e387892b114a2a2cc0df2d7f19412c8ba7" - integrity sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg== +"@typescript-eslint/typescript-estree@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.16.0.tgz#9d741e56e5b13469b5190e763432ce5551a9300c" + integrity sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw== dependencies: - "@typescript-eslint/types" "8.15.0" - "@typescript-eslint/visitor-keys" "8.15.0" + "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/visitor-keys" "8.16.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -3788,15 +3788,15 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@8.15.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.15.0.tgz#ac04679ad19252776b38b81954b8e5a65567cef6" - integrity sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ== +"@typescript-eslint/utils@8.16.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.16.0.tgz#c71264c437157feaa97842809836254a6fc833c3" + integrity sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.15.0" - "@typescript-eslint/types" "8.15.0" - "@typescript-eslint/typescript-estree" "8.15.0" + "@typescript-eslint/scope-manager" "8.16.0" + "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/typescript-estree" "8.16.0" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -3806,12 +3806,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@8.15.0": - version "8.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz#9ea5a85eb25401d2aa74ec8a478af4e97899ea12" - integrity sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q== +"@typescript-eslint/visitor-keys@8.16.0": + version "8.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.16.0.tgz#d5086afc060b01ff7a4ecab8d49d13d5a7b07705" + integrity sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ== dependencies: - "@typescript-eslint/types" "8.15.0" + "@typescript-eslint/types" "8.16.0" eslint-visitor-keys "^4.2.0" "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": @@ -14664,14 +14664,14 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typescript-eslint@^8.15.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.15.0.tgz#c8a2a0d183c3eb48ae176aa078c1b9daa584cf9d" - integrity sha512-wY4FRGl0ZI+ZU4Jo/yjdBu0lVTSML58pu6PgGtJmCufvzfV565pUF6iACQt092uFOd49iLOTX/sEVmHtbSrS+w== +typescript-eslint@^8.16.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.16.0.tgz#d608c972d6b2461ca10ec30fd3fa62a080baba19" + integrity sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ== dependencies: - "@typescript-eslint/eslint-plugin" "8.15.0" - "@typescript-eslint/parser" "8.15.0" - "@typescript-eslint/utils" "8.15.0" + "@typescript-eslint/eslint-plugin" "8.16.0" + "@typescript-eslint/parser" "8.16.0" + "@typescript-eslint/utils" "8.16.0" typescript@^5.6.3: version "5.6.3" From ca49d0c39425953211aec7eb5417238b204777e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 12:02:13 +0000 Subject: [PATCH 014/156] chore(deps): bump web-specs from 3.27.0 to 3.28.0 (#12191) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 72c98ddb1a88..5a1cb3961c63 100644 --- a/package.json +++ b/package.json @@ -148,7 +148,7 @@ "unist-builder": "^4.0.0", "unist-util-visit": "^5.0.0", "web-features": "^2.8.0", - "web-specs": "^3.27.0" + "web-specs": "^3.28.0" }, "devDependencies": { "@babel/core": "^7.26.0", diff --git a/yarn.lock b/yarn.lock index 96c2883314f3..23a8a517ef48 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15085,10 +15085,10 @@ web-namespaces@^2.0.0: resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== -web-specs@^3.27.0: - version "3.27.0" - resolved "https://registry.yarnpkg.com/web-specs/-/web-specs-3.27.0.tgz#14ba3297660da10eff740145c64c3feb174d1b79" - integrity sha512-z81GQ2Q52ik/4hhnjPv5UMQT0PpXryfFRd688iIpUKrPczfTXIbQpVEGxs13oSnhX7rgFLCyVM3XOJIrw1xykQ== +web-specs@^3.28.0: + version "3.28.0" + resolved "https://registry.yarnpkg.com/web-specs/-/web-specs-3.28.0.tgz#ed3d3dca0fd0d006f7c9ec9deec38f177dc641fa" + integrity sha512-haQUHO54+bbRD6BBtsJN1yHJFuq3Ug7+jiJYX7VxaI8ECGByAXvasampzvgXmotufjg61Q9avly5zcPDH3ucLQ== web-streams-polyfill@4.0.0-beta.3: version "4.0.0-beta.3" From 2a7945a74c385f8493bde987456c88f7d6414b1b Mon Sep 17 00:00:00 2001 From: Leo McArdle Date: Tue, 26 Nov 2024 16:25:36 +0000 Subject: [PATCH 015/156] chore(scrimba): add end of year banners (#12184) https://mozilla-hub.atlassian.net/browse/MP-1765 --- client/src/ui/organisms/placement/index.tsx | 35 ++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/client/src/ui/organisms/placement/index.tsx b/client/src/ui/organisms/placement/index.tsx index dd35633fec44..9fb5263c7e02 100644 --- a/client/src/ui/organisms/placement/index.tsx +++ b/client/src/ui/organisms/placement/index.tsx @@ -83,8 +83,41 @@ function TopPlacementFallbackContent() { const observedNode = useViewed(() => { gleanClick(BANNER_SCRIMBA_VIEW); }); + const now = Date.now(); - return ( + return now < Date.parse("2024-12-01") ? ( +

+ Learn front-end with MDN’s course partner{" "} + { + gleanClick(BANNER_SCRIMBA_CLICK); + }} + > + Scrimba + {" "} + - 30% discount this week! +

+ ) : now < Date.parse("2024-12-25") ? ( +

+ Take our daily challenges on Scrimba until 24th December and win exciting + prizes.{" "} + { + gleanClick(BANNER_SCRIMBA_CLICK); + }} + > + Join now + +

+ ) : (

Learn front-end development with high quality, interactive courses from{" "} Date: Tue, 26 Nov 2024 19:49:07 +0100 Subject: [PATCH 016/156] chore(survey): keep hp survey one more week (#12193) --- .github/workflows/prod-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prod-build.yml b/.github/workflows/prod-build.yml index b867319901c4..0b5b0c29396f 100644 --- a/.github/workflows/prod-build.yml +++ b/.github/workflows/prod-build.yml @@ -239,7 +239,7 @@ jobs: # Surveys. REACT_APP_SURVEY_START_HOMEPAGE_FEEDBACK_2024: 1731369600000 # new Date("2024-11-12Z").getTime() - REACT_APP_SURVEY_END_HOMEPAGE_FEEDBACK_2024: 1732665600000 # new Date("2024-11-27Z").getTime() + REACT_APP_SURVEY_END_HOMEPAGE_FEEDBACK_2024: 1733184000000 # new Date("2024-12-03Z").getTime() REACT_APP_SURVEY_RATE_FROM_HOMEPAGE_FEEDBACK_2024: 0.0 REACT_APP_SURVEY_RATE_TILL_HOMEPAGE_FEEDBACK_2024: 1 # 100% REACT_APP_SURVEY_START_WEBDX_EDITING_2024: 1731628800000 # new Date("2024-11-15Z").getTime() From a0fffb15ae509167ba9c983f01515fd8ecb7e82f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:13:58 +0000 Subject: [PATCH 017/156] chore(deps): bump @webref/css from 6.17.3 to 6.17.4 (#12194) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5a1cb3961c63..94269209406d 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "@stripe/stripe-js": "^4.10.0", "@use-it/interval": "^1.0.0", "@vscode/ripgrep": "^1.15.9", - "@webref/css": "^6.17.3", + "@webref/css": "^6.17.4", "accept-language-parser": "^1.5.0", "async": "^3.2.6", "chalk": "^5.3.0", diff --git a/yarn.lock b/yarn.lock index 23a8a517ef48..10e9786bb656 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3969,10 +3969,10 @@ resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== -"@webref/css@^6.17.3": - version "6.17.3" - resolved "https://registry.yarnpkg.com/@webref/css/-/css-6.17.3.tgz#c72f0cf95a61de1eadb4ad3db9dfc7a074e94d9b" - integrity sha512-0N02nn3eSlDGNAKkfOvDn3g5/d+8pxOXsJKw9rbA66xz8xTwJ8/eXBxP+yfUBebt4JCcRL+OQ2W2UFnzPd8qPg== +"@webref/css@^6.17.4": + version "6.17.4" + resolved "https://registry.yarnpkg.com/@webref/css/-/css-6.17.4.tgz#1722ced57468d44ea7ee230dd458657534710206" + integrity sha512-c7HoBCO3RCIOeeM0aBxCXhfljwwnDCjZAYKxHsmvymu5/nmk4uQDTM4uecIu/SUiAmYCb7a1DGKN6mCKg489kA== "@xtuc/ieee754@^1.2.0": version "1.2.0" From cc88837be032178a602afa74ca211a811bca9ac5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:14:01 +0000 Subject: [PATCH 018/156] chore(deps): bump @mdn/browser-compat-data from 5.6.18 to 5.6.19 (#12195) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 94269209406d..ad187ca60978 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "@inquirer/prompts": "^7.1.0", "@lit/react": "^1.0.6", "@mdn/bcd-utils-api": "^0.0.7", - "@mdn/browser-compat-data": "^5.6.18", + "@mdn/browser-compat-data": "^5.6.19", "@mozilla/glean": "5.0.3", "@sentry/node": "^8.40.0", "@stripe/stripe-js": "^4.10.0", diff --git a/yarn.lock b/yarn.lock index 10e9786bb656..0221cee268bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2172,10 +2172,10 @@ resolved "https://registry.yarnpkg.com/@mdn/bcd-utils-api/-/bcd-utils-api-0.0.7.tgz#555e80c33df520df068943e6b18ebc07f0e24d19" integrity sha512-IHkkypEjlIkBkx4mJ2//Xbzog9M/Lzne1Sl8db2cIHJ/5pe3NCqSLwSchmqzcUN+/WJr/U+V3tNAbWunk2xZcA== -"@mdn/browser-compat-data@^5.6.18": - version "5.6.18" - resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.6.18.tgz#62bfd9f7a646e54e68b3739cb34bcf508e699410" - integrity sha512-WCQcQGyydquw7NXPL2NopMCgmUvIQDG7KM/IGR4PMJSDH5SHZKXUDEF6rdpGWj0MtcjQseOCl/hjzYzj0fMMeA== +"@mdn/browser-compat-data@^5.6.19": + version "5.6.19" + resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.6.19.tgz#4822e7c27bd4da16de8d229a5c157ae436401442" + integrity sha512-nov43xmgYccY9ePMQfqPD29ASOKbOhn3iOJxA5reOfC3wLbEM5an8Sn6A3Th1TuD3XfXc0hjrFQYbJ3qhyPhhQ== "@mdn/dinocons@^0.5.5": version "0.5.5" From 040f52ffc0f5a2ea46ac64af9f507dfaabc6a81d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Nov 2024 12:03:33 +0000 Subject: [PATCH 019/156] chore(deps-dev): bump prettier from 3.3.3 to 3.4.1 (#12192) --- client/src/ui/atoms/icon/index.scss | 22 +++++++++++----------- client/src/ui/base/_themes.scss | 10 ++++++++-- package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/client/src/ui/atoms/icon/index.scss b/client/src/ui/atoms/icon/index.scss index 1f464768e397..b144b6210fbe 100644 --- a/client/src/ui/atoms/icon/index.scss +++ b/client/src/ui/atoms/icon/index.scss @@ -1,17 +1,17 @@ $icons: "add-filled", "add", "altname", "bell", "bell-filled", "bell-ring", "bookmark-filled", "bookmark", "cancel", "chatgpt", "checkmark", "chevron", "chrome", "critical", "curriculum-next", "curriculum-prev", "deno", - "deprecated", "desktop", "disabled", "edge", "edit", "edit-filled", "ellipses", - "experimental", "external", "eye-filled", "eye", "feed", "filter", "footnote", - "github-mark-small", "ie", "information", "highlight", "history", "language", - "mastodon", "menu-filled", "menu", "mobile", "more", "theme-dark", "new-topic", - "next", "no", "nodejs", "nonstandard", "note-info", "note-warning", - "note-deprecated", "opera", "padlock", "partial", "play", "prefix", "preview", - "previous", "question-mark", "queue", "queued", "quote", "return", "safari", - "samsunginternet", "search", "send", "server", "sidebar", "simple-firefox", - "small-arrow", "theme-light", "star-filled", "star", "theme-os-default", - "thumbs-down", "thumbs-up", "trash", "trash-filled", "twitter-x", "unknown", - "warning", "webview", "yes", "yes-circle"; + "deprecated", "desktop", "disabled", "edge", "edit", "edit-filled", + "ellipses", "experimental", "external", "eye-filled", "eye", "feed", "filter", + "footnote", "github-mark-small", "ie", "information", "highlight", "history", + "language", "mastodon", "menu-filled", "menu", "mobile", "more", "theme-dark", + "new-topic", "next", "no", "nodejs", "nonstandard", "note-info", + "note-warning", "note-deprecated", "opera", "padlock", "partial", "play", + "prefix", "preview", "previous", "question-mark", "queue", "queued", "quote", + "return", "safari", "samsunginternet", "search", "send", "server", "sidebar", + "simple-firefox", "small-arrow", "theme-light", "star-filled", "star", + "theme-os-default", "thumbs-down", "thumbs-up", "trash", "trash-filled", + "twitter-x", "unknown", "warning", "webview", "yes", "yes-circle"; .icon { --size: var(--icon-size, 1rem); diff --git a/client/src/ui/base/_themes.scss b/client/src/ui/base/_themes.scss index 3eecc80c6c63..a5245cd710c6 100644 --- a/client/src/ui/base/_themes.scss +++ b/client/src/ui/base/_themes.scss @@ -40,7 +40,10 @@ $mdn-theme-light-icon-success, $alpha: -0.9 )}; - --background-del: #{color.adjust($mdn-theme-light-icon-critical, $alpha: -0.5)}; + --background-del: #{color.adjust( + $mdn-theme-light-icon-critical, + $alpha: -0.5 + )}; --background-ins: #{color.adjust($mdn-theme-light-icon-success, $alpha: -0.5)}; --border-primary: #{$mdn-theme-light-border-primary}; @@ -354,7 +357,10 @@ $mdn-theme-light-icon-success, $alpha: -0.9 )}; - --background-del: #{color.adjust($mdn-theme-light-icon-critical, $alpha: -0.5)}; + --background-del: #{color.adjust( + $mdn-theme-light-icon-critical, + $alpha: -0.5 + )}; --background-ins: #{color.adjust($mdn-theme-light-icon-success, $alpha: -0.5)}; --border-primary: #{$mdn-theme-dark-border-primary}; diff --git a/package.json b/package.json index ad187ca60978..6b2d43842444 100644 --- a/package.json +++ b/package.json @@ -226,7 +226,7 @@ "postcss-loader": "^8.1.1", "postcss-normalize": "^13.0.1", "postcss-preset-env": "^10.1.1", - "prettier": "^3.3.3", + "prettier": "^3.4.1", "prettier-plugin-packagejson": "^2.5.6", "prompts": "^2.4.2", "react": "^18.3.1", diff --git a/yarn.lock b/yarn.lock index 0221cee268bb..e97049344648 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12305,10 +12305,10 @@ prettier-plugin-packagejson@^2.5.6: sort-package-json "2.12.0" synckit "0.9.2" -prettier@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" - integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== +prettier@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.1.tgz#e211d451d6452db0a291672ca9154bc8c2579f7b" + integrity sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg== pretty-error@^4.0.0: version "4.0.0" From a5cb4910d311536a506f271c6510471bdf4e3101 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Nov 2024 12:07:03 +0000 Subject: [PATCH 020/156] chore(deps-dev): bump html-validate from 8.25.0 to 8.26.0 (#12196) --- kumascript/tests/macros/utils.test.ts | 3 +-- package.json | 2 +- yarn.lock | 14 ++++++-------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/kumascript/tests/macros/utils.test.ts b/kumascript/tests/macros/utils.test.ts index 59daf9a09c4c..7234044cb44a 100644 --- a/kumascript/tests/macros/utils.test.ts +++ b/kumascript/tests/macros/utils.test.ts @@ -9,8 +9,7 @@ const ERROR_TEST_CASES = [ { title: "with an HTML element missing its closing tag", html: "

' but document ended before it was found.", + error: "Unclosed element '
'", }, { title: "with an illegal value for a link attribute", diff --git a/package.json b/package.json index 6b2d43842444..500aafa8b501 100644 --- a/package.json +++ b/package.json @@ -205,7 +205,7 @@ "foreman": "^3.0.1", "fork-ts-checker-webpack-plugin": "^9.0.2", "history": "^5.2.0", - "html-validate": "^8.25.0", + "html-validate": "^8.26.0", "html-webpack-plugin": "^5.6.3", "husky": "^9.1.7", "identity-obj-proxy": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index e97049344648..2e19dd6cdf4c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5839,7 +5839,7 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -deepmerge@4.3.1, deepmerge@^4.2.2, deepmerge@^4.3.1: +deepmerge@^4.2.2, deepmerge@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== @@ -8143,17 +8143,15 @@ html-url-attributes@^3.0.0: resolved "https://registry.yarnpkg.com/html-url-attributes/-/html-url-attributes-3.0.1.tgz#83b052cd5e437071b756cd74ae70f708870c2d87" integrity sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ== -html-validate@^8.25.0: - version "8.25.0" - resolved "https://registry.yarnpkg.com/html-validate/-/html-validate-8.25.0.tgz#0cb6e17f5fb3e2a10f603c5d74e911c6e40ffecf" - integrity sha512-ZMQcxHxQJ7vrj8o9mKGexkCBENfuyXSZOeBop2CanbbyeBgHwKhIKhksmc2TmhT8+chi657O+XqdDWZLAhMCJA== +html-validate@^8.26.0: + version "8.26.0" + resolved "https://registry.yarnpkg.com/html-validate/-/html-validate-8.26.0.tgz#9e5df35e8cd36ad156d7e3d9180e1d2bad81ba0a" + integrity sha512-nDUlsXbASFM78uPisYjw9q4vildzQnAdBp1WsSVoCl4wlbwRAb1pyM3MWSG/G7o/Dk7ZfvVrCV571U7z/U4sig== dependencies: "@html-validate/stylish" "^4.1.0" "@sidvind/better-ajv-errors" "3.0.1" ajv "^8.0.0" - deepmerge "4.3.1" glob "^10.0.0" - ignore "5.3.2" kleur "^4.1.0" minimist "^1.2.0" prompts "^2.0.0" @@ -8377,7 +8375,7 @@ ignore-loader@^0.1.2: resolved "https://registry.yarnpkg.com/ignore-loader/-/ignore-loader-0.1.2.tgz#d81f240376d0ba4f0d778972c3ad25874117a463" integrity sha512-yOJQEKrNwoYqrWLS4DcnzM7SEQhRKis5mB+LdKKh4cPmGYlLPR0ozRzHV5jmEk2IxptqJNQA5Cc0gw8Fj12bXA== -ignore@5.3.2, ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.1, ignore@^5.3.2: +ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.1, ignore@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== From 6f891d955d11655d155734df846beb67e3e2ef12 Mon Sep 17 00:00:00 2001 From: Florian Dieminger Date: Thu, 28 Nov 2024 12:26:31 +0100 Subject: [PATCH 021/156] feat(placement): new gradient (#12197) * feat(placement): new gradien * fix colors * support strings and numbers --- client/src/playground/index.scss | 61 -------------------- client/src/playground/index.tsx | 2 +- client/src/ui/organisms/placement/index.scss | 61 ++++++++++++++++++++ client/src/ui/organisms/placement/index.tsx | 12 ++-- libs/pong/pong2.js | 28 ++++++--- 5 files changed, 90 insertions(+), 74 deletions(-) diff --git a/client/src/playground/index.scss b/client/src/playground/index.scss index 71788fe7b830..d4a921affbeb 100644 --- a/client/src/playground/index.scss +++ b/client/src/playground/index.scss @@ -217,67 +217,6 @@ main.play { align-items: center; display: flex; flex-direction: column; - @media (min-width: 25rem) { - .place { - align-self: flex-end; - max-width: 20rem; - min-height: 10rem; - - .pong-box2, - .pong-box { - width: 100%; - - .pong { - flex-direction: row; - } - - .pong-note { - margin-top: 0; - } - } - - &.new-side { - height: 12rem; - max-width: 30rem; - min-height: 12rem; - - .pong-box2 { - height: 21rem; - min-height: 0; - width: 25rem; - - .pong-cta { - margin: 0.5rem auto 1rem 1rem; - } - - .pong-note { - margin: 0.5rem 0.5rem auto auto; - } - - .pong { - > img { - height: 100%; - width: auto; - } - - > div.content { - align-items: end; - background: linear-gradient( - to left, - var(--place-new-side-background) 16rem, - transparent - ); - flex-direction: column; - height: 100%; - justify-content: end; - padding-left: 8rem; - width: 100%; - } - } - } - } - } - } button.flag-example { align-self: flex-end; diff --git a/client/src/playground/index.tsx b/client/src/playground/index.tsx index 142a05f137b9..cbc68ddb55a1 100644 --- a/client/src/playground/index.tsx +++ b/client/src/playground/index.tsx @@ -414,7 +414,7 @@ export default function Playground() { sandbox="allow-scripts allow-same-origin allow-forms" > - + diff --git a/client/src/ui/organisms/placement/index.scss b/client/src/ui/organisms/placement/index.scss index 867a8c1d8c0d..afb2e8702bba 100644 --- a/client/src/ui/organisms/placement/index.scss +++ b/client/src/ui/organisms/placement/index.scss @@ -71,6 +71,7 @@ section.place { background: linear-gradient( to top, var(--place-new-side-background) 9rem, + transparent 12rem, transparent ); border-radius: var(--border-radius); @@ -435,3 +436,63 @@ div.empty-place { } } } + +@media (min-width: 25rem) { + .place.horizontal { + align-self: flex-end; + max-width: 20rem; + min-height: 10rem; + + .pong-box2, + .pong-box { + width: 100%; + + .pong { + flex-direction: row; + } + + .pong-note { + margin-top: 0; + } + } + + &.new-side { + height: 12rem; + max-width: 30rem; + min-height: 12rem; + + .pong-box2 { + height: 21rem; + min-height: 0; + width: 25rem; + + .pong-cta { + margin: 0.5rem auto 1rem 1rem; + } + + .pong-note { + margin: 0.5rem 0.5rem auto auto; + } + + .pong { + > img { + height: 100%; + position: absolute; + width: auto; + z-index: 1; + } + + > div.content { + align-items: end; + background: var(--place-new-side-background); + flex-direction: column; + height: 100%; + justify-content: end; + padding-left: 10rem; + width: 100%; + } + } + } + } + } +} diff --git a/client/src/ui/organisms/placement/index.tsx b/client/src/ui/organisms/placement/index.tsx index 9fb5263c7e02..40d69f78eab8 100644 --- a/client/src/ui/organisms/placement/index.tsx +++ b/client/src/ui/organisms/placement/index.tsx @@ -37,7 +37,11 @@ function viewed(pong?: PlacementData) { ); } -export function SidePlacement() { +export function SidePlacement({ + extraClasses = [], +}: { + extraClasses?: string[]; +} = {}) { const placementData = usePlacement(); const { textColor, backgroundColor, textColorDark, backgroundColorDark } = placementData?.side?.colors || {}; @@ -54,11 +58,11 @@ export function SidePlacement() { ); return !placementData?.side ? ( -
+
) : placementData.side.cta && placementData.side.heading ? ( { let { pongs = null } = body; @@ -71,14 +81,16 @@ export function createPong2GetHandler(zoneKeys, coder) { cta: CallToAction && he.decode(CallToAction), heading: Heading && he.decode(Heading), colors: { - textColor: TextColor || TextColorLight, - backgroundColor: BackgroundColor || BackgroundColorLight, - ctaTextColor: CtaTextColorLight, - ctaBackgroundColor: CtaBackgroundColorLight, - textColorDark: TextColorDark, - backgroundColorDark: BackgroundColorDark, - ctaTextColorDark: CtaTextColorDark, - ctaBackgroundColorDark: CtaBackgroundColorDark, + textColor: fixupColor(TextColor || TextColorLight), + backgroundColor: fixupColor( + BackgroundColor || BackgroundColorLight + ), + ctaTextColor: fixupColor(CtaTextColorLight), + ctaBackgroundColor: fixupColor(CtaBackgroundColorLight), + textColorDark: fixupColor(TextColorDark), + backgroundColorDark: fixupColor(BackgroundColorDark), + ctaTextColorDark: fixupColor(CtaTextColorDark), + ctaBackgroundColorDark: fixupColor(CtaBackgroundColorDark), }, }, }; From 16dae3228960ebe47c1eeefb972f2b5e45f9869f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 11:55:15 +0000 Subject: [PATCH 022/156] chore(deps): bump @sentry/node from 8.40.0 to 8.41.0 in the sentry group (#12199) --- package.json | 2 +- yarn.lock | 44 ++++++++++++++++++++++---------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index 500aafa8b501..2e32a902519e 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "@mdn/bcd-utils-api": "^0.0.7", "@mdn/browser-compat-data": "^5.6.19", "@mozilla/glean": "5.0.3", - "@sentry/node": "^8.40.0", + "@sentry/node": "^8.41.0", "@stripe/stripe-js": "^4.10.0", "@use-it/interval": "^1.0.0", "@vscode/ripgrep": "^1.15.9", diff --git a/yarn.lock b/yarn.lock index 2e19dd6cdf4c..a71278662a61 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2710,17 +2710,17 @@ resolved "https://registry.yarnpkg.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz#60de891bb126abfdc5410fdc6166aca065f10a0c" integrity sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg== -"@sentry/core@8.40.0": - version "8.40.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.40.0.tgz#cb5c02d12e29070bf88692c64cfd7db7700be4ea" - integrity sha512-u/U2CJpG/+SmTR2bPM4ZZoPYTJAOUuxzj/0IURnvI0v9+rNu939J/fzrO9huA5IJVxS5TiYykhQm7o6I3Zuo3Q== +"@sentry/core@8.41.0": + version "8.41.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.41.0.tgz#e8a25cacd25fe4358f3179e85f3c2697427fe5a6" + integrity sha512-3v7u3t4LozCA5SpZY4yqUN2U3jSrkXNoLgz6L2SUUiydyCuSwXZIFEwpLJfgQyidpNDifeQbBI5E1O910XkPsA== dependencies: - "@sentry/types" "8.40.0" + "@sentry/types" "8.41.0" -"@sentry/node@^8.40.0": - version "8.40.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.40.0.tgz#0dcf4ae224698191e59dba026a5249a27e98fc97" - integrity sha512-UO1jWuO+z4DnK2NYCvQQfpNbfFYgeV//cNS83QIPkj9hPIEOpUR2DAfPmI9bj2Yjdh7WE8IN9Can9xDcfJquMQ== +"@sentry/node@^8.41.0": + version "8.41.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.41.0.tgz#52f970648d961f6e82a1b23a88c0000aa72ba21a" + integrity sha512-eYD5S8Lti9efBHFSIhZ/0C5uI1DQtGqjuNWQ62CKC47G2qgJddBtb2HgqRFAnMajYL9FXEtiDT6uqQhKQnmLcQ== dependencies: "@opentelemetry/api" "^1.9.0" "@opentelemetry/context-async-hooks" "^1.25.1" @@ -2754,23 +2754,23 @@ "@opentelemetry/sdk-trace-base" "^1.26.0" "@opentelemetry/semantic-conventions" "^1.27.0" "@prisma/instrumentation" "5.19.1" - "@sentry/core" "8.40.0" - "@sentry/opentelemetry" "8.40.0" - "@sentry/types" "8.40.0" + "@sentry/core" "8.41.0" + "@sentry/opentelemetry" "8.41.0" + "@sentry/types" "8.41.0" import-in-the-middle "^1.11.2" -"@sentry/opentelemetry@8.40.0": - version "8.40.0" - resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.40.0.tgz#55d19770cc2cc61084f4c04b728a550c06282ab0" - integrity sha512-kW9EBRESjNnBdj2zCqNMv8x0VIsmiALIOMpi25Dpm38IKtRg/ckQ7YOWx1lnT3iOFebO2GXUvOu+gPmuzIY2WQ== +"@sentry/opentelemetry@8.41.0": + version "8.41.0" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.41.0.tgz#0e5c4bb8d5b58f07eb80e312fc66b8709a688c61" + integrity sha512-Ld6KdBQsmSk2IfFSoZ7CMpmuQbfb3viV6nTDCz6+11wL9S+1b+hadCN+38yBW4CmI4/hEpYfwwWQPseQQTvBCg== dependencies: - "@sentry/core" "8.40.0" - "@sentry/types" "8.40.0" + "@sentry/core" "8.41.0" + "@sentry/types" "8.41.0" -"@sentry/types@8.40.0": - version "8.40.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.40.0.tgz#a98d2bcc48adbc066b403713688ded3ac5eb1cec" - integrity sha512-nuCf3U3deolPM9BjNnwCc33UtFl9ec15/r74ngAkNccn+A2JXdIAsDkGJMO/9mgSFykLe1QyeJ0pQFRisCGOiA== +"@sentry/types@8.41.0": + version "8.41.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.41.0.tgz#db40c93bcedad26569c5dfe10a4b31253c349a10" + integrity sha512-eqdnGr9k9H++b9CjVUoTNUVahPVWeNnMy0YGkqS5+cjWWC+x43p56202oidGFmWo6702ub/xwUNH6M5PC4kq6A== "@sidvind/better-ajv-errors@3.0.1": version "3.0.1" From 2b95347b75079c3a38874be4783a170e9d0be8e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 11:56:23 +0000 Subject: [PATCH 023/156] chore(deps-dev): bump @types/node from 18.19.66 to 18.19.67 in the types group (#12200) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2e32a902519e..4e64897b3939 100644 --- a/package.json +++ b/package.json @@ -168,7 +168,7 @@ "@types/jest": "^29.5.14", "@types/js-yaml": "^4.0.9", "@types/mdast": "^4.0.4", - "@types/node": "^18.19.66", + "@types/node": "^18.19.67", "@types/prismjs": "^1.26.5", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", diff --git a/yarn.lock b/yarn.lock index a71278662a61..edcc94452aef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3425,10 +3425,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.3.tgz#6356df2647de9eac569f9a52eda3480fa9e70b4d" integrity sha512-01s+ac4qerwd6RHD+mVbOEsraDHSgUaefQlEdBbUolnQFjKwCr7luvAlEwW1RFojh67u0z4OUTjPn9LEl4zIkA== -"@types/node@^18.11.18", "@types/node@^18.19.66": - version "18.19.66" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.66.tgz#0937a47904ceba5994eedf5cf4b6d503d8d6136c" - integrity sha512-14HmtUdGxFUalGRfLLn9Gc1oNWvWh5zNbsyOLo5JV6WARSeN1QcEBKRnZm9QqNfrutgsl/hY4eJW63aZ44aBCg== +"@types/node@^18.11.18", "@types/node@^18.19.67": + version "18.19.67" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.67.tgz#77c4b01641a1e3e1509aff7e10d39e4afd5ae06d" + integrity sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ== dependencies: undici-types "~5.26.4" From 982044cd6c819951a7566e9e044e9e24f66b2d2b Mon Sep 17 00:00:00 2001 From: Claas Augner <495429+caugner@users.noreply.github.com> Date: Thu, 28 Nov 2024 14:53:09 +0100 Subject: [PATCH 024/156] chore(deps-dev): bump cross-spawn from 6.0.5 to 6.0.6 in /cloud-function (#12198) --- cloud-function/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cloud-function/package-lock.json b/cloud-function/package-lock.json index 0d002eaedd66..b113159a204b 100644 --- a/cloud-function/package-lock.json +++ b/cloud-function/package-lock.json @@ -3970,9 +3970,9 @@ "license": "MIT" }, "node_modules/npm-run-all/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", "dev": true, "license": "MIT", "dependencies": { From 1feb4871957305eba3f654ad4e3749399e874cdc Mon Sep 17 00:00:00 2001 From: Florian Dieminger Date: Thu, 28 Nov 2024 17:50:26 +0100 Subject: [PATCH 025/156] feat(rari): support rari as beta feature and new popularities (#12051) * feat(rari): support rari as beta feature * feat(rari): add rari server to bin * update popularities format in yari to match rari implementation --------- Co-authored-by: Andi Pieper --- .github/workflows/stage-build.yml | 46 +++-- .github/workflows/test-build.yml | 62 +++--- Procfile.rari | 2 + README.md | 8 + client/src/document/toolbar/flaws.tsx | 20 +- content/popularities.ts | 6 +- copy/community/community.md | 4 + copy/config.json | 29 +++ deployer/src/deployer/search/__init__.py | 2 +- libs/env/index.d.ts | 2 + libs/env/index.js | 3 + libs/types/document.ts | 1 + package.json | 28 +-- server/cli.ts | 42 +++++ server/filename.ts | 2 + server/index.ts | 230 +++++++++++++++++------ tool/popularities.ts | 9 +- yarn.lock | 162 +++++++++++++++- 18 files changed, 522 insertions(+), 136 deletions(-) create mode 100644 Procfile.rari create mode 100644 copy/config.json create mode 100644 server/cli.ts create mode 100644 server/filename.ts diff --git a/.github/workflows/stage-build.yml b/.github/workflows/stage-build.yml index 5169210175ae..e46f50d29432 100644 --- a/.github/workflows/stage-build.yml +++ b/.github/workflows/stage-build.yml @@ -151,6 +151,13 @@ jobs: mv mdn/translated-content-de/files/de mdn/translated-content/files/ rm -rf mdn/translated-content-de + - name: Clean and commit de + if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} + working-directory: mdn/translated-content + run: | + git add files/de + git -c user.name='MDN' -c user.email='mdn-dev@mozilla.com' commit -m 'de' + - uses: actions/checkout@v4 if: ${{ ! vars.SKIP_BUILD }} with: @@ -168,7 +175,8 @@ jobs: if: ${{ ! vars.SKIP_BUILD }} run: yarn --frozen-lockfile env: - # https://github.com/microsoft/vscode-ripgrep#github-api-limit-note + # Use a GITHUB_TOKEN to bypass rate limiting for ripgrep and rari. + # See https://github.com/microsoft/vscode-ripgrep#github-api-limit-note GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install Python @@ -214,6 +222,13 @@ jobs: CURRICULUM_ROOT: ${{ github.workspace }}/mdn/curriculum BASE_URL: "https://developer.allizom.org" + # rari + BUILD_OUT_ROOT: "client/build" + GENERIC_CONTENT_ROOT: "copy" + LIVE_SAMPLES_BASE_URL: https://live.mdnyalp.dev + INTERACTIVE_EXAMPLES_BASE_URL: https://interactive-examples.mdn.allizom.net + ADDITIONAL_LOCALES_FOR_GENERICS_AND_SPAS: de + # The default for this environment variable is geared for writers # (aka. local development). Usually defaults are supposed to be for # secure production but this is an exception and default @@ -290,31 +305,14 @@ jobs: echo "BLOG_ROOT=$BLOG_ROOT" # Build the ServiceWorker first yarn build:sw - yarn build:prepare - - yarn tool sync-translated-content es fr ja ko pt-br ru zh-cn zh-tw - - # Build using one process per locale. - # Note: We have 4 cores, but 9 processes is a reasonable number. - for locale in en-us de es fr ja ko pt-br ru zh-cn zh-tw; do - yarn build:docs --locale $locale 2>&1 | sed "s/^/[$locale] /" & - pids+=($!) - done - - for pid in "${pids[@]}"; do - wait $pid - done - - du -sh client/build - - # Build the blog - yarn build:blog + yarn build:client + yarn build:ssr + yarn tool build-robots-txt - # Build the curriculum - yarn build:curriculum + yarn rari content sync-translated-content + yarn rari git-history - # Generate sitemap index file - yarn build --sitemap-index + yarn rari build --issues client/build/issues.json --templ-stats # SSR all pages yarn render:html diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 95d986565212..21fe49f08a9f 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -72,6 +72,26 @@ jobs: # See matching warning for mdn/content checkout step fetch-depth: 0 + - name: Checkout (translated-content-de) + uses: actions/checkout@v4 + if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} + with: + repository: mdn/translated-content-de + path: mdn/translated-content-de + + - name: Move de into translated-content + if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} + run: | + mv mdn/translated-content-de/files/de mdn/translated-content/files/ + rm -rf mdn/translated-content-de + + - name: Clean and commit de + if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} + working-directory: mdn/translated-content + run: | + git add files/de + git -c user.name='MDN' -c user.email='mdn-dev@mozilla.com' commit -m 'de' + - uses: actions/checkout@v4 if: ${{ ! vars.SKIP_BUILD }} with: @@ -89,7 +109,8 @@ jobs: if: ${{ ! vars.SKIP_BUILD }} run: yarn --frozen-lockfile env: - # https://github.com/microsoft/vscode-ripgrep#github-api-limit-note + # Use a GITHUB_TOKEN to bypass rate limiting for ripgrep and rari. + # See https://github.com/microsoft/vscode-ripgrep#github-api-limit-note GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Print information about build @@ -111,6 +132,13 @@ jobs: CURRICULUM_ROOT: ${{ github.workspace }}/mdn/curriculum BASE_URL: "https://test.developer.allizom.org" + # rari + BUILD_OUT_ROOT: "client/build" + GENERIC_CONTENT_ROOT: "copy" + LIVE_SAMPLES_BASE_URL: https://live.test.mdnyalp.dev + INTERACTIVE_EXAMPLES_BASE_URL: https://interactive-examples.mdn.allizom.net + ADDITIONAL_LOCALES_FOR_GENERICS_AND_SPAS: de + # The default for this environment variable is geared for writers # (aka. local development). Usually defaults are supposed to be for # secure production but this is an exception and default @@ -155,7 +183,7 @@ jobs: REACT_APP_PLACEMENT_ENABLED: true # Playground - REACT_APP_PLAYGROUND_BASE_HOST: play.test.mdn.allizom.net + REACT_APP_PLAYGROUND_BASE_HOST: test.mdnyalp.dev # Observatory REACT_APP_OBSERVATORY_API_URL: https://observatory-api.mdn.allizom.net @@ -168,31 +196,14 @@ jobs: echo "BLOG_ROOT=$BLOG_ROOT" # Build the ServiceWorker first yarn build:sw - yarn build:prepare - - #yarn tool sync-translated-content - - # Build using one process per locale. - # Note: We have 4 cores, but 9 processes is a reasonable number. - for locale in en-us fr; do - yarn build:docs --locale $locale 2>&1 | sed "s/^/[$locale] /" & - pids+=($!) - done - - for pid in "${pids[@]}"; do - wait $pid - done - - du -sh client/build - - # Build the blog - yarn build:blog + yarn build:client + yarn build:ssr + yarn tool build-robots-txt - # Build the curriculum - yarn build:curriculum + yarn rari content sync-translated-content + yarn rari git-history - # Generate sitemap index file - yarn build --sitemap-index + yarn rari build --issues client/build/issues.json --templ-stats # SSR all pages yarn render:html @@ -241,6 +252,7 @@ jobs: run: | npm ci npm run build-redirects + npm run build-canonicals - name: Deploy Function if: ${{ ! vars.SKIP_FUNCTION }} diff --git a/Procfile.rari b/Procfile.rari new file mode 100644 index 000000000000..a39285dfe174 --- /dev/null +++ b/Procfile.rari @@ -0,0 +1,2 @@ +server: yarn start:rari-server +web: yarn start:client diff --git a/README.md b/README.md index fab120f41c62..248cb0c20aaa 100644 --- a/README.md +++ b/README.md @@ -269,6 +269,14 @@ this, you can pick any unused port (e.g., 6000) and run the following: echo SERVER_PORT=6000 >> .env +### Problems running with rari on Windows + +Download and install: + +Microsoft Visual C++ Redistributable for Visual Studio 2019 ( +[x86](https://aka.ms/vs/16/release/VC_redist.x86.exe), +[ARM64](https://aka.ms/vs/16/release/VC_redist.arm64.exe) ) + ### Yarn install errors If you get errors while installing dependencies via yarn on a Mac, you may need diff --git a/client/src/document/toolbar/flaws.tsx b/client/src/document/toolbar/flaws.tsx index 191760550773..ea5698f7eb75 100644 --- a/client/src/document/toolbar/flaws.tsx +++ b/client/src/document/toolbar/flaws.tsx @@ -331,7 +331,7 @@ function Flaws({ /> ); default: - throw new Error(`Unknown flaw check '${flaw.name}'`); + return ; } })}
@@ -531,6 +531,20 @@ function BrokenLinks({ ); } +function Unknown({ flaws }: { flaws: GenericFlaw[] }) { + return ( +
+

{humanizeFlawName("unknown")}

+
    + {flaws.map((flaw) => ( +
  • + {flaw.explanation} +
  • + ))} +
+
+ ); +} function BadBCDQueries({ flaws }: { flaws: BadBCDQueryFlaw[] }) { return (
@@ -692,7 +706,9 @@ function Macros({

{humanizeFlawName("macros")}

{flaws.map((flaw) => { - const inPrerequisiteMacro = !flaw.filepath.includes(sourceFilePath); + const inPrerequisiteMacro = flaw.filepath + ? !flaw.filepath.includes(sourceFilePath) + : false; return (
{ popularities.set(url, value as number); } diff --git a/copy/community/community.md b/copy/community/community.md index 1f851e99e660..a0f35e196761 100644 --- a/copy/community/community.md +++ b/copy/community/community.md @@ -1,3 +1,7 @@ +--- +title: Contribute to MDN +--- + # MDN Community Where web enthusiasts learn, collaborate, and create diff --git a/copy/config.json b/copy/config.json new file mode 100644 index 000000000000..6438b35bbbc1 --- /dev/null +++ b/copy/config.json @@ -0,0 +1,29 @@ +{ + "pages": { + "community": { + "titleSuffix": "Contribute to MDN" + }, + "plus": { + "slugPrefix": "plus/docs", + "titleSuffix": "MDN Plus" + }, + "observatory": { + "slugPrefix": "observatory/docs", + "titleSuffix": "HTTP Observatory" + } + }, + "spas": { + "about": { + "slug": "about", + "pageTitle": "About MDN" + }, + "advertising": { + "slug": "advertising", + "pageTitle": "Advertise with us" + }, + "plus": { + "slug": "plus", + "pageTitle": "MDN Plus" + } + } +} diff --git a/deployer/src/deployer/search/__init__.py b/deployer/src/deployer/search/__init__.py index dfdb286dbe7b..972b7f7d2184 100644 --- a/deployer/src/deployer/search/__init__.py +++ b/deployer/src/deployer/search/__init__.py @@ -248,7 +248,7 @@ def to_search(file, _index=None): ) ), popularity=doc["popularity"], - summary=doc["summary"], + summary=doc.get("summary", ""), # Note! We're always lowercasing the 'slug'. This way we can search on it, # still as a `keyword` index, but filtering by prefix. # E.g. in kuma; ?slug_prefix=weB/Css diff --git a/libs/env/index.d.ts b/libs/env/index.d.ts index fec939592c93..f57b38a5ed1b 100644 --- a/libs/env/index.d.ts +++ b/libs/env/index.d.ts @@ -1,5 +1,6 @@ export const BUILD_OUT_ROOT: string; export const DEFAULT_FLAW_LEVELS: string; +export const RARI: boolean; export const BASE_URL: string; export const FILES: string; export const FOLDERSEARCH: string; @@ -27,6 +28,7 @@ export const STATIC_ROOT: string; export const PROXY_HOSTNAME: string; export const CONTENT_HOSTNAME: string; export const FAKE_V1_API: boolean; +export const EXTERNAL_DEV_SERVER: sting; export const SENTRY_DSN_BUILD: string; export const OPENAI_KEY: string; export const PG_URI: string; diff --git a/libs/env/index.js b/libs/env/index.js index 253b341d7999..7f9e65be1a13 100644 --- a/libs/env/index.js +++ b/libs/env/index.js @@ -28,6 +28,7 @@ dotenv.config({ // build // ----- +export const RARI = Boolean(parse(process.env.RARI || "false")); export const BASE_URL = process.env.BASE_URL || "https://developer.mozilla.org"; export const BUILD_OUT_ROOT = @@ -178,6 +179,8 @@ export const PROXY_HOSTNAME = export const CONTENT_HOSTNAME = process.env.SERVER_CONTENT_HOST; export const FAKE_V1_API = parse(process.env.SERVER_FAKE_V1_API || false); +export const EXTERNAL_DEV_SERVER = + process.env.EXTERNAL_DEV_SERVER || "http://localhost:8083"; // ---- // tool diff --git a/libs/types/document.ts b/libs/types/document.ts index 1ccedcc18412..bec2c34d4856 100644 --- a/libs/types/document.ts +++ b/libs/types/document.ts @@ -110,6 +110,7 @@ export type Flaws = Partial<{ heading_links: HeadingLinksFlaw[]; translation_differences: TranslationDifferenceFlaw[]; unsafe_html: UnsafeHTMLFlaw[]; + unknown: GenericFlaw[]; }>; export type Translation = { diff --git a/package.json b/package.json index 4e64897b3939..7d278fd304aa 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "author": "MDN Web Docs", "type": "module", "bin": { + "rari-server": "server/cli.js", "yari-build": "build/cli.js", "yari-build-blog": "build/build-blog.js", "yari-filecheck": "filecheck/cli.js", @@ -14,36 +15,39 @@ "yari-tool": "tool/cli.js" }, "scripts": { - "ai-help-macros": "cross-env NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node scripts/ai-help-macros.ts", + "ai-help-macros": "cross-env NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node scripts/ai-help-macros.ts", "analyze": "(test -f client/build/stats.json || cross-env ANALYZE_BUNDLE=true yarn build:client) && webpack-bundle-analyzer client/build/stats.json", - "build": "cross-env NODE_ENV=production NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node build/cli.ts", - "build:blog": "cross-env NODE_ENV=production NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node build/build-blog.ts", + "build": "cross-env NODE_ENV=production NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node build/cli.ts", + "build:blog": "cross-env NODE_ENV=production NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node build/build-blog.ts", "build:client": "cd client && cross-env NODE_ENV=production BABEL_ENV=production node scripts/build.js", - "build:curriculum": "cross-env NODE_ENV=production NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node build/build-curriculum.ts", + "build:curriculum": "cross-env NODE_ENV=production NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node build/build-curriculum.ts", "build:dist": "tsc -p tsconfig.dist.json", - "build:docs": "cross-env NODE_ENV=production NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node build/cli.ts -n", + "build:docs": "cross-env NODE_ENV=production NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node build/cli.ts -n", "build:glean": "cd client && cross-env VIRTUAL_ENV=venv glean translate src/telemetry/metrics.yaml src/telemetry/pings.yaml -f typescript -o src/telemetry/generated", "build:prepare": "yarn build:client && yarn build:ssr && yarn tool popularities && yarn tool spas && yarn tool gather-git-history && yarn tool build-robots-txt", - "build:ssr": "cross-env NODE_ENV=production NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node ssr/prepare.ts && webpack --mode=production --config=ssr/webpack.config.js", + "build:ssr": "cross-env NODE_ENV=production NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node ssr/prepare.ts && webpack --mode=production --config=ssr/webpack.config.js", "build:sw": "cd client/pwa && yarn && yarn build:prod", "build:sw-dev": "cd client/pwa && yarn && yarn build", "check:tsc": "find . -name 'tsconfig.json' ! -wholename '**/node_modules/**' -print0 | xargs -n1 -P 2 -0 sh -c 'cd `dirname $0` && echo \"🔄 $(pwd)\" && npx tsc --noEmit && echo \"☑️ $(pwd)\" || exit 255'", "dev": "yarn build:prepare && nf -j Procfile.dev start", "eslint": "eslint .", - "filecheck": "cross-env NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node filecheck/cli.ts", + "filecheck": "cross-env NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node filecheck/cli.ts", "install:all": "find . -mindepth 2 -name 'yarn.lock' ! -wholename '**/node_modules/**' -print0 | xargs -n1 -0 sh -cx 'yarn --cwd $(dirname $0) install'", "install:all:npm": "find . -mindepth 2 -name 'package-lock.json' ! -wholename '**/node_modules/**' -print0 | xargs -n1 -0 sh -cx 'npm --prefix $(dirname $0) install'", "jest": "node --experimental-vm-modules --expose-gc ./node_modules/.bin/jest --logHeapUsage", - "m2h": "cross-env NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node markdown/m2h/cli.ts", + "m2h": "cross-env NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node markdown/m2h/cli.ts", "prepack": "yarn render:html && yarn build:dist", "prepare": "(husky || true) && yarn install:all && yarn install:all:npm", "prettier-check": "prettier --check .", "prettier-format": "prettier --write .", - "render:html": "cross-env NODE_ENV=production NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node build/ssr-cli.ts", + "render:html": "cross-env NODE_ENV=production NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node build/ssr-cli.ts", "start": "(test -f client/build/asset-manifest.json || yarn build:client) && (test -f ssr/dist/main.js || yarn build:ssr) && (test -f popularities.json || yarn tool popularities) && (test -d client/build/en-us/_spas || yarn tool spas) && (test -d client/build/en-us/_spas/404.html || yarn render:html -s) && nf -j Procfile.start start", "start:client": "cd client && cross-env NODE_ENV=development BABEL_ENV=development PORT=3000 node scripts/start.js", + "start:rari": "(test -f client/build/asset-manifest.json || yarn build:client) && (test -f ssr/dist/main.js || yarn build:ssr) && cross-env RARI=true nf -j Procfile.rari start", + "start:rari-external": "(test -f client/build/asset-manifest.json || yarn build:client) && (test -f ssr/dist/main.js || yarn build:ssr) && cross-env RARI=true nf -j Procfile.start start", + "start:rari-server": "cross-env NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node server/cli.ts", "start:server": "node-dev --experimental-loader ts-node/esm server/index.ts", - "start:static-server": "cross-env NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node server/static.ts", + "start:static-server": "cross-env NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node server/static.ts", "stylelint": "stylelint \"**/*.scss\"", "test": "yarn prettier-check && yarn test:client && yarn test:kumascript && yarn test:libs && yarn test:content && yarn test:testing", "test:client": "cd client && tsc --noEmit && cross-env NODE_ENV=test BABEL_ENV=test node scripts/test.js --env=jsdom", @@ -54,7 +58,7 @@ "test:libs": "yarn jest --rootDir libs --env=node", "test:prepare": "yarn build:prepare && yarn build:docs && yarn render:html && yarn start:static-server", "test:testing": "yarn jest --rootDir testing", - "tool": "cross-env NODE_OPTIONS='--no-warnings=ExperimentalWarning --loader ts-node/esm' node ./tool/cli.ts", + "tool": "cross-env NODE_OPTIONS=\"--no-warnings=ExperimentalWarning --loader ts-node/esm\" node ./tool/cli.ts", "watch:ssr": "webpack --mode=production --watch --config=ssr/webpack.config.js" }, "resolutions": { @@ -74,6 +78,7 @@ "@lit/react": "^1.0.6", "@mdn/bcd-utils-api": "^0.0.7", "@mdn/browser-compat-data": "^5.6.19", + "@mdn/rari": "^0.0.25", "@mozilla/glean": "5.0.3", "@sentry/node": "^8.41.0", "@stripe/stripe-js": "^4.10.0", @@ -88,6 +93,7 @@ "codemirror": "^6.0.1", "compression": "^1.7.5", "compute-baseline": "^0.1.1", + "concurrently": "^9.0.1", "cookie": "^0.7.2", "cookie-parser": "^1.4.7", "css-tree": "^2.3.1", diff --git a/server/cli.ts b/server/cli.ts new file mode 100644 index 000000000000..799e0b04d1ab --- /dev/null +++ b/server/cli.ts @@ -0,0 +1,42 @@ +#!/usr/bin/env node +import { concurrently } from "concurrently"; +import { rariBin } from "@mdn/rari"; +import { filename } from "./filename.js"; + +const { commands, result } = concurrently( + [ + { + command: `node ${filename}`, + name: "server", + env: { + RARI: true, + }, + prefixColor: "red", + }, + { + command: `${rariBin} serve -vv`, + name: "rari", + prefixColor: "blue", + }, + ], + { + killOthers: ["failure", "success"], + restartTries: 0, + handleInput: true, + inputStream: process.stdin, + } +); + +const stop = new Promise((resolve, reject) => { + process.on("SIGINT", () => { + commands.forEach((cmd) => cmd.kill()); // Terminate all concurrently-run processes + reject(); + }); + result.finally(() => resolve(null)); +}); +try { + await stop; + console.log("All tasks completed successfully."); +} catch { + console.log("Killed ☠️"); +} diff --git a/server/filename.ts b/server/filename.ts new file mode 100644 index 000000000000..abc56988399e --- /dev/null +++ b/server/filename.ts @@ -0,0 +1,2 @@ +import { fileURLToPath } from "node:url"; +export const filename = fileURLToPath(import.meta.resolve("./index.js")); diff --git a/server/index.ts b/server/index.ts index f2e1535b9e2c..f9d94e6282a3 100644 --- a/server/index.ts +++ b/server/index.ts @@ -33,6 +33,8 @@ import { CONTENT_TRANSLATED_ROOT, BLOG_ROOT, CURRICULUM_ROOT, + EXTERNAL_DEV_SERVER, + RARI, } from "../libs/env/index.js"; import { PLAYGROUND_UNSAFE_CSP_VALUE } from "../libs/play/index.js"; @@ -55,28 +57,43 @@ import { import { findCurriculumPageBySlug } from "../build/curriculum.js"; import { handleRunner } from "../libs/play/index.js"; +async function fetch_from_rari(path: string) { + const external_url = `${EXTERNAL_DEV_SERVER}${path}`; + console.log(`using ${external_url}`); + // eslint-disable-next-line n/no-unsupported-features/node-builtins + return await (await fetch(external_url)).json(); +} + async function buildDocumentFromURL(url: string) { try { console.time(`buildDocumentFromURL(${url})`); - const document = Document.findByURL(url); - if (!document) { - return null; - } - const documentOptions = {}; - if (CONTENT_TRANSLATED_ROOT) { - // When you're running the dev server and build documents - // every time a URL is requested, you won't have had the chance to do - // the phase that happens when you do a regular `yarn build`. - document.translations = findTranslations( - document.metadata.slug, - document.metadata.locale - ); + let built; + if (!RARI) { + const document = Document.findByURL(url); + if (!document) { + return null; + } + const documentOptions = {}; + if (CONTENT_TRANSLATED_ROOT) { + // When you're running the dev server and build documents + // every time a URL is requested, you won't have had the chance to do + // the phase that happens when you do a regular `yarn build`. + document.translations = findTranslations( + document.metadata.slug, + document.metadata.locale + ); + } + built = await buildDocument(document, documentOptions); + if (built) { + return { doc: built?.doc, url }; + } + } else { + built = await fetch_from_rari(url); + if (built) { + return built; + } } - const built = await buildDocument(document, documentOptions); - - if (built) { - return { doc: built?.doc, url }; - } else if ( + if ( url.split("/")[1] && url.split("/")[1].toLowerCase() !== DEFAULT_LOCALE.toLowerCase() && !CONTENT_TRANSLATED_ROOT @@ -97,19 +114,29 @@ async function buildDocumentFromURL(url: string) { } } -function redirectOr404(res: express.Response, url, suffix = "") { +async function redirectOr404(res: express.Response, url, suffix = "") { const redirectURL = Redirect.resolve(url); if (redirectURL !== url) { // This was and is broken for redirects with anchors... return res.redirect(301, redirectURL + suffix); } - return send404(res); + return await send404(res); } -function send404(res: express.Response) { - return res - .status(404) - .sendFile(path.join(STATIC_ROOT, "en-us", "_spas", "404.html")); +async function send404(res: express.Response) { + if (!RARI) { + return res + .status(404) + .sendFile(path.join(STATIC_ROOT, "en-us", "_spas", "404.html")); + } else { + try { + const index = await fetch_from_rari("/en-US/404"); + res.header("Content-Security-Policy", CSP_VALUE); + return res.send(renderHTML(index)); + } catch (error) { + return res.status(500).json(JSON.stringify(error.toString())); + } + } } const app = express(); @@ -250,29 +277,55 @@ app.get("/_open", (req, res) => { res.status(200).send(`Tried to open ${spec} in ${process.env.EDITOR}`); }); -app.use("/:locale/search-index.json", searchIndexRoute); +if (!RARI) { + app.use("/:locale/search-index.json", searchIndexRoute); +} else { + app.use("/:locale/search-index.json", async (req, res) => { + const { locale } = req.params; + try { + const json = await fetch_from_rari(`/${locale}/search-index.json`); + res.setHeader("Access-Control-Allow-Origin", "*"); + return res.json(json); + } catch (error) { + return res.status(500).json(JSON.stringify(error.toString())); + } + }); +} app.get("/_flaws", flawsRoute); app.use("/_translations", translationsRouter); app.get("/*/contributors.txt", async (req, res) => { - const url = req.path.replace(/\/contributors\.txt$/, ""); - const document = Document.findByURL(url); - res.setHeader("content-type", "text/plain"); - if (!document) { - return res.status(404).send(`Document not found by URL (${url})`); - } - try { - const { doc: builtDocument } = await buildDocument(document); - res.send( - renderContributorsTxt( - document.metadata.contributors, - builtDocument.source.github_url.replace("/blob/", "/commits/") - ) - ); - } catch (error) { - return res.status(500).json(JSON.stringify(error.toString())); + if (!RARI) { + const url = req.path.replace(/\/contributors\.txt$/, ""); + const document = Document.findByURL(url); + res.setHeader("content-type", "text/plain"); + if (!document) { + return res.status(404).send(`Document not found by URL (${url})`); + } + try { + const { doc: builtDocument } = await buildDocument(document); + res.send( + renderContributorsTxt( + document.metadata.contributors, + builtDocument.source.github_url.replace("/blob/", "/commits/") + ) + ); + } catch (error) { + return res.status(500).json(JSON.stringify(error.toString())); + } + } else { + try { + const external_url = `${EXTERNAL_DEV_SERVER}${req.path}`; + console.log(`contributors.txt: using ${external_url}`); + // eslint-disable-next-line n/no-unsupported-features/node-builtins + const text = await (await fetch(external_url)).text(); + res.setHeader("content-type", "text/plain"); + return res.send(text); + } catch (error) { + return res.status(500).json(JSON.stringify(error.toString())); + } } }); @@ -287,8 +340,17 @@ if (CURRICULUM_ROOT) { "/:locale/curriculum/index.json", ], async (req, res) => { - const { slug = "" } = req.params; - const data = await findCurriculumPageBySlug(slug); + let data; + if (!RARI) { + const { slug = "" } = req.params; + data = await findCurriculumPageBySlug(slug); + } else { + try { + data = await fetch_from_rari(req.path); + } catch (error) { + return res.status(500).json(JSON.stringify(error.toString())); + } + } if (!data) { return res.status(404).send("Nothing here 🤷‍♂️"); } @@ -296,19 +358,28 @@ if (CURRICULUM_ROOT) { } ); } else { - app.get("/[^/]+/curriculum/*", (_, res) => { + app.get("/[^/]+/curriculum/*", async (_, res) => { console.warn("'CURRICULUM_ROOT' not set in .env file"); - return send404(res); + return await send404(res); }); } if (BLOG_ROOT) { - app.get("/:locale/blog/index.json", async (_, res) => { - const posts = await allPostFrontmatter( - { includeUnpublished: true }, - MEMOIZE_INVALIDATE - ); - return res.json({ hyData: { posts } }); + app.get("/:locale/blog/index.json", async (req, res) => { + if (!RARI) { + const posts = await allPostFrontmatter( + { includeUnpublished: true }, + MEMOIZE_INVALIDATE + ); + return res.json({ hyData: { posts } }); + } else { + try { + const index = await fetch_from_rari(req.path); + return res.json(index); + } catch (error) { + return res.status(500).json(JSON.stringify(error.toString())); + } + } }); app.get("/:locale/blog/author/:slug/:asset", async (req, res) => { const { slug, asset } = req.params; @@ -324,12 +395,21 @@ if (BLOG_ROOT) { ).pipe(res); }); app.get("/:locale/blog/:slug/index.json", async (req, res) => { - const { slug } = req.params; - const data = await findPostBySlug(slug); - if (!data) { - return res.status(404).send("Nothing here 🤷‍♂️"); + if (!RARI) { + const { slug } = req.params; + const data = await findPostBySlug(slug); + if (!data) { + return res.status(404).send("Nothing here 🤷‍♂️"); + } + return res.json(data); + } else { + try { + const index = await fetch_from_rari(req.path); + return res.json(index); + } catch (error) { + return res.status(500).json(JSON.stringify(error.toString())); + } } - return res.json(data); }); app.get("/:locale/blog/:slug/:asset", async (req, res) => { const { slug, asset } = req.params; @@ -343,9 +423,9 @@ if (BLOG_ROOT) { return res.status(404).send("Nothing here 🤷‍♂️"); }); } else { - app.get("/[^/]+/blog/*", (_, res) => { + app.get("/[^/]+/blog/*", async (_, res) => { console.warn("'BLOG_ROOT' not set in .env file"); - return send404(res); + return await send404(res); }); } @@ -370,7 +450,7 @@ if (contentProxy) { try { const doc = await buildDocumentFromURL(url); if (!doc) { - return redirectOr404(res, url, "/index.json"); + return await redirectOr404(res, url, "/index.json"); } return res.json(doc); } catch (error) { @@ -381,7 +461,7 @@ if (contentProxy) { const url = decodeURI(req.path.replace(/\/metadata.json$/, "")); const doc = await buildDocumentFromURL(url); if (!doc?.doc) { - return redirectOr404(res, url, "/metadata.json"); + return await redirectOr404(res, url, "/metadata.json"); } const docString = JSON.stringify(doc); @@ -410,7 +490,7 @@ if (contentProxy) { try { const doc = await buildDocumentFromURL(url); if (!doc) { - return redirectOr404(res, url); + return await redirectOr404(res, url); } res.header("Content-Security-Policy", CSP_VALUE); return res.send(renderHTML(doc)); @@ -420,9 +500,35 @@ if (contentProxy) { }); } +if (RARI) { + app.get( + [ + "/en-US/about", + "/en-US/about/index.json", + "/en-US/community", + "/en-US/community/index.json", + "/en-US/plus/docs/*", + "/en-US/observatory/docs/*", + "/:locale/", + ], + async (req, res) => { + try { + const index = await fetch_from_rari(req.path); + if (req.path.endsWith(".json")) { + return res.json(index); + } + res.header("Content-Security-Policy", CSP_VALUE); + return res.send(renderHTML(index)); + } catch (error) { + return res.status(500).json(JSON.stringify(error.toString())); + } + } + ); +} + app.use(staticMiddlewares); -app.get("/*", (_, res) => send404(res)); +app.get("/*", async (_, res) => await send404(res)); if (!fs.existsSync(path.resolve(CONTENT_ROOT))) { throw new Error(`${path.resolve(CONTENT_ROOT)} does not exist!`); diff --git a/tool/popularities.ts b/tool/popularities.ts index 87a010ac7514..2b020ba4defb 100644 --- a/tool/popularities.ts +++ b/tool/popularities.ts @@ -69,7 +69,14 @@ export async function runMakePopularitiesFile({ pageviews.slice(0, maxUris).forEach(([uri, popularity]) => { popularities[uri] = parseFloat(popularity.toFixed(5)); }); - fs.writeFileSync(outfile, JSON.stringify(popularities, null, 2)); + fs.writeFileSync( + outfile, + JSON.stringify( + { popularities: popularities, date: new Date().toISOString() }, + null, + 2 + ) + ); resolve({ rowCount, popularities, pageviews }); }); }); diff --git a/yarn.lock b/yarn.lock index edcc94452aef..6f88cd98234b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,15 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" +"@apidevtools/json-schema-ref-parser@^11.5.5": + version "11.7.2" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.7.2.tgz#cdf3e0aded21492364a70e193b45b7cf4177f031" + integrity sha512-4gY54eEGEstClvEkGnwVkTkrx0sqwemEFG5OSRRn3tD91XH0+Q8XIkYIfo7IwEWPpJZwILb9GUXeShtplRc/eA== + dependencies: + "@jsdevtools/ono" "^7.1.3" + "@types/json-schema" "^7.0.15" + js-yaml "^4.1.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" @@ -1815,6 +1824,13 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" +"@isaacs/fs-minipass@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz#2d59ae3ab4b38fb4270bfa23d30f8e2e86c7fe32" + integrity sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== + dependencies: + minipass "^7.0.4" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -2079,6 +2095,11 @@ jsbi "^4.3.0" tslib "^2.4.1" +"@jsdevtools/ono@^7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" + integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== + "@jsonjoy.com/base64@^1.1.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jsonjoy.com/base64/-/base64-1.1.2.tgz#cf8ea9dcb849b81c95f14fc0aaa151c6b54d2578" @@ -2187,6 +2208,17 @@ resolved "https://registry.yarnpkg.com/@mdn/minimalist/-/minimalist-2.0.4.tgz#6488ab0cb65b059446dcd9bf542246b81febe241" integrity sha512-jocePw/fsGcBxO67D+iWQLZ0TQjwNVonaME2BFN98QIm/e1kTY1/k2s4fOqH5MMa3QYURxa098bI4sChn6s/7Q== +"@mdn/rari@^0.0.25": + version "0.0.25" + resolved "https://registry.yarnpkg.com/@mdn/rari/-/rari-0.0.25.tgz#719b6a72eb8239dca48b6bf090f1f38490380be7" + integrity sha512-5r1P9CAGLC93O6hZgc2fdO0Z4B/uI8PbAworRRlMthPlXUjyiyfIdzijwGCkr8JN5H6950oCLfjwJAEd4NGUPQ== + dependencies: + extract-zip "^2.0.1" + https-proxy-agent "^7.0.2" + json-schema-to-typescript "^15.0.0" + proxy-from-env "^1.1.0" + tar "^7.4.3" + "@mozilla/glean@5.0.3": version "5.0.3" resolved "https://registry.yarnpkg.com/@mozilla/glean/-/glean-5.0.3.tgz#eda7169f3e8f38a7d3019a1512b45778c4f05735" @@ -3342,7 +3374,7 @@ "@types/tough-cookie" "*" parse5 "^7.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -3352,7 +3384,7 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/lodash@^4.14.149": +"@types/lodash@^4.14.149", "@types/lodash@^4.17.7": version "4.17.13" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb" integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== @@ -3642,6 +3674,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + "@typescript-eslint/eslint-plugin@8.16.0": version "8.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.16.0.tgz#ac56825bcdf3b392fc76a94b1315d4a162f201a6" @@ -4991,6 +5030,11 @@ chokidar@^4.0.0: dependencies: readdirp "^4.0.1" +chownr@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-3.0.0.tgz#9855e64ecd240a9cc4267ce8a4aa5d24a1da15e4" + integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== + chrome-trace-event@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" @@ -5260,6 +5304,19 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +concurrently@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-9.0.1.tgz#01e171bf6c7af0c022eb85daef95bff04d8185aa" + integrity sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg== + dependencies: + chalk "^4.1.2" + lodash "^4.17.21" + rxjs "^7.8.1" + shell-quote "^1.8.1" + supports-color "^8.1.1" + tree-kill "^1.2.2" + yargs "^17.7.2" + config-chain@^1.1.11: version "1.1.13" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" @@ -6989,6 +7046,17 @@ external-editor@^3.0.3, external-editor@^3.1.0: iconv-lite "^0.4.24" tmp "^0.0.33" +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -7515,6 +7583,13 @@ get-stream@^4.0.0: dependencies: pump "^3.0.0" +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -7582,7 +7657,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^10.0.0: +glob@^10.0.0, glob@^10.3.7: version "10.4.5" resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== @@ -9597,6 +9672,21 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-schema-to-typescript@^15.0.0: + version "15.0.3" + resolved "https://registry.yarnpkg.com/json-schema-to-typescript/-/json-schema-to-typescript-15.0.3.tgz#a58bc3e00e4480e76a8ee79471c01233494913be" + integrity sha512-iOKdzTUWEVM4nlxpFudFsWyUiu/Jakkga4OZPEt7CGoSEsAsUgdOZqR6pcgx2STBek9Gm4hcarJpXSzIvZ/hKA== + dependencies: + "@apidevtools/json-schema-ref-parser" "^11.5.5" + "@types/json-schema" "^7.0.15" + "@types/lodash" "^4.17.7" + is-glob "^4.0.3" + js-yaml "^4.1.0" + lodash "^4.17.21" + minimist "^1.2.8" + prettier "^3.2.5" + tinyglobby "^0.2.9" + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -10730,16 +10820,24 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4, minipass@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== +minizlib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-3.0.1.tgz#46d5329d1eb3c83924eff1d3b858ca0a31581012" + integrity sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg== + dependencies: + minipass "^7.0.4" + rimraf "^5.0.5" + mkdirp@^0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -10747,6 +10845,11 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.6" +mkdirp@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== + module-details-from-path@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" @@ -12303,7 +12406,7 @@ prettier-plugin-packagejson@^2.5.6: sort-package-json "2.12.0" synckit "0.9.2" -prettier@^3.4.1: +prettier@^3.2.5, prettier@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.1.tgz#e211d451d6452db0a291672ca9154bc8c2579f7b" integrity sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg== @@ -13051,6 +13154,13 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^5.0.5: + version "5.0.10" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.10.tgz#23b9843d3dc92db71f96e1a2ce92e39fd2a8221c" + integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== + dependencies: + glob "^10.3.7" + rough-notation@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/rough-notation/-/rough-notation-0.5.1.tgz#32abbb16b973fb00fba83ab96b18704e98620e95" @@ -13085,6 +13195,13 @@ rxjs@^6.4.0: dependencies: tslib "^1.9.0" +rxjs@^7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + safe-array-concat@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" @@ -14118,7 +14235,7 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: +supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -14233,6 +14350,18 @@ tar-stream@^1.5.2: to-buffer "^1.1.1" xtend "^4.0.0" +tar@^7.4.3: + version "7.4.3" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.4.3.tgz#88bbe9286a3fcd900e94592cda7a22b192e80571" + integrity sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw== + dependencies: + "@isaacs/fs-minipass" "^4.0.0" + chownr "^3.0.0" + minipass "^7.1.2" + minizlib "^3.0.1" + mkdirp "^3.0.1" + yallist "^5.0.0" + temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" @@ -14440,6 +14569,11 @@ tree-dump@^1.0.1: resolved "https://registry.yarnpkg.com/tree-dump/-/tree-dump-1.0.2.tgz#c460d5921caeb197bde71d0e9a7b479848c5b8ac" integrity sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ== +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + trim-lines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" @@ -14549,6 +14683,11 @@ tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.1, tslib@^2.6 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== +tslib@^2.1.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" + integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -15545,6 +15684,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yallist@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" + integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== + yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" @@ -15565,7 +15709,7 @@ yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.3.1: +yargs@^17.3.1, yargs@^17.7.2: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== @@ -15578,7 +15722,7 @@ yargs@^17.3.1: y18n "^5.0.5" yargs-parser "^21.1.1" -yauzl@^2.4.2, yauzl@^2.9.2: +yauzl@^2.10.0, yauzl@^2.4.2, yauzl@^2.9.2: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== From 2c8fff211e516edf16804736a556f0660b9cefef Mon Sep 17 00:00:00 2001 From: A1lo Date: Fri, 29 Nov 2024 18:21:20 +0800 Subject: [PATCH 026/156] fix(release): correct the filename of the `ssr` cli (#12205) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7d278fd304aa..36876b9414af 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "yari-build": "build/cli.js", "yari-build-blog": "build/build-blog.js", "yari-filecheck": "filecheck/cli.js", - "yari-render-html": "build/cli-ssr.js", + "yari-render-html": "build/ssr-cli.js", "yari-server": "server/index.js", "yari-tool": "tool/cli.js" }, From 08313d56303d9bdd61ca39bf6fda373c262a8e90 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 11:27:24 +0100 Subject: [PATCH 027/156] chore(main): release 3.0.0 (#12060) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .release-please-manifest.json | 2 +- CHANGELOG.md | 141 ++++++++++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 143 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 3b27c44207c5..d4f6f2994ea4 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.65.1" + ".": "3.0.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index e952e2645a62..53927da1c7cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,146 @@ # Changelog +## [3.0.0](https://github.com/mdn/yari/compare/v2.65.1...v3.0.0) (2024-11-29) + + +### ⚠ BREAKING CHANGES + +* **deps:** bump NodeJS from v18 to v20 ([#12052](https://github.com/mdn/yari/issues/12052)) + +### Features + +* **de:** launch German translation experiment ([#12033](https://github.com/mdn/yari/issues/12033)) ([22d6890](https://github.com/mdn/yari/commit/22d6890571155ed7d99d8fa37edcc78ca1001981)) +* **placement:** new gradient ([#12197](https://github.com/mdn/yari/issues/12197)) ([6f891d9](https://github.com/mdn/yari/commit/6f891d955d11655d155734df846beb67e3e2ef12)) +* **playground:** playground backend v2 ([#12136](https://github.com/mdn/yari/issues/12136)) ([f1417ae](https://github.com/mdn/yari/commit/f1417ae2af856fdb1f5627f065604a50f0aa557f)) +* **playground:** support state param in playground ([#12168](https://github.com/mdn/yari/issues/12168)) ([4390f8c](https://github.com/mdn/yari/commit/4390f8cbcb678a399ab249c2e9456f6107afd6bb)) +* **rari:** support rari as beta feature and new popularities ([#12051](https://github.com/mdn/yari/issues/12051)) ([1feb487](https://github.com/mdn/yari/commit/1feb4871957305eba3f654ad4e3749399e874cdc)) +* **survey:** homepage survey 2024 ([#12115](https://github.com/mdn/yari/issues/12115)) ([55158d8](https://github.com/mdn/yari/commit/55158d864af2072af1f3eaa251343697ddf0f4ed)) +* **survey:** webdx editing survey ([#12132](https://github.com/mdn/yari/issues/12132)) ([ecf6b9e](https://github.com/mdn/yari/commit/ecf6b9e80c17490ad6ee654be96d59bc2c678d8e)) + + +### Bug Fixes + +* **article-footer:** fix typo ([#12098](https://github.com/mdn/yari/issues/12098)) ([fa9cb13](https://github.com/mdn/yari/commit/fa9cb130d4302b03e0c206558de4a5145ca6ff7c)) +* **css:** fix upside-down rendering of CJK characters in translation ([#11922](https://github.com/mdn/yari/issues/11922)) ([2a0d85c](https://github.com/mdn/yari/commit/2a0d85ce53244f07cd716ea3c3f1c28dcacac416)) +* **flaws:** re-add href to broken links as data ([#12131](https://github.com/mdn/yari/issues/12131)) ([052dae6](https://github.com/mdn/yari/commit/052dae6bd5dd719380fba33d15837dc4542201a1)) +* **flaws:** shared assets images must no be flaws ([#12133](https://github.com/mdn/yari/issues/12133)) ([b3013f9](https://github.com/mdn/yari/commit/b3013f9bc3f77529fde52d051909682f6649c892)) +* **font:** disable contextual variant ligatures in headings ([#12134](https://github.com/mdn/yari/issues/12134)) ([5261286](https://github.com/mdn/yari/commit/52612867279431ca0ac9a3215647324343248fb6)) +* **livesamples:** fix data attribute for path ([#12169](https://github.com/mdn/yari/issues/12169)) ([2abd073](https://github.com/mdn/yari/commit/2abd073df738d99366a7d7bb11ac58fadade23a1)) +* **playground:** fix chrome canary ([#12137](https://github.com/mdn/yari/issues/12137)) ([1302e48](https://github.com/mdn/yari/commit/1302e483d0a5106d4dafa7f29f486d0f44e0c6bd)) +* **playground:** fix layout in chrome when all editors are collapsed ([#12162](https://github.com/mdn/yari/issues/12162)) ([8dbd410](https://github.com/mdn/yari/commit/8dbd4100fb402009af30b06a33a2726f5a5646bd)) +* **release:** correct the filename of the `ssr` cli ([#12205](https://github.com/mdn/yari/issues/12205)) ([2c8fff2](https://github.com/mdn/yari/commit/2c8fff211e516edf16804736a556f0660b9cefef)) +* **ssr:** ensure locale is set ([#12096](https://github.com/mdn/yari/issues/12096)) ([8f780a8](https://github.com/mdn/yari/commit/8f780a8ca6802e9248a3bc8c398286dc1e679138)) +* **tool/gather-git-history:** skip German locale ([#12120](https://github.com/mdn/yari/issues/12120)) ([c78bd6d](https://github.com/mdn/yari/commit/c78bd6d27310d65be328467313e36ff2990b69cf)) + + +### Enhancements + +* **a11y-nav:** fix background and padding ([#12121](https://github.com/mdn/yari/issues/12121)) ([10a819c](https://github.com/mdn/yari/commit/10a819ca175ea9bc8ba87a96d18b34a7d29f300b)) +* **telemetry:** measure BCD table views, link clicks, cell expansions ([#12030](https://github.com/mdn/yari/issues/12030)) ([a33ce9c](https://github.com/mdn/yari/commit/a33ce9cae8f2eaf988f6226eb293ca609f369151)) + + +### Miscellaneous + +* **deps-dev:** bump @playwright/test from 1.48.2 to 1.49.0 ([#12149](https://github.com/mdn/yari/issues/12149)) ([7b52352](https://github.com/mdn/yari/commit/7b52352784036080e4e4019a667ed1df698748df)) +* **deps-dev:** bump @swc/core from 1.7.40 to 1.7.42 ([#12065](https://github.com/mdn/yari/issues/12065)) ([17939b0](https://github.com/mdn/yari/commit/17939b01a90b750b236253c372554f868ddc8317)) +* **deps-dev:** bump @swc/core from 1.7.42 to 1.8.0 ([#12082](https://github.com/mdn/yari/issues/12082)) ([5a5d16f](https://github.com/mdn/yari/commit/5a5d16fcfb97632356d7e38e0602c5dea88897d4)) +* **deps-dev:** bump @swc/core from 1.8.0 to 1.9.0 ([#12094](https://github.com/mdn/yari/issues/12094)) ([e50e40f](https://github.com/mdn/yari/commit/e50e40f51dbd3bf2e5bd80fc14e928b8c68d9efb)) +* **deps-dev:** bump @swc/core from 1.9.0 to 1.9.1 ([#12102](https://github.com/mdn/yari/issues/12102)) ([cca0abb](https://github.com/mdn/yari/commit/cca0abbd6f804a78db27dbeb0686184ef4de34f3)) +* **deps-dev:** bump @swc/core from 1.9.1 to 1.9.2 ([#12114](https://github.com/mdn/yari/issues/12114)) ([d738bf9](https://github.com/mdn/yari/commit/d738bf9305750451f53412fcb9334ff2c533ac2c)) +* **deps-dev:** bump @swc/core from 1.9.2 to 1.9.3 ([#12166](https://github.com/mdn/yari/issues/12166)) ([986c406](https://github.com/mdn/yari/commit/986c406216c666de0c127d76b73a23118b15e645)) +* **deps-dev:** bump @types/node from 18.19.61 to 18.19.62 in the types group ([#12062](https://github.com/mdn/yari/issues/12062)) ([6181b8c](https://github.com/mdn/yari/commit/6181b8cccb6ff8bbf01b9311d6b8fb00360b3abd)) +* **deps-dev:** bump @types/node from 18.19.62 to 18.19.63 in the types group ([#12071](https://github.com/mdn/yari/issues/12071)) ([fd234b8](https://github.com/mdn/yari/commit/fd234b811d331f63fc3682b7ad28c4e8dea64036)) +* **deps-dev:** bump @types/node from 18.19.63 to 18.19.64 in the types group ([#12079](https://github.com/mdn/yari/issues/12079)) ([30ee2a5](https://github.com/mdn/yari/commit/30ee2a577418812c06e8e44c9244249d4240c4dc)) +* **deps-dev:** bump @types/node from 18.19.64 to 18.19.65 in the types group ([#12175](https://github.com/mdn/yari/issues/12175)) ([afe7605](https://github.com/mdn/yari/commit/afe76057912a39ad80d36a6f20a87aa086ed727f)) +* **deps-dev:** bump @types/node from 18.19.65 to 18.19.66 in the types group ([#12185](https://github.com/mdn/yari/issues/12185)) ([2c0d6c2](https://github.com/mdn/yari/commit/2c0d6c2104b0a6de68d6036ccde00bd3b7ca689e)) +* **deps-dev:** bump @types/node from 18.19.66 to 18.19.67 in the types group ([#12200](https://github.com/mdn/yari/issues/12200)) ([2b95347](https://github.com/mdn/yari/commit/2b95347b75079c3a38874be4783a170e9d0be8e3)) +* **deps-dev:** bump cross-spawn from 6.0.5 to 6.0.6 in /cloud-function ([#12198](https://github.com/mdn/yari/issues/12198)) ([982044c](https://github.com/mdn/yari/commit/982044cd6c819951a7566e9e044e9e24f66b2d2b)) +* **deps-dev:** bump eslint-plugin-jest from 28.8.3 to 28.9.0 ([#12095](https://github.com/mdn/yari/issues/12095)) ([871fa6c](https://github.com/mdn/yari/commit/871fa6c1b486ccd5bd80a995ef090704afaa6e6c)) +* **deps-dev:** bump eslint-plugin-n from 17.12.0 to 17.13.0 ([#12099](https://github.com/mdn/yari/issues/12099)) ([58283c9](https://github.com/mdn/yari/commit/58283c999539494a7a6ea5a546f1e5ff5243e4c7)) +* **deps-dev:** bump eslint-plugin-n from 17.13.0 to 17.13.1 ([#12105](https://github.com/mdn/yari/issues/12105)) ([f8419bc](https://github.com/mdn/yari/commit/f8419bc539c59b0714654d46f9aa6d4cea24aee5)) +* **deps-dev:** bump eslint-plugin-n from 17.13.1 to 17.13.2 ([#12130](https://github.com/mdn/yari/issues/12130)) ([cff300f](https://github.com/mdn/yari/commit/cff300fa548c437c77eae687f64cb11eb7058ce6)) +* **deps-dev:** bump eslint-plugin-react-hooks from 4.6.2 to 5.0.0 ([#11961](https://github.com/mdn/yari/issues/11961)) ([6642167](https://github.com/mdn/yari/commit/6642167d27f58b6be08d8bf39ab7cc824040d3d4)) +* **deps-dev:** bump eslint-plugin-unicorn from 56.0.0 to 56.0.1 ([#12150](https://github.com/mdn/yari/issues/12150)) ([098c36d](https://github.com/mdn/yari/commit/098c36d7b0f8248634b480d2f92d87f7bd3f2cc7)) +* **deps-dev:** bump html-validate from 8.24.2 to 8.25.0 ([#12111](https://github.com/mdn/yari/issues/12111)) ([66fb8b3](https://github.com/mdn/yari/commit/66fb8b335d2e0a909014ee182f1d7bb2e16a7a1f)) +* **deps-dev:** bump html-validate from 8.25.0 to 8.26.0 ([#12196](https://github.com/mdn/yari/issues/12196)) ([a5cb491](https://github.com/mdn/yari/commit/a5cb4910d311536a506f271c6510471bdf4e3101)) +* **deps-dev:** bump husky from 9.1.6 to 9.1.7 ([#12148](https://github.com/mdn/yari/issues/12148)) ([6741830](https://github.com/mdn/yari/commit/6741830faf8f4f2f37976011a94b12e99b6f5ec9)) +* **deps-dev:** bump lint-staged from 13.2.3 to 15.2.10 ([#12146](https://github.com/mdn/yari/issues/12146)) ([50e85ec](https://github.com/mdn/yari/commit/50e85ec23c3d5c19ab59a0b03dff9dab72970a35)) +* **deps-dev:** bump mini-css-extract-plugin from 2.9.1 to 2.9.2 ([#12073](https://github.com/mdn/yari/issues/12073)) ([5c7da92](https://github.com/mdn/yari/commit/5c7da928d1ca6ee9dcbe50e70fb7091db72f939b)) +* **deps-dev:** bump peggy from 4.1.1 to 4.2.0 ([#12153](https://github.com/mdn/yari/issues/12153)) ([cf6e784](https://github.com/mdn/yari/commit/cf6e7840352f5fa34ad748e6c14b4fe7eee67978)) +* **deps-dev:** bump postcss from 8.4.47 to 8.4.48 ([#12113](https://github.com/mdn/yari/issues/12113)) ([b9d8fe3](https://github.com/mdn/yari/commit/b9d8fe34692bc4d2f4ff63fc907d61552b7baed4)) +* **deps-dev:** bump postcss from 8.4.48 to 8.4.49 ([#12117](https://github.com/mdn/yari/issues/12117)) ([d066494](https://github.com/mdn/yari/commit/d066494c45f81add60b7241c1a17958893cad2d1)) +* **deps-dev:** bump postcss-preset-env from 10.0.8 to 10.0.9 ([#12084](https://github.com/mdn/yari/issues/12084)) ([3e9525f](https://github.com/mdn/yari/commit/3e9525fab1154e9defae47df373e5eca7e0e4f09)) +* **deps-dev:** bump postcss-preset-env from 10.0.9 to 10.1.0 ([#12112](https://github.com/mdn/yari/issues/12112)) ([e0a2d8a](https://github.com/mdn/yari/commit/e0a2d8aadaa6710bd5bcca030e3c1d8c3a81c978)) +* **deps-dev:** bump postcss-preset-env from 10.1.0 to 10.1.1 ([#12139](https://github.com/mdn/yari/issues/12139)) ([c764569](https://github.com/mdn/yari/commit/c7645699dd341f508f00a1eae3088fc5519bbd22)) +* **deps-dev:** bump prettier from 3.3.3 to 3.4.1 ([#12192](https://github.com/mdn/yari/issues/12192)) ([040f52f](https://github.com/mdn/yari/commit/040f52ffc0f5a2ea46ac64af9f507dfaabc6a81d)) +* **deps-dev:** bump prettier-plugin-packagejson from 2.5.3 to 2.5.5 ([#12156](https://github.com/mdn/yari/issues/12156)) ([a6aee6a](https://github.com/mdn/yari/commit/a6aee6a4e459c6eb321e9942ec7702815d33defe)) +* **deps-dev:** bump prettier-plugin-packagejson from 2.5.5 to 2.5.6 ([#12178](https://github.com/mdn/yari/issues/12178)) ([a37cfea](https://github.com/mdn/yari/commit/a37cfea9c486a8e3cee9f4659b40a998b8996aab)) +* **deps-dev:** bump react-router-dom from 6.27.0 to 6.28.0 ([#12103](https://github.com/mdn/yari/issues/12103)) ([0c1c7c3](https://github.com/mdn/yari/commit/0c1c7c3939cbed621a8471b262ca0f041644a10a)) +* **deps-dev:** bump sass from 1.80.5 to 1.80.6 ([#12080](https://github.com/mdn/yari/issues/12080)) ([dda43ef](https://github.com/mdn/yari/commit/dda43efb0d0c450982d2ba3c285ada34d1218acd)) +* **deps-dev:** bump sass from 1.80.6 to 1.80.7 ([#12123](https://github.com/mdn/yari/issues/12123)) ([cdf0471](https://github.com/mdn/yari/commit/cdf0471ada6b808b056c42ddceb23feaf8b2ac68)) +* **deps-dev:** bump sass from 1.80.7 to 1.81.0 ([#12129](https://github.com/mdn/yari/issues/12129)) ([ab1d92f](https://github.com/mdn/yari/commit/ab1d92ff461897e4020063c60fbdc4a00918e171)) +* **deps-dev:** bump sass-loader from 16.0.2 to 16.0.3 ([#12072](https://github.com/mdn/yari/issues/12072)) ([e63c453](https://github.com/mdn/yari/commit/e63c4538db73e0df4f85e24c397b931819459ca6)) +* **deps-dev:** bump typescript from 5.6.3 to 5.7.2 in /client/pwa ([#12174](https://github.com/mdn/yari/issues/12174)) ([043f305](https://github.com/mdn/yari/commit/043f305f27933dc7679aac59f920077ee7b341e3)) +* **deps-dev:** bump typescript-eslint from 8.12.2 to 8.13.0 ([#12088](https://github.com/mdn/yari/issues/12088)) ([19be759](https://github.com/mdn/yari/commit/19be7593c42c4fd528e7e6754a999638ed879640)) +* **deps-dev:** bump typescript-eslint from 8.13.0 to 8.14.0 ([#12119](https://github.com/mdn/yari/issues/12119)) ([99b6e62](https://github.com/mdn/yari/commit/99b6e622140c918f51b25b134dbdfeb8fd5cee43)) +* **deps-dev:** bump typescript-eslint from 8.14.0 to 8.15.0 ([#12147](https://github.com/mdn/yari/issues/12147)) ([73d917f](https://github.com/mdn/yari/commit/73d917fa798fb4f0ff123544f53b3efe5fa992d5)) +* **deps-dev:** bump typescript-eslint from 8.15.0 to 8.16.0 ([#12190](https://github.com/mdn/yari/issues/12190)) ([6b3440b](https://github.com/mdn/yari/commit/6b3440b3fa1ab1773e6cea8889a5015d164ed686)) +* **deps-dev:** bump webpack from 5.95.0 to 5.96.1 ([#12075](https://github.com/mdn/yari/issues/12075)) ([8478e4a](https://github.com/mdn/yari/commit/8478e4a7cf5387e2d65e78c24fc0af56f20c351b)) +* **deps-dev:** bump webpack from 5.95.0 to 5.96.1 in /client/pwa ([#12070](https://github.com/mdn/yari/issues/12070)) ([425dd62](https://github.com/mdn/yari/commit/425dd6276a524c597a17cddca6c500fa89f64026)) +* **deps-dev:** remove bfj ([#12086](https://github.com/mdn/yari/issues/12086)) ([a71ff18](https://github.com/mdn/yari/commit/a71ff184f955e358615e6b5232acd07c905c1967)) +* **deps:** bump @codemirror/lang-css from 6.3.0 to 6.3.1 ([#12189](https://github.com/mdn/yari/issues/12189)) ([7b29e97](https://github.com/mdn/yari/commit/7b29e9785dfc0a81c7ecebb7acb7b3135307060e)) +* **deps:** bump @inquirer/prompts from 7.0.1 to 7.1.0 ([#12116](https://github.com/mdn/yari/issues/12116)) ([98e2459](https://github.com/mdn/yari/commit/98e24592046486a486d5bbc33fa4e8d3b89e3cff)) +* **deps:** bump @mdn/browser-compat-data from 5.6.11 to 5.6.12 ([#12081](https://github.com/mdn/yari/issues/12081)) ([6919fb1](https://github.com/mdn/yari/commit/6919fb1c5120df37e77cda3e40a8a79b4939bd3b)) +* **deps:** bump @mdn/browser-compat-data from 5.6.12 to 5.6.13 ([#12092](https://github.com/mdn/yari/issues/12092)) ([42714a8](https://github.com/mdn/yari/commit/42714a8004596238c87e9488d7c6f2e70879f747)) +* **deps:** bump @mdn/browser-compat-data from 5.6.13 to 5.6.14 ([#12110](https://github.com/mdn/yari/issues/12110)) ([0de61fc](https://github.com/mdn/yari/commit/0de61fc70265c105da6649a68034ecae789be628)) +* **deps:** bump @mdn/browser-compat-data from 5.6.14 to 5.6.15 ([#12125](https://github.com/mdn/yari/issues/12125)) ([25a6fea](https://github.com/mdn/yari/commit/25a6fea90f8c5038d992b70e7d1511e6615ba38f)) +* **deps:** bump @mdn/browser-compat-data from 5.6.15 to 5.6.16 ([#12141](https://github.com/mdn/yari/issues/12141)) ([40d15a8](https://github.com/mdn/yari/commit/40d15a8a75bf72655b1bbc33bef9fb4d3eef7f6c)) +* **deps:** bump @mdn/browser-compat-data from 5.6.16 to 5.6.17 ([#12155](https://github.com/mdn/yari/issues/12155)) ([fb71240](https://github.com/mdn/yari/commit/fb71240c8d74e100ce305505e81c935beb6ffcf2)) +* **deps:** bump @mdn/browser-compat-data from 5.6.17 to 5.6.18 ([#12177](https://github.com/mdn/yari/issues/12177)) ([34623b5](https://github.com/mdn/yari/commit/34623b505d731202f2e8acde3b44ad025f4b5893)) +* **deps:** bump @mdn/browser-compat-data from 5.6.18 to 5.6.19 ([#12195](https://github.com/mdn/yari/issues/12195)) ([cc88837](https://github.com/mdn/yari/commit/cc88837be032178a602afa74ca211a811bca9ac5)) +* **deps:** bump @sentry/node from 8.35.0 to 8.36.0 in the sentry group ([#12061](https://github.com/mdn/yari/issues/12061)) ([7304e5f](https://github.com/mdn/yari/commit/7304e5faa6d7b3f622568fcff2927db52c3f772d)) +* **deps:** bump @sentry/node from 8.36.0 to 8.37.1 in the sentry group ([#12091](https://github.com/mdn/yari/issues/12091)) ([e5948e9](https://github.com/mdn/yari/commit/e5948e955a8d1029e9165d4bbafc319c82f79fb4)) +* **deps:** bump @sentry/node from 8.37.1 to 8.38.0 in the sentry group ([#12122](https://github.com/mdn/yari/issues/12122)) ([dfcc9c2](https://github.com/mdn/yari/commit/dfcc9c24bbfecda3c4a19c9f2c4782e7a8824ad2)) +* **deps:** bump @sentry/node from 8.38.0 to 8.39.0 in the sentry group ([#12152](https://github.com/mdn/yari/issues/12152)) ([2559a4f](https://github.com/mdn/yari/commit/2559a4f517e551f5a062665664d62030eaaaa5e8)) +* **deps:** bump @sentry/node from 8.39.0 to 8.40.0 in the sentry group ([#12163](https://github.com/mdn/yari/issues/12163)) ([14b02ec](https://github.com/mdn/yari/commit/14b02ec53588d42a5c3de8213c252e35fdef64fe)) +* **deps:** bump @sentry/node from 8.40.0 to 8.41.0 in the sentry group ([#12199](https://github.com/mdn/yari/issues/12199)) ([16dae32](https://github.com/mdn/yari/commit/16dae3228960ebe47c1eeefb972f2b5e45f9869f)) +* **deps:** bump @stripe/stripe-js from 4.9.0 to 4.10.0 ([#12118](https://github.com/mdn/yari/issues/12118)) ([29289ca](https://github.com/mdn/yari/commit/29289ca05f7778b7e593e6241997ca95aaa8b4cb)) +* **deps:** bump @webref/css from 6.17.0 to 6.17.1 ([#12089](https://github.com/mdn/yari/issues/12089)) ([4b26208](https://github.com/mdn/yari/commit/4b262081995f09938f5b51a9600b6bf591c595e0)) +* **deps:** bump @webref/css from 6.17.1 to 6.17.2 ([#12128](https://github.com/mdn/yari/issues/12128)) ([4fd2437](https://github.com/mdn/yari/commit/4fd2437a72b21c6c461888e16ac6a7edced166b1)) +* **deps:** bump @webref/css from 6.17.2 to 6.17.3 ([#12158](https://github.com/mdn/yari/issues/12158)) ([a427759](https://github.com/mdn/yari/commit/a4277597206c354fafb196537f1ee7b43d8c2e2d)) +* **deps:** bump @webref/css from 6.17.3 to 6.17.4 ([#12194](https://github.com/mdn/yari/issues/12194)) ([a0fffb1](https://github.com/mdn/yari/commit/a0fffb15ae509167ba9c983f01515fd8ecb7e82f)) +* **deps:** bump boto3 from 1.35.49 to 1.35.54 in /deployer in the dependencies group ([#12085](https://github.com/mdn/yari/issues/12085)) ([fdbd7ad](https://github.com/mdn/yari/commit/fdbd7ad17099adbe2347fdc3719c6af350466d48)) +* **deps:** bump boto3 from 1.35.54 to 1.35.57 in /deployer in the dependencies group ([#12108](https://github.com/mdn/yari/issues/12108)) ([73c5870](https://github.com/mdn/yari/commit/73c58707855fa899c33226a815ca0ccff6aa09eb)) +* **deps:** bump boto3 from 1.35.63 to 1.35.68 in /deployer in the dependencies group ([#12181](https://github.com/mdn/yari/issues/12181)) ([1810ad0](https://github.com/mdn/yari/commit/1810ad074f73b4239de6b8257fcbd118f70a4842)) +* **deps:** bump compression from 1.7.4 to 1.7.5 ([#12074](https://github.com/mdn/yari/issues/12074)) ([81af8fb](https://github.com/mdn/yari/commit/81af8fb4abdcf5a22f1da3f5567aa9352e08a4f4)) +* **deps:** bump cross-spawn from 7.0.3 to 7.0.5 in /client/pwa ([#12138](https://github.com/mdn/yari/issues/12138)) ([c0aed7e](https://github.com/mdn/yari/commit/c0aed7e8ec99942a147d5459f3213bdf4e5a0c03)) +* **deps:** bump dexie from 4.0.9 to 4.0.10 ([#12142](https://github.com/mdn/yari/issues/12142)) ([1f9b769](https://github.com/mdn/yari/commit/1f9b769f8a182d2254a5212bf48b4e80a238130b)) +* **deps:** bump dexie from 4.0.9 to 4.0.10 in /client/pwa ([#12143](https://github.com/mdn/yari/issues/12143)) ([1f030a2](https://github.com/mdn/yari/commit/1f030a23c46d08bf1d11be86e55d88d6ae41b603)) +* **deps:** bump mdn-data from 2.12.1 to 2.12.2 ([#12090](https://github.com/mdn/yari/issues/12090)) ([dfaba03](https://github.com/mdn/yari/commit/dfaba03ed549f52e8522b6581f34343f1ff8f089)) +* **deps:** bump NodeJS from v18 to v20 ([#12052](https://github.com/mdn/yari/issues/12052)) ([263f4a2](https://github.com/mdn/yari/commit/263f4a202b7a89df7a1a552983c3c96bc249aac0)) +* **deps:** bump openai from 4.68.4 to 4.69.0 ([#12064](https://github.com/mdn/yari/issues/12064)) ([13b5e2c](https://github.com/mdn/yari/commit/13b5e2cf7fee4ef9dbabf7318529c9039fe3d116)) +* **deps:** bump openai from 4.69.0 to 4.70.2 ([#12083](https://github.com/mdn/yari/issues/12083)) ([7a2af2d](https://github.com/mdn/yari/commit/7a2af2d27995d3dbe40876a59747a11ac4843865)) +* **deps:** bump openai from 4.70.2 to 4.71.0 ([#12087](https://github.com/mdn/yari/issues/12087)) ([6ccdb3f](https://github.com/mdn/yari/commit/6ccdb3f8bbf870c88150fa800e3ee88b7ef73739)) +* **deps:** bump openai from 4.71.0 to 4.71.1 ([#12100](https://github.com/mdn/yari/issues/12100)) ([ec3d3af](https://github.com/mdn/yari/commit/ec3d3af680735b25673e8b22d51fdd2ebb1c3047)) +* **deps:** bump openai from 4.71.1 to 4.72.0 ([#12126](https://github.com/mdn/yari/issues/12126)) ([6dfcb5d](https://github.com/mdn/yari/commit/6dfcb5d5021d8c5b6d2830154e3a6203c188d8f5)) +* **deps:** bump openai from 4.72.0 to 4.73.0 ([#12157](https://github.com/mdn/yari/issues/12157)) ([0135449](https://github.com/mdn/yari/commit/01354498df071efc7c352931c305e4acb9fd7c5e)) +* **deps:** bump openai from 4.73.0 to 4.73.1 ([#12186](https://github.com/mdn/yari/issues/12186)) ([ec4f588](https://github.com/mdn/yari/commit/ec4f5888562e0670608f58e97212675c401a5d67)) +* **deps:** bump the dependencies group in /deployer with 2 updates ([#12144](https://github.com/mdn/yari/issues/12144)) ([b1a4f2b](https://github.com/mdn/yari/commit/b1a4f2b969d1e644c37c181b226f38dd5a992515)) +* **deps:** bump web-features from 2.3.0 to 2.4.0 ([#12063](https://github.com/mdn/yari/issues/12063)) ([2ba4209](https://github.com/mdn/yari/commit/2ba42098885a90d8f1c7e6bf5f288650b509e4b1)) +* **deps:** bump web-features from 2.4.0 to 2.5.0 ([#12106](https://github.com/mdn/yari/issues/12106)) ([63110ac](https://github.com/mdn/yari/commit/63110ac7bfa62a6928297cb280b95f453eefcfb7)) +* **deps:** bump web-features from 2.5.0 to 2.6.1 ([#12124](https://github.com/mdn/yari/issues/12124)) ([cd3ed52](https://github.com/mdn/yari/commit/cd3ed526ba242fa4091b704252eaa07543252a03)) +* **deps:** bump web-features from 2.6.1 to 2.7.0 ([#12160](https://github.com/mdn/yari/issues/12160)) ([4390b61](https://github.com/mdn/yari/commit/4390b61bc0e6578621f7a2b45b05448aa6f9f302)) +* **deps:** bump web-features from 2.7.0 to 2.8.0 ([#12188](https://github.com/mdn/yari/issues/12188)) ([12bd1ee](https://github.com/mdn/yari/commit/12bd1ee295b6c55bd01307ba5c6ae571e15583e2)) +* **deps:** bump web-specs from 3.23.0 to 3.24.0 ([#12093](https://github.com/mdn/yari/issues/12093)) ([bbf8a22](https://github.com/mdn/yari/commit/bbf8a22814e804e883a02c0caa116e22d104407b)) +* **deps:** bump web-specs from 3.24.0 to 3.25.0 ([#12109](https://github.com/mdn/yari/issues/12109)) ([0c14c62](https://github.com/mdn/yari/commit/0c14c6254a252aea1b4b53dddd7ab958c255bf33)) +* **deps:** bump web-specs from 3.25.0 to 3.26.0 ([#12127](https://github.com/mdn/yari/issues/12127)) ([22e3c94](https://github.com/mdn/yari/commit/22e3c943849b3aa02a4d862fd811afb7e6366734)) +* **deps:** bump web-specs from 3.26.0 to 3.27.0 ([#12161](https://github.com/mdn/yari/issues/12161)) ([5f3a672](https://github.com/mdn/yari/commit/5f3a672c07507b1ed18f2c8751945313531c7dc5)) +* **deps:** bump web-specs from 3.27.0 to 3.28.0 ([#12191](https://github.com/mdn/yari/issues/12191)) ([ca49d0c](https://github.com/mdn/yari/commit/ca49d0c39425953211aec7eb5417238b204777e1)) +* **deps:** run yarn upgrade ([#12145](https://github.com/mdn/yari/issues/12145)) ([bebabf7](https://github.com/mdn/yari/commit/bebabf704e6d5debf339c64225aa3b49f4fe0e70)) +* **deps:** udpate cloud-function deps ([#12135](https://github.com/mdn/yari/issues/12135)) ([68cc532](https://github.com/mdn/yari/commit/68cc532510d3fbf35e89701146def2f7f46e765b)) +* **scrimba:** add end of year banners ([#12184](https://github.com/mdn/yari/issues/12184)) ([2a7945a](https://github.com/mdn/yari/commit/2a7945a74c385f8493bde987456c88f7d6414b1b)) +* **survey:** keep hp survey one more week ([#12193](https://github.com/mdn/yari/issues/12193)) ([63491d3](https://github.com/mdn/yari/commit/63491d319696910dd87ea924d866f260f1578025)) + ## [2.65.1](https://github.com/mdn/yari/compare/v2.65.0...v2.65.1) (2024-10-30) diff --git a/package.json b/package.json index 36876b9414af..2bcca9aa8a16 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mdn/yari", - "version": "2.65.1", + "version": "3.0.0", "repository": "https://github.com/mdn/yari", "license": "MPL-2.0", "author": "MDN Web Docs", From ab035949340ede06b7f615c24fc76e28ffa2b44f Mon Sep 17 00:00:00 2001 From: Claas Augner <495429+caugner@users.noreply.github.com> Date: Fri, 29 Nov 2024 11:47:51 +0100 Subject: [PATCH 028/156] fix(stage-build): abort main merge on conflict (#12206) --- .github/workflows/stage-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stage-build.yml b/.github/workflows/stage-build.yml index e46f50d29432..899d3d7e6a4c 100644 --- a/.github/workflows/stage-build.yml +++ b/.github/workflows/stage-build.yml @@ -103,7 +103,7 @@ jobs: git checkout main git status git checkout - - git merge main --no-edit + git merge main --no-edit || git merge --abort - uses: actions/checkout@v4 if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} From 8e0d1f9a7afd96bbef3e3abb550bd496ee4f30f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 12:05:18 +0000 Subject: [PATCH 029/156] chore(deps): bump concurrently from 9.0.1 to 9.1.0 (#12209) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2bcca9aa8a16..9231ca19d9ac 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "codemirror": "^6.0.1", "compression": "^1.7.5", "compute-baseline": "^0.1.1", - "concurrently": "^9.0.1", + "concurrently": "^9.1.0", "cookie": "^0.7.2", "cookie-parser": "^1.4.7", "css-tree": "^2.3.1", diff --git a/yarn.lock b/yarn.lock index 6f88cd98234b..a7aab9a402d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5304,10 +5304,10 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concurrently@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-9.0.1.tgz#01e171bf6c7af0c022eb85daef95bff04d8185aa" - integrity sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg== +concurrently@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-9.1.0.tgz#8da6d609f4321752912dab9be8710232ac496aa0" + integrity sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg== dependencies: chalk "^4.1.2" lodash "^4.17.21" From 450e433f9c555cfb566573e9d6799061f7d9d870 Mon Sep 17 00:00:00 2001 From: Leonid Vinogradov Date: Fri, 29 Nov 2024 15:18:46 +0300 Subject: [PATCH 030/156] enhance(layout): add margin for "(en-US)" indicator (#12204) --- client/src/document/index.scss | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/client/src/document/index.scss b/client/src/document/index.scss index f765fc20d2ee..59c8463036b5 100644 --- a/client/src/document/index.scss +++ b/client/src/document/index.scss @@ -818,12 +818,6 @@ math[display="block"] { } } -.only-in-en-us { - span { - font-size: 0.8125rem; - } -} - a.page-not-created { cursor: not-allowed; @@ -953,6 +947,7 @@ html a.only-in-en-us:after { content: "(en-US)"; display: inline-block; font-size: var(--type-tiny-font-size); + margin-left: 0.5ch; vertical-align: super; } @@ -986,10 +981,12 @@ html[lang="pt-BR"] a.only-in-en-us:after { html[lang="zh-CN"] a.only-in-en-us:after { content: "(英语)"; + margin-left: unset; vertical-align: baseline; } html[lang="zh-TW"] a.only-in-en-us:after { content: "(英語)"; + margin-left: unset; vertical-align: baseline; } From 50b72fc78c93e9f48e548124d1684b1c8c1888b1 Mon Sep 17 00:00:00 2001 From: Claas Augner <495429+caugner@users.noreply.github.com> Date: Fri, 29 Nov 2024 15:51:21 +0100 Subject: [PATCH 031/156] chore(workflows): remove test-de build (#12207) The environment has been removed. --- .github/workflows/test-de-build.yml | 317 ---------------------------- 1 file changed, 317 deletions(-) delete mode 100644 .github/workflows/test-de-build.yml diff --git a/.github/workflows/test-de-build.yml b/.github/workflows/test-de-build.yml deleted file mode 100644 index 12c39eaa597d..000000000000 --- a/.github/workflows/test-de-build.yml +++ /dev/null @@ -1,317 +0,0 @@ -name: Test-DE Build - -env: - DEFAULT_NOTES: "" - -on: - schedule: - # * is a special character in YAML so you have to quote this string - - cron: "0 */24 * * *" - - workflow_dispatch: - inputs: - notes: - description: "Notes" - required: false - default: ${DEFAULT_NOTES} - - invalidate: - description: "Invalidate CDN (use only in exceptional circumstances)" - type: boolean - required: false - default: false - - workflow_call: - secrets: - GCP_PROJECT_NAME: - required: true - WIP_PROJECT_ID: - required: true - -permissions: - contents: read - id-token: write - -jobs: - trigger: - runs-on: ubuntu-latest - - # When run from `main` branch (schedule or manual), trigger workflow on `test-de` branch instead. - if: ${{ github.repository == 'mdn/yari' && github.ref_name == 'main' }} - steps: - - run: gh workflow run "${{ github.workflow }}" --repo "${{ github.repository }}" --ref "test-de" - env: - GH_TOKEN: ${{ secrets.AUTOMERGE_TOKEN }} - - build: - environment: test-de - runs-on: ubuntu-latest - - # Only run the scheduled workflows on the main repo. - if: github.repository == 'mdn/yari' && github.ref_name == 'test-de' - - steps: - - name: Checkout (yari) - uses: actions/checkout@v4 - - - name: Checkout (content) - uses: actions/checkout@v4 - if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} - with: - repository: mdn/content - path: mdn/content - # Yes, this means fetch EVERY COMMIT EVER. - # It's probably not sustainable in the far future (e.g. past 2021) - # but for now it's good enough. We'll need all the history - # so we can figure out each document's last-modified date. - fetch-depth: 0 - - - name: Checkout (mdn-studio) - uses: actions/checkout@v4 - if: ${{ ! vars.SKIP_BUILD }} - with: - repository: mdn/mdn-studio - path: mdn/mdn-studio - lfs: true - token: ${{ secrets.MDN_STUDIO_PAT }} - - - name: Checkout (curriculum) - uses: actions/checkout@v4 - if: ${{ ! vars.SKIP_BUILD }} - with: - repository: mdn/curriculum - path: mdn/curriculum - - - name: Checkout (translated-content) - uses: actions/checkout@v4 - if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} - with: - repository: mdn/translated-content - path: mdn/translated-content - # See matching warning for mdn/content checkout step - fetch-depth: 0 - - - name: Checkout (translated-content-de) - uses: actions/checkout@v4 - if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} - with: - repository: mdn/translated-content-de - path: mdn/translated-content-de - - - name: Move de into translated-content - run: | - mv mdn/translated-content-de/files/de mdn/translated-content/files/ - rm -rf mdn/translated-content-de - - - name: Checkout (contributor-spotlight) - uses: actions/checkout@v4 - if: ${{ ! vars.SKIP_BUILD }} - with: - repository: mdn/mdn-contributor-spotlight - path: mdn/mdn-contributor-spotlight - - - name: Setup Node.js - if: ${{ ! vars.SKIP_BUILD || ! vars.SKIP_FUNCTION }} - uses: actions/setup-node@v4 - with: - node-version-file: ".nvmrc" - cache: yarn - - - name: Install - if: ${{ ! vars.SKIP_BUILD }} - run: yarn --frozen-lockfile - env: - # https://github.com/microsoft/vscode-ripgrep#github-api-limit-note - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Print notes - if: github.event.inputs.notes - run: | - echo "notes: ${{ github.event.inputs.notes }}" - - - name: Print CPU info - run: cat /proc/cpuinfo - - - name: Build - if: ${{ ! vars.SKIP_BUILD }} - env: - # Remember, the mdn/content repo got cloned into `pwd` into a - # sub-folder called "mdn/content" - CONTENT_ROOT: ${{ github.workspace }}/mdn/content/files - CONTENT_TRANSLATED_ROOT: ${{ github.workspace }}/mdn/translated-content/files - CONTRIBUTOR_SPOTLIGHT_ROOT: ${{ github.workspace }}/mdn/mdn-contributor-spotlight/contributors - BLOG_ROOT: ${{ github.workspace }}/mdn/mdn-studio/content/posts - CURRICULUM_ROOT: ${{ github.workspace }}/mdn/curriculum - BASE_URL: "https://de.test.developer.allizom.org" - - # The default for this environment variable is geared for writers - # (aka. local development). Usually defaults are supposed to be for - # secure production but this is an exception and default - # is not insecure. - BUILD_LIVE_SAMPLES_BASE_URL: https://live.de.test.mdnyalp.dev - BUILD_LEGACY_LIVE_SAMPLES_BASE_URL: https://live.de.test.mdnyalp.dev - - # Use the stage version of interactive examples. - BUILD_INTERACTIVE_EXAMPLES_BASE_URL: https://interactive-examples.mdn.allizom.net - - # Now is not the time to worry about flaws. - #BUILD_FLAW_LEVELS: "*:ignore" - - # This enables the Plus call-to-action banner and the Plus landing page - REACT_APP_ENABLE_PLUS: true - - # This adds the ability to sign in (stage only for now) - REACT_APP_DISABLE_AUTH: false - - # Use the stage version of interactive examples in react app - REACT_APP_INTERACTIVE_EXAMPLES_BASE_URL: https://interactive-examples.mdn.allizom.net - - # Firefox Accounts and SubPlat settings - REACT_APP_FXA_SIGNIN_URL: /users/fxa/login/authenticate/ - REACT_APP_FXA_SETTINGS_URL: https://accounts.stage.mozaws.net/settings/ - REACT_APP_MDN_PLUS_SUBSCRIBE_URL: https://accounts.stage.mozaws.net/subscriptions/products/prod_Jtbg9tyGyLRuB0 - REACT_APP_MDN_PLUS_5M_PLAN: price_1JFoTYKb9q6OnNsLalexa03p - REACT_APP_MDN_PLUS_5Y_PLAN: price_1JpIPwKb9q6OnNsLJLsIqMp7 - REACT_APP_MDN_PLUS_10M_PLAN: price_1K6X7gKb9q6OnNsLi44HdLcC - REACT_APP_MDN_PLUS_10Y_PLAN: price_1K6X8VKb9q6OnNsLFlUcEiu4 - - # No surveys. - - # Telemetry. - REACT_APP_GLEAN_CHANNEL: test-de - REACT_APP_GLEAN_ENABLED: true - - # Newsletter - REACT_APP_NEWSLETTER_ENABLED: false - - # Placement - REACT_APP_PLACEMENT_ENABLED: false - - # Playground - REACT_APP_PLAYGROUND_BASE_HOST: play.de.test.mdn.allizom.net - run: | - set -eo pipefail - - # Info about which CONTENT_* environment variables were set and to what. - echo "CONTENT_ROOT=$CONTENT_ROOT" - echo "CONTENT_TRANSLATED_ROOT=$CONTENT_TRANSLATED_ROOT" - echo "BLOG_ROOT=$BLOG_ROOT" - # Build the ServiceWorker first - yarn build:sw - yarn build:prepare - - yarn tool sync-translated-content es fr ja ko pt-br ru zh-cn zh-tw - - # Build using one process per locale. - # Note: We have 4 cores, but 9 processes is a reasonable number. - for locale in en-us de es fr ja ko pt-br ru zh-cn zh-tw; do - yarn build:docs --locale $locale 2>&1 | sed "s/^/[$locale] /" & - pids+=($!) - done - - for pid in "${pids[@]}"; do - wait $pid - done - - du -sh client/build - - # Build the blog - yarn build:blog - - # Build the curriculum - yarn build:curriculum - - # Generate sitemap index file - yarn build --sitemap-index - - # SSR all pages - yarn render:html - - # Generate whatsdeployed files. - yarn tool whatsdeployed --output client/build/_whatsdeployed/code.json - yarn tool whatsdeployed $CONTENT_ROOT --output client/build/_whatsdeployed/content.json - yarn tool whatsdeployed $CONTENT_TRANSLATED_ROOT --output client/build/_whatsdeployed/translated-content.json - - - name: Auth (Cloud Storage) - uses: google-github-actions/auth@v2 - with: - token_format: access_token - service_account: deploy-test-de-content@${{ secrets.GCP_PROJECT_NAME }}.iam.gserviceaccount.com - workload_identity_provider: projects/${{ secrets.WIP_PROJECT_ID }}/locations/global/workloadIdentityPools/github-actions/providers/github-actions - - - name: Setup gcloud - uses: google-github-actions/setup-gcloud@v2 - - - name: Sync build - if: ${{ ! vars.SKIP_BUILD }} - run: |- - gsutil -q -m -h "Cache-Control: public, max-age=3600" cp -r client/build/static gs://${{ vars.GCP_BUCKET_NAME }}/main/ - gsutil -q -m -h "Cache-Control: public, max-age=3600" rsync -cdrj html,json,txt -y "^static/" client/build gs://${{ vars.GCP_BUCKET_NAME }}/main - - - name: Auth (Cloud Function) - if: ${{ ! vars.SKIP_FUNCTION }} - uses: google-github-actions/auth@v2 - with: - token_format: access_token - service_account: deploy-test-de-nonprod-mdn-ing@${{ secrets.GCP_PROJECT_NAME }}.iam.gserviceaccount.com - workload_identity_provider: projects/${{ secrets.WIP_PROJECT_ID }}/locations/global/workloadIdentityPools/github-actions/providers/github-actions - - - name: Setup gcloud - if: ${{ ! vars.SKIP_FUNCTION }} - uses: google-github-actions/setup-gcloud@v2 - with: - install_components: "beta" - - - name: Generate redirects map - if: ${{ ! vars.SKIP_FUNCTION }} - working-directory: cloud-function - env: - CONTENT_ROOT: ${{ github.workspace }}/mdn/content/files - CONTENT_TRANSLATED_ROOT: ${{ github.workspace }}/mdn/translated-content/files - run: | - npm ci - npm run build-redirects - npm run build-canonicals - - - name: Deploy function - if: ${{ ! vars.SKIP_FUNCTION }} - run: |- - set -eo pipefail - - for region in europe-west3; do - gcloud beta functions deploy mdn-nonprod-test-de-$region \ - --gen2 \ - --runtime=nodejs20 \ - --region=$region \ - --source=cloud-function \ - --trigger-http \ - --allow-unauthenticated \ - --entry-point=mdnHandler \ - --concurrency=100 \ - --min-instances=1 \ - --max-instances=100 \ - --memory=2GB \ - --timeout=120s \ - --set-env-vars="ORIGIN_MAIN=de.test.developer.allizom.org" \ - --set-env-vars="ORIGIN_LIVE_SAMPLES=live.de.test.mdnyalp.dev" \ - --set-env-vars="ORIGIN_PLAY=de.test.mdnyalp.dev" \ - --set-env-vars="SOURCE_CONTENT=https://storage.googleapis.com/${{ vars.GCP_BUCKET_NAME }}/main/" \ - --set-env-vars="SOURCE_API=https://api.developer.allizom.org/" \ - --set-env-vars="SENTRY_DSN=${{ secrets.SENTRY_DSN_CLOUD_FUNCTION }}" \ - --set-env-vars="SENTRY_ENVIRONMENT=test-de" \ - --set-env-vars="SENTRY_TRACES_SAMPLE_RATE=${{ vars.SENTRY_TRACES_SAMPLE_RATE }}" \ - --set-env-vars="SENTRY_RELEASE=${{ github.sha }}" \ - --set-secrets="KEVEL_SITE_ID=projects/${{ secrets.GCP_PROJECT_NAME }}/secrets/stage-kevel-site-id/versions/latest" \ - --set-secrets="KEVEL_NETWORK_ID=projects/${{ secrets.GCP_PROJECT_NAME }}/secrets/stage-kevel-network-id/versions/latest" \ - --set-secrets="SIGN_SECRET=projects/${{ secrets.GCP_PROJECT_NAME }}/secrets/stage-sign-secret/versions/latest" \ - 2>&1 | sed "s/^/[$region] /" & - pids+=($!) - done - - for pid in "${pids[@]}"; do - wait $pid - done - - - name: Invalidate CDN - if: ${{ github.event.inputs.invalidate }} - run: gcloud compute url-maps invalidate-cdn-cache ${{ secrets.GCP_LOAD_BALANCER_NAME }} --path "/*" --async From 53408027c2728cd952d194b0b0db059ef87497e0 Mon Sep 17 00:00:00 2001 From: Claas Augner <495429+caugner@users.noreply.github.com> Date: Fri, 29 Nov 2024 16:15:37 +0100 Subject: [PATCH 032/156] chore(ssr): let search engines index German locale (#12210) --- ssr/render.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ssr/render.tsx b/ssr/render.tsx index 1bbf62e7894c..74bdc1416418 100644 --- a/ssr/render.tsx +++ b/ssr/render.tsx @@ -145,10 +145,6 @@ export default function render( // Open Graph protocol expects `language_TERRITORY` format. const ogLocale = locale.replace("-", "_"); - if (locale === "de") { - // Prevent experimental German locale from being indexed. - onlyFollow = true; - } const robotsContent = !ALWAYS_ALLOW_ROBOTS || (doc && doc.noIndexing) || noIndexing ? "noindex, nofollow" From f800c248a6b6a5dcd7a504b44235d1407fe0780e Mon Sep 17 00:00:00 2001 From: foxy pirate cove / Fnaf <108185011+foxypiratecove37350@users.noreply.github.com> Date: Fri, 29 Nov 2024 17:52:59 +0100 Subject: [PATCH 033/156] fix(bcd): use Safari icon for iOS WebView (#12214) Fix iOS WebView showing the Android icon instead of the Safari icon Co-authored-by: Claas Augner --- .../browser-compatibility-table/headers.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/client/src/document/ingredients/browser-compatibility-table/headers.tsx b/client/src/document/ingredients/browser-compatibility-table/headers.tsx index 33ffb8b6302d..5783a3984370 100644 --- a/client/src/document/ingredients/browser-compatibility-table/headers.tsx +++ b/client/src/document/ingredients/browser-compatibility-table/headers.tsx @@ -59,8 +59,16 @@ function BrowserHeaders({ browsers }: { browsers: BCD.BrowserName[] }) { } export function browserToIconName(browser: string) { - const browserStart = browser.split("_")[0]; - return browserStart === "firefox" ? "simple-firefox" : browserStart; + if (browser.startsWith("firefox")) { + return "simple-firefox"; + } else if (browser === "webview_android") { + return "webview"; + } else if (browser === "webview_ios") { + return "safari"; + } else { + const browserStart = browser.split("_")[0]; + return browserStart; + } } export function Headers({ From ab93f163ac378bded4c4dafac7a2f79db24b3ec1 Mon Sep 17 00:00:00 2001 From: Andi Pieper Date: Fri, 29 Nov 2024 23:54:44 +0100 Subject: [PATCH 034/156] chore(ai-help): use index.json instead of plain.html for embedding sources (#12182) update ai-help-macros to create embedding source texts from index.json instead of plainhtml --- scripts/ai-help-macros.ts | 85 +++++++++++++++++++++++++++++++-------- 1 file changed, 69 insertions(+), 16 deletions(-) diff --git a/scripts/ai-help-macros.ts b/scripts/ai-help-macros.ts index d2cea614d758..a7da8af2306b 100644 --- a/scripts/ai-help-macros.ts +++ b/scripts/ai-help-macros.ts @@ -6,7 +6,7 @@ import pg from "pg"; import pgvector from "pgvector/pg"; import { fdir } from "fdir"; import OpenAI from "openai"; -import { load as cheerio } from "cheerio"; +import { load as cheerio, CheerioAPI } from "cheerio"; import { DocMetadata } from "../libs/types/document.js"; import { BUILD_OUT_ROOT, OPENAI_KEY, PG_URI } from "../libs/env/index.js"; @@ -21,6 +21,7 @@ import { VersionValue, } from "@mdn/browser-compat-data/types"; import { h2mSync } from "../markdown/index.js"; +import { Doc as JSONDoc } from "../libs/types/document.js"; const EMBEDDING_MODEL = "text-embedding-3-small"; const EMBEDDING_MODEL_NEXT = "text-embedding-3-small"; @@ -60,7 +61,8 @@ type EmbeddingUpdate = Pick & { export async function updateEmbeddings( directory: string, - updateFormatting: boolean + updateFormatting: boolean, + usePlainHtml: boolean ) { if (!OPENAI_KEY || !PG_URI) { throw Error("Please set these environment variables: OPENAI_KEY, PG_URI"); @@ -125,7 +127,8 @@ export async function updateEmbeddings( const embeddingUpdates: EmbeddingUpdate[] = []; for await (const { mdn_url, title, title_short, markdown, text } of builtDocs( - directory + directory, + usePlainHtml )) { seenUrls.add(mdn_url); @@ -379,8 +382,8 @@ export async function updateEmbeddings( pgClient.end(); } -async function formatDocs(directory: string) { - for await (const { markdown, text } of builtDocs(directory)) { +async function formatDocs(directory: string, usePlainHtml: boolean) { + for await (const { markdown, text } of builtDocs(directory, usePlainHtml)) { console.log(markdown, text); } } @@ -399,19 +402,55 @@ async function* builtPaths(directory: string) { } } -async function* builtDocs(directory: string) { +async function* builtDocs(directory: string, usePlainHtml: boolean) { for await (const metadataPath of builtPaths(directory)) { try { const raw = await readFile(metadataPath, "utf-8"); const { title, short_title, mdn_url, hash } = JSON.parse( raw ) as DocMetadata; - - const plainPath = path.join(path.dirname(metadataPath), "plain.html"); - const plainHTML = await readFile(plainPath, "utf-8"); - - // reformat HTML version, used as context - const $ = cheerio(plainHTML); + let $: CheerioAPI; + + if (usePlainHtml) { + const plainPath = path.join(path.dirname(metadataPath), "plain.html"); + const plainHTML = await readFile(plainPath, "utf-8"); + + // reformat HTML version, used as context + $ = cheerio(plainHTML); + } else { + const jsonPath = path.join(path.dirname(metadataPath), "index.json"); + const json = JSON.parse(await readFile(jsonPath, "utf-8")); + const doc = json.doc as JSONDoc; + + // Assemble the interim HTML from the json data + $ = cheerio(""); + for (const section of doc.body) { + const tag = section.value.isH3 ? "h3" : "h2"; + if (section.value.title) { + $("body").append("\n"); + $("body").append( + `<${tag} id="${section.value.id ?? ""}">${section.value.title}` + ); + } + switch (section.type) { + case "prose": { + $("body").append("\n"); + $("body").append(section.value.content); + break; + } + case "specifications": + break; + case "browser_compatibility": { + $("body").append("\n"); + $("body").append( + `
${buildBCDTable(section.value.query)}
` + ); + break; + } + } + } + $("span.language-name").remove(); + } $("#specifications, .bc-specs").remove(); $("body").prepend(`

${title}

`); $("head").prepend(`${title}`); @@ -422,6 +461,7 @@ async function* builtDocs(directory: string) { $(".bc-data[data-query]").each((_, el) => { $(el).replaceWith(buildBCDTable($(el).data("query") as string)); }); + const html = $.html(); const markdown = h2mSync(html); @@ -672,24 +712,37 @@ program .argument("", "Path in which to execute it", { default: path.join(BUILD_OUT_ROOT, "en-us", "docs"), }) + .option( + "--use-plain-html", + "Use `plain.html` files instead of `index.json` files." + ) .option( "--update-formatting", "Even if hashes match, update without generating a new embedding." ) .action(function (params) { const { directory } = params.args as { directory: string }; - const { updateFormatting } = params.options as { + const { updateFormatting, usePlainHtml } = params.options as { updateFormatting: boolean; + usePlainHtml: boolean; }; - return updateEmbeddings(directory, updateFormatting); + return updateEmbeddings(directory, updateFormatting, usePlainHtml); }) + .command("format-docs", "Generates formatted docs for local debugging") .argument("", "Path in which to execute it", { default: path.join(BUILD_OUT_ROOT, "en-us", "docs"), }) + .option( + "--use-plain-html", + "Use `plain.html` files instead of `index.json` files." + ) .action(function (params) { - const { directory } = params.args as { directory: string }; - return formatDocs(directory); + const { directory, usePlainHtml } = params.args as { + directory: string; + usePlainHtml: boolean; + }; + return formatDocs(directory, usePlainHtml); }); program.run(); From 1c12a81da823e6bcdc378f8d93386b36bdd82ac8 Mon Sep 17 00:00:00 2001 From: Florian Dieminger Date: Sun, 1 Dec 2024 14:35:17 +0100 Subject: [PATCH 035/156] fix(livesamples): livesamples must not use port from parent (#12216) --- client/src/playground/utils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/playground/utils.ts b/client/src/playground/utils.ts index b7fab2b568b7..ee0bf1bfa887 100644 --- a/client/src/playground/utils.ts +++ b/client/src/playground/utils.ts @@ -42,6 +42,7 @@ export async function initPlayIframe( `${path || ""}${path?.endsWith("/") ? "" : "/"}runner.html`, window.location.origin ); + url.port = ""; url.host = host; url.search = ""; url.searchParams.set("state", state); From f9bf33e91e2adc367f19efd631f62b6125cc9bc4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 13:37:16 +0000 Subject: [PATCH 036/156] chore(deps-dev): bump html-validate from 8.26.0 to 8.27.0 (#12217) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9231ca19d9ac..cb03819809c3 100644 --- a/package.json +++ b/package.json @@ -211,7 +211,7 @@ "foreman": "^3.0.1", "fork-ts-checker-webpack-plugin": "^9.0.2", "history": "^5.2.0", - "html-validate": "^8.26.0", + "html-validate": "^8.27.0", "html-webpack-plugin": "^5.6.3", "husky": "^9.1.7", "identity-obj-proxy": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index a7aab9a402d4..95099dec742b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8218,10 +8218,10 @@ html-url-attributes@^3.0.0: resolved "https://registry.yarnpkg.com/html-url-attributes/-/html-url-attributes-3.0.1.tgz#83b052cd5e437071b756cd74ae70f708870c2d87" integrity sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ== -html-validate@^8.26.0: - version "8.26.0" - resolved "https://registry.yarnpkg.com/html-validate/-/html-validate-8.26.0.tgz#9e5df35e8cd36ad156d7e3d9180e1d2bad81ba0a" - integrity sha512-nDUlsXbASFM78uPisYjw9q4vildzQnAdBp1WsSVoCl4wlbwRAb1pyM3MWSG/G7o/Dk7ZfvVrCV571U7z/U4sig== +html-validate@^8.27.0: + version "8.27.0" + resolved "https://registry.yarnpkg.com/html-validate/-/html-validate-8.27.0.tgz#8ac2d1eda6aa294918d1d0da8c21d85486de4811" + integrity sha512-T384MYvG4hUfWxLY6QSlcxfpGYFUJqA+yI4eBDlk5KfjMJco256SvdbJo1pLJUuQCESNbThf60svykdJFidcSA== dependencies: "@html-validate/stylish" "^4.1.0" "@sidvind/better-ajv-errors" "3.0.1" From 7732f91bef0f08ae0bbb4222259749f3a99402ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 13:38:15 +0000 Subject: [PATCH 037/156] chore(deps): bump @mdn/browser-compat-data from 5.6.19 to 5.6.20 (#12218) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cb03819809c3..0d8aaa202405 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "@inquirer/prompts": "^7.1.0", "@lit/react": "^1.0.6", "@mdn/bcd-utils-api": "^0.0.7", - "@mdn/browser-compat-data": "^5.6.19", + "@mdn/browser-compat-data": "^5.6.20", "@mdn/rari": "^0.0.25", "@mozilla/glean": "5.0.3", "@sentry/node": "^8.41.0", diff --git a/yarn.lock b/yarn.lock index 95099dec742b..d6b8d48c96f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2193,10 +2193,10 @@ resolved "https://registry.yarnpkg.com/@mdn/bcd-utils-api/-/bcd-utils-api-0.0.7.tgz#555e80c33df520df068943e6b18ebc07f0e24d19" integrity sha512-IHkkypEjlIkBkx4mJ2//Xbzog9M/Lzne1Sl8db2cIHJ/5pe3NCqSLwSchmqzcUN+/WJr/U+V3tNAbWunk2xZcA== -"@mdn/browser-compat-data@^5.6.19": - version "5.6.19" - resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.6.19.tgz#4822e7c27bd4da16de8d229a5c157ae436401442" - integrity sha512-nov43xmgYccY9ePMQfqPD29ASOKbOhn3iOJxA5reOfC3wLbEM5an8Sn6A3Th1TuD3XfXc0hjrFQYbJ3qhyPhhQ== +"@mdn/browser-compat-data@^5.6.20": + version "5.6.20" + resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.6.20.tgz#7ead33170b82fbdd6d0967182b9e7da6b9e8ef14" + integrity sha512-TOxHxwNNtZ+HWnmhBgBCKYwevIqxi5HOshnBg7Fac3R95EFGm3ir0HDUG1ujBG3i8zjXimp3GZK1lfsjkbmydg== "@mdn/dinocons@^0.5.5": version "0.5.5" From faab6515d8394ce7cffcbcefc1091e29cefe072d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 13:45:25 +0000 Subject: [PATCH 038/156] chore(deps): bump @mdn/rari from 0.0.25 to 0.0.26 (#12219) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 0d8aaa202405..87ce3f646d4d 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "@lit/react": "^1.0.6", "@mdn/bcd-utils-api": "^0.0.7", "@mdn/browser-compat-data": "^5.6.20", - "@mdn/rari": "^0.0.25", + "@mdn/rari": "^0.0.26", "@mozilla/glean": "5.0.3", "@sentry/node": "^8.41.0", "@stripe/stripe-js": "^4.10.0", diff --git a/yarn.lock b/yarn.lock index d6b8d48c96f5..ee3e818b7d56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2208,10 +2208,10 @@ resolved "https://registry.yarnpkg.com/@mdn/minimalist/-/minimalist-2.0.4.tgz#6488ab0cb65b059446dcd9bf542246b81febe241" integrity sha512-jocePw/fsGcBxO67D+iWQLZ0TQjwNVonaME2BFN98QIm/e1kTY1/k2s4fOqH5MMa3QYURxa098bI4sChn6s/7Q== -"@mdn/rari@^0.0.25": - version "0.0.25" - resolved "https://registry.yarnpkg.com/@mdn/rari/-/rari-0.0.25.tgz#719b6a72eb8239dca48b6bf090f1f38490380be7" - integrity sha512-5r1P9CAGLC93O6hZgc2fdO0Z4B/uI8PbAworRRlMthPlXUjyiyfIdzijwGCkr8JN5H6950oCLfjwJAEd4NGUPQ== +"@mdn/rari@^0.0.26": + version "0.0.26" + resolved "https://registry.yarnpkg.com/@mdn/rari/-/rari-0.0.26.tgz#dd2814f246aeab3d874ad971dd22257200612629" + integrity sha512-B2GuJOmuv+MapB7O0xoh8fzrkWI3Lo0Yq7M5S8bfNVU5NunSIZwzJsYFZ0VeRTBuAkWxYb6BO1l5Rq31HWu9gQ== dependencies: extract-zip "^2.0.1" https-proxy-agent "^7.0.2" From 5b23871fce28c0e5cfc2f8c28c7d73a429e804be Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 15:02:57 +0100 Subject: [PATCH 039/156] chore(main): release 3.0.1 (#12208) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .release-please-manifest.json | 2 +- CHANGELOG.md | 25 +++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index d4f6f2994ea4..d6f5405644d3 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "3.0.0" + ".": "3.0.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 53927da1c7cf..5aa07a346caf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,30 @@ # Changelog +## [3.0.1](https://github.com/mdn/yari/compare/v3.0.0...v3.0.1) (2024-12-01) + + +### Bug Fixes + +* **bcd:** use Safari icon for iOS WebView ([#12214](https://github.com/mdn/yari/issues/12214)) ([f800c24](https://github.com/mdn/yari/commit/f800c248a6b6a5dcd7a504b44235d1407fe0780e)) +* **livesamples:** livesamples must not use port from parent ([#12216](https://github.com/mdn/yari/issues/12216)) ([1c12a81](https://github.com/mdn/yari/commit/1c12a81da823e6bcdc378f8d93386b36bdd82ac8)) +* **stage-build:** abort main merge on conflict ([#12206](https://github.com/mdn/yari/issues/12206)) ([ab03594](https://github.com/mdn/yari/commit/ab035949340ede06b7f615c24fc76e28ffa2b44f)) + + +### Enhancements + +* **layout:** add margin for "(en-US)" indicator ([#12204](https://github.com/mdn/yari/issues/12204)) ([450e433](https://github.com/mdn/yari/commit/450e433f9c555cfb566573e9d6799061f7d9d870)) + + +### Miscellaneous + +* **ai-help:** use index.json instead of plain.html for embedding sources ([#12182](https://github.com/mdn/yari/issues/12182)) ([ab93f16](https://github.com/mdn/yari/commit/ab93f163ac378bded4c4dafac7a2f79db24b3ec1)) +* **deps-dev:** bump html-validate from 8.26.0 to 8.27.0 ([#12217](https://github.com/mdn/yari/issues/12217)) ([f9bf33e](https://github.com/mdn/yari/commit/f9bf33e91e2adc367f19efd631f62b6125cc9bc4)) +* **deps:** bump @mdn/browser-compat-data from 5.6.19 to 5.6.20 ([#12218](https://github.com/mdn/yari/issues/12218)) ([7732f91](https://github.com/mdn/yari/commit/7732f91bef0f08ae0bbb4222259749f3a99402ee)) +* **deps:** bump @mdn/rari from 0.0.25 to 0.0.26 ([#12219](https://github.com/mdn/yari/issues/12219)) ([faab651](https://github.com/mdn/yari/commit/faab6515d8394ce7cffcbcefc1091e29cefe072d)) +* **deps:** bump concurrently from 9.0.1 to 9.1.0 ([#12209](https://github.com/mdn/yari/issues/12209)) ([8e0d1f9](https://github.com/mdn/yari/commit/8e0d1f9a7afd96bbef3e3abb550bd496ee4f30f0)) +* **ssr:** let search engines index German locale ([#12210](https://github.com/mdn/yari/issues/12210)) ([5340802](https://github.com/mdn/yari/commit/53408027c2728cd952d194b0b0db059ef87497e0)) +* **workflows:** remove test-de build ([#12207](https://github.com/mdn/yari/issues/12207)) ([50b72fc](https://github.com/mdn/yari/commit/50b72fc78c93e9f48e548124d1684b1c8c1888b1)) + ## [3.0.0](https://github.com/mdn/yari/compare/v2.65.1...v3.0.0) (2024-11-29) diff --git a/package.json b/package.json index 87ce3f646d4d..11dcc7a56b4e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mdn/yari", - "version": "3.0.0", + "version": "3.0.1", "repository": "https://github.com/mdn/yari", "license": "MPL-2.0", "author": "MDN Web Docs", From 475eb73c04dd06dc223b8639bb1ef70e6de08bbd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:29:01 +0000 Subject: [PATCH 040/156] chore(deps): bump send from 0.19.0 to 1.1.0 (#11946) --- package.json | 2 +- yarn.lock | 57 ++++++++++++++++++++++++++-------------------------- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index 11dcc7a56b4e..976badf9467b 100644 --- a/package.json +++ b/package.json @@ -146,7 +146,7 @@ "remark-rehype": "^11.1.1", "remark-stringify": "^11.0.0", "sanitize-filename": "^1.6.3", - "send": "^0.19.0", + "send": "^1.1.0", "source-map-support": "^0.5.21", "sse.js": "^2.5.0", "tempy": "^3.1.0", diff --git a/yarn.lock b/yarn.lock index ee3e818b7d56..b0c175a206b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5962,7 +5962,7 @@ dequal@^2.0.0, dequal@^2.0.3: resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== -destroy@1.2.0: +destroy@1.2.0, destroy@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== @@ -6261,16 +6261,16 @@ enabled@2.0.x: resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== +encodeurl@^2.0.0, encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encodeurl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" - integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== - end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -6462,7 +6462,7 @@ escalade@^3.1.1, escalade@^3.2.0: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== @@ -6838,7 +6838,7 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: +etag@^1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== @@ -7432,7 +7432,7 @@ fraction.js@^4.3.7: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== -fresh@0.5.2: +fresh@0.5.2, fresh@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== @@ -8283,7 +8283,7 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@2.0.0: +http-errors@2.0.0, http-errors@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== @@ -10725,7 +10725,7 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -13375,24 +13375,23 @@ send@0.19.0: range-parser "~1.2.1" statuses "2.0.1" -send@^0.19.0: - version "0.19.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.19.1.tgz#1c2563b2ee4fe510b806b21ec46f355005a369f9" - integrity sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg== +send@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/send/-/send-1.1.0.tgz#4efe6ff3bb2139b0e5b2648d8b18d4dec48fc9c5" + integrity sha512-v67WcEouB5GxbTWL/4NeToqcZiAWEq90N888fczVArY8A79J0L4FD7vj5hm3eUMua5EpoQ59wa/oovY6TLvRUA== dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~2.0.0" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" + debug "^4.3.5" + destroy "^1.2.0" + encodeurl "^2.0.0" + escape-html "^1.0.3" + etag "^1.8.1" + fresh "^0.5.2" + http-errors "^2.0.0" + mime-types "^2.1.35" + ms "^2.1.3" + on-finished "^2.4.1" + range-parser "^1.2.1" + statuses "^2.0.1" serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: version "6.0.2" @@ -13779,7 +13778,7 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== -statuses@2.0.1: +statuses@2.0.1, statuses@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== From b75fd0009950cf0390dfec4754eb686a2405af6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:37:00 +0000 Subject: [PATCH 041/156] chore(deps): bump @stripe/stripe-js from 4.10.0 to 5.2.0 (#12154) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 976badf9467b..3b8ffa018fac 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "@mdn/rari": "^0.0.26", "@mozilla/glean": "5.0.3", "@sentry/node": "^8.41.0", - "@stripe/stripe-js": "^4.10.0", + "@stripe/stripe-js": "^5.2.0", "@use-it/interval": "^1.0.0", "@vscode/ripgrep": "^1.15.9", "@webref/css": "^6.17.4", diff --git a/yarn.lock b/yarn.lock index b0c175a206b6..b044dbeda63a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2855,10 +2855,10 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@stripe/stripe-js@^4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-4.10.0.tgz#5c785f9a5a500113d69d98c16061e0addd1c0305" - integrity sha512-KrMOL+sH69htCIXCaZ4JluJ35bchuCCznyPyrbN8JXSGQfwBI1SuIEMZNwvy8L8ykj29t6sa5BAAiL7fNoLZ8A== +"@stripe/stripe-js@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-5.2.0.tgz#2d696ed622def8c4407c658d8294c3e0365b0f1b" + integrity sha512-2ZpEaezx3S0QPtnske175NDaLvUvaVKd4ePHpUN0QF/uV4BBBBRUy5BvQONDym+utbbW0QhSJoiRPnp4FS+4Vg== "@svgr/babel-plugin-add-jsx-attribute@8.0.0": version "8.0.0" From 78c407722c651d8887f4a112f827b98600fa7ab6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:16:10 +0000 Subject: [PATCH 042/156] chore(deps): bump the dependencies group in /deployer with 2 updates (#12222) --- deployer/poetry.lock | 22 +++++++++++----------- deployer/pyproject.toml | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployer/poetry.lock b/deployer/poetry.lock index c03a3b346d55..f1e51c4342a3 100644 --- a/deployer/poetry.lock +++ b/deployer/poetry.lock @@ -48,17 +48,17 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "boto3" -version = "1.35.68" +version = "1.35.72" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.35.68-py3-none-any.whl", hash = "sha256:9b26fa31901da7793c1dcd65eee9bab7e897d8aa1ffed0b5e1c3bce93d2aefe4"}, - {file = "boto3-1.35.68.tar.gz", hash = "sha256:091d6bed1422370987a839bff3f8755df7404fc15e9fac2a48e8505356f07433"}, + {file = "boto3-1.35.72-py3-none-any.whl", hash = "sha256:410bb4ec676c57ee9c3c7824b7b1a3721584f18f8ee8ccc8e8ecdf285136b77f"}, + {file = "boto3-1.35.72.tar.gz", hash = "sha256:f9fc94413a959c388b1654c6687a5193293f3c69f8d0af3b86fd48b4096a23f3"}, ] [package.dependencies] -botocore = ">=1.35.68,<1.36.0" +botocore = ">=1.35.72,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -67,13 +67,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.68" +version = "1.35.72" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.35.68-py3-none-any.whl", hash = "sha256:599139d5564291f5be873800711f9e4e14a823395ae9ce7b142be775e9849b94"}, - {file = "botocore-1.35.68.tar.gz", hash = "sha256:42c3700583a82f2b5316281a073d644a521d6358837e2b446dc458ba5d990fb4"}, + {file = "botocore-1.35.72-py3-none-any.whl", hash = "sha256:7412877c3f766a1bfd09236e225ce1f0dc2c35e47949ae423e56e2093c8fa23a"}, + {file = "botocore-1.35.72.tar.gz", hash = "sha256:6b5fac38ef7cfdbc7781a751e0f78833ccb9149ba815bc238b1dbb75c90fbae5"}, ] [package.dependencies] @@ -634,13 +634,13 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] [[package]] name = "pytest" -version = "8.3.3" +version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, - {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, + {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, + {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, ] [package.dependencies] @@ -941,4 +941,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "cfd1dd602157dd10e648a9485ce4ef46a567b5dbcd793797a00bcaa41dba1efb" +content-hash = "72e66de9910fb3050d7bfea0f1031af4a7a7fb4238d243f19a4876578090f056" diff --git a/deployer/pyproject.toml b/deployer/pyproject.toml index f7335f66e843..8ba52aedc196 100644 --- a/deployer/pyproject.toml +++ b/deployer/pyproject.toml @@ -10,7 +10,7 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" click = "^8.1.7" -boto3 = "^1.35.68" +boto3 = "^1.35.72" python-decouple = "^3.8" requests = {extras = ["security"], version = "^2.32.3"} elasticsearch-dsl = "^7.4.1" @@ -21,7 +21,7 @@ unidiff = "^0.7.5" [tool.poetry.dev-dependencies] black = "^24.10" flake8 = "^7.1.1" -pytest = "^8.3.3" +pytest = "^8.3.4" [tool.poetry.scripts] deployer = "deployer.main:cli" From c896d1c1d940ad92a5eebc3491b1d8e2108943f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:26:57 +0000 Subject: [PATCH 043/156] chore(deps): bump pytest from 8.3.3 to 8.3.4 in /testing/integration in the dependencies group (#12223) --- testing/integration/poetry.lock | 8 ++++---- testing/integration/pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/testing/integration/poetry.lock b/testing/integration/poetry.lock index 352f9b5ab212..da6459c2116a 100644 --- a/testing/integration/poetry.lock +++ b/testing/integration/poetry.lock @@ -461,13 +461,13 @@ test = ["pytest", "pytest-cov", "requests", "webob", "webtest"] [[package]] name = "pytest" -version = "8.3.3" +version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, - {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, + {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, + {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, ] [package.dependencies] @@ -576,4 +576,4 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "28e89763e29cd386f8c987d51108ae51cf0df12434a8b24149466ada50f7298e" +content-hash = "ae64cc8e357c8ac9aed6e22ded1910e46eed552d4d62a8ac33a0635a055ec352" diff --git a/testing/integration/pyproject.toml b/testing/integration/pyproject.toml index 92f9d0ba017f..3baba75b46b4 100644 --- a/testing/integration/pyproject.toml +++ b/testing/integration/pyproject.toml @@ -9,7 +9,7 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" -pytest = "^8.3.3" +pytest = "^8.3.4" pytest-base-url = "^2.1.0" pytest-rerunfailures = "^14.0" requests = "^2.32.3" From f21084a85564aa9e572438e8437dc8872d231b32 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:12:33 +0000 Subject: [PATCH 044/156] chore(deps): bump @sentry/node from 8.41.0 to 8.42.0 in the sentry group (#12229) --- package.json | 2 +- yarn.lock | 39 +++++++++++++++------------------------ 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 3b8ffa018fac..a61151355163 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@mdn/browser-compat-data": "^5.6.20", "@mdn/rari": "^0.0.26", "@mozilla/glean": "5.0.3", - "@sentry/node": "^8.41.0", + "@sentry/node": "^8.42.0", "@stripe/stripe-js": "^5.2.0", "@use-it/interval": "^1.0.0", "@vscode/ripgrep": "^1.15.9", diff --git a/yarn.lock b/yarn.lock index b044dbeda63a..73f52916aca1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2742,17 +2742,15 @@ resolved "https://registry.yarnpkg.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz#60de891bb126abfdc5410fdc6166aca065f10a0c" integrity sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg== -"@sentry/core@8.41.0": - version "8.41.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.41.0.tgz#e8a25cacd25fe4358f3179e85f3c2697427fe5a6" - integrity sha512-3v7u3t4LozCA5SpZY4yqUN2U3jSrkXNoLgz6L2SUUiydyCuSwXZIFEwpLJfgQyidpNDifeQbBI5E1O910XkPsA== - dependencies: - "@sentry/types" "8.41.0" +"@sentry/core@8.42.0": + version "8.42.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.42.0.tgz#9fc0db6794186dc2d1167cf82e579e387198ba77" + integrity sha512-ac6O3pgoIbU6rpwz6LlwW0wp3/GAHuSI0C5IsTgIY6baN8rOBnlAtG6KrHDDkGmUQ2srxkDJu9n1O6Td3cBCqw== -"@sentry/node@^8.41.0": - version "8.41.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.41.0.tgz#52f970648d961f6e82a1b23a88c0000aa72ba21a" - integrity sha512-eYD5S8Lti9efBHFSIhZ/0C5uI1DQtGqjuNWQ62CKC47G2qgJddBtb2HgqRFAnMajYL9FXEtiDT6uqQhKQnmLcQ== +"@sentry/node@^8.42.0": + version "8.42.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.42.0.tgz#829a02ce322bf7ee13e2bd09acc2eb56a8e04525" + integrity sha512-MsNrmAIwDaxf1jTX1FsgZ+3mUq6G6IuU6FAqyp7TDnvUTsbWUtr0OM6EvVUz0zCImybIh9dcTQ+6KTmUyA7URw== dependencies: "@opentelemetry/api" "^1.9.0" "@opentelemetry/context-async-hooks" "^1.25.1" @@ -2786,23 +2784,16 @@ "@opentelemetry/sdk-trace-base" "^1.26.0" "@opentelemetry/semantic-conventions" "^1.27.0" "@prisma/instrumentation" "5.19.1" - "@sentry/core" "8.41.0" - "@sentry/opentelemetry" "8.41.0" - "@sentry/types" "8.41.0" + "@sentry/core" "8.42.0" + "@sentry/opentelemetry" "8.42.0" import-in-the-middle "^1.11.2" -"@sentry/opentelemetry@8.41.0": - version "8.41.0" - resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.41.0.tgz#0e5c4bb8d5b58f07eb80e312fc66b8709a688c61" - integrity sha512-Ld6KdBQsmSk2IfFSoZ7CMpmuQbfb3viV6nTDCz6+11wL9S+1b+hadCN+38yBW4CmI4/hEpYfwwWQPseQQTvBCg== +"@sentry/opentelemetry@8.42.0": + version "8.42.0" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.42.0.tgz#d4a5e988689b3c64370eff5763e7cf3af4e43cba" + integrity sha512-QPb9kMFgl35TIwIz0u+BFTbPG461CofMiloidJ44GFZ9cB33T5cB0oIN7ut/5tsH/AvqUmucydsV/Nj3HNQx9g== dependencies: - "@sentry/core" "8.41.0" - "@sentry/types" "8.41.0" - -"@sentry/types@8.41.0": - version "8.41.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.41.0.tgz#db40c93bcedad26569c5dfe10a4b31253c349a10" - integrity sha512-eqdnGr9k9H++b9CjVUoTNUVahPVWeNnMy0YGkqS5+cjWWC+x43p56202oidGFmWo6702ub/xwUNH6M5PC4kq6A== + "@sentry/core" "8.42.0" "@sidvind/better-ajv-errors@3.0.1": version "3.0.1" From 0b1e24a304997b560092c46bf8227c661238ee7a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:14:47 +0000 Subject: [PATCH 045/156] chore(deps): bump web-features from 2.8.0 to 2.10.0 (#12231) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a61151355163..60495cc9012f 100644 --- a/package.json +++ b/package.json @@ -153,7 +153,7 @@ "unified": "^11.0.5", "unist-builder": "^4.0.0", "unist-util-visit": "^5.0.0", - "web-features": "^2.8.0", + "web-features": "^2.10.0", "web-specs": "^3.28.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 73f52916aca1..0a63a75e6f46 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15202,10 +15202,10 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-features@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/web-features/-/web-features-2.8.0.tgz#6b1b79e30ca7e7e0160f2d3527b1dfc5275c6a64" - integrity sha512-KR0C0mFyTw83pJmBX/Zrymak5ip79wlq3gSoLJhY4T9+AnVc60RRUv4/aBUxERPjw/jQEGxd2sfRRv4Y2/QZkA== +web-features@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/web-features/-/web-features-2.10.0.tgz#c9eadd3527a0f773df6f06ca7645283ea34c50db" + integrity sha512-LiCLmirXd9uJ4o9nisKWGSEMWJ+wkImpAkPhk8T9gJGk+oCrDu/b9dpytnb/cDMAy65/JS8NQRaXpD6joA0Chw== web-namespaces@^2.0.0: version "2.0.1" From 62daae624352146f79dbde386266688634fe400d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:15:01 +0000 Subject: [PATCH 046/156] chore(deps): bump openai from 4.73.1 to 4.74.0 (#12232) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 60495cc9012f..830259d7ebde 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "mdn-data": "^2.12.2", "open": "^10.1.0", "open-editor": "^5.0.0", - "openai": "^4.73.1", + "openai": "^4.74.0", "pg": "^8.13.1", "pgvector": "^0.2.0", "prism-svelte": "^0.5.0", diff --git a/yarn.lock b/yarn.lock index 0a63a75e6f46..7bb7b373b436 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11232,10 +11232,10 @@ open@^10.0.3, open@^10.1.0: is-inside-container "^1.0.0" is-wsl "^3.1.0" -openai@^4.73.1: - version "4.73.1" - resolved "https://registry.yarnpkg.com/openai/-/openai-4.73.1.tgz#532bd000d5f1a558e4fff1119da6749992ac41e4" - integrity sha512-nWImDJBcUsqrhy7yJScXB4+iqjzbUEgzfA3un/6UnHFdwWhjX24oztj69Ped/njABfOdLcO/F7CeWTI5dt8Xmg== +openai@^4.74.0: + version "4.74.0" + resolved "https://registry.yarnpkg.com/openai/-/openai-4.74.0.tgz#db9fc1442e20cb92e9d7afc40b0dc0f71c04cba4" + integrity sha512-pQ8t1jchUymw5WB5jZPchuBtWvxul7RyVxa+9RWfiCQyzvzUyI2sKvUYfpEDI/ouaRLcik3K6psj15ByCefeNA== dependencies: "@types/node" "^18.11.18" "@types/node-fetch" "^2.6.4" From 9c42e64f936ad53dc74072f2ff27b7ec34e2180f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:15:12 +0000 Subject: [PATCH 047/156] chore(deps-dev): bump typescript-eslint from 8.16.0 to 8.17.0 (#12233) --- package.json | 2 +- yarn.lock | 114 +++++++++++++++++++++++++-------------------------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/package.json b/package.json index 830259d7ebde..8fd0c02e39cf 100644 --- a/package.json +++ b/package.json @@ -265,7 +265,7 @@ "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "typescript": "^5.6.3", - "typescript-eslint": "^8.16.0", + "typescript-eslint": "^8.17.0", "webpack": "^5.96.1", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", diff --git a/yarn.lock b/yarn.lock index 7bb7b373b436..f816f719dd4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3672,16 +3672,16 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.16.0.tgz#ac56825bcdf3b392fc76a94b1315d4a162f201a6" - integrity sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q== +"@typescript-eslint/eslint-plugin@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.17.0.tgz#2ee073c421f4e81e02d10e731241664b6253b23c" + integrity sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.16.0" - "@typescript-eslint/type-utils" "8.16.0" - "@typescript-eslint/utils" "8.16.0" - "@typescript-eslint/visitor-keys" "8.16.0" + "@typescript-eslint/scope-manager" "8.17.0" + "@typescript-eslint/type-utils" "8.17.0" + "@typescript-eslint/utils" "8.17.0" + "@typescript-eslint/visitor-keys" "8.17.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" @@ -3710,15 +3710,15 @@ dependencies: "@typescript-eslint/utils" "5.62.0" -"@typescript-eslint/parser@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.16.0.tgz#ee5b2d6241c1ab3e2e53f03fd5a32d8e266d8e06" - integrity sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w== +"@typescript-eslint/parser@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.17.0.tgz#2ee972bb12fa69ac625b85813dc8d9a5a053ff52" + integrity sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg== dependencies: - "@typescript-eslint/scope-manager" "8.16.0" - "@typescript-eslint/types" "8.16.0" - "@typescript-eslint/typescript-estree" "8.16.0" - "@typescript-eslint/visitor-keys" "8.16.0" + "@typescript-eslint/scope-manager" "8.17.0" + "@typescript-eslint/types" "8.17.0" + "@typescript-eslint/typescript-estree" "8.17.0" + "@typescript-eslint/visitor-keys" "8.17.0" debug "^4.3.4" "@typescript-eslint/parser@^5.5.0": @@ -3739,13 +3739,13 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.16.0.tgz#ebc9a3b399a69a6052f3d88174456dd399ef5905" - integrity sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg== +"@typescript-eslint/scope-manager@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.17.0.tgz#a3f49bf3d4d27ff8d6b2ea099ba465ef4dbcaa3a" + integrity sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg== dependencies: - "@typescript-eslint/types" "8.16.0" - "@typescript-eslint/visitor-keys" "8.16.0" + "@typescript-eslint/types" "8.17.0" + "@typescript-eslint/visitor-keys" "8.17.0" "@typescript-eslint/type-utils@5.62.0": version "5.62.0" @@ -3757,13 +3757,13 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/type-utils@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.16.0.tgz#585388735f7ac390f07c885845c3d185d1b64740" - integrity sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg== +"@typescript-eslint/type-utils@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.17.0.tgz#d326569f498cdd0edf58d5bb6030b4ad914e63d3" + integrity sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw== dependencies: - "@typescript-eslint/typescript-estree" "8.16.0" - "@typescript-eslint/utils" "8.16.0" + "@typescript-eslint/typescript-estree" "8.17.0" + "@typescript-eslint/utils" "8.17.0" debug "^4.3.4" ts-api-utils "^1.3.0" @@ -3772,10 +3772,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.16.0.tgz#49c92ae1b57942458ab83d9ec7ccab3005e64737" - integrity sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ== +"@typescript-eslint/types@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.17.0.tgz#ef84c709ef8324e766878834970bea9a7e3b72cf" + integrity sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -3790,13 +3790,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.16.0.tgz#9d741e56e5b13469b5190e763432ce5551a9300c" - integrity sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw== +"@typescript-eslint/typescript-estree@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.17.0.tgz#40b5903bc929b1e8dd9c77db3cb52cfb199a2a34" + integrity sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw== dependencies: - "@typescript-eslint/types" "8.16.0" - "@typescript-eslint/visitor-keys" "8.16.0" + "@typescript-eslint/types" "8.17.0" + "@typescript-eslint/visitor-keys" "8.17.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -3818,15 +3818,15 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@8.16.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.16.0.tgz#c71264c437157feaa97842809836254a6fc833c3" - integrity sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA== +"@typescript-eslint/utils@8.17.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.17.0.tgz#41c05105a2b6ab7592f513d2eeb2c2c0236d8908" + integrity sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.16.0" - "@typescript-eslint/types" "8.16.0" - "@typescript-eslint/typescript-estree" "8.16.0" + "@typescript-eslint/scope-manager" "8.17.0" + "@typescript-eslint/types" "8.17.0" + "@typescript-eslint/typescript-estree" "8.17.0" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -3836,12 +3836,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.16.0.tgz#d5086afc060b01ff7a4ecab8d49d13d5a7b07705" - integrity sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ== +"@typescript-eslint/visitor-keys@8.17.0": + version "8.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.17.0.tgz#4dbcd0e28b9bf951f4293805bf34f98df45e1aa8" + integrity sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg== dependencies: - "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/types" "8.17.0" eslint-visitor-keys "^4.2.0" "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": @@ -14791,14 +14791,14 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typescript-eslint@^8.16.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.16.0.tgz#d608c972d6b2461ca10ec30fd3fa62a080baba19" - integrity sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ== +typescript-eslint@^8.17.0: + version "8.17.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.17.0.tgz#fa4033c26b3b40f778287bc12918d985481b220b" + integrity sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA== dependencies: - "@typescript-eslint/eslint-plugin" "8.16.0" - "@typescript-eslint/parser" "8.16.0" - "@typescript-eslint/utils" "8.16.0" + "@typescript-eslint/eslint-plugin" "8.17.0" + "@typescript-eslint/parser" "8.17.0" + "@typescript-eslint/utils" "8.17.0" typescript@^5.6.3: version "5.6.3" From 14057b3b9f8be96a8c2ac893a9582f694d624e9f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:16:11 +0000 Subject: [PATCH 048/156] chore(deps): bump dotenv from 16.4.5 to 16.4.6 (#12234) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8fd0c02e39cf..5dd5c237a363 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "css-tree": "^2.3.1", "dayjs": "^1.11.13", "dexie": "^4.0.10", - "dotenv": "^16.4.5", + "dotenv": "^16.4.6", "ejs": "^3.1.10", "express": "^4.21.1", "fdir": "^6.4.2", diff --git a/yarn.lock b/yarn.lock index f816f719dd4a..318d3785966f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6127,10 +6127,10 @@ dot-prop@^8.0.2: dependencies: type-fest "^3.8.0" -dotenv@^16.4.5: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== +dotenv@^16.4.6: + version "16.4.6" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.6.tgz#fc88e8a664087abf3e19d61e21f7feee1849bbb1" + integrity sha512-JhcR/+KIjkkjiU8yEpaB/USlzVi3i5whwOjpIRNGi9svKEXZSe+Qp6IWAjFjv+2GViAoDRCUv/QLNziQxsLqDg== download@^6.2.2: version "6.2.5" From 432360300be040872f029429e3e11104858d724e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:17:24 +0000 Subject: [PATCH 049/156] chore(deps-dev): bump sass from 1.81.0 to 1.81.1 (#12235) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5dd5c237a363..95ac2b4b4237 100644 --- a/package.json +++ b/package.json @@ -246,7 +246,7 @@ "resolve": "^1.22.8", "resolve-url-loader": "^5.0.0", "rough-notation": "^0.5.1", - "sass": "^1.81.0", + "sass": "^1.81.1", "sass-loader": "^16.0.3", "source-map-loader": "^5.0.0", "style-loader": "^3.3.4", diff --git a/yarn.lock b/yarn.lock index 318d3785966f..818db5cda314 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13251,10 +13251,10 @@ sass-loader@^16.0.3: dependencies: neo-async "^2.6.2" -sass@^1.81.0: - version "1.81.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.0.tgz#a9010c0599867909dfdbad057e4a6fbdd5eec941" - integrity sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA== +sass@^1.81.1: + version "1.81.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.1.tgz#fae569d12533e5d3ca83641f2c1109a078fc53cb" + integrity sha512-VNLgf4FC5yFyKwAumAAwwNh8X4SevlVREq3Y8aDZIkm0lI/zO1feycMXQ4hn+eB6FVhRbleSQ1Yb/q8juSldTA== dependencies: chokidar "^4.0.0" immutable "^5.0.2" From cc34e6775bb195ec6a07ae5e9370d745b58f1a68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:51:55 +0000 Subject: [PATCH 050/156] chore(deps): bump pytest-rerunfailures from 14.0 to 15.0 in /testing/integration (#12173) --- testing/integration/poetry.lock | 12 ++++++------ testing/integration/pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/testing/integration/poetry.lock b/testing/integration/poetry.lock index da6459c2116a..286d09f48f16 100644 --- a/testing/integration/poetry.lock +++ b/testing/integration/poetry.lock @@ -501,18 +501,18 @@ test = ["black (>=22.1.0)", "flake8 (>=4.0.1)", "pre-commit (>=2.17.0)", "pytest [[package]] name = "pytest-rerunfailures" -version = "14.0" +version = "15.0" description = "pytest plugin to re-run tests to eliminate flaky failures" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pytest-rerunfailures-14.0.tar.gz", hash = "sha256:4a400bcbcd3c7a4ad151ab8afac123d90eca3abe27f98725dc4d9702887d2e92"}, - {file = "pytest_rerunfailures-14.0-py3-none-any.whl", hash = "sha256:4197bdd2eaeffdbf50b5ea6e7236f47ff0e44d1def8dae08e409f536d84e7b32"}, + {file = "pytest-rerunfailures-15.0.tar.gz", hash = "sha256:2d9ac7baf59f4c13ac730b47f6fa80e755d1ba0581da45ce30b72fb3542b4474"}, + {file = "pytest_rerunfailures-15.0-py3-none-any.whl", hash = "sha256:dd150c4795c229ef44320adc9a0c0532c51b78bb7a6843a8c53556b9a611df1a"}, ] [package.dependencies] packaging = ">=17.1" -pytest = ">=7.2" +pytest = ">=7.4,<8.2.2 || >8.2.2" [[package]] name = "requests" @@ -576,4 +576,4 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "ae64cc8e357c8ac9aed6e22ded1910e46eed552d4d62a8ac33a0635a055ec352" +content-hash = "bfc7e8ddde9e6e22f07b357f7798ab575a12e5396e5af22e9ef963cdfde5ab1b" diff --git a/testing/integration/pyproject.toml b/testing/integration/pyproject.toml index 3baba75b46b4..319ed5b8147e 100644 --- a/testing/integration/pyproject.toml +++ b/testing/integration/pyproject.toml @@ -11,7 +11,7 @@ readme = "README.md" python = "^3.10" pytest = "^8.3.4" pytest-base-url = "^2.1.0" -pytest-rerunfailures = "^14.0" +pytest-rerunfailures = "^15.0" requests = "^2.32.3" pyquery = "^2.0.1" braceexpand = "^0.1.7" From a52bb2610b4460c994bb0820bdb6412bb9b50fa9 Mon Sep 17 00:00:00 2001 From: Leo McArdle Date: Tue, 3 Dec 2024 12:31:08 +0000 Subject: [PATCH 051/156] fix(playground): run code even if it doesn't change (#12224) --- client/src/playground/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/client/src/playground/index.tsx b/client/src/playground/index.tsx index cbc68ddb55a1..eb8e759b557d 100644 --- a/client/src/playground/index.tsx +++ b/client/src/playground/index.tsx @@ -86,6 +86,7 @@ export default function Playground() { const [initialContent, setInitialContent] = useState( null ); + const [flipFlop, setFlipFlop] = useState(0); let { data: initialCode } = useSWRImmutable( !stateParam && !shared && gistId ? `/api/v1/play/${encodeURIComponent(gistId)}` @@ -134,10 +135,14 @@ export default function Playground() { ); setVConsole([]); url.searchParams.set("state", state); + // ensure iframe reloads even if code doesn't change + url.searchParams.set("f", flipFlop.toString()); url.pathname = `${codeSrc || code.src || ""}/runner.html`; setIframeSrc(url.href); + // using an updater function causes the second "run" to not reload properly: + setFlipFlop((flipFlop + 1) % 2); }, - [codeSrc, setVConsole, setIframeSrc] + [codeSrc, setVConsole, setIframeSrc, flipFlop, setFlipFlop] ); useEffect(() => { From 10faab1594b3ae89613f1a59774f746c08d93d11 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:18:32 +0000 Subject: [PATCH 052/156] chore(deps-dev): bump typescript from 5.6.3 to 5.7.2 (#12179) --- client/src/ui/atoms/form/limited-input.tsx | 2 +- package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/client/src/ui/atoms/form/limited-input.tsx b/client/src/ui/atoms/form/limited-input.tsx index 34e2929b0333..ef60b89ee6a7 100644 --- a/client/src/ui/atoms/form/limited-input.tsx +++ b/client/src/ui/atoms/form/limited-input.tsx @@ -2,7 +2,7 @@ import { ChangeEventHandler } from "react"; import { charLength } from "../../../utils"; interface Props { - children: (props: ChildProps) => void; + children: (props: ChildProps) => React.ReactNode; value: string; limit: number; } diff --git a/package.json b/package.json index 95ac2b4b4237..0b324cc2040f 100644 --- a/package.json +++ b/package.json @@ -264,7 +264,7 @@ "ts-jest": "^29.2.5", "ts-loader": "^9.5.1", "ts-node": "^10.9.2", - "typescript": "^5.6.3", + "typescript": "^5.7.2", "typescript-eslint": "^8.17.0", "webpack": "^5.96.1", "webpack-bundle-analyzer": "^4.10.2", diff --git a/yarn.lock b/yarn.lock index 818db5cda314..ee3978e34d5f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14800,10 +14800,10 @@ typescript-eslint@^8.17.0: "@typescript-eslint/parser" "8.17.0" "@typescript-eslint/utils" "8.17.0" -typescript@^5.6.3: - version "5.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== +typescript@^5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" + integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== uint8array-extras@^1.1.0, uint8array-extras@^1.3.0: version "1.4.0" From 54caba3a3874408b6a8428ee51fd0bab163eebed Mon Sep 17 00:00:00 2001 From: Leo McArdle Date: Tue, 3 Dec 2024 17:36:36 +0000 Subject: [PATCH 053/156] chore(scrimba): remove past banner and update link (#12237) --- client/src/ui/organisms/placement/index.tsx | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/client/src/ui/organisms/placement/index.tsx b/client/src/ui/organisms/placement/index.tsx index 40d69f78eab8..6677d16601ef 100644 --- a/client/src/ui/organisms/placement/index.tsx +++ b/client/src/ui/organisms/placement/index.tsx @@ -89,28 +89,12 @@ function TopPlacementFallbackContent() { }); const now = Date.now(); - return now < Date.parse("2024-12-01") ? ( -

- Learn front-end with MDN’s course partner{" "} - { - gleanClick(BANNER_SCRIMBA_CLICK); - }} - > - Scrimba - {" "} - - 30% discount this week! -

- ) : now < Date.parse("2024-12-25") ? ( + return now < Date.parse("2024-12-25") ? (

Take our daily challenges on Scrimba until 24th December and win exciting prizes.{" "} Date: Wed, 4 Dec 2024 11:17:39 +0000 Subject: [PATCH 054/156] chore(deps-dev): bump webpack from 5.96.1 to 5.97.0 in /client/pwa (#12238) --- client/pwa/package.json | 2 +- client/pwa/yarn.lock | 230 ++++++++++++++++++++-------------------- 2 files changed, 116 insertions(+), 116 deletions(-) diff --git a/client/pwa/package.json b/client/pwa/package.json index b668d58825dc..6e4b39da57ff 100644 --- a/client/pwa/package.json +++ b/client/pwa/package.json @@ -19,7 +19,7 @@ "@types/dexie": "1.3.35", "ts-loader": "^9.5.1", "typescript": "^5.7.2", - "webpack": "^5.96.1", + "webpack": "^5.97.0", "webpack-cli": "^5.1.4", "workers-preview": "^1.0.6" } diff --git a/client/pwa/yarn.lock b/client/pwa/yarn.lock index d6f0e15f6484..0fd670b2b48f 100644 --- a/client/pwa/yarn.lock +++ b/client/pwa/yarn.lock @@ -108,125 +108,125 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== + dependencies: + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== + +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== + +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== + +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^2.1.1": @@ -902,16 +902,16 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.96.1: - version "5.96.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.96.1.tgz#3676d1626d8312b6b10d0c18cc049fba7ac01f0c" - integrity sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA== +webpack@^5.97.0: + version "5.97.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.97.0.tgz#1c5e3b9319f8c6decb19b142e776d90e629d5c40" + integrity sha512-CWT8v7ShSfj7tGs4TLRtaOLmOCPWhoKEvp+eA7FVx8Xrjb3XfT0aXdxDItnRZmE8sHcH+a8ayDrJCOjXKxVFfQ== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.6" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" acorn "^8.14.0" browserslist "^4.24.0" chrome-trace-event "^1.0.2" From 84ef8605ef880f0765cfd9ccbaddc68070781bd0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 11:57:50 +0000 Subject: [PATCH 055/156] chore(deps-dev): bump webpack from 5.96.1 to 5.97.0 (#12240) --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 0b324cc2040f..655a58bf2925 100644 --- a/package.json +++ b/package.json @@ -266,7 +266,7 @@ "ts-node": "^10.9.2", "typescript": "^5.7.2", "typescript-eslint": "^8.17.0", - "webpack": "^5.96.1", + "webpack": "^5.97.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.1.0", diff --git a/yarn.lock b/yarn.lock index ee3978e34d5f..30b21aa63d3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3863,7 +3863,7 @@ proxy-from-env "^1.1.0" yauzl "^2.9.2" -"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.12.1": +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== @@ -3929,7 +3929,7 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== -"@webassemblyjs/wasm-edit@^1.12.1": +"@webassemblyjs/wasm-edit@^1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== @@ -3964,7 +3964,7 @@ "@webassemblyjs/wasm-gen" "1.14.1" "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.12.1": +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== @@ -15350,16 +15350,16 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5, webpack@^5.96.1: - version "5.96.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.96.1.tgz#3676d1626d8312b6b10d0c18cc049fba7ac01f0c" - integrity sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA== +webpack@^5, webpack@^5.97.0: + version "5.97.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.97.0.tgz#1c5e3b9319f8c6decb19b142e776d90e629d5c40" + integrity sha512-CWT8v7ShSfj7tGs4TLRtaOLmOCPWhoKEvp+eA7FVx8Xrjb3XfT0aXdxDItnRZmE8sHcH+a8ayDrJCOjXKxVFfQ== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.6" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" acorn "^8.14.0" browserslist "^4.24.0" chrome-trace-event "^1.0.2" From 938a19f58cfe34370a4a2c85bf1484854847c303 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 11:58:34 +0000 Subject: [PATCH 056/156] chore(deps-dev): bump @swc/core from 1.9.3 to 1.10.0 (#12239) --- package.json | 2 +- yarn.lock | 128 +++++++++++++++++++++++++-------------------------- 2 files changed, 65 insertions(+), 65 deletions(-) diff --git a/package.json b/package.json index 655a58bf2925..2cb649bb5563 100644 --- a/package.json +++ b/package.json @@ -166,7 +166,7 @@ "@playwright/test": "^1.49.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@svgr/webpack": "^8.1.0", - "@swc/core": "^1.9.3", + "@swc/core": "^1.10.0", "@testing-library/react": "^15.0.7", "@types/async": "^3.2.24", "@types/cli-progress": "^3.11.6", diff --git a/yarn.lock b/yarn.lock index 30b21aa63d3a..e08adb5c934d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2957,74 +2957,74 @@ "@svgr/plugin-jsx" "8.1.0" "@svgr/plugin-svgo" "8.1.0" -"@swc/core-darwin-arm64@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.9.3.tgz#cca13f7ce6e1099612a7ba017f4923857d3a4d5f" - integrity sha512-hGfl/KTic/QY4tB9DkTbNuxy5cV4IeejpPD4zo+Lzt4iLlDWIeANL4Fkg67FiVceNJboqg48CUX+APhDHO5G1w== - -"@swc/core-darwin-x64@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.9.3.tgz#01376c6c2caea5dd0c235f21ebc7e41238153c86" - integrity sha512-IaRq05ZLdtgF5h9CzlcgaNHyg4VXuiStnOFpfNEMuI5fm5afP2S0FHq8WdakUz5WppsbddTdplL+vpeApt/WCQ== - -"@swc/core-linux-arm-gnueabihf@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.9.3.tgz#4a9705903cebfc8e3e2bee71a42f7c88896e61df" - integrity sha512-Pbwe7xYprj/nEnZrNBvZfjnTxlBIcfApAGdz2EROhjpPj+FBqBa3wOogqbsuGGBdCphf8S+KPprL1z+oDWkmSQ== - -"@swc/core-linux-arm64-gnu@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.9.3.tgz#722aefc00a7abfb031fae7539226c7d7683f5c8d" - integrity sha512-AQ5JZiwNGVV/2K2TVulg0mw/3LYfqpjZO6jDPtR2evNbk9Yt57YsVzS+3vHSlUBQDRV9/jqMuZYVU3P13xrk+g== - -"@swc/core-linux-arm64-musl@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.9.3.tgz#6643f683311cc1dcee00970e3d6b4872225bdbd8" - integrity sha512-tzVH480RY6RbMl/QRgh5HK3zn1ZTFsThuxDGo6Iuk1MdwIbdFYUY034heWUTI4u3Db97ArKh0hNL0xhO3+PZdg== - -"@swc/core-linux-x64-gnu@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.9.3.tgz#e6f5cefa244409abe1451fbb4575696a870cbd7a" - integrity sha512-ivXXBRDXDc9k4cdv10R21ccBmGebVOwKXT/UdH1PhxUn9m/h8erAWjz5pcELwjiMf27WokqPgaWVfaclDbgE+w== - -"@swc/core-linux-x64-musl@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.9.3.tgz#4d45399f7a01389add61febd02da9b12f16abc81" - integrity sha512-ILsGMgfnOz1HwdDz+ZgEuomIwkP1PHT6maigZxaCIuC6OPEhKE8uYna22uU63XvYcLQvZYDzpR3ms47WQPuNEg== - -"@swc/core-win32-arm64-msvc@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.9.3.tgz#8c352bcea558b9a950877cd724f132d7d51a4d80" - integrity sha512-e+XmltDVIHieUnNJHtspn6B+PCcFOMYXNJB1GqoCcyinkEIQNwC8KtWgMqUucUbEWJkPc35NHy9k8aCXRmw9Kg== - -"@swc/core-win32-ia32-msvc@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.9.3.tgz#656f78b9c56413dbd590ac259dbe0d563cd8e166" - integrity sha512-rqpzNfpAooSL4UfQnHhkW8aL+oyjqJniDP0qwZfGnjDoJSbtPysHg2LpcOBEdSnEH+uIZq6J96qf0ZFD8AGfXA== - -"@swc/core-win32-x64-msvc@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.9.3.tgz#9595c177d2c11909558da93b18f37e7c5ae1909c" - integrity sha512-3YJJLQ5suIEHEKc1GHtqVq475guiyqisKSoUnoaRtxkDaW5g1yvPt9IoSLOe2mRs7+FFhGGU693RsBUSwOXSdQ== - -"@swc/core@^1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.9.3.tgz#e5bc9b35df2f4a60026c6759c1a6575070339d4f" - integrity sha512-oRj0AFePUhtatX+BscVhnzaAmWjpfAeySpM1TCbxA1rtBDeH/JDhi5yYzAKneDYtVtBvA7ApfeuzhMC9ye4xSg== +"@swc/core-darwin-arm64@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.0.tgz#39fd894356f8e858535e96111d34602da0a730c5" + integrity sha512-wCeUpanqZyzvgqWRtXIyhcFK3CqukAlYyP+fJpY2gWc/+ekdrenNIfZMwY7tyTFDkXDYEKzvn3BN/zDYNJFowQ== + +"@swc/core-darwin-x64@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.0.tgz#d1b95c1db67ac328a96324b800843bc410d17f05" + integrity sha512-0CZPzqTynUBO+SHEl/qKsFSahp2Jv/P2ZRjFG0gwZY5qIcr1+B/v+o74/GyNMBGz9rft+F2WpU31gz2sJwyF4A== + +"@swc/core-linux-arm-gnueabihf@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.0.tgz#e10510bb028bc3836948cb7345312269cd22295d" + integrity sha512-oq+DdMu5uJOFPtRkeiITc4kxmd+QSmK+v+OBzlhdGkSgoH3yRWZP+H2ao0cBXo93ZgCr2LfjiER0CqSKhjGuNA== + +"@swc/core-linux-arm64-gnu@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.0.tgz#a4826c0b44db5b5a02826a0c47307f5969bcc353" + integrity sha512-Y6+PC8knchEViRxiCUj3j8wsGXaIhuvU+WqrFqV834eiItEMEI9+Vh3FovqJMBE3L7d4E4ZQtgImHCXjrHfxbw== + +"@swc/core-linux-arm64-musl@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.0.tgz#d4adab4a646be095e3c64226a0150ebe4b874c1a" + integrity sha512-EbrX9A5U4cECCQQfky7945AW9GYnTXtCUXElWTkTYmmyQK87yCyFfY8hmZ9qMFIwxPOH6I3I2JwMhzdi8Qoz7g== + +"@swc/core-linux-x64-gnu@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.0.tgz#278655c2b2abcb2e7ada031e75e6853777ebce4c" + integrity sha512-TaxpO6snTjjfLXFYh5EjZ78se69j2gDcqEM8yB9gguPYwkCHi2Ylfmh7iVaNADnDJFtjoAQp0L41bTV/Pfq9Cg== + +"@swc/core-linux-x64-musl@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.0.tgz#7df236de40a685c1723a904d6dead99eea36a30f" + integrity sha512-IEGvDd6aEEKEyZFZ8oCKuik05G5BS7qwG5hO5PEMzdGeh8JyFZXxsfFXbfeAqjue4UaUUrhnoX+Ze3M2jBVMHw== + +"@swc/core-win32-arm64-msvc@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.0.tgz#99278f8f02c79e03caeeb6d64941d0487e58d7e1" + integrity sha512-UkQ952GSpY+Z6XONj9GSW8xGSkF53jrCsuLj0nrcuw7Dvr1a816U/9WYZmmcYS8tnG2vHylhpm6csQkyS8lpCw== + +"@swc/core-win32-ia32-msvc@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.0.tgz#a5cf2cfa3e31e8e01a3692d7e053aaa788d3cf3e" + integrity sha512-a2QpIZmTiT885u/mUInpeN2W9ClCnqrV2LnMqJR1/Fgx1Afw/hAtiDZPtQ0SqS8yDJ2VR5gfNZo3gpxWMrqdVA== + +"@swc/core-win32-x64-msvc@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.0.tgz#ee1fdf8e6a627de33501b5a404465a7e676c8689" + integrity sha512-tZcCmMwf483nwsEBfUk5w9e046kMa1iSik4bP9Kwi2FGtOfHuDfIcwW4jek3hdcgF5SaBW1ktnK/lgQLDi5AtA== + +"@swc/core@^1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.10.0.tgz#9584465f7c5feaf34098466c7063c0044fa08bd8" + integrity sha512-+CuuTCmQFfzaNGg1JmcZvdUVITQXJk9sMnl1C2TiDLzOSVOJRwVD4dNo5dljX/qxpMAN+2BIYlwjlSkoGi6grg== dependencies: "@swc/counter" "^0.1.3" "@swc/types" "^0.1.17" optionalDependencies: - "@swc/core-darwin-arm64" "1.9.3" - "@swc/core-darwin-x64" "1.9.3" - "@swc/core-linux-arm-gnueabihf" "1.9.3" - "@swc/core-linux-arm64-gnu" "1.9.3" - "@swc/core-linux-arm64-musl" "1.9.3" - "@swc/core-linux-x64-gnu" "1.9.3" - "@swc/core-linux-x64-musl" "1.9.3" - "@swc/core-win32-arm64-msvc" "1.9.3" - "@swc/core-win32-ia32-msvc" "1.9.3" - "@swc/core-win32-x64-msvc" "1.9.3" + "@swc/core-darwin-arm64" "1.10.0" + "@swc/core-darwin-x64" "1.10.0" + "@swc/core-linux-arm-gnueabihf" "1.10.0" + "@swc/core-linux-arm64-gnu" "1.10.0" + "@swc/core-linux-arm64-musl" "1.10.0" + "@swc/core-linux-x64-gnu" "1.10.0" + "@swc/core-linux-x64-musl" "1.10.0" + "@swc/core-win32-arm64-msvc" "1.10.0" + "@swc/core-win32-ia32-msvc" "1.10.0" + "@swc/core-win32-x64-msvc" "1.10.0" "@swc/counter@^0.1.3": version "0.1.3" From 417bd61dce8eff6a66afc0f05149311f9505f765 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 11:59:04 +0000 Subject: [PATCH 057/156] chore(deps-dev): bump sass from 1.81.1 to 1.82.0 (#12242) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2cb649bb5563..aef0ca35cf91 100644 --- a/package.json +++ b/package.json @@ -246,7 +246,7 @@ "resolve": "^1.22.8", "resolve-url-loader": "^5.0.0", "rough-notation": "^0.5.1", - "sass": "^1.81.1", + "sass": "^1.82.0", "sass-loader": "^16.0.3", "source-map-loader": "^5.0.0", "style-loader": "^3.3.4", diff --git a/yarn.lock b/yarn.lock index e08adb5c934d..c4288e262e68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13251,10 +13251,10 @@ sass-loader@^16.0.3: dependencies: neo-async "^2.6.2" -sass@^1.81.1: - version "1.81.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.1.tgz#fae569d12533e5d3ca83641f2c1109a078fc53cb" - integrity sha512-VNLgf4FC5yFyKwAumAAwwNh8X4SevlVREq3Y8aDZIkm0lI/zO1feycMXQ4hn+eB6FVhRbleSQ1Yb/q8juSldTA== +sass@^1.82.0: + version "1.82.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.82.0.tgz#30da277af3d0fa6042e9ceabd0d984ed6d07df70" + integrity sha512-j4GMCTa8elGyN9A7x7bEglx0VgSpNUG4W4wNedQ33wSMdnkqQCT8HTwOaVSV4e6yQovcu/3Oc4coJP/l0xhL2Q== dependencies: chokidar "^4.0.0" immutable "^5.0.2" From 070d6cbffb9d7f30656eff757903535731476ad8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 12:02:47 +0000 Subject: [PATCH 058/156] chore(deps): bump dotenv from 16.4.6 to 16.4.7 (#12245) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index aef0ca35cf91..9894ad93933f 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "css-tree": "^2.3.1", "dayjs": "^1.11.13", "dexie": "^4.0.10", - "dotenv": "^16.4.6", + "dotenv": "^16.4.7", "ejs": "^3.1.10", "express": "^4.21.1", "fdir": "^6.4.2", diff --git a/yarn.lock b/yarn.lock index c4288e262e68..297a5ea6c5fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6127,10 +6127,10 @@ dot-prop@^8.0.2: dependencies: type-fest "^3.8.0" -dotenv@^16.4.6: - version "16.4.6" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.6.tgz#fc88e8a664087abf3e19d61e21f7feee1849bbb1" - integrity sha512-JhcR/+KIjkkjiU8yEpaB/USlzVi3i5whwOjpIRNGi9svKEXZSe+Qp6IWAjFjv+2GViAoDRCUv/QLNziQxsLqDg== +dotenv@^16.4.7: + version "16.4.7" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" + integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== download@^6.2.2: version "6.2.5" From c6bb72e3c1b9cd15b0f4aa9bc0a6660fc3d7cc7c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 12:02:55 +0000 Subject: [PATCH 059/156] chore(deps): bump openai from 4.74.0 to 4.75.0 (#12244) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9894ad93933f..c429aed849f6 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "mdn-data": "^2.12.2", "open": "^10.1.0", "open-editor": "^5.0.0", - "openai": "^4.74.0", + "openai": "^4.75.0", "pg": "^8.13.1", "pgvector": "^0.2.0", "prism-svelte": "^0.5.0", diff --git a/yarn.lock b/yarn.lock index 297a5ea6c5fe..76709e884557 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11232,10 +11232,10 @@ open@^10.0.3, open@^10.1.0: is-inside-container "^1.0.0" is-wsl "^3.1.0" -openai@^4.74.0: - version "4.74.0" - resolved "https://registry.yarnpkg.com/openai/-/openai-4.74.0.tgz#db9fc1442e20cb92e9d7afc40b0dc0f71c04cba4" - integrity sha512-pQ8t1jchUymw5WB5jZPchuBtWvxul7RyVxa+9RWfiCQyzvzUyI2sKvUYfpEDI/ouaRLcik3K6psj15ByCefeNA== +openai@^4.75.0: + version "4.75.0" + resolved "https://registry.yarnpkg.com/openai/-/openai-4.75.0.tgz#8bd44885aba5f8f35fe9dea17a4d6859bca5d199" + integrity sha512-8cWaK3td0qLspaflKWD6AvpQnl0gynWFbHg7sMAgiu//F20I4GJlCCpllDrECO6WFSuY8HXJj8gji3urw2BGGg== dependencies: "@types/node" "^18.11.18" "@types/node-fetch" "^2.6.4" From 31b3640348600018bfbc0fc33254f052754bb6e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 12:04:31 +0000 Subject: [PATCH 060/156] chore(deps): bump @mdn/browser-compat-data from 5.6.20 to 5.6.21 (#12246) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c429aed849f6..487bad6371fe 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "@inquirer/prompts": "^7.1.0", "@lit/react": "^1.0.6", "@mdn/bcd-utils-api": "^0.0.7", - "@mdn/browser-compat-data": "^5.6.20", + "@mdn/browser-compat-data": "^5.6.21", "@mdn/rari": "^0.0.26", "@mozilla/glean": "5.0.3", "@sentry/node": "^8.42.0", diff --git a/yarn.lock b/yarn.lock index 76709e884557..43eb3adab278 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2193,10 +2193,10 @@ resolved "https://registry.yarnpkg.com/@mdn/bcd-utils-api/-/bcd-utils-api-0.0.7.tgz#555e80c33df520df068943e6b18ebc07f0e24d19" integrity sha512-IHkkypEjlIkBkx4mJ2//Xbzog9M/Lzne1Sl8db2cIHJ/5pe3NCqSLwSchmqzcUN+/WJr/U+V3tNAbWunk2xZcA== -"@mdn/browser-compat-data@^5.6.20": - version "5.6.20" - resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.6.20.tgz#7ead33170b82fbdd6d0967182b9e7da6b9e8ef14" - integrity sha512-TOxHxwNNtZ+HWnmhBgBCKYwevIqxi5HOshnBg7Fac3R95EFGm3ir0HDUG1ujBG3i8zjXimp3GZK1lfsjkbmydg== +"@mdn/browser-compat-data@^5.6.21": + version "5.6.21" + resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.6.21.tgz#0c423a03d63a679df715d0eece14af38cb76e4d7" + integrity sha512-yFGyNC6llnRbCELh1vH5mhrdSkQCrBs+wOyFjcYa3E9K3qzz6aDKnUSlDfWx+7pMeVr/iSKIdl1P60g2Jxs5sg== "@mdn/dinocons@^0.5.5": version "0.5.5" From caf02a950b0586bbc4b80cfa8f59617e2601a9b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 12:06:24 +0000 Subject: [PATCH 061/156] chore(deps-dev): bump sass-loader from 16.0.3 to 16.0.4 (#12243) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 487bad6371fe..cbfbbdb88b2c 100644 --- a/package.json +++ b/package.json @@ -247,7 +247,7 @@ "resolve-url-loader": "^5.0.0", "rough-notation": "^0.5.1", "sass": "^1.82.0", - "sass-loader": "^16.0.3", + "sass-loader": "^16.0.4", "source-map-loader": "^5.0.0", "style-loader": "^3.3.4", "stylelint": "^15.11.0", diff --git a/yarn.lock b/yarn.lock index 43eb3adab278..ce341a6adc67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13244,10 +13244,10 @@ sanitize.css@13.0.0: resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-13.0.0.tgz#2675553974b27964c75562ade3bd85d79879f173" integrity sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA== -sass-loader@^16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-16.0.3.tgz#17b944fab6702dc7a52c5d2a88cbfa38c39cdc75" - integrity sha512-gosNorT1RCkuCMyihv6FBRR7BMV06oKRAs+l4UMp1mlcVg9rWN6KMmUj3igjQwmYys4mDP3etEYJgiHRbgHCHA== +sass-loader@^16.0.4: + version "16.0.4" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-16.0.4.tgz#5c2afb755fbc0a45a004369efa11579518a39a45" + integrity sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg== dependencies: neo-async "^2.6.2" From a31ba5fba3569a83a20a20934639034488f0668a Mon Sep 17 00:00:00 2001 From: Florian Dieminger Date: Wed, 4 Dec 2024 15:23:06 +0100 Subject: [PATCH 062/156] chore(placement): add hpTop (#12228) --- client/src/placement-context.tsx | 12 +++++++++++- client/src/ui/organisms/placement/index.tsx | 11 ++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/client/src/placement-context.tsx b/client/src/placement-context.tsx index ed5eeb288bbb..2dc2a6990cbc 100644 --- a/client/src/placement-context.tsx +++ b/client/src/placement-context.tsx @@ -14,7 +14,13 @@ export enum Status { empty = "empty", } -type PlacementType = "side" | "top" | "hpMain" | "hpFooter" | "bottom"; +type PlacementType = + | "side" + | "top" + | "hpTop" + | "hpMain" + | "hpFooter" + | "bottom"; export interface PlacementContextData extends Partial> { plusAvailable?: boolean; @@ -31,6 +37,10 @@ const PLACEMENT_MAP: Record = { typ: "top-banner", pattern: /\/[^/]+\/(?!$|_homepage$).*/i, }, + hpTop: { + typ: "top-banner", + pattern: /\/[^/]+\/($|_homepage$)/i, + }, hpMain: { typ: "hp-main", pattern: /\/[^/]+\/($|_homepage$)/i, diff --git a/client/src/ui/organisms/placement/index.tsx b/client/src/ui/organisms/placement/index.tsx index 6677d16601ef..b2bfd2a24e97 100644 --- a/client/src/ui/organisms/placement/index.tsx +++ b/client/src/ui/organisms/placement/index.tsx @@ -127,6 +127,7 @@ function TopPlacementFallbackContent() { export function TopPlacement() { const isServer = useIsServer(); const placementData = usePlacement(); + const data = placementData?.hpTop || placementData?.top; const { textColor, backgroundColor, @@ -136,7 +137,7 @@ export function TopPlacement() { backgroundColorDark, ctaTextColorDark, ctaBackgroundColorDark, - } = placementData?.top?.colors || {}; + } = data?.colors || {}; const css = Object.fromEntries( [ ["--place-top-background-light", backgroundColor], @@ -156,13 +157,13 @@ export function TopPlacement() { const status = isServer || placementData?.status === Status.loading ? "loading" - : placementData?.top + : data ? "visible" : "fallback"; return (

- {isServer || !placementData?.top ? ( + {isServer || !data ? (
{!isServer && placementData?.status !== Status.loading && ( @@ -170,9 +171,9 @@ export function TopPlacement() {
) : ( Date: Wed, 4 Dec 2024 17:36:03 +0100 Subject: [PATCH 063/156] fix(search-index): use en-US popularities for German (#12212) Reorders the German search-index using the order from the English search-index, which is based on page popularity in terms of page views in the previous month. --- .github/workflows/dev-build.yml | 3 +++ .github/workflows/prod-build.yml | 3 +++ .github/workflows/stage-build.yml | 6 ++++++ .github/workflows/test-build.yml | 3 +++ scripts/reorder-search-index.mjs | 35 +++++++++++++++++++++++++++++++ 5 files changed, 50 insertions(+) create mode 100644 scripts/reorder-search-index.mjs diff --git a/.github/workflows/dev-build.yml b/.github/workflows/dev-build.yml index d3565a012f3c..fb0559a3f755 100644 --- a/.github/workflows/dev-build.yml +++ b/.github/workflows/dev-build.yml @@ -169,6 +169,9 @@ jobs: yarn tool whatsdeployed $CONTENT_ROOT --output client/build/_whatsdeployed/content.json yarn tool whatsdeployed $CONTENT_TRANSLATED_ROOT --output client/build/_whatsdeployed/translated-content.json + # Sort DE search index by en-US popularity. + node scripts/reorder-search-index.mjs client/build/en-us/search-index.json client/build/de/search-index.json + - name: Deploy with deployer env: # Set the CONTENT_ROOT first diff --git a/.github/workflows/prod-build.yml b/.github/workflows/prod-build.yml index 0b5b0c29396f..d574a7231d20 100644 --- a/.github/workflows/prod-build.yml +++ b/.github/workflows/prod-build.yml @@ -312,6 +312,9 @@ jobs: yarn tool whatsdeployed $CONTENT_ROOT --output client/build/_whatsdeployed/content.json yarn tool whatsdeployed $CONTENT_TRANSLATED_ROOT --output client/build/_whatsdeployed/translated-content.json + # Sort DE search index by en-US popularity. + node scripts/reorder-search-index.mjs client/build/en-us/search-index.json client/build/de/search-index.json + - name: Update search index if: ${{ ! vars.SKIP_BUILD }} env: diff --git a/.github/workflows/stage-build.yml b/.github/workflows/stage-build.yml index 899d3d7e6a4c..2a0d475cb36b 100644 --- a/.github/workflows/stage-build.yml +++ b/.github/workflows/stage-build.yml @@ -314,6 +314,9 @@ jobs: yarn rari build --issues client/build/issues.json --templ-stats + # Sort DE search index by en-US popularity. + node scripts/reorder-search-index.mjs client/build/en-us/search-index.json client/build/de/search-index.json + # SSR all pages yarn render:html @@ -322,6 +325,9 @@ jobs: yarn tool whatsdeployed $CONTENT_ROOT --output client/build/_whatsdeployed/content.json yarn tool whatsdeployed $CONTENT_TRANSLATED_ROOT --output client/build/_whatsdeployed/translated-content.json + # Sort DE search index by en-US popularity. + node scripts/reorder-search-index.mjs client/build/en-us/search-index.json client/build/de/search-index.json + - name: Update search index if: ${{ ! vars.SKIP_BUILD }} env: diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 21fe49f08a9f..1e665a62e80a 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -213,6 +213,9 @@ jobs: yarn tool whatsdeployed $CONTENT_ROOT --output client/build/_whatsdeployed/content.json yarn tool whatsdeployed $CONTENT_TRANSLATED_ROOT --output client/build/_whatsdeployed/translated-content.json + # Sort DE search index by en-US popularity. + node scripts/reorder-search-index.mjs client/build/en-us/search-index.json client/build/de/search-index.json + - name: Authenticate with GCP uses: google-github-actions/auth@v2 with: diff --git a/scripts/reorder-search-index.mjs b/scripts/reorder-search-index.mjs new file mode 100644 index 000000000000..33fef2c1819e --- /dev/null +++ b/scripts/reorder-search-index.mjs @@ -0,0 +1,35 @@ +import { readFileSync, writeFileSync } from "node:fs"; + +async function main() { + const [refPath, inputPath, outputPath = null] = process.argv.slice(2); + + const readJson = (path) => JSON.parse(readFileSync(path, "utf-8")); + const getSlug = ({ url }) => url.replace(/^\/[^/]+\/docs\//, ""); + + // Read reference (e.g. "client/build/en-us/search-index.json"). + const ref = readJson(refPath).map(getSlug); + + // Read index (e.g. "client/build/de/search-index.json"). + const input = readJson(inputPath); + + const getIndex = (slug) => ref.indexOf(slug); + + const result = []; + for (const [fromIndex, toIndex] of input + .map(getSlug) + .map(getIndex) + .entries()) { + result[toIndex] = input[fromIndex]; + } + + writeFileSync(outputPath ?? inputPath, JSON.stringify(result), "utf-8"); +} + +try { + main(); +} catch (e) { + console.error(e); + if (process.env.GITHUB_ACTIONS) { + console.log(`::error::${e.toString()} `); + } +} From cd0d02de14148a5e3817c8315d744df6d594d37a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 17:26:57 +0000 Subject: [PATCH 064/156] chore(deps-dev): bump prettier from 3.4.1 to 3.4.2 (#12241) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cbfbbdb88b2c..ff54b4e02b49 100644 --- a/package.json +++ b/package.json @@ -232,7 +232,7 @@ "postcss-loader": "^8.1.1", "postcss-normalize": "^13.0.1", "postcss-preset-env": "^10.1.1", - "prettier": "^3.4.1", + "prettier": "^3.4.2", "prettier-plugin-packagejson": "^2.5.6", "prompts": "^2.4.2", "react": "^18.3.1", diff --git a/yarn.lock b/yarn.lock index ce341a6adc67..a43053fbb357 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12397,10 +12397,10 @@ prettier-plugin-packagejson@^2.5.6: sort-package-json "2.12.0" synckit "0.9.2" -prettier@^3.2.5, prettier@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.1.tgz#e211d451d6452db0a291672ca9154bc8c2579f7b" - integrity sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg== +prettier@^3.2.5, prettier@^3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" + integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== pretty-error@^4.0.0: version "4.0.0" From 11a675cca2f7a8683b67d201bf44ea9df3e171a3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Dec 2024 08:59:21 +0000 Subject: [PATCH 065/156] chore(deps-dev): bump react-router[-dom] from 6.28.0 to 7.0.2 (#12247) --- client/jest-setup.ts | 8 ++++++++ client/package.json | 4 +++- package.json | 4 ++-- ssr/index.ts | 2 +- yarn.lock | 49 +++++++++++++++++++++++++++++--------------- 5 files changed, 47 insertions(+), 20 deletions(-) create mode 100644 client/jest-setup.ts diff --git a/client/jest-setup.ts b/client/jest-setup.ts new file mode 100644 index 000000000000..18800eabfb8b --- /dev/null +++ b/client/jest-setup.ts @@ -0,0 +1,8 @@ +//globalThis.IS_REACT_ACT_ENVIRONMENT = true; + +if (!globalThis.TextEncoder || !globalThis.TextDecoder) { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const { TextDecoder, TextEncoder } = require("node:util"); + globalThis.TextEncoder = TextEncoder; + globalThis.TextDecoder = TextDecoder; +} diff --git a/client/package.json b/client/package.json index 7c3de7313cea..87fcd41de3fd 100644 --- a/client/package.json +++ b/client/package.json @@ -58,7 +58,9 @@ "setupFiles": [ "react-app-polyfill/jsdom" ], - "setupFilesAfterEnv": [], + "setupFilesAfterEnv": [ + "/jest-setup.ts" + ], "testEnvironment": "jsdom", "testMatch": [ "/src/**/__tests__/**/*.{js,jsx,ts,tsx}", diff --git a/package.json b/package.json index ff54b4e02b49..98754dd409c8 100644 --- a/package.json +++ b/package.json @@ -240,8 +240,8 @@ "react-dom": "^18.3.1", "react-is": "^18.3.1", "react-refresh": "^0.14", - "react-router": "^6.17.0", - "react-router-dom": "^6.28.0", + "react-router": "^7.0.2", + "react-router-dom": "^7.0.2", "remark-prettier": "^2.0.0", "resolve": "^1.22.8", "resolve-url-loader": "^5.0.0", diff --git a/ssr/index.ts b/ssr/index.ts index 60b1b81623bf..3ab09243c0cd 100644 --- a/ssr/index.ts +++ b/ssr/index.ts @@ -1,5 +1,5 @@ import React from "react"; -import { StaticRouter } from "react-router-dom/server"; +import { StaticRouter } from "react-router-dom"; import { App } from "../client/src/app"; import render from "./render"; diff --git a/yarn.lock b/yarn.lock index a43053fbb357..864db60a889e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2722,11 +2722,6 @@ "@opentelemetry/instrumentation" "^0.49 || ^0.50 || ^0.51 || ^0.52.0" "@opentelemetry/sdk-trace-base" "^1.22" -"@remix-run/router@1.21.0": - version "1.21.0" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.21.0.tgz#c65ae4262bdcfe415dbd4f64ec87676e4a56e2b5" - integrity sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA== - "@rtsao/scc@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" @@ -3190,6 +3185,11 @@ dependencies: "@types/node" "*" +"@types/cookie@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.6.0.tgz#eac397f28bf1d6ae0ae081363eca2f425bedf0d5" + integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== + "@types/debug@^4.0.0": version "4.1.12" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" @@ -5376,6 +5376,11 @@ cookie@0.7.2, cookie@^0.7.2: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== +cookie@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-1.0.2.tgz#27360701532116bd3f1f9416929d176afe1e4610" + integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA== + core-js-compat@^3.38.0, core-js-compat@^3.38.1: version "3.39.0" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.39.0.tgz#b12dccb495f2601dc860bdbe7b4e3ffa8ba63f61" @@ -12665,20 +12670,22 @@ react-refresh@^0.14: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== -react-router-dom@^6.28.0: - version "6.28.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.28.0.tgz#f73ebb3490e59ac9f299377062ad1d10a9f579e6" - integrity sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg== +react-router-dom@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.0.2.tgz#cbd7ce2db7112f1bc3e9eee3657ad32d7515a913" + integrity sha512-VJOQ+CDWFDGaWdrG12Nl+d7yHtLaurNgAQZVgaIy7/Xd+DojgmYLosFfZdGz1wpxmjJIAkAMVTKWcvkx1oggAw== dependencies: - "@remix-run/router" "1.21.0" - react-router "6.28.0" + react-router "7.0.2" -react-router@6.28.0, react-router@^6.17.0: - version "6.28.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.28.0.tgz#29247c86d7ba901d7e5a13aa79a96723c3e59d0d" - integrity sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg== +react-router@7.0.2, react-router@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.0.2.tgz#2820e107cb8cec8acc5db15a17470c056ea86022" + integrity sha512-m5AcPfTRUcjwmhBzOJGEl6Y7+Crqyju0+TgTQxoS4SO+BkWbhOrcfZNq6wSWdl2BBbJbsAoBUb8ZacOFT+/JlA== dependencies: - "@remix-run/router" "1.21.0" + "@types/cookie" "^0.6.0" + cookie "^1.0.1" + set-cookie-parser "^2.6.0" + turbo-stream "2.4.0" react@^18.3.1: version "18.3.1" @@ -13414,6 +13421,11 @@ serve-static@1.16.2: parseurl "~1.3.3" send "0.19.0" +set-cookie-parser@^2.6.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz#3016f150072202dfbe90fadee053573cc89d2943" + integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ== + set-function-length@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" @@ -14692,6 +14704,11 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +turbo-stream@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/turbo-stream/-/turbo-stream-2.4.0.tgz#1e4fca6725e90fa14ac4adb782f2d3759a5695f0" + integrity sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" From 3d403a98caede73783b10afd3d8f2832c51a7791 Mon Sep 17 00:00:00 2001 From: Leo McArdle Date: Thu, 5 Dec 2024 11:59:51 +0000 Subject: [PATCH 066/156] chore(lit): add linting and fix (#12221) https://mozilla-hub.atlassian.net/browse/MP-1738 migrate existing lit components to plain javascript with typescript in jsdoc to avoid the headache of dealing with typescript and babel --- .gitignore | 8 - client/config/webpack.config.js | 1 + client/package.json | 10 +- client/pwa/webpack.config.js | 1 + ...ontributor-list.ts => contributor-list.js} | 38 +++-- client/src/community/types.d.ts | 5 + .../{scrim-inline.ts => scrim-inline.js} | 83 ++++----- client/tsconfig.json | 10 +- package.json | 3 + ssr/theme.js | 1 + ssr/webpack.config.js | 1 + yarn.lock | 159 +++++++++++++++++- 12 files changed, 255 insertions(+), 65 deletions(-) rename client/src/community/{contributor-list.ts => contributor-list.js} (78%) create mode 100644 client/src/community/types.d.ts rename client/src/curriculum/{scrim-inline.ts => scrim-inline.js} (72%) diff --git a/.gitignore b/.gitignore index db0c3e8198af..dbe67409fe08 100644 --- a/.gitignore +++ b/.gitignore @@ -30,24 +30,16 @@ yarn-error.log* /kumascript/coverage/ /kumascript/node_modules/ /testing/node_modules/ -/build/*.js /build/*.js.map /client/build -/client/src/**/*.js /client/src/**/*.js.map -/content/*.js /content/*.js.map -/filecheck/*.js /filecheck/*.js.map -/kumascript/*.js /kumascript/*.js.map -/markdown/*.js /markdown/*.js.map -/server/*.js /server/*.js.map /ssr/dist/ /ssr/*.js.map -/tool/*.js /tool/*.js.map # These are an effect of the dumper still producing all locales diff --git a/client/config/webpack.config.js b/client/config/webpack.config.js index 61670a3174a2..f6d1b7375c4a 100644 --- a/client/config/webpack.config.js +++ b/client/config/webpack.config.js @@ -1,3 +1,4 @@ +// @ts-nocheck import path from "node:path"; import { fileURLToPath } from "node:url"; diff --git a/client/package.json b/client/package.json index 87fcd41de3fd..9c8f2ac86ad8 100644 --- a/client/package.json +++ b/client/package.json @@ -24,14 +24,20 @@ ] }, "eslintConfig": { - "extends": "react-app", + "extends": [ + "react-app", + "plugin:wc/best-practice", + "plugin:lit/all" + ], "rules": { + "lit/no-template-map": "off", "react/jsx-no-target-blank": [ "error", { "allowReferrer": true } - ] + ], + "wc/guard-super-call": "off" } }, "jest": { diff --git a/client/pwa/webpack.config.js b/client/pwa/webpack.config.js index 33c7f7fa4a4d..8663fa8840bd 100644 --- a/client/pwa/webpack.config.js +++ b/client/pwa/webpack.config.js @@ -1,3 +1,4 @@ +// @ts-nocheck import { fileURLToPath } from "node:url"; import { execSync } from "node:child_process"; import webpack from "webpack"; diff --git a/client/src/community/contributor-list.ts b/client/src/community/contributor-list.js similarity index 78% rename from client/src/community/contributor-list.ts rename to client/src/community/contributor-list.js index 79cc1d0143b4..7bb9da45a948 100644 --- a/client/src/community/contributor-list.ts +++ b/client/src/community/contributor-list.js @@ -1,18 +1,10 @@ import { LitElement, html } from "lit"; -import { customElement } from "lit/decorators.js"; import styles from "./contributor-list.scss?css" with { type: "css" }; -interface ContributorData { - name: string; - github: string; - org?: string; -} +/** @import { ContributorData } from "./types" */ -@customElement("contributor-list") export class ContributorList extends LitElement { - _contributors: ContributorData[] = []; - static properties = { _contributors: { state: true }, }; @@ -21,8 +13,14 @@ export class ContributorList extends LitElement { constructor() { super(); + /** @type {ContributorData[]} */ + this._contributors = []; + } + + _onChildrenChanged() { const contributorList = this.querySelector("ul"); - const randomContributors: ContributorData[] = []; + /** @type {ContributorData[]} */ + const randomContributors = []; if (contributorList) { const contributors = [...contributorList.querySelectorAll("li")]; for (let index = 0; index < 8; index++) { @@ -47,6 +45,16 @@ export class ContributorList extends LitElement { } } + connectedCallback() { + super.connectedCallback(); + this._onChildrenChanged(); + new MutationObserver(() => this._onChildrenChanged()).observe(this, { + subtree: true, + childList: true, + characterData: true, + }); + } + render() { return html`
@@ -84,7 +92,7 @@ export class ContributorList extends LitElement { ?.split("/") .slice(-1)}`; return html`
  • - + (array: Array) { +customElements.define("contributor-list", ContributorList); + +/** + * @template T + * @param {Array} array + */ +function popRandom(array) { const i = Math.floor(Math.random() * array.length); // mutate the array: return array.splice(i, 1)[0]; diff --git a/client/src/community/types.d.ts b/client/src/community/types.d.ts new file mode 100644 index 000000000000..7fb5a60a340b --- /dev/null +++ b/client/src/community/types.d.ts @@ -0,0 +1,5 @@ +export interface ContributorData { + name: string; + github: string; + org?: string; +} diff --git a/client/src/curriculum/scrim-inline.ts b/client/src/curriculum/scrim-inline.js similarity index 72% rename from client/src/curriculum/scrim-inline.ts rename to client/src/curriculum/scrim-inline.js index 7bab646ab3bf..894e7d529599 100644 --- a/client/src/curriculum/scrim-inline.ts +++ b/client/src/curriculum/scrim-inline.js @@ -1,41 +1,53 @@ -import { html, LitElement, PropertyValues } from "lit"; -import { customElement } from "lit/decorators.js"; +import { html, LitElement, nothing } from "lit"; import { unsafeHTML } from "lit/directives/unsafe-html.js"; -import { StyleInfo, styleMap } from "lit/directives/style-map.js"; +import { styleMap } from "lit/directives/style-map.js"; import { ifDefined } from "lit/directives/if-defined.js"; import { createComponent } from "@lit/react"; import React from "react"; -import { CURRICULUM } from "../telemetry/constants"; +import { CURRICULUM } from "../telemetry/constants.ts"; import "./scrim-inline.global.css"; import styles from "./scrim-inline.scss?css" with { type: "css" }; import playSvg from "../assets/curriculum/scrim-play.svg?raw"; -@customElement("scrim-inline") class ScrimInline extends LitElement { - url?: string; - _fullUrl?: string; - _scrimId?: string; - - img?: string; - _imgStyle: StyleInfo = {}; - - scrimTitle?: string; - - _fullscreen = false; - _scrimLoaded = false; - static properties = { url: { type: String }, img: { type: String }, - scrimTitle: { type: String }, + scrimTitle: { type: String, attribute: "scrimtitle" }, _fullscreen: { state: true }, _scrimLoaded: { state: true }, }; static styles = styles; - willUpdate(changedProperties: PropertyValues) { + constructor() { + super(); + /** @type {string | undefined} */ + this.url = undefined; + /** @type {string | undefined} */ + this._fullUrl = undefined; + /** @type {string | undefined} */ + this._scrimId = undefined; + + /** @type {string | undefined} */ + this.img = undefined; + /** @type {import("lit/directives/style-map.js").StyleInfo} */ + this._imgStyle = {}; + + /** @type {string | undefined} */ + this.scrimTitle = undefined; + + /** @type {boolean} */ + this._fullscreen = false; + /** @type {boolean} */ + this._scrimLoaded = false; + } + + /** + * @param {import("lit").PropertyValues} changedProperties + */ + willUpdate(changedProperties) { if (changedProperties.has("url")) { if (this.url) { const url = new URL(this.url); @@ -60,7 +72,7 @@ class ScrimInline extends LitElement { render() { if (!this.url || !this._fullUrl) { - return html``; + return nothing; } return html` @@ -70,13 +82,13 @@ class ScrimInline extends LitElement { Clicking will load content from scrimba.com ` : html` @@ -111,7 +123,7 @@ class ScrimInline extends LitElement {
  • ` : null}