Skip to content

Commit 40018a5

Browse files
committed
fixup!;
1 parent ae450c9 commit 40018a5

File tree

7 files changed

+37
-46
lines changed

7 files changed

+37
-46
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"eslint-plugin-import-x": "^4.16.1",
3838
"eslint-plugin-jsdoc": "^62.4.1",
3939
"eslint-plugin-react-x": "^2.8.1",
40-
"globals": "^17.3.0",
40+
"globals": "~17.3.0",
4141
"husky": "^9.1.7",
4242
"lint-staged": "^16.2.7",
4343
"prettier": "3.8.1"

scripts/update-type-map.mjs

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,9 @@ const creatingMapping = obj =>
1818
const map = {
1919
...creatingMapping(compat.api),
2020
...creatingMapping(compat.javascript.builtins),
21-
22-
// TSC39 objects
23-
asynciterable: 'https://tc39.github.io/ecma262/#sec-asynciterable-interface',
24-
'module namespace object':
25-
'https://tc39.github.io/ecma262/#sec-module-namespace-exotic-objects',
26-
27-
// Data structures
28-
...Object.fromEntries(
29-
[
30-
'null',
31-
'undefined',
32-
'boolean',
33-
'number',
34-
'bigint',
35-
'string',
36-
'symbol',
37-
].map(k => [
38-
k,
39-
`https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/${k}`,
40-
])
41-
),
42-
integer:
43-
'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/number',
44-
any: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/#Data_types',
45-
this: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this',
4621
};
4722

4823
writeFile(
49-
'./src/generators/metadata/typeMap.json',
24+
'./src/generators/metadata/maps/mdn.json',
5025
JSON.stringify(map, null, 2) + '\n'
5126
);

src/generators/metadata/index.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export default createLazyGenerator({
1717
dependsOn: 'ast',
1818

1919
defaultConfiguration: {
20-
typeMap: import.meta.resolve('./typeMap.json'),
20+
typeMap: import.meta.resolve('./maps/hardcoded.json'),
2121
},
2222

2323
hasParallelProcessor: true,
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"asynciterable": "https://tc39.github.io/ecma262/#sec-asynciterable-interface",
3+
"module namespace object": "https://tc39.github.io/ecma262/#sec-module-namespace-exotic-objects",
4+
"null": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/null",
5+
"undefined": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/undefined",
6+
"boolean": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/boolean",
7+
"number": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/number",
8+
"bigint": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/bigint",
9+
"string": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/string",
10+
"symbol": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/symbol",
11+
"integer": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/number",
12+
"any": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/#Data_types",
13+
"this": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this"
14+
}
Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,10 +1040,10 @@
10401040
"asyncgeneratorfunction": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/AsyncGeneratorFunction",
10411041
"asynciterator": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/AsyncIterator",
10421042
"atomics": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Atomics",
1043-
"bigint": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/bigint",
1043+
"bigint": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/BigInt",
10441044
"bigint64array": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array",
10451045
"biguint64array": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array",
1046-
"boolean": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/boolean",
1046+
"boolean": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
10471047
"dataview": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/DataView",
10481048
"date": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date",
10491049
"disposablestack": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/DisposableStack",
@@ -1067,7 +1067,7 @@
10671067
"map": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map",
10681068
"math": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Math",
10691069
"nan": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/NaN",
1070-
"number": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/number",
1070+
"number": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number",
10711071
"object": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object",
10721072
"promise": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise",
10731073
"proxy": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Proxy",
@@ -1077,9 +1077,9 @@
10771077
"regexp": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp",
10781078
"set": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set",
10791079
"sharedarraybuffer": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer",
1080-
"string": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/string",
1080+
"string": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String",
10811081
"suppressederror": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/SuppressedError",
1082-
"symbol": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/symbol",
1082+
"symbol": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Symbol",
10831083
"syntaxerror": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError",
10841084
"temporal": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Temporal",
10851085
"typeerror": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/TypeError",
@@ -1103,12 +1103,6 @@
11031103
"isnan": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/isNaN",
11041104
"parsefloat": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/parseFloat",
11051105
"parseint": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/parseInt",
1106-
"undefined": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/undefined",
1107-
"unescape": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/unescape",
1108-
"asynciterable": "https://tc39.github.io/ecma262/#sec-asynciterable-interface",
1109-
"module namespace object": "https://tc39.github.io/ecma262/#sec-module-namespace-exotic-objects",
1110-
"null": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/null",
1111-
"integer": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/number",
1112-
"any": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures/#Data_types",
1113-
"this": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this"
1106+
"undefined": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined",
1107+
"unescape": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/unescape"
11141108
}

src/generators/metadata/utils/transformers.mjs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import {
55
} from '../constants.mjs';
66
import { slug } from './slugger.mjs';
77
import { transformNodesToString } from '../../../utils/unist.mjs';
8-
import MDN_TYPE_MAP from '../typeMap.json' with { type: 'json' };
8+
import HARDCODED_TYPE_MAP from '../maps/hardcoded.json' with { type: 'json' };
9+
import MDN_TYPE_MAP from '../maps/mdn.json' with { type: 'json' };
910

1011
/**
1112
* @param {string} text The inner text
@@ -123,9 +124,16 @@ export const transformTypeToReferenceLink = (type, record) => {
123124
return record[lookupPiece];
124125
}
125126

126-
// Transform from MDN
127-
if (lookupPiece.toLowerCase() in MDN_TYPE_MAP) {
128-
return MDN_TYPE_MAP[lookupPiece.toLowerCase()];
127+
const key = lookupPiece.toLowerCase();
128+
129+
// Check in our hardcoded map (i.e. TC39 objects)
130+
if (key in HARDCODED_TYPE_MAP) {
131+
return HARDCODED_TYPE_MAP[key];
132+
}
133+
134+
// Check in MDN
135+
if (key in MDN_TYPE_MAP) {
136+
return MDN_TYPE_MAP[key];
129137
}
130138

131139
// Transform Node.js types like 'vm.Something'.

0 commit comments

Comments
 (0)