Skip to content

fix(ja): clean up jsxref macro args#36165

Merged
mfuji09 merged 18 commits into
mainfrom
fix-jsxref-ja
May 23, 2026
Merged

fix(ja): clean up jsxref macro args#36165
mfuji09 merged 18 commits into
mainfrom
fix-jsxref-ja

Conversation

@caugner

@caugner caugner commented May 21, 2026

Copy link
Copy Markdown
Contributor

Description

Clean up stale jsxref macro arguments in Japanese content so they resolve against the en-US JS Reference index. Changes are scoped to the first argument of jsxref() invocations; display text is preserved everywhere it was already explicit, and inserted as the original arg when missing so the rendered label keeps reflecting what the author originally wrote.

18 commits, applied in order:

# Commit Files Args Description
1 dfae5a1 10 10 Rewrite @@<name> to Symbol.<name>.
2 95c1dcb 1 1 Strip trailing .prototype from class refs.
3 85abd39 1 2 Rewrite stale Operators aggregate-page slugs.
4 f79867d 1 1 Operator expression-forms deprecated/non-standard.
5 dafebdb 2 3 Rewrite full-path Global_Objects/Proxy/handler[/X].
6 1d1d957 15 15 Rewrite stale slugs that en-US redirects resolve cleanly.
7 e6c5d11 42 67 Strip redundant Global_Objects/ prefix when safe.
8 a72dada 18 30 Merge ("foo", "foo()") into ("foo()").
9 665375f 5 13 Rewrite bare/dotted <IntlClass> refs. Display preservation.
10 69be6cf 22 96 Convert WebAssembly jsxref refs to markdown links.
11 8667aa2 3 7 Round 2 of redirect-targets.
12 6b70aa1 89 149 Case-correct slugs surfaced by the index-aware rari. Display preservation.
13 f7d7169 1 4 Round 2 of case-fix covering dotted variants.
14 d9b962c 1 1 Rewrite bare thisOperators/this.
15 6a89e22 68 119 Drop display arg when arg1/arg2 differ only in case.
16 3731291 5 7 Rewrite Proxy.Proxy[.X] (dotted) → Proxy/Proxy[/X] (slash).
17 01bc0ba 64 96 Collapse ("Operators/<kw>", "<kw>")("<kw>") for the 5 operator-keyword shortforms (null, this, delete, new, instanceof), per the convention introduced in mdn/content#44221.
18 1e7e510 1 5 Add the per-locale Reference/<kw>Reference/Operators/<kw> redirects that back the shorthand calls under the deployed rari.

Motivation

These arguments produced broken or redirected links (templ-broken-link/templ-redirected-link/templ-ill-cased-arg) in the upcoming Rari-based build. The new index-based jsxref resolver is being introduced in mdn/rari#715; this PR ensures the Japanese content resolves cleanly against both the deployed rari and the index-aware version.

Additional details

  • 236 files changed; 437 lines modified (net diff vs main).
  • 18 commits, applied as multiple passes. Verified clean against rari@jsxref-with-index — only intentional-broken residuals remain (TypedArray.prototype.move(), Object.prototype.watch()/unwatch, Proxy.Proxy.enumerate, Date.prototype.toLocaleFormat(), Function.prototype.isGenerator(), IteratorResult, Number.toInteger(), String.quote, WeakSet.prototype.clear()).
  • Under rari@main (deployed), the operator-shorthand calls produce templ-redirected-link warnings because the rendered href bounces through the new per-locale redirects to the canonical Operators/<kw> URL. These warnings disappear once fix(jsxref): build Web/JavaScript index to resolve names rari#715 ships — same temporary state Use jsxref shortform for null, this, delete, new, instanceof content#44221 introduced for en-US.

Related issues and pull requests

Related to mdn/rari#715 and mdn/content#44221.

caugner added 2 commits May 21, 2026 18:38
The `@@iterator` / `@@species` / etc. notation is the old MDN
convention for well-known symbol properties. Canonical pages now
live under `Symbol.<name>` (e.g. `Symbol.iterator`). Update the
macro args to match and insert a `/` so the normalization step
(`.` -> `/`) doesn't split the `Symbol.` qualifier.
`{{jsxref("Object.prototype")}}` and similar refs were producing
broken links because no `Object/prototype` page exists; the class
page (`Object`, `Array`, etc.) documents `.prototype` directly.
Rewrite to link to the class page.
@github-actions github-actions Bot added the l10n-ja Issues related to Japanese content. label May 21, 2026
@github-actions

github-actions Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor
Preview URLs (235 pages)
Flaws (190)

Note! 152 documents with no flaws that don't need to be listed. 🎉

Found an unexpected or unresolvable flaw? Please report it here.

URL: /ja/docs/Glossary/Binding
Title: Binding (バインド)
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Learn_web_development/Core/Scripting/Object_basics
Title: JavaScript オブジェクトの基本
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/22
Title: Firefox 22 開発者向けリリースノート
Flaw count: 1

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/CSS/supports which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/25
Title: Firefox 25 for developers
Flaw count: 3

  • macros:
    • Macro cssxref produces link /ja/docs/Web/CSS/-moz-osx-font-smoothing which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/ParentNode which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/ChildNode which doesn't resolve

URL: /ja/docs/Mozilla/Firefox/Releases/26
Title: Firefox 26 for developers
Flaw count: 2

  • macros:
    • Macro cssxref produces link /ja/docs/Web/CSS/-moz-text-blink which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/URLUtils which doesn't resolve

URL: /ja/docs/Mozilla/Firefox/Releases/29
Title: Firefox 29 for developers
Flaw count: 11

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/IteratorResult which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/URLUtils which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/URLUtils/searchParams which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/Worker/onLine which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/HTMLShadowElement which doesn't resolve
    • and 6 more flaws omitted

URL: /ja/docs/Mozilla/Firefox/Releases/34
Title: Firefox 34 for developers
Flaw count: 7

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/TypedArray.prototype.move() which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/MediaKeySession/getUsableKeyIds which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/RTPSender which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/RTPReceiver which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/Navigation/getUserMedia which doesn't resolve
    • and 2 more flaws omitted

URL: /ja/docs/Mozilla/Firefox/Releases/37
Title: Firefox 37 for developers
Flaw count: 3

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/String.quote which doesn't resolve
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/Proxy%2FProxy%2Fenumerate which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/ServiceWorkerGlobalScope/update which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/38
Title: Firefox 38 for developers
Flaw count: 3

  • macros:
    • Macro cssxref produces link /ja/docs/Web/CSS/:unresolved which doesn't resolve
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/CanvasRenderingContext2D/clearHitRegions which doesn't resolve

URL: /ja/docs/Mozilla/Firefox/Releases/39
Title: Firefox 39 for developers
Flaw count: 3

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/CanvasRenderingContext2D/addHitRegion which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/XMLHttpRequest/sendAsBinary which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/AnimationPlayer/startTime which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/40
Title: Firefox 40 開発者向けリリースノート
Flaw count: 3

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/AnimationPlayer/currentTime which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/41
Title: Firefox 41 for developers
Flaw count: 13

  • macros:
    • Macro cssxref produces link /ja/docs/Web/CSS/offset-block-start which is a redirect
    • Macro cssxref produces link /ja/docs/Web/CSS/offset-block-end which is a redirect
    • Macro cssxref produces link /ja/docs/Web/CSS/offset-inline-start which is a redirect
    • Macro cssxref produces link /ja/docs/Web/CSS/offset-inline-end which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/CloseEvent/initCloseEvent which is a redirect
    • and 8 more flaws omitted

URL: /ja/docs/Mozilla/Firefox/Releases/42
Title: Firefox 42 開発者向けリリースノート
Flaw count: 3

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/Directory which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/Directory/path which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/AnimationPlayer/playbackRate which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/44
Title: Firefox 44 for developers
Flaw count: 5

  • macros:
    • Macro cssxref produces link /ja/docs/Web/CSS/@page/marks which doesn't resolve
    • Macro cssxref produces link /ja/docs/Web/CSS/size which doesn't resolve
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/MessageEvent/initMessageEvent which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/WebGLRenderingContext/commit which doesn't resolve

URL: /ja/docs/Mozilla/Firefox/Releases/45
Title: Firefox 45 for developers
Flaw count: 3

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/Window/onstorage which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/ComputedTiming which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/GlobalEventHandlers/onselectionchange which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/49
Title: Firefox 49 開発者向けリリースノート
Flaw count: 3

  • macros:
    • Macro cssxref produces link /ja/docs/Web/CSS/align which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/isSecureContext which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/isSecureContext which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/58
Title: Firefox 58 for developers
Flaw count: 14

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/WEBGL_compressed_texture_atc which doesn't resolve
    • Macro cssxref produces link /ja/docs/Web/CSS/:-moz-system-metric(images-in-menus) which doesn't resolve
    • Macro cssxref produces link /ja/docs/Web/CSS/:-moz-system-metric(mac-graphite-theme) which doesn't resolve
    • Macro cssxref produces link /ja/docs/Web/CSS/:-moz-system-metric(scrollbar-end-backward) which doesn't resolve
    • Macro cssxref produces link /ja/docs/Web/CSS/:-moz-system-metric(scrollbar-end-forward) which doesn't resolve
    • and 9 more flaws omitted

URL: /ja/docs/Mozilla/Firefox/Releases/64
Title: Firefox 64 for developers
Flaw count: 6

  • macros:
    • Macro cssxref produces link /ja/docs/Web/CSS/::-moz-tree which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/fullscreenchange which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/fullscreenerror which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/RTCRtpEncodingParameters which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/RTCIceCandidateStats/mozLocalTransport which is a redirect
    • and 1 more flaws omitted

URL: /ja/docs/Mozilla/Firefox/Releases/65
Title: Firefox 65 開発者向けリリースノート
Flaw count: 2

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/createImageBitmap which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/SharedWorkerGlobalScope/onconnect which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/70
Title: Firefox 70 for developers
Flaw count: 3

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/Document/defaultView/popstate_event which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/Document/captureEvents which doesn't resolve
    • Macro domxref produces link /ja/docs/Web/API/Document/clearEvents which doesn't resolve

URL: /ja/docs/Mozilla/Firefox/Releases/74
Title: Firefox 74 for developers
Flaw count: 2

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/WorkerGlobalScope/onlanguagechange which is a redirect
    • Macro domxref produces link /ja/docs/Web/API/HTMLCanvasElement/mozGetAsFile which is a redirect

URL: /ja/docs/Mozilla/Firefox/Releases/91
Title: Firefox 91 for developers
Flaw count: 2

  • macros:
    • Macro cssxref produces link /ja/docs/Web/CSS/-moz-outline-radius which is a redirect
    • Macro httpheader produces link /ja/docs/Web/HTTP/Reference/Headers/Feature-Policy/gamepad which doesn't resolve

URL: /ja/docs/Web/API/AudioWorkletProcessor/process
Title: AudioWorkletProcessor: process() メソッド
Flaw count: 1

  • macros:
    • Macro domxref produces link /ja/docs/Web/API/AudioWorkletProcessor/parameterDescriptors which is a redirect

URL: /ja/docs/Web/API/CookieStore/set
Title: CookieStore: set() メソッド
Flaw count: 1

  • macros:
    • Macro glossary produces link /ja/docs/Glossary/serialize which is a redirect

URL: /ja/docs/Web/API/DOMTokenList/forEach
Title: DOMTokenList: forEach() メソッド
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/API/EventTarget/addEventListener
Title: EventTarget: addEventListener() メソッド
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript
Title: JavaScript
Flaw count: 3

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/instanceof which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Guide/Meta_programming
Title: メタプログラミング
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/instanceof which is a redirect

URL: /ja/docs/Web/JavaScript/Reference
Title: JavaScript リファレンス
Flaw count: 4

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/instanceof which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Classes
Title: クラス
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Classes/static
Title: static
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Errors/Super_not_called
Title: ReferenceError: must call super constructor before using 'this' in derived class constructor
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Functions/get
Title: get
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Functions/set
Title: set
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects
Title: 標準組み込みオブジェクト
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
Title: Array.prototype.forEach()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/BigInt/BigInt
Title: BigInt() コンストラクター
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/null which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Error
Title: Error
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/instanceof which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Error/Error
Title: Error() コンストラクター
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Float32Array/Float32Array
Title: Float32Array() コンストラクター
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Float64Array/Float64Array
Title: Float64Array() コンストラクター
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Function/arguments
Title: Function.prototype.arguments
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/null which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
Title: Function.prototype.bind()
Flaw count: 6

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • and 1 more flaws omitted

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Function/caller
Title: Function.prototype.caller
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/null which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/globalThis
Title: globalThis
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Int8Array/Int8Array
Title: Int8Array() コンストラクター
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Int16Array/Int16Array
Title: Int16Array() コンストラクター
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Int32Array/Int32Array
Title: Int32Array() コンストラクター
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Iterator/from
Title: Iterator.from()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/instanceof which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Object
Title: Object
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf
Title: Object.prototype.isPrototypeOf()
Flaw count: 2

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/instanceof which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/instanceof which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Object/proto
Title: Object.prototype.__proto__
Flaw count: 2

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/null which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/null which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
Title: Proxy() コンストラクター
Flaw count: 3

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect
    • Sidebar jsref produces link /ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/construct
Title: handler.construct()
Flaw count: 5

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Sidebar jsref produces link /ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/deleteProperty
Title: handler.deleteProperty()
Flaw count: 4

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect
    • Sidebar jsref produces link /ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/getPrototypeOf
Title: handler.getPrototypeOf()
Flaw count: 2

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/instanceof which is a redirect
    • Sidebar jsref produces link /ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct
Title: Reflect.construct()
Flaw count: 2

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty
Title: Reflect.deleteProperty()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/delete which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Set
Title: Set
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Set/difference
Title: Set.prototype.difference()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Set/intersection
Title: Set.prototype.intersection()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Set/isDisjointFrom
Title: Set.prototype.isDisjointFrom()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Set/isSubsetOf
Title: Set.prototype.isSubsetOf()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Set/isSupersetOf
Title: Set.prototype.isSupersetOf()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Set/symmetricDifference
Title: Set.prototype.symmetricDifference()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/Set/union
Title: Set.prototype.union()
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/this which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer
Title: SharedArrayBuffer() コンストラクター
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: /ja/docs/Web/JavaScript/Reference/Global_Objects/String
Title: String
Flaw count: 1

  • macros:
    • Macro jsxref produces link /ja/docs/Web/JavaScript/Reference/new which is a redirect

URL: [/ja/docs/Web/JavaScript/Reference/Global_Objects/Symbol](https://pr36165.review.mdn.allizom.net/ja/docs/Web/…

TRUNCATED!

(comment last updated: 2026-05-22 16:31:27)

caugner added 16 commits May 21, 2026 19:04
The old `Operators/<Group>_Operators` slugs and related obsolete
leaves redirect under the en-US slug graph but never reach the
canonical pages cleanly. Rewrite the first arg to the current
canonical sub-path.
`Operators/Array_comprehensions`, `Operators/Generator_comprehensions`,
`Operators/Expression_closures`, and `Statements/Legacy_generator_function`
were removed from JavaScript. Rewrite the macro args to point at
`Deprecated_and_obsolete_features`.
The Proxy constructor page was renamed; the handler-trap namespace
now lives under `Global_Objects/Proxy/Proxy/<trap>`.
Rewrite arg1 for slugs that en-US redirects resolve cleanly so the
macro doesn't hop: bare `null`/`eval[()]`, `Global_Objects/null`,
`Statements/default`, `instructions/const`, `Operators/get`/`set`,
`Global_Objects/<X>/toSource`, `<X>.prototype.toSource[()]`,
`String.prototype.contains[()]`, `Global_Objects/TypedArray/name`,
`TypedArray.name`, `Global_Objects/Array/flatten`,
`Global_Objects/Date/toGMTString`, `Global_Objects/String/trim{Left,Right}`,
`Global_Objects/uneval`, bare `Reserved_Words`/`rest_parameters`.
Strip the `Global_Objects/` prefix when safe — display arg2 is dropped
only when it's the last positional arg and equals the post-strip
default. Skips dotted-leaf suffixes (e.g. `Symbol.match`) and bare
`eval`, which the currently-published rari can't resolve without the
explicit prefix.
The macro strips `()` for URL resolution but keeps it in the default
display, so arg2 is redundant when it only adds parens to arg1. Only
drops arg2 when it's the last positional arg.
`{{jsxref("NumberFormat")}}` and friends resolve via redirect because
the canonical page lives under `Global_Objects/Intl/<Class>`. Rewrite
the bare and dotted forms (`Collator.compare`, `NumberFormat/format`)
to the canonical `Intl/<Class>` path. When no explicit display arg is
set, insert the original arg as the display text so the rendered
label keeps reflecting what the author originally wrote (e.g.
"NumberFormat" remains visible even though the link now goes to
`Intl/NumberFormat`).
WebAssembly was moved out of `Web/JavaScript/Reference/Global_Objects/`
and now lives at `/WebAssembly/Reference/JavaScript_interface/`. The
`jsxref` macro is scoped to JS Reference, so `WebAssembly.<X>` refs
all surface as `templ-redirected-link`. Convert them to plain markdown
links pointing at the canonical WebAssembly path.

Display preservation: keep an explicit display arg when set; otherwise
use the dotted `WebAssembly.<X>` form (with parens preserved when arg1
had them) so the rendered label is unchanged.
Round 2 of the redirect-targets sweep. Additional
`SIMPLE_RENAMES_REDIRECTS` entries:

- bare `uneval`/`uneval()` (not just `Global_Objects/uneval`) →
  `Deprecated_and_obsolete_features`.
- `Object.toSource[()]` (static/prototype dotted form) →
  `Object.prototype.toString[()]`.
- `Intl/Locale/{calendars,hourCycles,numberingSystems}` (and
  `Global_Objects/`-prefixed form) → `get{Calendars,HourCycles,NumberingSystems}`
  (property → getter-method rename in the spec).
- `<Class>.Symbol.species` dotted form → `<Class>/Symbol.species`
  so the macro's `.`→`/` normalization doesn't split the trailing
  `.species` segment.
Lowercase JS class names (`string`/`boolean`/`number`/`object`/
`promise`/`array`/`symbol`) → canonical capitalized form;
`Operators/Conditional_Operator`/`Comma_Operator`/`Function`/
`Operator_Precedence`/`Property_Accessors` → lowercase suffix;
method-name typos (`Date/valueof` → `valueOf`, `Map/foreach` →
`forEach`, `object/defineProperty`/`defineProperties` → `Object/`);
lowercase namespace slugs (`statements/`/`operators/`/`functions/`/
`classes`) → canonical capitalized; `Classes/Constructor` → lowercase
`constructor`; `Regexp/` → `RegExp/`; `Intl/DatetimeFormat` →
`DateTimeFormat`; `Statements/empty` → `Empty`;
`Global_objects/` → `Global_Objects/`; `template_literals` →
`Template_literals`; `Errors/Strict_Non_Simple_Params` casing.

Also resolve the bare `function` ambiguous arg (matches both
`Operators/function` and `Statements/function`) by picking the
expression form — all observed call sites are callback parameters in
WebAPI pages.

Display preservation keeps the original (mis-cased) form rendered so
the link text is unchanged.
Round 2 of the case-fix sweep covering the dotted variants the round-1
mapping missed: `Date.valueof` → `Date.valueOf`, `Map.foreach` →
`Map.forEach`, `Regexp.<member>` → `RegExp.<member>` (for
`global`/`ignoreCase`/`multiline`/`sticky`), `object.defineProperty`/
`defineProperties` → `Object.`, and `Operators/conditional_operator`
(uppercase Operators, lowercase Conditional) → `Operators/Conditional_operator`.
Catches the small set of args that became part of the universal
`SIMPLE_RENAMES_REDIRECTS` map during later locales:
- bare `this` → `Operators/this`
- `Functions/Strict_mode` → `Strict_mode` (root-level page)
- `Errors/Not_a_codepoint` → `Errors/Not_a_valid_code_point`
… case

Over-zealous display preservation inserted by the case-fix sweep:
`{{jsxref("Object", "object")}}` was meant to keep "object" rendered,
but for JS type references the canonical (capitalized) class name
should also be the rendered text. Drop the redundant arg2 when it
matches arg1 case-insensitively — covers `Object`/`String`/`Number`/
`Array`/`Boolean`/`Promise`/`Symbol`/`undefined` and any other
mis-cased pair caught by the index-aware rari.

Only drops arg2 when it's the last positional arg (same safety policy
as `merge-parens-display`).
…sh) in `jsxref`

The dotted form implies `Proxy.Proxy.X` is a valid JS member access,
but `Proxy.Proxy.<trap>` is not a real namespace — `Proxy/Proxy/<trap>`
is just MDN's URL convention for the constructor + handler-trap
sub-pages. Switch to the slash form everywhere so the rendered default
display doesn't suggest a namespaced `Proxy.Proxy.X` access pattern.

Display args are preserved as-is where set.
…ator shorthands

Use the bare-keyword shortform for the 5 operator keywords `null`,
`this`, `delete`, `new`, `instanceof` per the convention introduced
in mdn/content#44221. The shortform resolves cleanly on current rari
thanks to the `Reference/<kw>` -> `Reference/Operators/<kw>`
redirects that PR added, and resolves natively under the index-aware
rari from mdn/rari#715.

Only collapses the redundant-display pattern (`("Operators/X", "X")`);
longforms with custom display text (`"delete x"`, `"deleted"`,
`"x instanceof y"`) are preserved.
Mirrors the en-US redirects added in mdn/content#44221 for the 5
operator-keyword shorthands (`null`, `this`, `delete`, `new`,
`instanceof`). Without these per-locale redirects, the bare-keyword
`{{jsxref("null")}}` shortform produces a 404 under the deployed
rari; with them, it falls back via redirect to the canonical
`Reference/Operators/<kw>` page. The index-aware rari from
mdn/rari#715 resolves the shortform directly without needing the
redirect.
@caugner caugner changed the title fix(ja): clean up stale jsxref macro args fix(ja): clean up jsxref macro args May 22, 2026

@caugner caugner left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reviewed all changes, LGTM.

@caugner
caugner marked this pull request as ready for review May 22, 2026 17:08
@caugner
caugner requested a review from a team as a code owner May 22, 2026 17:08
@caugner
caugner requested review from mfuji09 and removed request for a team May 22, 2026 17:08

@mfuji09 mfuji09 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM. Thank you!

@mfuji09
mfuji09 merged commit 0522cc2 into main May 23, 2026
12 checks passed
@mfuji09
mfuji09 deleted the fix-jsxref-ja branch May 23, 2026 01:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

l10n-ja Issues related to Japanese content.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants