Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
b6c27ba
MDN description V2
Bashamega Sep 29, 2025
edaed97
-
Bashamega Sep 29, 2025
3b35959
-
Bashamega Sep 29, 2025
6c1718d
-
Bashamega Sep 29, 2025
a6a9114
merge
Bashamega Sep 29, 2025
d6385ab
-
Bashamega Sep 29, 2025
2bc6046
-
Bashamega Sep 30, 2025
6fe5feb
-
Bashamega Sep 30, 2025
5aec97d
Fix issues
Bashamega Sep 30, 2025
5ff1712
Support _static
Bashamega Oct 1, 2025
2d28438
Merge branch 'microsoft:main' into mdn-v2
Bashamega Oct 1, 2025
8a91389
Merge branch 'main' into mdn-v2
Bashamega Oct 2, 2025
9aa7798
Remove magic
Bashamega Oct 2, 2025
e563d35
-
Bashamega Oct 2, 2025
9495a53
-
Bashamega Oct 2, 2025
01ee6ae
lint
Bashamega Oct 2, 2025
fb61574
Merge Branch
Bashamega Oct 5, 2025
1391752
Rename
Bashamega Oct 5, 2025
a3fdd43
Add MD
Bashamega Oct 5, 2025
b6c62b7
-
Bashamega Oct 5, 2025
23fe8a8
-
Bashamega Oct 5, 2025
9e27775
Make it local
Bashamega Oct 5, 2025
07acc6d
-
Bashamega Oct 5, 2025
5b06526
Fix with quotes
Bashamega Oct 5, 2025
9c96533
Merge branches
Bashamega Oct 6, 2025
0d919bb
Lint
Bashamega Oct 6, 2025
f2bd7ac
Merge
Bashamega Oct 29, 2025
25e0ebb
Update
Bashamega Oct 29, 2025
e93c0e0
-
Bashamega Oct 29, 2025
9e5ece7
-
Bashamega Oct 29, 2025
eafeefe
-
Bashamega Oct 29, 2025
7da2361
-
Bashamega Oct 29, 2025
6744c24
Update MDN comments to format boolean values as code in generated Typ…
Bashamega Oct 29, 2025
87b0b4a
-
Bashamega Oct 29, 2025
bd2b0da
-
Bashamega Oct 29, 2025
cbf1a7c
update
Bashamega Oct 31, 2025
6710716
-
Bashamega Oct 31, 2025
3e25495
-
Bashamega Oct 31, 2025
6a89116
Modernize the code
Bashamega Oct 31, 2025
91d86ed
-
Bashamega Nov 1, 2025
9518743
-
Bashamega Nov 1, 2025
75dbd1d
-
Bashamega Nov 1, 2025
2448ac4
-
Bashamega Nov 1, 2025
c1a2586
-
Bashamega Nov 1, 2025
30a87fd
-
Bashamega Nov 1, 2025
7ce9c59
Update scripts/fetch-mdn.js
saschanaz Nov 1, 2025
4056ba3
Update scripts/fetch-mdn.js
saschanaz Nov 1, 2025
3a6746a
Update package.json
saschanaz Nov 1, 2025
88957ed
Update src/build/mdn-comments.ts
saschanaz Nov 1, 2025
7d00f87
Update src/build/mdn-comments.ts
saschanaz Nov 1, 2025
ce0740c
Update src/build/mdn-comments.ts
saschanaz Nov 1, 2025
9421fae
Apply suggestions from code review
saschanaz Nov 1, 2025
4a012c2
Update src/build/mdn-comments.ts
saschanaz Nov 1, 2025
264ca7d
Regenerate
Bashamega Nov 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ jobs:

steps:
- uses: actions/checkout@v4
with:
submodules: true # Ensures submodules are cloned


- uses: actions/setup-node@v4
with:
node-version: "lts/*"
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/update-core-deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true # Ensure submodules are checked out
- name: Update MDN Data
working-directory: ./inputfiles
run: |
curl -fL 'https://developer.mozilla.org/en-US/metadata.json' \
| jq '{ data: [ .[]
| select(
(.mdn_url | ascii_downcase
| (startswith("/en-us/docs/web/api/") or startswith("/en-us/docs/webassembly/reference/javascript_interface/")))
)
| { mdn_url, pageType, summary } ] }' \
> mdn.json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do bash magic when we can filter it in the script instead?


- name: Update submodules
run: git submodule update --init --remote
- uses: actions/setup-node@v4
with:
node-version: "lts/*"
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

496 changes: 196 additions & 300 deletions baselines/audioworklet.generated.d.ts

Large diffs are not rendered by default.

8,042 changes: 3,885 additions & 4,157 deletions baselines/dom.generated.d.ts

Large diffs are not rendered by default.

42 changes: 21 additions & 21 deletions baselines/dom.iterable.generated.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

interface AudioParam {
/**
* The **`setValueCurveAtTime()`** method of the AudioParam interface schedules the parameter's value to change following a curve defined by a list of values.
* The setValueCurveAtTime() method of the AudioParam interface schedules the parameter's value to change following a curve defined by a list of values.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueCurveAtTime)
*/
Expand All @@ -16,13 +16,13 @@ interface AudioParamMap extends ReadonlyMap<string, AudioParam> {

interface BaseAudioContext {
/**
* The **`createIIRFilter()`** method of the BaseAudioContext interface creates an IIRFilterNode, which represents a general **infinite impulse response** (IIR) filter which can be configured to serve as various types of filter.
* The createIIRFilter() method of the BaseAudioContext interface creates an IIRFilterNode, which represents a general infinite impulse response (IIR) filter which can be configured to serve as various types of filter.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter)
*/
createIIRFilter(feedforward: Iterable<number>, feedback: Iterable<number>): IIRFilterNode;
/**
* The `createPeriodicWave()` method of the BaseAudioContext interface is used to create a PeriodicWave.
* The createPeriodicWave() method of the BaseAudioContext interface is used to create a PeriodicWave. This wave is used to define a periodic waveform that can be used to shape the output of an OscillatorNode.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave)
*/
Expand Down Expand Up @@ -64,7 +64,7 @@ interface CSSUnparsedValue {

interface Cache {
/**
* The **`addAll()`** method of the Cache interface takes an array of URLs, retrieves them, and adds the resulting response objects to the given cache.
* The addAll() method of the Cache interface takes an array of URLs, retrieves them, and adds the resulting response objects to the given cache. The request objects created during retrieval become keys to the stored response operations.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/addAll)
*/
Expand All @@ -83,13 +83,13 @@ interface CanvasPathDrawingStyles {

interface CookieStoreManager {
/**
* The **`subscribe()`** method of the CookieStoreManager interface subscribes a ServiceWorkerRegistration to cookie change events.
* The subscribe() method of the CookieStoreManager interface subscribes a ServiceWorkerRegistration to cookie change events.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/CookieStoreManager/subscribe)
*/
subscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;
/**
* The **`unsubscribe()`** method of the CookieStoreManager interface stops the ServiceWorkerRegistration from receiving previously subscribed events.
* The unsubscribe() method of the CookieStoreManager interface stops the ServiceWorkerRegistration from receiving previously subscribed events.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/CookieStoreManager/unsubscribe)
*/
Expand Down Expand Up @@ -184,7 +184,7 @@ interface HighlightRegistry extends Map<string, Highlight> {

interface IDBDatabase {
/**
* The **`transaction`** method of the IDBDatabase interface immediately returns a transaction object (IDBTransaction) containing the IDBTransaction.objectStore method, which you can use to access your object store.
* The transaction method of the IDBDatabase interface immediately returns a transaction object (IDBTransaction) containing the IDBTransaction.objectStore method, which you can use to access your object store.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/transaction)
*/
Expand All @@ -193,7 +193,7 @@ interface IDBDatabase {

interface IDBObjectStore {
/**
* The **`createIndex()`** method of the IDBObjectStore interface creates and returns a new IDBIndex object in the connected database.
* The createIndex() method of the IDBObjectStore interface creates and returns a new IDBIndex object in the connected database. It creates a new field/column defining a new data point for each database record to contain.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)
*/
Expand All @@ -209,7 +209,7 @@ interface MIDIInputMap extends ReadonlyMap<string, MIDIInput> {

interface MIDIOutput {
/**
* The **`send()`** method of the MIDIOutput interface queues messages for the corresponding MIDI port.
* The send() method of the MIDIOutput interface queues messages for the corresponding MIDI port. The message can be sent immediately, or with an optional timestamp to delay sending.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/MIDIOutput/send)
*/
Expand Down Expand Up @@ -249,14 +249,14 @@ interface NamedNodeMap {

interface Navigator {
/**
* The **`requestMediaKeySystemAccess()`** method of the Navigator interface returns a Promise which delivers a MediaKeySystemAccess object that can be used to access a particular media key system, which can in turn be used to create keys for decrypting a media stream.
* The requestMediaKeySystemAccess() method of the Navigator interface returns a Promise which delivers a MediaKeySystemAccess object that can be used to access a particular media key system, which can in turn be used to create keys for decrypting a media stream.
* Available only in secure contexts.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/requestMediaKeySystemAccess)
*/
requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: Iterable<MediaKeySystemConfiguration>): Promise<MediaKeySystemAccess>;
/**
* The **`vibrate()`** method of the Navigator interface pulses the vibration hardware on the device, if such hardware exists.
* The vibrate() method of the Navigator interface pulses the vibration hardware on the device, if such hardware exists. If the device doesn't support vibration, this method has no effect. If a vibration pattern is already in progress when this method is called, the previous pattern is halted and the new one begins instead.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/vibrate)
*/
Expand Down Expand Up @@ -293,7 +293,7 @@ interface PluginArray {

interface RTCRtpTransceiver {
/**
* The **`setCodecPreferences()`** method of the RTCRtpTransceiver interface is used to set the codecs that the transceiver allows for decoding _received_ data, in order of decreasing preference.
* The setCodecPreferences() method of the RTCRtpTransceiver interface is used to set the codecs that the transceiver allows for decoding received data, in order of decreasing preference.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/setCodecPreferences)
*/
Expand Down Expand Up @@ -352,13 +352,13 @@ interface StyleSheetList {

interface SubtleCrypto {
/**
* The **`deriveKey()`** method of the SubtleCrypto interface can be used to derive a secret key from a master key.
* The deriveKey() method of the SubtleCrypto interface can be used to derive a secret key from a master key.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey)
*/
deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;
/**
* The **`generateKey()`** method of the SubtleCrypto interface is used to generate a new key (for symmetric algorithms) or key pair (for public-key algorithms).
* The generateKey() method of the SubtleCrypto interface is used to generate a new key (for symmetric algorithms) or key pair (for public-key algorithms).
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey)
*/
Expand All @@ -367,14 +367,14 @@ interface SubtleCrypto {
generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKeyPair | CryptoKey>;
/**
* The **`importKey()`** method of the SubtleCrypto interface imports a key: that is, it takes as input a key in an external, portable format and gives you a CryptoKey object that you can use in the Web Crypto API.
* The importKey() method of the SubtleCrypto interface imports a key: that is, it takes as input a key in an external, portable format and gives you a CryptoKey object that you can use in the Web Crypto API.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey)
*/
importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
importKey(format: Exclude<KeyFormat, "jwk">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;
/**
* The **`unwrapKey()`** method of the SubtleCrypto interface 'unwraps' a key.
* The unwrapKey() method of the SubtleCrypto interface "unwraps" a key. This means that it takes as its input a key that has been exported and then encrypted (also called "wrapped"). It decrypts the key and then imports it, returning a CryptoKey object that can be used in the Web Crypto API.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey)
*/
Expand Down Expand Up @@ -412,7 +412,7 @@ interface ViewTransitionTypeSet extends Set<string> {

interface WEBGL_draw_buffers {
/**
* The **`WEBGL_draw_buffers.drawBuffersWEBGL()`** method is part of the WebGL API and allows you to define the draw buffers to which all fragment colors are written.
* The WEBGL_draw_buffers.drawBuffersWEBGL() method is part of the WebGL API and allows you to define the draw buffers to which all fragment colors are written.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL)
*/
Expand All @@ -421,25 +421,25 @@ interface WEBGL_draw_buffers {

interface WEBGL_multi_draw {
/**
* The **`WEBGL_multi_draw.multiDrawArraysInstancedWEBGL()`** method of the WebGL API renders multiple primitives from array data.
* The WEBGL_multi_draw.multiDrawArraysInstancedWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawArraysInstanced() method.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysInstancedWEBGL)
*/
multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | Iterable<GLint>, firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;
/**
* The **`WEBGL_multi_draw.multiDrawArraysWEBGL()`** method of the WebGL API renders multiple primitives from array data.
* The WEBGL_multi_draw.multiDrawArraysWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawArrays() method.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysWEBGL)
*/
multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | Iterable<GLint>, firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, drawcount: GLsizei): void;
/**
* The **`WEBGL_multi_draw.multiDrawElementsInstancedWEBGL()`** method of the WebGL API renders multiple primitives from array data.
* The WEBGL_multi_draw.multiDrawElementsInstancedWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawElementsInstanced() method.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsInstancedWEBGL)
*/
multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, offsetsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;
/**
* The **`WEBGL_multi_draw.multiDrawElementsWEBGL()`** method of the WebGL API renders multiple primitives from array data.
* The WEBGL_multi_draw.multiDrawElementsWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawElements() method.
*
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsWEBGL)
*/
Expand Down
Loading