Bump kdl parser (#60)

Simplifies error handling.

Incidentally fixes kdl-org/kdl#558
This commit is contained in:
Bram Gotink 2026-03-23 21:38:55 +01:00 committed by GitHub
parent 9d8c80f8b3
commit 18c0ab8f3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 35 deletions

8
package-lock.json generated
View File

@ -11,7 +11,7 @@
"devDependencies": { "devDependencies": {
"@11ty/eleventy": "^3.0.0", "@11ty/eleventy": "^3.0.0",
"@11ty/eleventy-plugin-vite": "^6.0.0-alpha.3", "@11ty/eleventy-plugin-vite": "^6.0.0-alpha.3",
"@bgotink/kdl": "^0.3.1", "@bgotink/kdl": "^0.4.0",
"@parcel/packager-raw-url": "^2.13.3", "@parcel/packager-raw-url": "^2.13.3",
"@parcel/transformer-webmanifest": "^2.13.3", "@parcel/transformer-webmanifest": "^2.13.3",
"@tailwindcss/typography": "^0.3.1", "@tailwindcss/typography": "^0.3.1",
@ -339,9 +339,9 @@
} }
}, },
"node_modules/@bgotink/kdl": { "node_modules/@bgotink/kdl": {
"version": "0.3.1", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/@bgotink/kdl/-/kdl-0.3.1.tgz", "resolved": "https://registry.npmjs.org/@bgotink/kdl/-/kdl-0.4.0.tgz",
"integrity": "sha512-EQQpjS3RiYNlUymAeO06WUrphzSdmbXzQrJ4s8JAr0Ft5WE67s23i5JaulZ3BO0yHA4tMkUT2cHWEgAq5iJC8Q==", "integrity": "sha512-F0uJCjo5FQvFdcGF5QbYVNfcGiRWlocuzyIdQxottZF2+gu6L2xjMGEu9PIpse2hifAca/19vIospgaETCKxIg==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },

View File

@ -26,7 +26,7 @@
"shiki": "^1.24.2", "shiki": "^1.24.2",
"svgo": "^3.3.2", "svgo": "^3.3.2",
"tailwindcss": "^2.0.2", "tailwindcss": "^2.0.2",
"@bgotink/kdl": "^0.3.1", "@bgotink/kdl": "^0.4.0",
"monaco-editor": "^0.52.0", "monaco-editor": "^0.52.0",
"monaco-themes": "^0.4.4" "monaco-themes": "^0.4.4"
}, },

View File

@ -110,38 +110,18 @@ addEventListener("DOMContentLoaded", (event) => {
document.nodes.forEach(node => { document.nodes.forEach(node => {
output.append(buildNodeTree(node)) output.append(buildNodeTree(node))
}) })
} catch (error) { } catch (error) {
output.classList.add('error') output.classList.add('error')
if (error instanceof KDL.InvalidKdlError) { if (error instanceof KDL.InvalidKdlError) {
for (const detail of error.flat()) {
markers.push({ markers.push({
message: error.message, message: detail.message,
severity: monaco.MarkerSeverity.Error, severity: monaco.MarkerSeverity.Error,
startLineNumber: error.start?.line, startLineNumber: detail.start?.line,
startColumn: error.start?.column, startColumn: detail.start?.column,
endLineNumber: error.end?.line, endLineNumber: detail.end?.line,
endColumn: error.end?.column, endColumn: detail.end?.column,
}) })
} else if (typeof AggregateError === 'function' && error instanceof AggregateError) {
for (const suberror of error.errors) {
if (suberror instanceof KDL.InvalidKdlError) {
markers.push({
message: suberror.message,
severity: monaco.MarkerSeverity.Error,
startLineNumber: suberror.start?.line,
startColumn: suberror.start?.column,
endLineNumber: suberror.end?.line,
endColumn: suberror.end?.column,
})
} else {
console.error(suberror);
markers.push({
message: "Failed to parse KDL",
severity: monaco.MarkerSeverity.Error,
startLineNumber: 1,
startColumn: 1,
})
}
} }
} else { } else {
console.error(error) console.error(error)