wikiplus-highlight 3.2.8 → 3.2.9

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/dist/main.min.js CHANGED
@@ -1,4 +1,4 @@
1
- (()=>{var w="https://testingcf.jsdelivr.net",h=t=>JSON.parse(String(localStorage.getItem(t))),{wgPageName:C,wgNamespaceNumber:l,wgPageContentModel:p}=mw.config.get(),E={wikitext:"mediawiki"},M={css:"css",js:"javascript",json:"json"},b={828:"lua",274:"html"},j=async t=>{var a;let e;if(typeof _WikiplusPages=="object"?e=_WikiplusPages:typeof Pages=="object"&&(e=Pages),e){const r=Object.values(e).filter(({sectionCache:i})=>Object.values(i).includes(t));r.some(({title:i})=>!i.endsWith("/doc"))&&await mw.loader.using("mediawiki.Title");const o=new Set(r.map(({title:i})=>{var u,m,d;if(i.endsWith("/doc"))return"template";const c=new mw.Title(i),s=c.getNamespaceId();if(s%2)return"mediawiki";const n=(d=M[(m=(u=c.getExtension())==null?void 0:u.toLowerCase())!=null?m:""])!=null?d:b[s];switch(n){case"javascript":return s===8||s===2300?"gadget":n;case"css":return s===2||s===8||s===2300?n:"sanitized-css";case void 0:return s===10||s===2?"template":"mediawiki";default:return n}}));if(o.size===1){const[i]=o,c=r.length===1?r[0].title:void 0;return i==="gadget"?["javascript",8]:i==="template"?["mediawiki",10,c]:[i,void 0,c]}else if(o.size===2){if(o.has("javascript")&&o.has("gadget"))return["javascript"];if(o.has("mediawiki")&&o.has("template"))return["mediawiki"]}}return l!==274&&p!=="Scribunto"||C.endsWith("/doc")?[(a=E[p])!=null?a:p,p==="javascript"?l:void 0]:(await mw.loader.using("oojs-ui-windows"),await OO.ui.confirm(mw.msg("cm-mw-contentmodel"),{actions:[{label:l===274?"Widget":"Lua"},{label:"Wikitext",action:"accept"}]})?["mediawiki"]:[l===274?"html":"lua"])},k=()=>(document.getElementById("Wikiplus-Quickedit-Submit").dispatchEvent(new MouseEvent("click")),!0),v=()=>(document.querySelector("#Wikiplus-Quickedit-MinorEdit").checked=!0,k()),y=()=>{const t=h("Wikiplus_Settings"),e=t&&(t.esc_to_exit_quickedit||t.escToExitQuickEdit);return e===!0||e==="true"?(document.getElementById("Wikiplus-Quickedit-Back").dispatchEvent(new MouseEvent("click")),!0):!1},S=async(t,e)=>{var o,i;const a=await CodeMirror6.fromTextArea(t,...e?["json"]:await j(t.value));((i=(o=a.view)==null?void 0:o.dom)!=null?i:a.editor.getDomNode()).id="Wikiplus-CodeMirror",e||(a.editor?(a.editor.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyS,k),a.editor.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyMod.Shift|monaco.KeyCode.KeyS,v),a.editor.addCommand(monaco.KeyCode.Escape,y)):a.extraKeys([{key:"Mod-S",run:k},{key:"Shift-Mod-S",run:v},{key:"Esc",run:y}]));const r=document.querySelector("#Wikiplus-Quickedit-Jump > a");r&&(r.href="#Wikiplus-CodeMirror")};(async()=>{var a;const{libs:t}=mediaWiki,{wphl:e}=t;if(!(e!=null&&e.version)){const r="3.2.8";t.wphl={version:r,...e};const o=`npm/@bhsd/codemirror-mediawiki@${(a=t.wphl.cmVersion)!=null?a:"latest"}/dist/wiki.min.js`,i="npm/wikiplus-highlight";typeof CodeMirror6!="function"&&await $.ajax(`${w}/${o}`,{dataType:"script",cache:!0}),new MutationObserver(s=>{var f;const n="#Wikiplus-Quickedit, #Wikiplus-Setting-Input",[u]=$(s.flatMap(({addedNodes:g})=>[...g])).find(n);u&&S(u,u.id==="Wikiplus-Setting-Input");const[m]=$(s.flatMap(({removedNodes:g})=>[...g])).find(n),d=(f=CodeMirror6.instances)==null?void 0:f.get(m);typeof(d==null?void 0:d.destroy)=="function"&&d.destroy(),Object.assign(globalThis,{records:s})}).observe(document.body,{childList:!0}),mw.loader.load(`${w}/${i}@${r}/styles.min.css`,"text/css")}})();/**
1
+ (()=>{var w="https://testingcf.jsdelivr.net",h=t=>JSON.parse(String(localStorage.getItem(t))),{wgPageName:C,wgNamespaceNumber:l,wgPageContentModel:p}=mw.config.get(),E={wikitext:"mediawiki"},M={css:"css",js:"javascript",json:"json"},S={828:"lua",274:"html"},j=async t=>{var a;let e;if(typeof _WikiplusPages=="object"?e=_WikiplusPages:typeof Pages=="object"&&(e=Pages),e){const r=Object.values(e).filter(({sectionCache:i})=>Object.values(i).includes(t));r.some(({title:i})=>!i.endsWith("/doc"))&&await mw.loader.using("mediawiki.Title");const s=new Set(r.map(({title:i})=>{var u,m,d;if(i.endsWith("/doc"))return"template";const c=new mw.Title(i),o=c.getNamespaceId();if(o%2)return"mediawiki";const n=(d=M[(m=(u=c.getExtension())==null?void 0:u.toLowerCase())!=null?m:""])!=null?d:S[o];switch(n){case"javascript":return o===8||o===2300?"gadget":n;case"css":return o===2||o===8||o===2300?n:"sanitized-css";case void 0:return o===10||o===2?"template":"mediawiki";default:return n}}));if(s.size===1){const[i]=s,c=r.length===1?r[0].title:void 0;return i==="gadget"?["javascript",8]:i==="template"?["mediawiki",10,c]:[i,void 0,c]}else if(s.size===2){if(s.has("javascript")&&s.has("gadget"))return["javascript"];if(s.has("mediawiki")&&s.has("template"))return["mediawiki"]}}return l!==274&&p!=="Scribunto"||C.endsWith("/doc")?[(a=E[p])!=null?a:p,p==="javascript"?l:void 0]:(await mw.loader.using("oojs-ui-windows"),await OO.ui.confirm(mw.msg("cm-mw-contentmodel"),{actions:[{label:l===274?"Widget":"Lua"},{label:"Wikitext",action:"accept"}]})?["mediawiki"]:[l===274?"html":"lua"])},k=()=>(document.getElementById("Wikiplus-Quickedit-Submit").dispatchEvent(new MouseEvent("click")),!0),v=()=>(document.querySelector("#Wikiplus-Quickedit-MinorEdit").checked=!0,k()),y=()=>{const t=h("Wikiplus_Settings"),e=t&&(t.esc_to_exit_quickedit||t.escToExitQuickEdit);return e===!0||e==="true"?(document.getElementById("Wikiplus-Quickedit-Back").dispatchEvent(new MouseEvent("click")),!0):!1},W=async(t,e)=>{var s,i;const a=await CodeMirror6.fromTextArea(t,...e?["json"]:await j(t.value));((i=(s=a.view)==null?void 0:s.dom)!=null?i:a.editor.getDomNode()).id="Wikiplus-CodeMirror",e||(a.editor?(a.editor.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyS,k),a.editor.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyMod.Shift|monaco.KeyCode.KeyS,v),a.editor.addCommand(monaco.KeyCode.Escape,y)):a.extraKeys([{key:"Mod-S",run:k},{key:"Shift-Mod-S",run:v},{key:"Esc",run:y}]));const r=document.querySelector("#Wikiplus-Quickedit-Jump > a");r&&(r.href="#Wikiplus-CodeMirror")};(async()=>{var a;const{libs:t}=mediaWiki,{wphl:e}=t;if(!(e!=null&&e.version)){const r="3.2.9";t.wphl={version:r,...e};const s=`npm/@bhsd/codemirror-mediawiki@${(a=t.wphl.cmVersion)!=null?a:"latest"}/dist/wiki.min.js`,i="npm/wikiplus-highlight";typeof CodeMirror6!="function"&&await $.ajax(`${w}/${s}`,{dataType:"script",cache:!0}),new MutationObserver(o=>{var f;const n="#Wikiplus-Quickedit, #Wikiplus-Setting-Input",[u]=$(o.flatMap(({addedNodes:g})=>[...g])).find(n);u&&W(u,u.id==="Wikiplus-Setting-Input");const[m]=$(o.flatMap(({removedNodes:g})=>[...g])).find(n),d=(f=CodeMirror6.instances)==null?void 0:f.get(m);typeof(d==null?void 0:d.destroy)=="function"&&d.destroy()}).observe(document.body,{childList:!0}),mw.loader.load(`${w}/${i}@${r}/styles.min.css`,"text/css")}})();/**
2
2
  * @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展
3
3
  * @author Bhsd <https://github.com/bhsd-harry>
4
4
  * @license GPL-3.0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../build/Wikiplus-highlight/main.js"],
4
- "sourcesContent": ["// ../code-standard/dist/index.mjs\nvar CDN = \"https://testingcf.jsdelivr.net\";\nvar getObject = (key) => JSON.parse(String(localStorage.getItem(key)));\n\n// src/core.ts\nvar {\n wgPageName: page,\n wgNamespaceNumber: ns,\n wgPageContentModel: contentmodel\n} = mw.config.get();\nvar CONTENTMODELS = {\n wikitext: \"mediawiki\"\n};\nvar EXTS = {\n css: \"css\",\n js: \"javascript\",\n json: \"json\"\n};\nvar NAMESPACES = {\n 828: \"lua\",\n 274: \"html\"\n};\nvar getPageMode = async (value) => {\n let WikiplusPages;\n if (typeof _WikiplusPages === \"object\") {\n WikiplusPages = _WikiplusPages;\n } else if (typeof Pages === \"object\") {\n WikiplusPages = Pages;\n }\n if (WikiplusPages) {\n const pages = Object.values(WikiplusPages).filter(({ sectionCache }) => Object.values(sectionCache).includes(value));\n if (pages.some(({ title }) => !title.endsWith(\"/doc\"))) {\n await mw.loader.using(\"mediawiki.Title\");\n }\n const modes = new Set(pages.map(({ title }) => {\n if (title.endsWith(\"/doc\")) {\n return \"template\";\n }\n const t = new mw.Title(title), namespace = t.getNamespaceId();\n if (namespace % 2) {\n return \"mediawiki\";\n }\n const mode = EXTS[t.getExtension()?.toLowerCase() ?? \"\"] ?? NAMESPACES[namespace];\n switch (mode) {\n case \"javascript\":\n return namespace === 8 || namespace === 2300 ? \"gadget\" : mode;\n case \"css\":\n return namespace === 2 || namespace === 8 || namespace === 2300 ? mode : \"sanitized-css\";\n case void 0:\n return namespace === 10 || namespace === 2 ? \"template\" : \"mediawiki\";\n default:\n return mode;\n }\n }));\n if (modes.size === 1) {\n const [mode] = modes, title = pages.length === 1 ? pages[0].title : void 0;\n if (mode === \"gadget\") {\n return [\"javascript\", 8];\n }\n return mode === \"template\" ? [\"mediawiki\", 10, title] : [mode, void 0, title];\n } else if (modes.size === 2) {\n if (modes.has(\"javascript\") && modes.has(\"gadget\")) {\n return [\"javascript\"];\n } else if (modes.has(\"mediawiki\") && modes.has(\"template\")) {\n return [\"mediawiki\"];\n }\n }\n }\n if (ns !== 274 && contentmodel !== \"Scribunto\" || page.endsWith(\"/doc\")) {\n return [CONTENTMODELS[contentmodel] ?? contentmodel, contentmodel === \"javascript\" ? ns : void 0];\n }\n await mw.loader.using(\"oojs-ui-windows\");\n if (await OO.ui.confirm(mw.msg(\"cm-mw-contentmodel\"), {\n actions: [{ label: ns === 274 ? \"Widget\" : \"Lua\" }, { label: \"Wikitext\", action: \"accept\" }]\n })) {\n return [\"mediawiki\"];\n }\n return [ns === 274 ? \"html\" : \"lua\"];\n};\nvar submit = (\n /** 提交编辑 */\n () => {\n document.getElementById(\"Wikiplus-Quickedit-Submit\").dispatchEvent(new MouseEvent(\"click\"));\n return true;\n }\n);\nvar submitMinor = (\n /** 提交小编辑 */\n () => {\n document.querySelector(\"#Wikiplus-Quickedit-MinorEdit\").checked = true;\n return submit();\n }\n);\nvar escapeEdit = (\n /** 按下Esc键退出编辑 */\n () => {\n const settings = getObject(\"Wikiplus_Settings\"), escToExitQuickEdit = settings && (settings[\"esc_to_exit_quickedit\"] || settings[\"escToExitQuickEdit\"]);\n if (escToExitQuickEdit === true || escToExitQuickEdit === \"true\") {\n document.getElementById(\"Wikiplus-Quickedit-Back\").dispatchEvent(new MouseEvent(\"click\"));\n return true;\n }\n return false;\n }\n);\nvar renderEditor = async (target, setting) => {\n const cm = await CodeMirror6.fromTextArea(\n target,\n ...setting ? [\"json\"] : await getPageMode(target.value)\n );\n (cm.view?.dom ?? cm.editor.getDomNode()).id = \"Wikiplus-CodeMirror\";\n if (!setting) {\n if (cm.editor) {\n cm.editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, submit);\n cm.editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyMod.Shift | monaco.KeyCode.KeyS, submitMinor);\n cm.editor.addCommand(monaco.KeyCode.Escape, escapeEdit);\n } else {\n cm.extraKeys([\n { key: \"Mod-S\", run: submit },\n { key: \"Shift-Mod-S\", run: submitMinor },\n { key: \"Esc\", run: escapeEdit }\n ]);\n }\n }\n const jump = document.querySelector(\"#Wikiplus-Quickedit-Jump > a\");\n if (jump) {\n jump.href = \"#Wikiplus-CodeMirror\";\n }\n};\n\n// src/main.ts\n(async () => {\n const { libs } = mediaWiki, { wphl } = libs;\n if (!wphl?.version) {\n const version = \"3.2.8\";\n libs.wphl = { version, ...wphl };\n const MW_CDN = `npm/@bhsd/codemirror-mediawiki@${libs.wphl.cmVersion ?? \"latest\"}/dist/wiki.min.js`, REPO_CDN = \"npm/wikiplus-highlight\";\n if (typeof CodeMirror6 !== \"function\") {\n await $.ajax(`${CDN}/${MW_CDN}`, { dataType: \"script\", cache: true });\n }\n const observer = new MutationObserver((records) => {\n const selector = \"#Wikiplus-Quickedit, #Wikiplus-Setting-Input\", [added] = $(records.flatMap(({ addedNodes }) => [...addedNodes])).find(selector);\n if (added) {\n void renderEditor(added, added.id === \"Wikiplus-Setting-Input\");\n }\n const [removed] = $(records.flatMap(({ removedNodes }) => [...removedNodes])).find(selector), cm = CodeMirror6.instances?.get(removed);\n if (typeof cm?.destroy === \"function\") {\n cm.destroy();\n }\n Object.assign(globalThis, { records });\n });\n observer.observe(document.body, { childList: true });\n mw.loader.load(`${CDN}/${REPO_CDN}@${version}/styles.min.css`, \"text/css\");\n }\n})();\n/**\n * @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展\n * @author Bhsd <https://github.com/bhsd-harry>\n * @license GPL-3.0\n */\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// ../browser/dist/index.js\nvar CDN = \"https://testingcf.jsdelivr.net\";\nvar getObject = (key) => JSON.parse(String(localStorage.getItem(key)));\n\n// src/core.ts\nvar {\n wgPageName: page,\n wgNamespaceNumber: ns,\n wgPageContentModel: contentmodel\n} = mw.config.get();\nvar CONTENTMODELS = {\n wikitext: \"mediawiki\"\n};\nvar EXTS = {\n css: \"css\",\n js: \"javascript\",\n json: \"json\"\n};\nvar NAMESPACES = {\n 828: \"lua\",\n 274: \"html\"\n};\nvar getPageMode = async (value) => {\n let WikiplusPages;\n if (typeof _WikiplusPages === \"object\") {\n WikiplusPages = _WikiplusPages;\n } else if (typeof Pages === \"object\") {\n WikiplusPages = Pages;\n }\n if (WikiplusPages) {\n const pages = Object.values(WikiplusPages).filter(({ sectionCache }) => Object.values(sectionCache).includes(value));\n if (pages.some(({ title }) => !title.endsWith(\"/doc\"))) {\n await mw.loader.using(\"mediawiki.Title\");\n }\n const modes = new Set(pages.map(({ title }) => {\n if (title.endsWith(\"/doc\")) {\n return \"template\";\n }\n const t = new mw.Title(title), namespace = t.getNamespaceId();\n if (namespace % 2) {\n return \"mediawiki\";\n }\n const mode = EXTS[t.getExtension()?.toLowerCase() ?? \"\"] ?? NAMESPACES[namespace];\n switch (mode) {\n case \"javascript\":\n return namespace === 8 || namespace === 2300 ? \"gadget\" : mode;\n case \"css\":\n return namespace === 2 || namespace === 8 || namespace === 2300 ? mode : \"sanitized-css\";\n case void 0:\n return namespace === 10 || namespace === 2 ? \"template\" : \"mediawiki\";\n default:\n return mode;\n }\n }));\n if (modes.size === 1) {\n const [mode] = modes, title = pages.length === 1 ? pages[0].title : void 0;\n if (mode === \"gadget\") {\n return [\"javascript\", 8];\n }\n return mode === \"template\" ? [\"mediawiki\", 10, title] : [mode, void 0, title];\n } else if (modes.size === 2) {\n if (modes.has(\"javascript\") && modes.has(\"gadget\")) {\n return [\"javascript\"];\n } else if (modes.has(\"mediawiki\") && modes.has(\"template\")) {\n return [\"mediawiki\"];\n }\n }\n }\n if (ns !== 274 && contentmodel !== \"Scribunto\" || page.endsWith(\"/doc\")) {\n return [CONTENTMODELS[contentmodel] ?? contentmodel, contentmodel === \"javascript\" ? ns : void 0];\n }\n await mw.loader.using(\"oojs-ui-windows\");\n if (await OO.ui.confirm(mw.msg(\"cm-mw-contentmodel\"), {\n actions: [{ label: ns === 274 ? \"Widget\" : \"Lua\" }, { label: \"Wikitext\", action: \"accept\" }]\n })) {\n return [\"mediawiki\"];\n }\n return [ns === 274 ? \"html\" : \"lua\"];\n};\nvar submit = (\n /** 提交编辑 */\n () => {\n document.getElementById(\"Wikiplus-Quickedit-Submit\").dispatchEvent(new MouseEvent(\"click\"));\n return true;\n }\n);\nvar submitMinor = (\n /** 提交小编辑 */\n () => {\n document.querySelector(\"#Wikiplus-Quickedit-MinorEdit\").checked = true;\n return submit();\n }\n);\nvar escapeEdit = (\n /** 按下Esc键退出编辑 */\n () => {\n const settings = getObject(\"Wikiplus_Settings\"), escToExitQuickEdit = settings && (settings[\"esc_to_exit_quickedit\"] || settings[\"escToExitQuickEdit\"]);\n if (escToExitQuickEdit === true || escToExitQuickEdit === \"true\") {\n document.getElementById(\"Wikiplus-Quickedit-Back\").dispatchEvent(new MouseEvent(\"click\"));\n return true;\n }\n return false;\n }\n);\nvar renderEditor = async (target, setting) => {\n const cm = await CodeMirror6.fromTextArea(\n target,\n ...setting ? [\"json\"] : await getPageMode(target.value)\n );\n (cm.view?.dom ?? cm.editor.getDomNode()).id = \"Wikiplus-CodeMirror\";\n if (!setting) {\n if (cm.editor) {\n cm.editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, submit);\n cm.editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyMod.Shift | monaco.KeyCode.KeyS, submitMinor);\n cm.editor.addCommand(monaco.KeyCode.Escape, escapeEdit);\n } else {\n cm.extraKeys([\n { key: \"Mod-S\", run: submit },\n { key: \"Shift-Mod-S\", run: submitMinor },\n { key: \"Esc\", run: escapeEdit }\n ]);\n }\n }\n const jump = document.querySelector(\"#Wikiplus-Quickedit-Jump > a\");\n if (jump) {\n jump.href = \"#Wikiplus-CodeMirror\";\n }\n};\n\n// src/main.ts\n(async () => {\n const { libs } = mediaWiki, { wphl } = libs;\n if (!wphl?.version) {\n const version = \"3.2.9\";\n libs.wphl = { version, ...wphl };\n const MW_CDN = `npm/@bhsd/codemirror-mediawiki@${libs.wphl.cmVersion ?? \"latest\"}/dist/wiki.min.js`, REPO_CDN = \"npm/wikiplus-highlight\";\n if (typeof CodeMirror6 !== \"function\") {\n await $.ajax(`${CDN}/${MW_CDN}`, { dataType: \"script\", cache: true });\n }\n const observer = new MutationObserver((records) => {\n const selector = \"#Wikiplus-Quickedit, #Wikiplus-Setting-Input\", [added] = $(records.flatMap(({ addedNodes }) => [...addedNodes])).find(selector);\n if (added) {\n void renderEditor(added, added.id === \"Wikiplus-Setting-Input\");\n }\n const [removed] = $(records.flatMap(({ removedNodes }) => [...removedNodes])).find(selector), cm = CodeMirror6.instances?.get(removed);\n if (typeof cm?.destroy === \"function\") {\n cm.destroy();\n }\n });\n observer.observe(document.body, { childList: true });\n mw.loader.load(`${CDN}/${REPO_CDN}@${version}/styles.min.css`, \"text/css\");\n }\n})();\n/**\n * @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展\n * @author Bhsd <https://github.com/bhsd-harry>\n * @license GPL-3.0\n */\n"],
5
+ "mappings": "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",
6
6
  "names": ["CDN", "getObject", "key", "page", "ns", "contentmodel", "CONTENTMODELS", "EXTS", "NAMESPACES", "getPageMode", "value", "_a", "WikiplusPages", "pages", "sectionCache", "title", "modes", "_b", "_c", "t", "namespace", "mode", "submit", "submitMinor", "escapeEdit", "settings", "escToExitQuickEdit", "renderEditor", "target", "setting", "cm", "jump", "libs", "wphl", "version", "MW_CDN", "REPO_CDN", "records", "selector", "added", "addedNodes", "removed", "removedNodes"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wikiplus-highlight",
3
- "version": "3.2.8",
3
+ "version": "3.2.9",
4
4
  "description": "A plugin for the MediaWiki front-end add-on \"Wikiplus\"",
5
5
  "keywords": [
6
6
  "mediawiki",
@@ -18,6 +18,7 @@
18
18
  "/*.css"
19
19
  ],
20
20
  "browser": "/dist/main.min.js",
21
+ "style": "styles.css",
21
22
  "repository": {
22
23
  "type": "git",
23
24
  "url": "git+https://github.com/bhsd-harry/Wikiplus-highlight.git"
@@ -31,28 +32,29 @@
31
32
  "build": "npm run bundle && esbuild ./build/main.js --charset=utf8 --minify --target=es2019 --format=iife --sourcemap --outfile=dist/main.min.js && eslint --no-eslintrc -c .eslintrc.dist.cjs dist/*.js"
32
33
  },
33
34
  "devDependencies": {
34
- "@bhsd/codemirror-mediawiki": "^2.30.0",
35
- "@bhsd/common": "^0.14.1",
35
+ "@bhsd/browser": "^0.0.1",
36
+ "@bhsd/code-standard": "^1.0.1",
37
+ "@bhsd/codemirror-mediawiki": "^3.1.0",
36
38
  "@stylistic/eslint-plugin": "^3.1.0",
37
- "@stylistic/stylelint-plugin": "^3.1.2",
39
+ "@stylistic/stylelint-plugin": "^4.0.0",
38
40
  "@types/jquery": "^3.5.32",
39
- "@types/node": "^24.0.8",
41
+ "@types/node": "^24.0.10",
40
42
  "@types/oojs-ui": "^0.49.4",
41
- "@typescript-eslint/eslint-plugin": "^8.29.0",
42
- "@typescript-eslint/parser": "^8.29.0",
43
- "esbuild": "^0.25.2",
43
+ "@typescript-eslint/eslint-plugin": "^8.35.1",
44
+ "@typescript-eslint/parser": "^8.35.1",
45
+ "esbuild": "^0.25.5",
44
46
  "eslint": "^8.57.1",
45
- "eslint-plugin-es-x": "^8.4.1",
47
+ "eslint-plugin-es-x": "^8.7.0",
46
48
  "eslint-plugin-eslint-comments": "^3.2.0",
47
- "eslint-plugin-jsdoc": "^51.3.1",
49
+ "eslint-plugin-jsdoc": "^52.0.2",
48
50
  "eslint-plugin-json-es": "^1.6.0",
49
51
  "eslint-plugin-promise": "^7.2.1",
50
- "eslint-plugin-regexp": "^2.7.0",
52
+ "eslint-plugin-regexp": "^2.9.0",
51
53
  "eslint-plugin-unicorn": "^56.0.1",
52
54
  "monaco-editor": "^0.52.2",
53
- "stylelint": "^16.21.1",
54
- "stylelint-config-recommended": "^16.0.0",
55
- "types-mediawiki": "^1.9.1",
55
+ "stylelint": "^16.23.1",
56
+ "stylelint-config-recommended": "^17.0.0",
57
+ "types-mediawiki": "^1.10.1",
56
58
  "typescript": "^5.8.2"
57
59
  }
58
60
  }