@mdn/fred 2.4.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +1 -1
- package/CHANGELOG.md +39 -0
- package/README.md +2 -0
- package/components/baseline-indicator/server.js +86 -32
- package/components/compat-section/server.js +45 -0
- package/components/compat-table/utils.js +10 -0
- package/components/compat-table-lazy/element.js +2 -5
- package/components/content-section/server.js +4 -22
- package/components/curriculum/sidebar.css +1 -1
- package/components/env/index.js +1 -1
- package/components/left-sidebar/server.css +1 -1
- package/components/media/index.css +5 -5
- package/components/menu/missing-docs.json +0 -1
- package/components/outer-layout/server.js +3 -3
- package/components/server/index.js +4 -0
- package/components/sidebar-filter/sidebar-filterer.js +4 -2
- package/components/specifications-list/server.js +72 -0
- package/out/service-worker.js +1 -1
- package/out/static/client/{251.db6a4b10ef58ad3a.js → 251.f498960ce719d884.js} +6 -6
- package/out/static/client/251.f498960ce719d884.js.map +1 -0
- package/out/static/client/{3259.767db1f79a406e65.js → 3259.ac8a5539251c647a.js} +2 -2
- package/out/static/client/{3259.767db1f79a406e65.js.map → 3259.ac8a5539251c647a.js.map} +1 -1
- package/out/static/client/{5408.a0622390fa1726dc.css → 5408.77c9b71d6a5df982.css} +2 -2
- package/out/static/client/{5408.a0622390fa1726dc.css.map → 5408.77c9b71d6a5df982.css.map} +1 -1
- package/out/static/client/6002.60280d36f6ea71ff.js +167 -0
- package/out/static/client/6002.60280d36f6ea71ff.js.map +1 -0
- package/out/static/client/6216.2a29b5ce2a1bf6f6.js +2 -0
- package/out/static/client/6216.2a29b5ce2a1bf6f6.js.map +1 -0
- package/out/static/client/{9127.4debc5342015b0ec.js → 9127.08c4f752c4186007.js} +2 -2
- package/out/static/client/{9127.4debc5342015b0ec.js.map → 9127.08c4f752c4186007.js.map} +1 -1
- package/out/static/client/{9204.515db9110e143075.js → 9204.f8aa5d9f8a79f3d4.js} +2 -2
- package/out/static/client/{9204.515db9110e143075.js.map → 9204.f8aa5d9f8a79f3d4.js.map} +1 -1
- package/out/static/client/9324.61778c81f15bcebc.js +26 -0
- package/out/static/client/9324.61778c81f15bcebc.js.map +1 -0
- package/out/static/client/{9326.6a60853854f7ec9b.css → 9326.431ef0e548c5f096.css} +2 -2
- package/out/static/client/{9326.6a60853854f7ec9b.css.map → 9326.431ef0e548c5f096.css.map} +1 -1
- package/out/static/client/{index.2d8f328c434a5768.js → index.ae68bec0e2489b62.js} +4 -4
- package/out/static/client/index.ae68bec0e2489b62.js.map +1 -0
- package/out/static/client/{runtime.fa41b0d4fa762325.js → runtime.5a92d4f860d6d798.js} +2 -2
- package/out/static/client/{runtime.fa41b0d4fa762325.js.map → runtime.5a92d4f860d6d798.js.map} +1 -1
- package/out/static/client/stats.json +143 -143
- package/out/static/client/{styles-blog-post.c03ec8a22f8d4ff6.css → styles-blog-post.d0b92f36d3ccd2ae.css} +2 -2
- package/out/static/client/{styles-blog-post.c03ec8a22f8d4ff6.css.map → styles-blog-post.d0b92f36d3ccd2ae.css.map} +1 -1
- package/out/static/client/{styles-curriculum-landing.6700bec8f414e4d9.css → styles-curriculum-landing.9b5fbdd11a9d6c5b.css} +2 -2
- package/out/static/client/{styles-curriculum-landing.6700bec8f414e4d9.css.map → styles-curriculum-landing.9b5fbdd11a9d6c5b.css.map} +1 -1
- package/out/static/client/{styles-featured-articles.b4ecc71ab736bd5b.css → styles-featured-articles.a2c1f1fd278c9256.css} +2 -2
- package/out/static/client/{styles-featured-articles.b4ecc71ab736bd5b.css.map → styles-featured-articles.a2c1f1fd278c9256.css.map} +1 -1
- package/out/static/client/{styles-generic-about.8fb97dff70bba559.css → styles-generic-about.8856856e6f4b7e46.css} +2 -2
- package/out/static/client/{styles-generic-about.8fb97dff70bba559.css.map → styles-generic-about.8856856e6f4b7e46.css.map} +1 -1
- package/out/static/client/styles-global.274bf4a7ba3e88ae.css +2 -0
- package/out/static/client/{styles-global.356d25ef0f954fc4.css.map → styles-global.274bf4a7ba3e88ae.css.map} +1 -1
- package/out/static/client/{styles-global.8b4b213c704a703e.js → styles-global.64aa0c760d2688b4.js} +1 -1
- package/out/static/client/{styles-homepage-contributor-spotlight.2bcbb1476c70410c.css → styles-homepage-contributor-spotlight.5dc97e2f6ae1056d.css} +2 -2
- package/out/static/client/{styles-homepage-contributor-spotlight.2bcbb1476c70410c.css.map → styles-homepage-contributor-spotlight.5dc97e2f6ae1056d.css.map} +1 -1
- package/out/static/client/{styles-latest-news.ef3b9e57333a87bc.css → styles-latest-news.afe0cccaa067269f.css} +2 -2
- package/out/static/client/{styles-latest-news.ef3b9e57333a87bc.css.map → styles-latest-news.afe0cccaa067269f.css.map} +1 -1
- package/out/static/client/{styles-left-sidebar.6f954e8939555f77.css → styles-left-sidebar.517b9efefbdeed1d.css} +2 -2
- package/out/static/client/{styles-left-sidebar.6f954e8939555f77.css.map → styles-left-sidebar.517b9efefbdeed1d.css.map} +1 -1
- package/out/static/legacy/6753.072394f4f09652a0.js +27 -0
- package/out/static/legacy/6753.072394f4f09652a0.js.map +1 -0
- package/out/static/legacy/asset-manifest.json +5 -5
- package/out/static/legacy/{index.85161ba7fe682ee8.html → index.c05c933009dda5b3.html} +1 -1
- package/out/static/legacy/stats.json +9 -9
- package/out/static/legacy/{yari.01d97d56e30935ec.js → yari.e457418f21984506.js} +3 -3
- package/out/static/legacy/{yari.01d97d56e30935ec.js.map → yari.e457418f21984506.js.map} +1 -1
- package/out/static/ssr/index.js +160 -144
- package/out/static/ssr/index.js.map +1 -1
- package/out/static/ssr/stats.json +4 -4
- package/package.json +16 -10
- package/components/specifications-list/index.js +0 -60
- package/out/static/client/251.db6a4b10ef58ad3a.js.map +0 -1
- package/out/static/client/6216.f526aaf8b3dedd72.js +0 -2
- package/out/static/client/6216.f526aaf8b3dedd72.js.map +0 -1
- package/out/static/client/718.071765b571e2315c.js +0 -167
- package/out/static/client/718.071765b571e2315c.js.map +0 -1
- package/out/static/client/9324.9bb064ea7377127e.js +0 -26
- package/out/static/client/9324.9bb064ea7377127e.js.map +0 -1
- package/out/static/client/index.2d8f328c434a5768.js.map +0 -1
- package/out/static/client/styles-global.356d25ef0f954fc4.css +0 -2
- package/out/static/legacy/6753.811fcf40c897d487.js +0 -27
- package/out/static/legacy/6753.811fcf40c897d487.js.map +0 -1
- /package/out/static/client/{index.2d8f328c434a5768.js.LICENSE.txt → index.ae68bec0e2489b62.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{6753.811fcf40c897d487.js.LICENSE.txt → 6753.072394f4f09652a0.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{yari.01d97d56e30935ec.js.LICENSE.txt → yari.e457418f21984506.js.LICENSE.txt} +0 -0
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"assets": [
|
|
10
10
|
{
|
|
11
11
|
"name": "index.js",
|
|
12
|
-
"size":
|
|
12
|
+
"size": 1429673
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"filteredAssets": 0,
|
|
16
|
-
"assetsSize":
|
|
16
|
+
"assetsSize": 1429673,
|
|
17
17
|
"auxiliaryAssets": [
|
|
18
18
|
{
|
|
19
19
|
"name": "desktop-saving-page.bbb8eedefb3e848f.png",
|
|
@@ -317,7 +317,7 @@
|
|
|
317
317
|
},
|
|
318
318
|
{
|
|
319
319
|
"name": "index.js.map",
|
|
320
|
-
"size":
|
|
320
|
+
"size": 4287986
|
|
321
321
|
},
|
|
322
322
|
{
|
|
323
323
|
"name": "deno.aed70d20abbf1067.svg",
|
|
@@ -512,7 +512,7 @@
|
|
|
512
512
|
"size": 135602
|
|
513
513
|
}
|
|
514
514
|
],
|
|
515
|
-
"auxiliaryAssetsSize":
|
|
515
|
+
"auxiliaryAssetsSize": 8750987,
|
|
516
516
|
"children": {},
|
|
517
517
|
"childAssets": {}
|
|
518
518
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mdn/fred",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"repository": "https://github.com/mdn/fred",
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"author": "MDN Web Docs",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@lit-labs/ssr": "^4.0.0",
|
|
45
45
|
"@lit-labs/ssr-client": "^1.1.8",
|
|
46
46
|
"@lit/task": "^1.0.3",
|
|
47
|
-
"@mdn/rari": "0.2.
|
|
47
|
+
"@mdn/rari": "0.2.20",
|
|
48
48
|
"@mdn/watify": "^1.1.9",
|
|
49
49
|
"@mozilla/glean": "^5.0.8",
|
|
50
50
|
"codemirror": "^6.0.1",
|
|
@@ -68,14 +68,14 @@
|
|
|
68
68
|
"@codemirror/commands": "^6.10.3",
|
|
69
69
|
"@codemirror/language": "^6.12.3",
|
|
70
70
|
"@codemirror/lint": "^6.9.5",
|
|
71
|
-
"@codemirror/view": "^6.41.
|
|
71
|
+
"@codemirror/view": "^6.41.1",
|
|
72
72
|
"@csstools/postcss-global-data": "^4.0.0",
|
|
73
73
|
"@eslint/compat": "^2.0.5",
|
|
74
74
|
"@eslint/js": "^9.39.4",
|
|
75
75
|
"@fluent/syntax": "^0.19.0",
|
|
76
76
|
"@jackolope/lit-analyzer": "^3.2.0",
|
|
77
77
|
"@jackolope/ts-lit-plugin": "^3.1.6",
|
|
78
|
-
"@mdn/browser-compat-data": "^7.3.
|
|
78
|
+
"@mdn/browser-compat-data": "^7.3.12",
|
|
79
79
|
"@mdn/yari": "^5.1.2",
|
|
80
80
|
"@rsdoctor/rspack-plugin": "^1.5.0",
|
|
81
81
|
"@rspack/cli": "^1.7.11",
|
|
@@ -110,8 +110,8 @@
|
|
|
110
110
|
"eslint-plugin-unicorn": "^64.0.0",
|
|
111
111
|
"eslint-plugin-wc": "^3.1.0",
|
|
112
112
|
"globals": "^17.5.0",
|
|
113
|
-
"lefthook": "^2.1.
|
|
114
|
-
"postcss": "^8.5.
|
|
113
|
+
"lefthook": "^2.1.6",
|
|
114
|
+
"postcss": "^8.5.10",
|
|
115
115
|
"postcss-custom-media": "^12.0.1",
|
|
116
116
|
"postcss-loader": "^8.2.1",
|
|
117
117
|
"postcss-mixins": "^12.1.2",
|
|
@@ -122,13 +122,13 @@
|
|
|
122
122
|
"sass-embedded": "^1.99.0",
|
|
123
123
|
"sass-loader": "^16.0.7",
|
|
124
124
|
"spdy": "^4.0.2",
|
|
125
|
-
"stylelint": "^17.
|
|
125
|
+
"stylelint": "^17.9.0",
|
|
126
126
|
"stylelint-config-recess-order": "^7.7.0",
|
|
127
127
|
"stylelint-config-standard": "^40.0.0",
|
|
128
128
|
"svgo-loader": "^5.0.0",
|
|
129
129
|
"ts-morph": "^28.0.0",
|
|
130
|
-
"typescript": "^6.0.
|
|
131
|
-
"typescript-eslint": "^8.
|
|
130
|
+
"typescript": "^6.0.3",
|
|
131
|
+
"typescript-eslint": "^8.59.0",
|
|
132
132
|
"webpack-dev-middleware": "^8.0.3",
|
|
133
133
|
"webpack-hot-middleware": "^2.26.1",
|
|
134
134
|
"webpack-merge": "^6.0.1",
|
|
@@ -140,8 +140,14 @@
|
|
|
140
140
|
"stylelint-order": ">=7.0.1",
|
|
141
141
|
"tmp": ">=0.2.4"
|
|
142
142
|
},
|
|
143
|
-
"packageManager": "npm@11.
|
|
143
|
+
"packageManager": "npm@11.12.1",
|
|
144
144
|
"engines": {
|
|
145
145
|
"node": ">=24"
|
|
146
|
+
},
|
|
147
|
+
"devEngines": {
|
|
148
|
+
"packageManager": {
|
|
149
|
+
"name": "npm",
|
|
150
|
+
"version": ">=11.8.0"
|
|
151
|
+
}
|
|
146
152
|
}
|
|
147
153
|
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { html } from "lit";
|
|
2
|
-
import { join } from "lit/directives/join.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @param {import("@fred").Context} context
|
|
6
|
-
* @param {import("@rari").Specification[]} specifications
|
|
7
|
-
*/
|
|
8
|
-
export function SpecificationsList(context, specifications) {
|
|
9
|
-
if (specifications.length === 0) {
|
|
10
|
-
return html`${context.l10n(
|
|
11
|
-
"specifications-list-this-feature-does-not-appear-to",
|
|
12
|
-
)`This feature does not appear to be defined in any specification.`}`;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/** @type {Map<string, string[]>} */
|
|
16
|
-
const urlsByTitle = new Map();
|
|
17
|
-
for (const { title, bcdSpecificationURL: url } of specifications) {
|
|
18
|
-
const urls = urlsByTitle.get(title) ?? [];
|
|
19
|
-
urls.push(url);
|
|
20
|
-
urlsByTitle.set(title, urls);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return html`<table>
|
|
24
|
-
<thead>
|
|
25
|
-
<tr>
|
|
26
|
-
<th scope="col">
|
|
27
|
-
${context.l10n("specifications-list-specification")`Specification`}
|
|
28
|
-
</th>
|
|
29
|
-
</tr>
|
|
30
|
-
</thead>
|
|
31
|
-
<tbody>
|
|
32
|
-
${urlsByTitle.entries().map(([title, urls]) =>
|
|
33
|
-
urls.map(
|
|
34
|
-
(url) =>
|
|
35
|
-
html`<tr>
|
|
36
|
-
<td>${SpecificationLink(url, title)}</td>
|
|
37
|
-
</tr>`,
|
|
38
|
-
),
|
|
39
|
-
)}
|
|
40
|
-
</tbody>
|
|
41
|
-
</table>`;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* @param {string} url
|
|
46
|
-
* @param {string} [title]
|
|
47
|
-
*/
|
|
48
|
-
function SpecificationLink(url, title) {
|
|
49
|
-
const hash = url.split("#")[1];
|
|
50
|
-
|
|
51
|
-
const label = [
|
|
52
|
-
title && html`${title}`,
|
|
53
|
-
title && hash && html`<br />`,
|
|
54
|
-
hash && html`# ${hash}`,
|
|
55
|
-
].filter(Boolean);
|
|
56
|
-
|
|
57
|
-
return html`<a class="external" href=${url} rel="noopener" target="_blank"
|
|
58
|
-
>${join(label, "")}</a
|
|
59
|
-
>`;
|
|
60
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"251.db6a4b10ef58ad3a.js","sources":["webpack://@mdn/fred/./components/compat-table-lazy/element.css","webpack://@mdn/fred/./components/global/global.css?1b68","webpack://@mdn/fred/./components/compat-table-lazy/element.js"],"sourcesContent":["import { css } from \"lit\";\n// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../build/loaders/fix-light-dark.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!../global/global.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nexport default css([___CSS_LOADER_EXPORT___.toString()]);\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `*,:after,:before{box-sizing:border-box}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}img{height:auto;max-width:100%}a{color:var(--color-link-normal)}[hidden]{display:none!important}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import { Task } from \"@lit/task\";\nimport { LitElement, html } from \"lit\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\n\nimport \"../compat-table/element.js\";\nimport { L10nMixin } from \"../../l10n/mixin.js\";\nimport {\n DEFAULT_LOCALE,\n ISSUE_METADATA_TEMPLATE,\n} from \"../compat-table/constants.js\";\nimport { BCD_BASE_URL } from \"../env/index.js\";\n\nimport styles from \"./element.css?lit\";\n\n/**\n * @typedef {{data: import(\"@bcd\").Identifier, browsers: import(\"@bcd\").Browsers}} Compat\n */\n\nexport class MDNCompatTableLazy extends L10nMixin(LitElement) {\n static styles = styles;\n\n static properties = {\n query: {},\n locale: {},\n };\n\n constructor() {\n super();\n this.query = \"\";\n this.locale = DEFAULT_LOCALE;\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n get _issueUrl() {\n const url = \"https://github.com/mdn/browser-compat-data/issues/new\";\n const sp = new URLSearchParams();\n const metadata = ISSUE_METADATA_TEMPLATE.replaceAll(\n \"$DATE\",\n new Date().toISOString(),\n )\n .replaceAll(\"$QUERY_ID\", this.query)\n .trim();\n sp.set(\n \"mdn-url\",\n `https://developer.mozilla.org${globalThis.location.pathname}`,\n );\n sp.set(\"metadata\", metadata);\n sp.set(\"title\", `${this.query} - Missing compatibility data`);\n sp.set(\"template\", \"data-problem.yml\");\n\n return `${url}?${sp.toString()}`;\n }\n\n get _issueLink() {\n const onClick = (/** @type {MouseEvent} */ event) => {\n event.preventDefault();\n window.open(this._issueUrl, \"_blank\", \"noopener,noreferrer\");\n };\n\n return html`<a\n class=\"bc-github-link external external-icon\"\n href=\"#\"\n @click=${onClick}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=${this.l10n(\n \"compat-link-report-missing-title\",\n )`Report missing compatibility data`}\n >${this.l10n(\"compat-link-report-missing\")`Report this issue`}</a\n >`;\n }\n\n _dataTask = new Task(this, {\n args: () => [this.query],\n task: async ([query], { signal }) => {\n const response = await fetch(\n `${BCD_BASE_URL}/bcd/api/v0/current/${query}.json`,\n { signal },\n );\n if (!response.ok) {\n console.error(\"Failed to fetch BCD data:\", response);\n\n if (response.status === 404) {\n throw html`No compatibility data found for <code>${query}</code>.\n (${this._issueLink})`;\n }\n\n throw html`Got HTTP ${response.status} when fetching browser\n compatibility data for <code>${query}</code>`;\n }\n return /** @type {Promise<Compat>} */ response.json();\n },\n });\n\n render() {\n const noScript = unsafeHTML(\n `<noscript>${this.l10n(\"compat-js-required\")`Enable JavaScript to view this browser compatibility table.`}</noscript>`,\n );\n return this._dataTask.render({\n initial: () => html`<p>${noScript}</p>`,\n pending: () => html`<p>${this.l10n(\"compat-loading\")`Loading…`}</p>`,\n\n complete:\n /**\n * @param {Compat} compat\n */\n (compat) =>\n compat\n ? html`<mdn-compat-table\n query=${this.query}\n locale=${this.locale}\n .data=${compat.data}\n .browserInfo=${compat.browsers}\n ></mdn-compat-table>`\n : html`<p>No compatibility data found</p>`,\n error: (error) => html`<p>${error}</p>`,\n });\n }\n}\n\ncustomElements.define(\"mdn-compat-table-lazy\", MDNCompatTableLazy);\n"],"names":["MDNCompatTableLazy","URLSearchParams","Date","globalThis","window","fetch","console","customElements"],"mappings":"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"}
|