WIP deno
This commit is contained in:
parent
0b09092667
commit
d32d186902
10 changed files with 1134 additions and 136 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
@ -1,8 +1,8 @@
|
|||
# ignore `nix build` output
|
||||
# nix build results
|
||||
/result
|
||||
|
||||
# ignore direnv cache stuff
|
||||
# direnv cache
|
||||
/.direnv
|
||||
|
||||
# ignore pre-commit hooks as installed by direnv
|
||||
/.pre-commit-config.yaml
|
||||
/src
|
||||
/build
|
||||
|
|
|
@ -1,9 +1,49 @@
|
|||
[[language]]
|
||||
auto-format = true
|
||||
file-types = ["nix"]
|
||||
name = "nix"
|
||||
scope = "source.nix"
|
||||
[language-server.deno]
|
||||
command = "deno"
|
||||
args = ["lsp"]
|
||||
config.hostInfo = "helix"
|
||||
|
||||
[language.formatter]
|
||||
args = ["-"]
|
||||
command = "alejandra"
|
||||
[[language]]
|
||||
name = "javascript"
|
||||
scope = "source.js"
|
||||
injection-regex = "(js|javascript)"
|
||||
language-id = "javascript"
|
||||
file-types = ["js", "mjs", "cjs", "rules", "es6", "pac", "jakefile"]
|
||||
shebangs = ["node"]
|
||||
comment-token = "//"
|
||||
language-servers = [ "deno" ]
|
||||
indent = { tab-width = 2, unit = "\t" }
|
||||
auto-format = true
|
||||
|
||||
[[language]]
|
||||
name = "jsx"
|
||||
scope = "source.jsx"
|
||||
injection-regex = "jsx"
|
||||
language-id = "javascriptreact"
|
||||
file-types = ["jsx"]
|
||||
comment-token = "//"
|
||||
language-servers = [ "deno" ]
|
||||
indent = { tab-width = 2, unit = "\t" }
|
||||
grammar = "javascript"
|
||||
auto-format = true
|
||||
|
||||
[[language]]
|
||||
name = "typescript"
|
||||
scope = "source.ts"
|
||||
injection-regex = "(ts|typescript)"
|
||||
file-types = ["ts", "mts", "cts"]
|
||||
language-id = "typescript"
|
||||
shebangs = ["deno", "ts-node"]
|
||||
language-servers = [ "deno" ]
|
||||
indent = { tab-width = 2, unit = "\t" }
|
||||
auto-format = true
|
||||
|
||||
[[language]]
|
||||
name = "tsx"
|
||||
scope = "source.tsx"
|
||||
injection-regex = "(tsx)"
|
||||
language-id = "typescriptreact"
|
||||
file-types = ["tsx"]
|
||||
language-servers = [ "deno" ]
|
||||
indent = { tab-width = 2, unit = "\t" }
|
||||
auto-format = true
|
||||
|
|
19
client.js
Normal file
19
client.js
Normal file
|
@ -0,0 +1,19 @@
|
|||
let connectionAttempt = 0
|
||||
function connectSocket() {
|
||||
const socket = new WebSocket('ws://localhost:8080')
|
||||
socket.addEventListener('open', () => {
|
||||
socket.send(JSON.stringify({ type: 'open', connectionAttempt }))
|
||||
})
|
||||
socket.addEventListener('close', () => {
|
||||
connectionAttempt += 1
|
||||
setTimeout(connectSocket(), 1000)
|
||||
})
|
||||
socket.addEventListener('message', handleMessage)
|
||||
}
|
||||
|
||||
function handleMessage({ data }) {
|
||||
console.log({ data })
|
||||
if (data == 'reload') window.location.reload()
|
||||
}
|
||||
|
||||
addEventListener('DOMContentLoaded', connectSocket)
|
10
deno.json
Normal file
10
deno.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"tasks": {
|
||||
"dev": "deno run -A --watch=src,mod.ts mod.ts"
|
||||
},
|
||||
"fmt": {
|
||||
"useTabs": true,
|
||||
"semiColons": false,
|
||||
"singleQuote": true
|
||||
}
|
||||
}
|
853
deno.lock
Normal file
853
deno.lock
Normal file
|
@ -0,0 +1,853 @@
|
|||
{
|
||||
"version": "3",
|
||||
"packages": {
|
||||
"specifiers": {
|
||||
"npm:mermaid": "npm:mermaid@10.9.1_cytoscape@3.29.2"
|
||||
},
|
||||
"npm": {
|
||||
"@braintree/sanitize-url@6.0.4": {
|
||||
"integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"@types/d3-scale-chromatic@3.0.3": {
|
||||
"integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"@types/d3-scale@4.0.8": {
|
||||
"integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==",
|
||||
"dependencies": {
|
||||
"@types/d3-time": "@types/d3-time@3.0.3"
|
||||
}
|
||||
},
|
||||
"@types/d3-time@3.0.3": {
|
||||
"integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"@types/debug@4.1.12": {
|
||||
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
|
||||
"dependencies": {
|
||||
"@types/ms": "@types/ms@0.7.34"
|
||||
}
|
||||
},
|
||||
"@types/mdast@3.0.15": {
|
||||
"integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==",
|
||||
"dependencies": {
|
||||
"@types/unist": "@types/unist@2.0.10"
|
||||
}
|
||||
},
|
||||
"@types/ms@0.7.34": {
|
||||
"integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"@types/unist@2.0.10": {
|
||||
"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"character-entities@2.0.2": {
|
||||
"integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"commander@7.2.0": {
|
||||
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"commander@8.3.0": {
|
||||
"integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"cose-base@1.0.3": {
|
||||
"integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==",
|
||||
"dependencies": {
|
||||
"layout-base": "layout-base@1.0.2"
|
||||
}
|
||||
},
|
||||
"cytoscape-cose-bilkent@4.1.0_cytoscape@3.29.2": {
|
||||
"integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==",
|
||||
"dependencies": {
|
||||
"cose-base": "cose-base@1.0.3",
|
||||
"cytoscape": "cytoscape@3.29.2"
|
||||
}
|
||||
},
|
||||
"cytoscape@3.29.2": {
|
||||
"integrity": "sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-array@2.12.1": {
|
||||
"integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
|
||||
"dependencies": {
|
||||
"internmap": "internmap@1.0.1"
|
||||
}
|
||||
},
|
||||
"d3-array@3.2.4": {
|
||||
"integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
|
||||
"dependencies": {
|
||||
"internmap": "internmap@2.0.3"
|
||||
}
|
||||
},
|
||||
"d3-axis@3.0.0": {
|
||||
"integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-brush@3.0.0_d3-selection@3.0.0": {
|
||||
"integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
|
||||
"dependencies": {
|
||||
"d3-dispatch": "d3-dispatch@3.0.1",
|
||||
"d3-drag": "d3-drag@3.0.0",
|
||||
"d3-interpolate": "d3-interpolate@3.0.1",
|
||||
"d3-selection": "d3-selection@3.0.0",
|
||||
"d3-transition": "d3-transition@3.0.1_d3-selection@3.0.0"
|
||||
}
|
||||
},
|
||||
"d3-chord@3.0.1": {
|
||||
"integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
|
||||
"dependencies": {
|
||||
"d3-path": "d3-path@3.1.0"
|
||||
}
|
||||
},
|
||||
"d3-color@3.1.0": {
|
||||
"integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-contour@4.0.2": {
|
||||
"integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
|
||||
"dependencies": {
|
||||
"d3-array": "d3-array@3.2.4"
|
||||
}
|
||||
},
|
||||
"d3-delaunay@6.0.4": {
|
||||
"integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
|
||||
"dependencies": {
|
||||
"delaunator": "delaunator@5.0.1"
|
||||
}
|
||||
},
|
||||
"d3-dispatch@3.0.1": {
|
||||
"integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-drag@3.0.0": {
|
||||
"integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
|
||||
"dependencies": {
|
||||
"d3-dispatch": "d3-dispatch@3.0.1",
|
||||
"d3-selection": "d3-selection@3.0.0"
|
||||
}
|
||||
},
|
||||
"d3-dsv@3.0.1": {
|
||||
"integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
|
||||
"dependencies": {
|
||||
"commander": "commander@7.2.0",
|
||||
"iconv-lite": "iconv-lite@0.6.3",
|
||||
"rw": "rw@1.3.3"
|
||||
}
|
||||
},
|
||||
"d3-ease@3.0.1": {
|
||||
"integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-fetch@3.0.1": {
|
||||
"integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
|
||||
"dependencies": {
|
||||
"d3-dsv": "d3-dsv@3.0.1"
|
||||
}
|
||||
},
|
||||
"d3-force@3.0.0": {
|
||||
"integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
|
||||
"dependencies": {
|
||||
"d3-dispatch": "d3-dispatch@3.0.1",
|
||||
"d3-quadtree": "d3-quadtree@3.0.1",
|
||||
"d3-timer": "d3-timer@3.0.1"
|
||||
}
|
||||
},
|
||||
"d3-format@3.1.0": {
|
||||
"integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-geo@3.1.1": {
|
||||
"integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
|
||||
"dependencies": {
|
||||
"d3-array": "d3-array@3.2.4"
|
||||
}
|
||||
},
|
||||
"d3-hierarchy@3.1.2": {
|
||||
"integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-interpolate@3.0.1": {
|
||||
"integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
|
||||
"dependencies": {
|
||||
"d3-color": "d3-color@3.1.0"
|
||||
}
|
||||
},
|
||||
"d3-path@1.0.9": {
|
||||
"integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-path@3.1.0": {
|
||||
"integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-polygon@3.0.1": {
|
||||
"integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-quadtree@3.0.1": {
|
||||
"integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-random@3.0.1": {
|
||||
"integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-sankey@0.12.3": {
|
||||
"integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==",
|
||||
"dependencies": {
|
||||
"d3-array": "d3-array@2.12.1",
|
||||
"d3-shape": "d3-shape@1.3.7"
|
||||
}
|
||||
},
|
||||
"d3-scale-chromatic@3.1.0": {
|
||||
"integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
|
||||
"dependencies": {
|
||||
"d3-color": "d3-color@3.1.0",
|
||||
"d3-interpolate": "d3-interpolate@3.0.1"
|
||||
}
|
||||
},
|
||||
"d3-scale@4.0.2": {
|
||||
"integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
|
||||
"dependencies": {
|
||||
"d3-array": "d3-array@3.2.4",
|
||||
"d3-format": "d3-format@3.1.0",
|
||||
"d3-interpolate": "d3-interpolate@3.0.1",
|
||||
"d3-time": "d3-time@3.1.0",
|
||||
"d3-time-format": "d3-time-format@4.1.0"
|
||||
}
|
||||
},
|
||||
"d3-selection@3.0.0": {
|
||||
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-shape@1.3.7": {
|
||||
"integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
|
||||
"dependencies": {
|
||||
"d3-path": "d3-path@1.0.9"
|
||||
}
|
||||
},
|
||||
"d3-shape@3.2.0": {
|
||||
"integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
|
||||
"dependencies": {
|
||||
"d3-path": "d3-path@3.1.0"
|
||||
}
|
||||
},
|
||||
"d3-time-format@4.1.0": {
|
||||
"integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
|
||||
"dependencies": {
|
||||
"d3-time": "d3-time@3.1.0"
|
||||
}
|
||||
},
|
||||
"d3-time@3.1.0": {
|
||||
"integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
|
||||
"dependencies": {
|
||||
"d3-array": "d3-array@3.2.4"
|
||||
}
|
||||
},
|
||||
"d3-timer@3.0.1": {
|
||||
"integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"d3-transition@3.0.1_d3-selection@3.0.0": {
|
||||
"integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
|
||||
"dependencies": {
|
||||
"d3-color": "d3-color@3.1.0",
|
||||
"d3-dispatch": "d3-dispatch@3.0.1",
|
||||
"d3-ease": "d3-ease@3.0.1",
|
||||
"d3-interpolate": "d3-interpolate@3.0.1",
|
||||
"d3-selection": "d3-selection@3.0.0",
|
||||
"d3-timer": "d3-timer@3.0.1"
|
||||
}
|
||||
},
|
||||
"d3-zoom@3.0.0_d3-selection@3.0.0": {
|
||||
"integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
|
||||
"dependencies": {
|
||||
"d3-dispatch": "d3-dispatch@3.0.1",
|
||||
"d3-drag": "d3-drag@3.0.0",
|
||||
"d3-interpolate": "d3-interpolate@3.0.1",
|
||||
"d3-selection": "d3-selection@3.0.0",
|
||||
"d3-transition": "d3-transition@3.0.1_d3-selection@3.0.0"
|
||||
}
|
||||
},
|
||||
"d3@7.9.0_d3-selection@3.0.0": {
|
||||
"integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==",
|
||||
"dependencies": {
|
||||
"d3-array": "d3-array@3.2.4",
|
||||
"d3-axis": "d3-axis@3.0.0",
|
||||
"d3-brush": "d3-brush@3.0.0_d3-selection@3.0.0",
|
||||
"d3-chord": "d3-chord@3.0.1",
|
||||
"d3-color": "d3-color@3.1.0",
|
||||
"d3-contour": "d3-contour@4.0.2",
|
||||
"d3-delaunay": "d3-delaunay@6.0.4",
|
||||
"d3-dispatch": "d3-dispatch@3.0.1",
|
||||
"d3-drag": "d3-drag@3.0.0",
|
||||
"d3-dsv": "d3-dsv@3.0.1",
|
||||
"d3-ease": "d3-ease@3.0.1",
|
||||
"d3-fetch": "d3-fetch@3.0.1",
|
||||
"d3-force": "d3-force@3.0.0",
|
||||
"d3-format": "d3-format@3.1.0",
|
||||
"d3-geo": "d3-geo@3.1.1",
|
||||
"d3-hierarchy": "d3-hierarchy@3.1.2",
|
||||
"d3-interpolate": "d3-interpolate@3.0.1",
|
||||
"d3-path": "d3-path@3.1.0",
|
||||
"d3-polygon": "d3-polygon@3.0.1",
|
||||
"d3-quadtree": "d3-quadtree@3.0.1",
|
||||
"d3-random": "d3-random@3.0.1",
|
||||
"d3-scale": "d3-scale@4.0.2",
|
||||
"d3-scale-chromatic": "d3-scale-chromatic@3.1.0",
|
||||
"d3-selection": "d3-selection@3.0.0",
|
||||
"d3-shape": "d3-shape@3.2.0",
|
||||
"d3-time": "d3-time@3.1.0",
|
||||
"d3-time-format": "d3-time-format@4.1.0",
|
||||
"d3-timer": "d3-timer@3.0.1",
|
||||
"d3-transition": "d3-transition@3.0.1_d3-selection@3.0.0",
|
||||
"d3-zoom": "d3-zoom@3.0.0_d3-selection@3.0.0"
|
||||
}
|
||||
},
|
||||
"dagre-d3-es@7.0.10": {
|
||||
"integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==",
|
||||
"dependencies": {
|
||||
"d3": "d3@7.9.0_d3-selection@3.0.0",
|
||||
"lodash-es": "lodash-es@4.17.21"
|
||||
}
|
||||
},
|
||||
"dayjs@1.11.11": {
|
||||
"integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"debug@4.3.5": {
|
||||
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
|
||||
"dependencies": {
|
||||
"ms": "ms@2.1.2"
|
||||
}
|
||||
},
|
||||
"decode-named-character-reference@1.0.2": {
|
||||
"integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==",
|
||||
"dependencies": {
|
||||
"character-entities": "character-entities@2.0.2"
|
||||
}
|
||||
},
|
||||
"delaunator@5.0.1": {
|
||||
"integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
|
||||
"dependencies": {
|
||||
"robust-predicates": "robust-predicates@3.0.2"
|
||||
}
|
||||
},
|
||||
"dequal@2.0.3": {
|
||||
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"diff@5.2.0": {
|
||||
"integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"dompurify@3.1.5": {
|
||||
"integrity": "sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"elkjs@0.9.3": {
|
||||
"integrity": "sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"iconv-lite@0.6.3": {
|
||||
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
|
||||
"dependencies": {
|
||||
"safer-buffer": "safer-buffer@2.1.2"
|
||||
}
|
||||
},
|
||||
"internmap@1.0.1": {
|
||||
"integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"internmap@2.0.3": {
|
||||
"integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"katex@0.16.10": {
|
||||
"integrity": "sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==",
|
||||
"dependencies": {
|
||||
"commander": "commander@8.3.0"
|
||||
}
|
||||
},
|
||||
"khroma@2.1.0": {
|
||||
"integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"kleur@4.1.5": {
|
||||
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"layout-base@1.0.2": {
|
||||
"integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"lodash-es@4.17.21": {
|
||||
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"mdast-util-from-markdown@1.3.1": {
|
||||
"integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==",
|
||||
"dependencies": {
|
||||
"@types/mdast": "@types/mdast@3.0.15",
|
||||
"@types/unist": "@types/unist@2.0.10",
|
||||
"decode-named-character-reference": "decode-named-character-reference@1.0.2",
|
||||
"mdast-util-to-string": "mdast-util-to-string@3.2.0",
|
||||
"micromark": "micromark@3.2.0",
|
||||
"micromark-util-decode-numeric-character-reference": "micromark-util-decode-numeric-character-reference@1.1.0",
|
||||
"micromark-util-decode-string": "micromark-util-decode-string@1.1.0",
|
||||
"micromark-util-normalize-identifier": "micromark-util-normalize-identifier@1.1.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0",
|
||||
"unist-util-stringify-position": "unist-util-stringify-position@3.0.3",
|
||||
"uvu": "uvu@0.5.6"
|
||||
}
|
||||
},
|
||||
"mdast-util-to-string@3.2.0": {
|
||||
"integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
|
||||
"dependencies": {
|
||||
"@types/mdast": "@types/mdast@3.0.15"
|
||||
}
|
||||
},
|
||||
"mermaid@10.9.1_cytoscape@3.29.2": {
|
||||
"integrity": "sha512-Mx45Obds5W1UkW1nv/7dHRsbfMM1aOKA2+Pxs/IGHNonygDHwmng8xTHyS9z4KWVi0rbko8gjiBmuwwXQ7tiNA==",
|
||||
"dependencies": {
|
||||
"@braintree/sanitize-url": "@braintree/sanitize-url@6.0.4",
|
||||
"@types/d3-scale": "@types/d3-scale@4.0.8",
|
||||
"@types/d3-scale-chromatic": "@types/d3-scale-chromatic@3.0.3",
|
||||
"cytoscape": "cytoscape@3.29.2",
|
||||
"cytoscape-cose-bilkent": "cytoscape-cose-bilkent@4.1.0_cytoscape@3.29.2",
|
||||
"d3": "d3@7.9.0_d3-selection@3.0.0",
|
||||
"d3-sankey": "d3-sankey@0.12.3",
|
||||
"dagre-d3-es": "dagre-d3-es@7.0.10",
|
||||
"dayjs": "dayjs@1.11.11",
|
||||
"dompurify": "dompurify@3.1.5",
|
||||
"elkjs": "elkjs@0.9.3",
|
||||
"katex": "katex@0.16.10",
|
||||
"khroma": "khroma@2.1.0",
|
||||
"lodash-es": "lodash-es@4.17.21",
|
||||
"mdast-util-from-markdown": "mdast-util-from-markdown@1.3.1",
|
||||
"non-layered-tidy-tree-layout": "non-layered-tidy-tree-layout@2.0.2",
|
||||
"stylis": "stylis@4.3.2",
|
||||
"ts-dedent": "ts-dedent@2.2.0",
|
||||
"uuid": "uuid@9.0.1",
|
||||
"web-worker": "web-worker@1.3.0"
|
||||
}
|
||||
},
|
||||
"micromark-core-commonmark@1.1.0": {
|
||||
"integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==",
|
||||
"dependencies": {
|
||||
"decode-named-character-reference": "decode-named-character-reference@1.0.2",
|
||||
"micromark-factory-destination": "micromark-factory-destination@1.1.0",
|
||||
"micromark-factory-label": "micromark-factory-label@1.1.0",
|
||||
"micromark-factory-space": "micromark-factory-space@1.1.0",
|
||||
"micromark-factory-title": "micromark-factory-title@1.1.0",
|
||||
"micromark-factory-whitespace": "micromark-factory-whitespace@1.1.0",
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-chunked": "micromark-util-chunked@1.1.0",
|
||||
"micromark-util-classify-character": "micromark-util-classify-character@1.1.0",
|
||||
"micromark-util-html-tag-name": "micromark-util-html-tag-name@1.2.0",
|
||||
"micromark-util-normalize-identifier": "micromark-util-normalize-identifier@1.1.0",
|
||||
"micromark-util-resolve-all": "micromark-util-resolve-all@1.1.0",
|
||||
"micromark-util-subtokenize": "micromark-util-subtokenize@1.1.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0",
|
||||
"uvu": "uvu@0.5.6"
|
||||
}
|
||||
},
|
||||
"micromark-factory-destination@1.1.0": {
|
||||
"integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==",
|
||||
"dependencies": {
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-factory-label@1.1.0": {
|
||||
"integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==",
|
||||
"dependencies": {
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0",
|
||||
"uvu": "uvu@0.5.6"
|
||||
}
|
||||
},
|
||||
"micromark-factory-space@1.1.0": {
|
||||
"integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==",
|
||||
"dependencies": {
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-factory-title@1.1.0": {
|
||||
"integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==",
|
||||
"dependencies": {
|
||||
"micromark-factory-space": "micromark-factory-space@1.1.0",
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-factory-whitespace@1.1.0": {
|
||||
"integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==",
|
||||
"dependencies": {
|
||||
"micromark-factory-space": "micromark-factory-space@1.1.0",
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-character@1.2.0": {
|
||||
"integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
|
||||
"dependencies": {
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-chunked@1.1.0": {
|
||||
"integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==",
|
||||
"dependencies": {
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-classify-character@1.1.0": {
|
||||
"integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==",
|
||||
"dependencies": {
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-combine-extensions@1.1.0": {
|
||||
"integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==",
|
||||
"dependencies": {
|
||||
"micromark-util-chunked": "micromark-util-chunked@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-decode-numeric-character-reference@1.1.0": {
|
||||
"integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==",
|
||||
"dependencies": {
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-decode-string@1.1.0": {
|
||||
"integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==",
|
||||
"dependencies": {
|
||||
"decode-named-character-reference": "decode-named-character-reference@1.0.2",
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-decode-numeric-character-reference": "micromark-util-decode-numeric-character-reference@1.1.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-encode@1.1.0": {
|
||||
"integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"micromark-util-html-tag-name@1.2.0": {
|
||||
"integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"micromark-util-normalize-identifier@1.1.0": {
|
||||
"integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==",
|
||||
"dependencies": {
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-resolve-all@1.1.0": {
|
||||
"integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==",
|
||||
"dependencies": {
|
||||
"micromark-util-types": "micromark-util-types@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-sanitize-uri@1.2.0": {
|
||||
"integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==",
|
||||
"dependencies": {
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-encode": "micromark-util-encode@1.1.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0"
|
||||
}
|
||||
},
|
||||
"micromark-util-subtokenize@1.1.0": {
|
||||
"integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==",
|
||||
"dependencies": {
|
||||
"micromark-util-chunked": "micromark-util-chunked@1.1.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0",
|
||||
"uvu": "uvu@0.5.6"
|
||||
}
|
||||
},
|
||||
"micromark-util-symbol@1.1.0": {
|
||||
"integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"micromark-util-types@1.1.0": {
|
||||
"integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"micromark@3.2.0": {
|
||||
"integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==",
|
||||
"dependencies": {
|
||||
"@types/debug": "@types/debug@4.1.12",
|
||||
"debug": "debug@4.3.5",
|
||||
"decode-named-character-reference": "decode-named-character-reference@1.0.2",
|
||||
"micromark-core-commonmark": "micromark-core-commonmark@1.1.0",
|
||||
"micromark-factory-space": "micromark-factory-space@1.1.0",
|
||||
"micromark-util-character": "micromark-util-character@1.2.0",
|
||||
"micromark-util-chunked": "micromark-util-chunked@1.1.0",
|
||||
"micromark-util-combine-extensions": "micromark-util-combine-extensions@1.1.0",
|
||||
"micromark-util-decode-numeric-character-reference": "micromark-util-decode-numeric-character-reference@1.1.0",
|
||||
"micromark-util-encode": "micromark-util-encode@1.1.0",
|
||||
"micromark-util-normalize-identifier": "micromark-util-normalize-identifier@1.1.0",
|
||||
"micromark-util-resolve-all": "micromark-util-resolve-all@1.1.0",
|
||||
"micromark-util-sanitize-uri": "micromark-util-sanitize-uri@1.2.0",
|
||||
"micromark-util-subtokenize": "micromark-util-subtokenize@1.1.0",
|
||||
"micromark-util-symbol": "micromark-util-symbol@1.1.0",
|
||||
"micromark-util-types": "micromark-util-types@1.1.0",
|
||||
"uvu": "uvu@0.5.6"
|
||||
}
|
||||
},
|
||||
"mri@1.2.0": {
|
||||
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"ms@2.1.2": {
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"non-layered-tidy-tree-layout@2.0.2": {
|
||||
"integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"robust-predicates@3.0.2": {
|
||||
"integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"rw@1.3.3": {
|
||||
"integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"sade@1.8.1": {
|
||||
"integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
|
||||
"dependencies": {
|
||||
"mri": "mri@1.2.0"
|
||||
}
|
||||
},
|
||||
"safer-buffer@2.1.2": {
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"stylis@4.3.2": {
|
||||
"integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"ts-dedent@2.2.0": {
|
||||
"integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"unist-util-stringify-position@3.0.3": {
|
||||
"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
|
||||
"dependencies": {
|
||||
"@types/unist": "@types/unist@2.0.10"
|
||||
}
|
||||
},
|
||||
"uuid@9.0.1": {
|
||||
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"uvu@0.5.6": {
|
||||
"integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==",
|
||||
"dependencies": {
|
||||
"dequal": "dequal@2.0.3",
|
||||
"diff": "diff@5.2.0",
|
||||
"kleur": "kleur@4.1.5",
|
||||
"sade": "sade@1.8.1"
|
||||
}
|
||||
},
|
||||
"web-worker@1.3.0": {
|
||||
"integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==",
|
||||
"dependencies": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"redirects": {
|
||||
"https://deno.land/x/is_docker/mod.ts": "https://deno.land/x/is_docker@v2.0.0/mod.ts",
|
||||
"https://deno.land/x/open/index.ts": "https://deno.land/x/open@v0.0.6/index.ts",
|
||||
"https://deno.land/x/opener/mod.ts": "https://deno.land/x/opener@v1.0.1/mod.ts",
|
||||
"https://deno.land/x/zod/mod.ts": "https://deno.land/x/zod@v3.23.8/mod.ts"
|
||||
},
|
||||
"remote": {
|
||||
"https://deno.land/std@0.106.0/path/_constants.ts": "1247fee4a79b70c89f23499691ef169b41b6ccf01887a0abd131009c5581b853",
|
||||
"https://deno.land/std@0.106.0/path/_util.ts": "2e06a3b9e79beaf62687196bd4b60a4c391d862cfa007a20fc3a39f778ba073b",
|
||||
"https://deno.land/std@0.106.0/path/posix.ts": "b81974c768d298f8dcd2c720229639b3803ca4a241fa9a355c762fa2bc5ef0c1",
|
||||
"https://deno.land/std@0.221.0/assert/assert.ts": "bec068b2fccdd434c138a555b19a2c2393b71dfaada02b7d568a01541e67cdc5",
|
||||
"https://deno.land/std@0.221.0/assert/assertion_error.ts": "9f689a101ee586c4ce92f52fa7ddd362e86434ffdf1f848e45987dc7689976b8",
|
||||
"https://deno.land/std@0.221.0/async/delay.ts": "8e1d18fe8b28ff95885e2bc54eccec1713f57f756053576d8228e6ca110793ad",
|
||||
"https://deno.land/std@0.221.0/console/_data.json": "cf2cc9d039a192b3adbfe64627167c7e6212704c888c25c769fc8f1709e1e1b8",
|
||||
"https://deno.land/std@0.221.0/console/_run_length.ts": "7da8642a0f4f41ac27c0adb1364e18886be856c1d08c5cce6c6b5c00543c8722",
|
||||
"https://deno.land/std@0.221.0/console/unicode_width.ts": "d92f085c0ab9c7ab171e4e7862dfd9d3a36ffd369939be5d3e1140ec58bc820f",
|
||||
"https://deno.land/std@0.221.0/fmt/colors.ts": "d239d84620b921ea520125d778947881f62c50e78deef2657073840b8af9559a",
|
||||
"https://deno.land/std@0.221.0/http/server.ts": "cc8ae0de927c3afc855466b89bf9a7a3196223f47f2723e218912c6ca3eb166c",
|
||||
"https://deno.land/std@0.221.0/text/closest_string.ts": "8a91ee8b6d69ff96addcb7c251dad53b476ac8be9c756a0ef786abe9e13a93a5",
|
||||
"https://deno.land/std@0.221.0/text/levenshtein_distance.ts": "24be5cc88326bbba83ca7c1ea89259af0050cffda2817ff3a6d240ad6495eae2",
|
||||
"https://deno.land/std@0.224.0/assert/assert.ts": "09d30564c09de846855b7b071e62b5974b001bb72a4b797958fe0660e7849834",
|
||||
"https://deno.land/std@0.224.0/assert/assertion_error.ts": "ba8752bd27ebc51f723702fac2f54d3e94447598f54264a6653d6413738a8917",
|
||||
"https://deno.land/std@0.224.0/path/_common/assert_path.ts": "dbdd757a465b690b2cc72fc5fb7698c51507dec6bfafce4ca500c46b76ff7bd8",
|
||||
"https://deno.land/std@0.224.0/path/_common/basename.ts": "569744855bc8445f3a56087fd2aed56bdad39da971a8d92b138c9913aecc5fa2",
|
||||
"https://deno.land/std@0.224.0/path/_common/common.ts": "ef73c2860694775fe8ffcbcdd387f9f97c7a656febf0daa8c73b56f4d8a7bd4c",
|
||||
"https://deno.land/std@0.224.0/path/_common/constants.ts": "dc5f8057159f4b48cd304eb3027e42f1148cf4df1fb4240774d3492b5d12ac0c",
|
||||
"https://deno.land/std@0.224.0/path/_common/dirname.ts": "684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8",
|
||||
"https://deno.land/std@0.224.0/path/_common/format.ts": "92500e91ea5de21c97f5fe91e178bae62af524b72d5fcd246d6d60ae4bcada8b",
|
||||
"https://deno.land/std@0.224.0/path/_common/from_file_url.ts": "d672bdeebc11bf80e99bf266f886c70963107bdd31134c4e249eef51133ceccf",
|
||||
"https://deno.land/std@0.224.0/path/_common/glob_to_reg_exp.ts": "6cac16d5c2dc23af7d66348a7ce430e5de4e70b0eede074bdbcf4903f4374d8d",
|
||||
"https://deno.land/std@0.224.0/path/_common/normalize.ts": "684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8",
|
||||
"https://deno.land/std@0.224.0/path/_common/normalize_string.ts": "33edef773c2a8e242761f731adeb2bd6d683e9c69e4e3d0092985bede74f4ac3",
|
||||
"https://deno.land/std@0.224.0/path/_common/relative.ts": "faa2753d9b32320ed4ada0733261e3357c186e5705678d9dd08b97527deae607",
|
||||
"https://deno.land/std@0.224.0/path/_common/strip_trailing_separators.ts": "7024a93447efcdcfeaa9339a98fa63ef9d53de363f1fbe9858970f1bba02655a",
|
||||
"https://deno.land/std@0.224.0/path/_common/to_file_url.ts": "7f76adbc83ece1bba173e6e98a27c647712cab773d3f8cbe0398b74afc817883",
|
||||
"https://deno.land/std@0.224.0/path/_interface.ts": "8dfeb930ca4a772c458a8c7bbe1e33216fe91c253411338ad80c5b6fa93ddba0",
|
||||
"https://deno.land/std@0.224.0/path/_os.ts": "8fb9b90fb6b753bd8c77cfd8a33c2ff6c5f5bc185f50de8ca4ac6a05710b2c15",
|
||||
"https://deno.land/std@0.224.0/path/basename.ts": "7ee495c2d1ee516ffff48fb9a93267ba928b5a3486b550be73071bc14f8cc63e",
|
||||
"https://deno.land/std@0.224.0/path/common.ts": "03e52e22882402c986fe97ca3b5bb4263c2aa811c515ce84584b23bac4cc2643",
|
||||
"https://deno.land/std@0.224.0/path/constants.ts": "0c206169ca104938ede9da48ac952de288f23343304a1c3cb6ec7625e7325f36",
|
||||
"https://deno.land/std@0.224.0/path/dirname.ts": "85bd955bf31d62c9aafdd7ff561c4b5fb587d11a9a5a45e2b01aedffa4238a7c",
|
||||
"https://deno.land/std@0.224.0/path/extname.ts": "593303db8ae8c865cbd9ceec6e55d4b9ac5410c1e276bfd3131916591b954441",
|
||||
"https://deno.land/std@0.224.0/path/format.ts": "6ce1779b0980296cf2bc20d66436b12792102b831fd281ab9eb08fa8a3e6f6ac",
|
||||
"https://deno.land/std@0.224.0/path/from_file_url.ts": "911833ae4fd10a1c84f6271f36151ab785955849117dc48c6e43b929504ee069",
|
||||
"https://deno.land/std@0.224.0/path/glob_to_regexp.ts": "7f30f0a21439cadfdae1be1bf370880b415e676097fda584a63ce319053b5972",
|
||||
"https://deno.land/std@0.224.0/path/is_absolute.ts": "4791afc8bfd0c87f0526eaa616b0d16e7b3ab6a65b62942e50eac68de4ef67d7",
|
||||
"https://deno.land/std@0.224.0/path/is_glob.ts": "a65f6195d3058c3050ab905705891b412ff942a292bcbaa1a807a74439a14141",
|
||||
"https://deno.land/std@0.224.0/path/join.ts": "ae2ec5ca44c7e84a235fd532e4a0116bfb1f2368b394db1c4fb75e3c0f26a33a",
|
||||
"https://deno.land/std@0.224.0/path/join_globs.ts": "5b3bf248b93247194f94fa6947b612ab9d3abd571ca8386cf7789038545e54a0",
|
||||
"https://deno.land/std@0.224.0/path/mod.ts": "f6bd79cb08be0e604201bc9de41ac9248582699d1b2ee0ab6bc9190d472cf9cd",
|
||||
"https://deno.land/std@0.224.0/path/normalize.ts": "4155743ccceeed319b350c1e62e931600272fad8ad00c417b91df093867a8352",
|
||||
"https://deno.land/std@0.224.0/path/normalize_glob.ts": "cc89a77a7d3b1d01053b9dcd59462b75482b11e9068ae6c754b5cf5d794b374f",
|
||||
"https://deno.land/std@0.224.0/path/parse.ts": "77ad91dcb235a66c6f504df83087ce2a5471e67d79c402014f6e847389108d5a",
|
||||
"https://deno.land/std@0.224.0/path/posix/_util.ts": "1e3937da30f080bfc99fe45d7ed23c47dd8585c5e473b2d771380d3a6937cf9d",
|
||||
"https://deno.land/std@0.224.0/path/posix/basename.ts": "d2fa5fbbb1c5a3ab8b9326458a8d4ceac77580961b3739cd5bfd1d3541a3e5f0",
|
||||
"https://deno.land/std@0.224.0/path/posix/common.ts": "26f60ccc8b2cac3e1613000c23ac5a7d392715d479e5be413473a37903a2b5d4",
|
||||
"https://deno.land/std@0.224.0/path/posix/constants.ts": "93481efb98cdffa4c719c22a0182b994e5a6aed3047e1962f6c2c75b7592bef1",
|
||||
"https://deno.land/std@0.224.0/path/posix/dirname.ts": "76cd348ffe92345711409f88d4d8561d8645353ac215c8e9c80140069bf42f00",
|
||||
"https://deno.land/std@0.224.0/path/posix/extname.ts": "e398c1d9d1908d3756a7ed94199fcd169e79466dd88feffd2f47ce0abf9d61d2",
|
||||
"https://deno.land/std@0.224.0/path/posix/format.ts": "185e9ee2091a42dd39e2a3b8e4925370ee8407572cee1ae52838aed96310c5c1",
|
||||
"https://deno.land/std@0.224.0/path/posix/from_file_url.ts": "951aee3a2c46fd0ed488899d024c6352b59154c70552e90885ed0c2ab699bc40",
|
||||
"https://deno.land/std@0.224.0/path/posix/glob_to_regexp.ts": "76f012fcdb22c04b633f536c0b9644d100861bea36e9da56a94b9c589a742e8f",
|
||||
"https://deno.land/std@0.224.0/path/posix/is_absolute.ts": "cebe561ad0ae294f0ce0365a1879dcfca8abd872821519b4fcc8d8967f888ede",
|
||||
"https://deno.land/std@0.224.0/path/posix/is_glob.ts": "8a8b08c08bf731acf2c1232218f1f45a11131bc01de81e5f803450a5914434b9",
|
||||
"https://deno.land/std@0.224.0/path/posix/join.ts": "7fc2cb3716aa1b863e990baf30b101d768db479e70b7313b4866a088db016f63",
|
||||
"https://deno.land/std@0.224.0/path/posix/join_globs.ts": "a9475b44645feddceb484ee0498e456f4add112e181cb94042cdc6d47d1cdd25",
|
||||
"https://deno.land/std@0.224.0/path/posix/mod.ts": "2301fc1c54a28b349e20656f68a85f75befa0ee9b6cd75bfac3da5aca9c3f604",
|
||||
"https://deno.land/std@0.224.0/path/posix/normalize.ts": "baeb49816a8299f90a0237d214cef46f00ba3e95c0d2ceb74205a6a584b58a91",
|
||||
"https://deno.land/std@0.224.0/path/posix/normalize_glob.ts": "9c87a829b6c0f445d03b3ecadc14492e2864c3ebb966f4cea41e98326e4435c6",
|
||||
"https://deno.land/std@0.224.0/path/posix/parse.ts": "09dfad0cae530f93627202f28c1befa78ea6e751f92f478ca2cc3b56be2cbb6a",
|
||||
"https://deno.land/std@0.224.0/path/posix/relative.ts": "3907d6eda41f0ff723d336125a1ad4349112cd4d48f693859980314d5b9da31c",
|
||||
"https://deno.land/std@0.224.0/path/posix/resolve.ts": "08b699cfeee10cb6857ccab38fa4b2ec703b0ea33e8e69964f29d02a2d5257cf",
|
||||
"https://deno.land/std@0.224.0/path/posix/to_file_url.ts": "7aa752ba66a35049e0e4a4be5a0a31ac6b645257d2e031142abb1854de250aaf",
|
||||
"https://deno.land/std@0.224.0/path/posix/to_namespaced_path.ts": "28b216b3c76f892a4dca9734ff1cc0045d135532bfd9c435ae4858bfa5a2ebf0",
|
||||
"https://deno.land/std@0.224.0/path/relative.ts": "ab739d727180ed8727e34ed71d976912461d98e2b76de3d3de834c1066667add",
|
||||
"https://deno.land/std@0.224.0/path/resolve.ts": "a6f977bdb4272e79d8d0ed4333e3d71367cc3926acf15ac271f1d059c8494d8d",
|
||||
"https://deno.land/std@0.224.0/path/to_file_url.ts": "88f049b769bce411e2d2db5bd9e6fd9a185a5fbd6b9f5ad8f52bef517c4ece1b",
|
||||
"https://deno.land/std@0.224.0/path/to_namespaced_path.ts": "b706a4103b104cfadc09600a5f838c2ba94dbcdb642344557122dda444526e40",
|
||||
"https://deno.land/std@0.224.0/path/windows/_util.ts": "d5f47363e5293fced22c984550d5e70e98e266cc3f31769e1710511803d04808",
|
||||
"https://deno.land/std@0.224.0/path/windows/basename.ts": "6bbc57bac9df2cec43288c8c5334919418d784243a00bc10de67d392ab36d660",
|
||||
"https://deno.land/std@0.224.0/path/windows/common.ts": "26f60ccc8b2cac3e1613000c23ac5a7d392715d479e5be413473a37903a2b5d4",
|
||||
"https://deno.land/std@0.224.0/path/windows/constants.ts": "5afaac0a1f67b68b0a380a4ef391bf59feb55856aa8c60dfc01bd3b6abb813f5",
|
||||
"https://deno.land/std@0.224.0/path/windows/dirname.ts": "33e421be5a5558a1346a48e74c330b8e560be7424ed7684ea03c12c21b627bc9",
|
||||
"https://deno.land/std@0.224.0/path/windows/extname.ts": "165a61b00d781257fda1e9606a48c78b06815385e7d703232548dbfc95346bef",
|
||||
"https://deno.land/std@0.224.0/path/windows/format.ts": "bbb5ecf379305b472b1082cd2fdc010e44a0020030414974d6029be9ad52aeb6",
|
||||
"https://deno.land/std@0.224.0/path/windows/from_file_url.ts": "ced2d587b6dff18f963f269d745c4a599cf82b0c4007356bd957cb4cb52efc01",
|
||||
"https://deno.land/std@0.224.0/path/windows/glob_to_regexp.ts": "e45f1f89bf3fc36f94ab7b3b9d0026729829fabc486c77f414caebef3b7304f8",
|
||||
"https://deno.land/std@0.224.0/path/windows/is_absolute.ts": "4a8f6853f8598cf91a835f41abed42112cebab09478b072e4beb00ec81f8ca8a",
|
||||
"https://deno.land/std@0.224.0/path/windows/is_glob.ts": "8a8b08c08bf731acf2c1232218f1f45a11131bc01de81e5f803450a5914434b9",
|
||||
"https://deno.land/std@0.224.0/path/windows/join.ts": "8d03530ab89195185103b7da9dfc6327af13eabdcd44c7c63e42e27808f50ecf",
|
||||
"https://deno.land/std@0.224.0/path/windows/join_globs.ts": "a9475b44645feddceb484ee0498e456f4add112e181cb94042cdc6d47d1cdd25",
|
||||
"https://deno.land/std@0.224.0/path/windows/mod.ts": "2301fc1c54a28b349e20656f68a85f75befa0ee9b6cd75bfac3da5aca9c3f604",
|
||||
"https://deno.land/std@0.224.0/path/windows/normalize.ts": "78126170ab917f0ca355a9af9e65ad6bfa5be14d574c5fb09bb1920f52577780",
|
||||
"https://deno.land/std@0.224.0/path/windows/normalize_glob.ts": "9c87a829b6c0f445d03b3ecadc14492e2864c3ebb966f4cea41e98326e4435c6",
|
||||
"https://deno.land/std@0.224.0/path/windows/parse.ts": "08804327b0484d18ab4d6781742bf374976de662f8642e62a67e93346e759707",
|
||||
"https://deno.land/std@0.224.0/path/windows/relative.ts": "3e1abc7977ee6cc0db2730d1f9cb38be87b0ce4806759d271a70e4997fc638d7",
|
||||
"https://deno.land/std@0.224.0/path/windows/resolve.ts": "8dae1dadfed9d46ff46cc337c9525c0c7d959fb400a6308f34595c45bdca1972",
|
||||
"https://deno.land/std@0.224.0/path/windows/to_file_url.ts": "40e560ee4854fe5a3d4d12976cef2f4e8914125c81b11f1108e127934ced502e",
|
||||
"https://deno.land/std@0.224.0/path/windows/to_namespaced_path.ts": "4ffa4fb6fae321448d5fe810b3ca741d84df4d7897e61ee29be961a6aac89a4c",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/_argument_types.ts": "ab269dacea2030f865a07c2a1e953ec437a64419a05bad1f1ddaab3f99752ead",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/_errors.ts": "d78e1b4d69d84b8b476b5f3c0b028e3906d48f21b8f1ca1d36d5abe9ccfe48bc",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/_spread.ts": "0cc6eb70a6df97b5d7d26008822d39f3e8a1232ee0a27f395aa19e68de738245",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/_type_utils.ts": "820004a59bc858e355b11f80e5b3ff1be2c87e66f31f53f253610170795602f0",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/_utils.ts": "fa0e88cc4215b18554a7308e8e2ae3a12be0fb91c54d1473c54c530dbd4adfcb",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/command.ts": "83cbece11c1459d5bc5add32c3cad0bf49e92c4ddd3ef00f22f80efdae30994e",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/_bash_completions_generator.ts": "0c6cb1df4d378d22f001155781d97a9c3519fd10c48187a198fef2cc63b0f84a",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/_fish_completions_generator.ts": "8ba4455f7f76a756e05c3db4ce35332b2951af65a2891f2750b530e06880f495",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/_zsh_completions_generator.ts": "9df79fbac17a32b9645d01628c41a2bfd295d7976b87b0ae235f50a9c8975fbc",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/bash.ts": "53fe78994eb2359110dc4fa79235bdd86800a38c1d6b1c4fe673c81756f3a0e2",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/complete.ts": "58df61caa5e6220ff2768636a69337923ad9d4b8c1932aeb27165081c4d07d8b",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/completions_command.ts": "506f97f1c6b0b1c3e9956e5069070028b818942310600d4157f64c9b644d3c49",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/fish.ts": "6f0b44b4067740b2931c9ec8863b6619b1d3410fea0c5a3988525a4c53059197",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/mod.ts": "8dda715ca25f3f66d5ec232b76d7c9a96dd4c64b5029feff91738cc0c9586fb1",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/completions/zsh.ts": "f1263c3946975e090d4aadc8681db811d86b52a8ae680f246e03248025885c21",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/deprecated.ts": "bbe6670f1d645b773d04b725b8b8e7814c862c9f1afba460c4d599ffe9d4983c",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/deps.ts": "a58ea2fa4e2ed9b39bb8dd8c35dd0498c74f05392517ff230a9a4d04c4c766b7",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/help/_help_generator.ts": "98619da83ff25523280a6fdcad89af3f13a6fafefc81b71f8230f3344b5ff2c5",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/help/help_command.ts": "fbbf0c0827dd21d3cec7bcc68c00c20b55f53e2b621032891b9d23ac4191231c",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/help/mod.ts": "8369b292761dcc9ddaf41f2d34bfb06fb6800b69efe80da4fc9752c3b890275b",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/mod.ts": "4b708df1b97152522bee0e3828f06abbbc1d2250168910e5cf454950d7b7404b",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/type.ts": "f588f5d9635b79100044e62aced4b00e510e75b83801f9b089c40c2d98674de2",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types.ts": "bc9ff7459b9cc1079eeb95ff101690a51b4b4afa4af5623340076ee361d08dbb",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/action_list.ts": "33c98d449617c7a563a535c9ceb3741bde9f6363353fd492f90a74570c611c27",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/boolean.ts": "3879ec16092b4b5b1a0acb8675f8c9250c0b8a972e1e4c7adfba8335bd2263ed",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/child_command.ts": "f1fca390c7fbfa7a713ca15ef55c2c7656bcbb394d50e8ef54085bdf6dc22559",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/command.ts": "325d0382e383b725fd8d0ef34ebaeae082c5b76a1f6f2e843fee5dbb1a4fe3ac",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/enum.ts": "8a7cd2898e03089234083bb78c8b1d9b7172254c53c32d4710321638165a48ec",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/file.ts": "8618f16ac9015c8589cbd946b3de1988cc4899b90ea251f3325c93c46745140e",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/integer.ts": "29864725fd48738579d18123d7ee78fed37515e6dc62146c7544c98a82f1778d",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/number.ts": "aeba96e6f470309317a16b308c82e0e4138a830ec79c9877e4622c682012bc1f",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/types/string.ts": "e4dadb08a11795474871c7967beab954593813bb53d9f69ea5f9b734e43dc0e0",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/upgrade/_check_version.ts": "6cfa7dc26bc0dc46381500e8d4b130fb224f4c5456152dada15bd3793edca89b",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/upgrade/mod.ts": "4eff69c489467be17dea27fb95a795396111ee385d170ac0cbcc82f0ea38156c",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/upgrade/provider.ts": "c23253334097dc4b8a147ccdeb3aa44f5a95aa953a6386cb5396f830d95d77a5",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/upgrade/provider/deno_land.ts": "24f8d82e38c51e09be989f30f8ad21f9dd41ac1bb1973b443a13883e8ba06d6d",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/upgrade/provider/github.ts": "99e1b133dd446c6aa79f69e69c46eb8bc1c968dd331c2a7d4064514a317c7b59",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/upgrade/provider/nest_land.ts": "0e07936cea04fa41ac9297f32d87f39152ea873970c54cb5b4934b12fee1885e",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/command/upgrade/upgrade_command.ts": "27191f4b1ce93581b6d5ee2fff6003fe4fca437f476ecb98b6eae92f2b4d0716",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/_errors.ts": "f1fbb6bfa009e7950508c9d491cfb4a5551027d9f453389606adb3f2327d048f",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/_utils.ts": "25e519ce1f35acc8b43c75d1ca1c4ab591e7dab08327b7b408705b591e27d8bd",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/_validate_flags.ts": "e60b9038c0136ab7e6bd1baf0e993a07bf23f18afbfb6e12c59adf665a622957",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/deprecated.ts": "a72a35de3cc7314e5ebea605ca23d08385b218ef171c32a3f135fb4318b08126",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/deps.ts": "bed26afff36eeb25509440edec9d5d141b3411e08cc7a90e38a370969b5166bb",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/flags.ts": "3e62c4a9756b5705aada29e7e94847001356b3a83cd18ad56f4207387a71cf51",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/types.ts": "9e2f75edff2217d972fc711a21676a59dfd88378da2f1ace440ea84c07db1dcc",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/types/boolean.ts": "4c026dd66ec9c5436860dc6d0241427bdb8d8e07337ad71b33c08193428a2236",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/types/integer.ts": "b60d4d590f309ddddf066782d43e4dc3799f0e7d08e5ede7dc62a5ee94b9a6d9",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/types/number.ts": "610936e2d29de7c8c304b65489a75ebae17b005c6122c24e791fbed12444d51e",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/flags/types/string.ts": "e89b6a5ce322f65a894edecdc48b44956ec246a1d881f03e97bbda90dd8638c5",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/_layout.ts": "73a9bcb8a87b3a6817c4c9d2a31a21b874a7dd690ade1c64c9a1f066d628d626",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/_utils.ts": "13390db3f11977b7a4fc1202fa8386be14696b475a7f46a65178354f9a6640b7",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/border.ts": "5c6e9ef5078c6930169aacb668b274bdbb498461c724a7693ac9270fe9d3f5d5",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/cell.ts": "65e3ee699c3cebeb4d4d44e8f156e37a8532a0f317359d73178a95724d3f9267",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/column.ts": "cf14009f2cb14bad156f879946186c1893acdc6a2fee6845db152edddb6a2714",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/consume_words.ts": "369d065dbf7f15c664ea8523e0ef750fb952aea6d88e146c375e64aec9503052",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/deps.ts": "cbb896e8d7a6b5e3c2b9dda7d16638c202d9b46eb738c2dae1fa9480d8091486",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/row.ts": "79eb1468aafdd951e5963898cdafe0752d4ab4c519d5f847f3d8ecb8fe857d4f",
|
||||
"https://deno.land/x/cliffy@v1.0.0-rc.4/table/table.ts": "298671e72e61f1ab18b42ae36643181993f79e29b39dc411fdc6ffd53aa04684",
|
||||
"https://deno.land/x/is_docker@v2.0.0/mod.ts": "4c8753346f4afbb6c251d7984a609aa84055559cf713fba828939a5d39c95cd0",
|
||||
"https://deno.land/x/is_wsl@v1.1.0/mod.ts": "30996b09376652df7a4d495320e918154906ab94325745c1399e13e658dca5da",
|
||||
"https://deno.land/x/open@v0.0.6/index.ts": "c7484a7bf2628236f33bbe354520e651811faf1a7cbc3c3f80958ce81b4c42ef",
|
||||
"https://deno.land/x/opener@v1.0.1/mod.ts": "dd021a0327b29d8548c78881325dabe3079512e9647ae8b2050797875e70c87d",
|
||||
"https://deno.land/x/zod@v3.23.8/ZodError.ts": "528da200fbe995157b9ae91498b103c4ef482217a5c086249507ac850bd78f52",
|
||||
"https://deno.land/x/zod@v3.23.8/errors.ts": "5285922d2be9700cc0c70c95e4858952b07ae193aa0224be3cbd5cd5567eabef",
|
||||
"https://deno.land/x/zod@v3.23.8/external.ts": "a6cfbd61e9e097d5f42f8a7ed6f92f93f51ff927d29c9fbaec04f03cbce130fe",
|
||||
"https://deno.land/x/zod@v3.23.8/helpers/enumUtil.ts": "54efc393cc9860e687d8b81ff52e980def00fa67377ad0bf8b3104f8a5bf698c",
|
||||
"https://deno.land/x/zod@v3.23.8/helpers/errorUtil.ts": "7a77328240be7b847af6de9189963bd9f79cab32bbc61502a9db4fe6683e2ea7",
|
||||
"https://deno.land/x/zod@v3.23.8/helpers/parseUtil.ts": "c14814d167cc286972b6e094df88d7d982572a08424b7cd50f862036b6fcaa77",
|
||||
"https://deno.land/x/zod@v3.23.8/helpers/partialUtil.ts": "998c2fe79795257d4d1cf10361e74492f3b7d852f61057c7c08ac0a46488b7e7",
|
||||
"https://deno.land/x/zod@v3.23.8/helpers/typeAliases.ts": "0fda31a063c6736fc3cf9090dd94865c811dfff4f3cb8707b932bf937c6f2c3e",
|
||||
"https://deno.land/x/zod@v3.23.8/helpers/util.ts": "30c273131661ca5dc973f2cfb196fa23caf3a43e224cdde7a683b72e101a31fc",
|
||||
"https://deno.land/x/zod@v3.23.8/index.ts": "d27aabd973613985574bc31f39e45cb5d856aa122ef094a9f38a463b8ef1a268",
|
||||
"https://deno.land/x/zod@v3.23.8/locales/en.ts": "a7a25cd23563ccb5e0eed214d9b31846305ddbcdb9c5c8f508b108943366ab4c",
|
||||
"https://deno.land/x/zod@v3.23.8/mod.ts": "ec6e2b1255c1a350b80188f97bd0a6bac45801bb46fc48f50b9763aa66046039",
|
||||
"https://deno.land/x/zod@v3.23.8/types.ts": "1b172c90782b1eaa837100ebb6abd726d79d6c1ec336350c8e851e0fd706bf5c"
|
||||
}
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
flowchart LR
|
||||
H[Hello, World!]
|
83
flake.lock
83
flake.lock
|
@ -1,97 +1,24 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 0,
|
||||
"narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
|
||||
"path": "/nix/store/i1aw9jjgxcvyd642s12kw3iasmarwd42-source",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1710695816,
|
||||
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
||||
"lastModified": 1717602782,
|
||||
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
||||
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717664902,
|
||||
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
48
flake.nix
48
flake.nix
|
@ -1,50 +1,34 @@
|
|||
{
|
||||
inputs.pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
|
||||
inputs.pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
pre-commit-hooks,
|
||||
...
|
||||
}: let
|
||||
inherit (self) outputs;
|
||||
|
||||
supportedSystems = [
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
|
||||
"aarch64-darwin"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
|
||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||
forEachSupportedSystem = nixpkgs.lib.genAttrs supportedSystems;
|
||||
in {
|
||||
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||
|
||||
checks = forAllSystems (system: {
|
||||
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
||||
src = ./.;
|
||||
hooks = {
|
||||
alejandra.enable = true;
|
||||
devShells = forEachSupportedSystem (system: let
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
in {
|
||||
deno-dev = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
vscode-langservers-extracted
|
||||
deno
|
||||
curl
|
||||
xh
|
||||
sqlite
|
||||
];
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
devShell = forAllSystems (system: let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
pkgs.mkShell {
|
||||
buildInputs = with pkgs; [nil alejandra nodePackages.mermaid-cli caddy python312Packages.livereload];
|
||||
inherit (outputs.checks.${system}.pre-commit-check) shellHook;
|
||||
default = outputs.devShells.${system}.deno-dev;
|
||||
});
|
||||
|
||||
# packages = forAllSystems (system: import ./pkgs {pkgs = nixpkgs.legacyPackages.${system};});
|
||||
# overlays = import ./overlays self;
|
||||
# nixosModules = import ./modules/nixos;
|
||||
# homeManagerModules = import ./modules/home-manager;
|
||||
# nixosConfigurations = import ./nixos;
|
||||
# homeConfigurations = import ./home
|
||||
# templates = import ./templates;
|
||||
};
|
||||
}
|
||||
|
|
11
makefile
11
makefile
|
@ -1,11 +0,0 @@
|
|||
.PHONY: watch-mermaid-files
|
||||
watch-mermaid-files:
|
||||
watchexec -r -w . -f diagram.mmd 'mmdc -i diagram.mmd -o diagram.svg -t dark -b transparent && touch index.html'
|
||||
|
||||
.PHONY: serve-files
|
||||
serve-files:
|
||||
echo "Make sure your browser is not caching!"
|
||||
caddy file-server --listen :2266
|
||||
|
||||
livereload: livereload
|
||||
livereload
|
178
mod.ts
Executable file
178
mod.ts
Executable file
|
@ -0,0 +1,178 @@
|
|||
#!/usr/bin/env -S deno run --allow-read --allow-write --allow-net --allow-env --ext=ts
|
||||
|
||||
import { Command } from 'https://deno.land/x/cliffy@v1.0.0-rc.4/command/mod.ts'
|
||||
import { z } from 'https://deno.land/x/zod@v3.23.8/mod.ts'
|
||||
|
||||
const sockets: Set<WebSocket> = new Set([])
|
||||
|
||||
const Args = z.object({
|
||||
input: z.string().default('./src'),
|
||||
output: z.string().default('./build'),
|
||||
open: z.boolean().default(false),
|
||||
server: z.boolean().default(true),
|
||||
host: z.string().default('localhost'),
|
||||
port: z.number().default(8080),
|
||||
})
|
||||
type Args = z.infer<typeof Args>
|
||||
|
||||
const ClientEvent = z.discriminatedUnion('type', [
|
||||
z.object({ type: z.literal('open'), connectionAttempt: z.number() }),
|
||||
])
|
||||
type ClientEvent = z.infer<typeof ClientEvent>
|
||||
|
||||
const command = new Command()
|
||||
.name('diagrammer')
|
||||
.description('A server to facilitate editing of Mermaid diagrams')
|
||||
.version('v1.0.0')
|
||||
.option(
|
||||
'-i, --input <input_directory:path>',
|
||||
'The directory containing .mmd files to compile.',
|
||||
{
|
||||
default: './src',
|
||||
},
|
||||
)
|
||||
.option(
|
||||
'-o, --output <output_directory:path>',
|
||||
'The directory to put compiled .svg files into.',
|
||||
{
|
||||
default: './build',
|
||||
},
|
||||
)
|
||||
.option('--open', 'Include this flag to open your browser automatically.', {
|
||||
default: false,
|
||||
})
|
||||
.option(
|
||||
'--no-server',
|
||||
'Include this flag if you only want Mermaid compilation.',
|
||||
)
|
||||
.option('-H, --host <hostname>', 'The host name for the local server.', {
|
||||
default: 'localhost',
|
||||
})
|
||||
.option('-p, --port <port:number>', 'The port number for the local server.', {
|
||||
default: 8080,
|
||||
})
|
||||
|
||||
async function openBrowser(args: Args): Promise<void> {
|
||||
if (args.open) {
|
||||
const url = `http://${args.host}:${args.port}`
|
||||
console.log(`opening browser to ${url}`)
|
||||
const process = new Deno.Command('xdg-open', {
|
||||
args: [url],
|
||||
}).spawn()
|
||||
|
||||
// const result = true
|
||||
console.log(`opened browser to ${url}: ${await process.status}`)
|
||||
}
|
||||
}
|
||||
|
||||
async function runServer(args: Args): Promise<void> {
|
||||
const opts = { hostname: args.host, port: args.port }
|
||||
Deno.serve(opts, async (req: Request) => {
|
||||
if (req.headers.get('upgrade') == 'websocket') {
|
||||
return handleWebSocket(req)
|
||||
}
|
||||
|
||||
const url = new URL(req.url)
|
||||
if (url.pathname == '/client.js') {
|
||||
return new Response(await Deno.readTextFile('./client.js'), {
|
||||
headers: new Headers({ 'content-type': 'text/javascript' }),
|
||||
})
|
||||
} else if (url.pathname == '/') {
|
||||
return new Response(html.index, {
|
||||
headers: new Headers({ 'content-type': 'text/html' }),
|
||||
})
|
||||
}
|
||||
|
||||
return new Response(`Hello, ${url.pathname}!`)
|
||||
})
|
||||
|
||||
return await new Promise((_resolve) => {
|
||||
// a promise that never resolves
|
||||
})
|
||||
}
|
||||
|
||||
async function runMermaidFileWatcher(args: Args) {
|
||||
console.log('Starting Mermaid file watcher...')
|
||||
for await (
|
||||
const { kind, paths } of Deno.watchFs(args.input, { recursive: true })
|
||||
) {
|
||||
console.log(
|
||||
`Mermaid file watcher event: ${kind} ${paths.join(', ')}`,
|
||||
)
|
||||
for (const p of paths) {
|
||||
console.log(p)
|
||||
if (p.endsWith('.mmd') && (kind == 'create' || kind == 'modify')) {
|
||||
console.log('omg a mermaid')
|
||||
const contents = await Deno.readTextFile(p)
|
||||
sockets.forEach((s) =>
|
||||
s.send(JSON.stringify({ type: 'mermaid', contents }))
|
||||
)
|
||||
}
|
||||
// TODO: handle removals?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function handleWebSocket(req: Request): Response {
|
||||
const { socket, response } = Deno.upgradeWebSocket(req)
|
||||
|
||||
socket.addEventListener('open', (_ev) => {
|
||||
console.log(`websocket open`)
|
||||
socket.send('hi')
|
||||
sockets.add(socket)
|
||||
})
|
||||
|
||||
socket.addEventListener('message', (ev) => {
|
||||
console.log(`websocket message: ${ev}`)
|
||||
try {
|
||||
if (ev.data) {
|
||||
const data = JSON.parse(ev.data)
|
||||
const clientEvent = ClientEvent.parse(data)
|
||||
handleClientEvent(socket, clientEvent)
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(`invalid client message: ${err}`)
|
||||
}
|
||||
})
|
||||
|
||||
socket.addEventListener('close', (ev) => {
|
||||
console.log(`websocket close: ${ev}`)
|
||||
sockets.delete(socket)
|
||||
})
|
||||
|
||||
return response
|
||||
}
|
||||
|
||||
function handleClientEvent(socket: WebSocket, ce: ClientEvent) {
|
||||
switch (ce.type) {
|
||||
case 'open':
|
||||
if (ce.connectionAttempt > 0) socket.send('reload')
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
const html = {
|
||||
index: `
|
||||
<!DOCTYPE html>
|
||||
<h1>Hello, index!</h1>
|
||||
<script src="./client.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid@10.9.1/dist/mermaid.min.js"></script>
|
||||
`,
|
||||
}
|
||||
|
||||
async function run(args: Args) {
|
||||
// TODO: start mermaid file watcher
|
||||
await Promise.all([
|
||||
runMermaidFileWatcher(args),
|
||||
runServer(args),
|
||||
openBrowser(args),
|
||||
])
|
||||
}
|
||||
|
||||
command
|
||||
.action(async (rawArgs) => {
|
||||
const args = Args.parse(rawArgs)
|
||||
console.log({ args })
|
||||
await run(args)
|
||||
})
|
||||
.parse()
|
Loading…
Reference in a new issue