@mdn/fred 2.4.3 → 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 +27 -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/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/{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/9324.61778c81f15bcebc.js +26 -0
- package/out/static/client/9324.61778c81f15bcebc.js.map +1 -0
- package/out/static/client/{index.b2ccf995e945e9dc.js → index.ae68bec0e2489b62.js} +4 -4
- package/out/static/client/index.ae68bec0e2489b62.js.map +1 -0
- package/out/static/client/{runtime.8ebca7827bf4c35c.js → runtime.5a92d4f860d6d798.js} +2 -2
- package/out/static/client/{runtime.8ebca7827bf4c35c.js.map → runtime.5a92d4f860d6d798.js.map} +1 -1
- package/out/static/client/stats.json +175 -175
- package/out/static/client/styles-global.274bf4a7ba3e88ae.css +2 -0
- package/out/static/client/{styles-global.3da376739551015c.css.map → styles-global.274bf4a7ba3e88ae.css.map} +1 -1
- package/out/static/client/{styles-global.445b59e1ff23f88c.js → styles-global.64aa0c760d2688b4.js} +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 +158 -142
- package/out/static/ssr/index.js.map +1 -1
- package/out/static/ssr/stats.json +4 -4
- package/package.json +12 -6
- 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.3a790c4c45336906.js +0 -167
- package/out/static/client/718.3a790c4c45336906.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.b2ccf995e945e9dc.js.map +0 -1
- package/out/static/client/styles-global.3da376739551015c.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.b2ccf995e945e9dc.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,7 +68,7 @@
|
|
|
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",
|
|
@@ -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
130
|
"typescript": "^6.0.3",
|
|
131
|
-
"typescript-eslint": "^8.
|
|
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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"}
|