dev.ts, remove prevent default
This commit is contained in:
parent
0391e92bb3
commit
8555cea8a8
@ -3,6 +3,9 @@
|
|||||||
"indentWidth": 4,
|
"indentWidth": 4,
|
||||||
"lineWidth": 100
|
"lineWidth": 100
|
||||||
},
|
},
|
||||||
|
"tasks": {
|
||||||
|
"dev": "deno run -A dev.ts"
|
||||||
|
},
|
||||||
"exclude": ["./docs"],
|
"exclude": ["./docs"],
|
||||||
"lib": ["dom", "dom.iterable", "dom.asynciterable", "deno.ns"]
|
"lib": ["dom", "dom.iterable", "dom.asynciterable", "deno.ns"]
|
||||||
}
|
}
|
||||||
|
114
deno.lock
generated
Normal file
114
deno.lock
generated
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
{
|
||||||
|
"version": "5",
|
||||||
|
"specifiers": {
|
||||||
|
"jsr:@std/cli@^1.0.12": "1.0.13",
|
||||||
|
"jsr:@std/cli@^1.0.23": "1.0.23",
|
||||||
|
"jsr:@std/encoding@^1.0.10": "1.0.10",
|
||||||
|
"jsr:@std/encoding@^1.0.7": "1.0.7",
|
||||||
|
"jsr:@std/fmt@^1.0.5": "1.0.5",
|
||||||
|
"jsr:@std/fmt@^1.0.8": "1.0.8",
|
||||||
|
"jsr:@std/fs@^1.0.19": "1.0.19",
|
||||||
|
"jsr:@std/html@^1.0.3": "1.0.3",
|
||||||
|
"jsr:@std/html@^1.0.5": "1.0.5",
|
||||||
|
"jsr:@std/http@*": "1.0.13",
|
||||||
|
"jsr:@std/http@1.0.21": "1.0.21",
|
||||||
|
"jsr:@std/internal@^1.0.10": "1.0.12",
|
||||||
|
"jsr:@std/media-types@^1.1.0": "1.1.0",
|
||||||
|
"jsr:@std/net@^1.0.4": "1.0.4",
|
||||||
|
"jsr:@std/net@^1.0.6": "1.0.6",
|
||||||
|
"jsr:@std/path@^1.0.8": "1.0.8",
|
||||||
|
"jsr:@std/path@^1.1.2": "1.1.2",
|
||||||
|
"jsr:@std/streams@^1.0.13": "1.0.13",
|
||||||
|
"jsr:@std/streams@^1.0.9": "1.0.9"
|
||||||
|
},
|
||||||
|
"jsr": {
|
||||||
|
"@std/cli@1.0.13": {
|
||||||
|
"integrity": "5db2d95ab2dca3bca9fb6ad3c19908c314e93d6391c8b026725e4892d4615a69"
|
||||||
|
},
|
||||||
|
"@std/cli@1.0.23": {
|
||||||
|
"integrity": "bf95b7a9425ba2af1ae5a6359daf58c508f2decf711a76ed2993cd352498ccca"
|
||||||
|
},
|
||||||
|
"@std/encoding@1.0.7": {
|
||||||
|
"integrity": "f631247c1698fef289f2de9e2a33d571e46133b38d042905e3eac3715030a82d"
|
||||||
|
},
|
||||||
|
"@std/encoding@1.0.10": {
|
||||||
|
"integrity": "8783c6384a2d13abd5e9e87a7ae0520a30e9f56aeeaa3bdf910a3eaaf5c811a1"
|
||||||
|
},
|
||||||
|
"@std/fmt@1.0.5": {
|
||||||
|
"integrity": "0cfab43364bc36650d83c425cd6d99910fc20c4576631149f0f987eddede1a4d"
|
||||||
|
},
|
||||||
|
"@std/fmt@1.0.8": {
|
||||||
|
"integrity": "71e1fc498787e4434d213647a6e43e794af4fd393ef8f52062246e06f7e372b7"
|
||||||
|
},
|
||||||
|
"@std/fs@1.0.19": {
|
||||||
|
"integrity": "051968c2b1eae4d2ea9f79a08a3845740ef6af10356aff43d3e2ef11ed09fb06"
|
||||||
|
},
|
||||||
|
"@std/html@1.0.3": {
|
||||||
|
"integrity": "7a0ac35e050431fb49d44e61c8b8aac1ebd55937e0dc9ec6409aa4bab39a7988"
|
||||||
|
},
|
||||||
|
"@std/html@1.0.5": {
|
||||||
|
"integrity": "4e2d693f474cae8c16a920fa5e15a3b72267b94b84667f11a50c6dd1cb18d35e"
|
||||||
|
},
|
||||||
|
"@std/http@1.0.13": {
|
||||||
|
"integrity": "d29618b982f7ae44380111f7e5b43da59b15db64101198bb5f77100d44eb1e1e",
|
||||||
|
"dependencies": [
|
||||||
|
"jsr:@std/cli@^1.0.12",
|
||||||
|
"jsr:@std/encoding@^1.0.7",
|
||||||
|
"jsr:@std/fmt@^1.0.5",
|
||||||
|
"jsr:@std/html@^1.0.3",
|
||||||
|
"jsr:@std/media-types",
|
||||||
|
"jsr:@std/net@^1.0.4",
|
||||||
|
"jsr:@std/path@^1.0.8",
|
||||||
|
"jsr:@std/streams@^1.0.9"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@std/http@1.0.21": {
|
||||||
|
"integrity": "abb5c747651ee6e3ea6139858fd9b1810d2c97f53a5e6722f3b6d27a6d263edc",
|
||||||
|
"dependencies": [
|
||||||
|
"jsr:@std/cli@^1.0.23",
|
||||||
|
"jsr:@std/encoding@^1.0.10",
|
||||||
|
"jsr:@std/fmt@^1.0.8",
|
||||||
|
"jsr:@std/fs",
|
||||||
|
"jsr:@std/html@^1.0.5",
|
||||||
|
"jsr:@std/media-types",
|
||||||
|
"jsr:@std/net@^1.0.6",
|
||||||
|
"jsr:@std/path@^1.1.2",
|
||||||
|
"jsr:@std/streams@^1.0.13"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@std/internal@1.0.12": {
|
||||||
|
"integrity": "972a634fd5bc34b242024402972cd5143eac68d8dffaca5eaa4dba30ce17b027"
|
||||||
|
},
|
||||||
|
"@std/media-types@1.1.0": {
|
||||||
|
"integrity": "c9d093f0c05c3512932b330e3cc1fe1d627b301db33a4c2c2185c02471d6eaa4"
|
||||||
|
},
|
||||||
|
"@std/net@1.0.4": {
|
||||||
|
"integrity": "2f403b455ebbccf83d8a027d29c5a9e3a2452fea39bb2da7f2c04af09c8bc852"
|
||||||
|
},
|
||||||
|
"@std/net@1.0.6": {
|
||||||
|
"integrity": "110735f93e95bb9feb95790a8b1d1bf69ec0dc74f3f97a00a76ea5efea25500c"
|
||||||
|
},
|
||||||
|
"@std/path@1.0.8": {
|
||||||
|
"integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be"
|
||||||
|
},
|
||||||
|
"@std/path@1.1.2": {
|
||||||
|
"integrity": "c0b13b97dfe06546d5e16bf3966b1cadf92e1cc83e56ba5476ad8b498d9e3038",
|
||||||
|
"dependencies": [
|
||||||
|
"jsr:@std/internal"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@std/streams@1.0.9": {
|
||||||
|
"integrity": "a9d26b1988cdd7aa7b1f4b51e1c36c1557f3f252880fa6cc5b9f37078b1a5035"
|
||||||
|
},
|
||||||
|
"@std/streams@1.0.13": {
|
||||||
|
"integrity": "772d208cd0d3e5dac7c1d9e6cdb25842846d136eea4a41a62e44ed4ab0c8dd9e"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"workspace": {
|
||||||
|
"packageJson": {
|
||||||
|
"dependencies": [
|
||||||
|
"npm:@types/ace@^0.0.52"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
57
dev.ts
Normal file
57
dev.ts
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
// deno-lint-ignore no-import-prefix
|
||||||
|
import { serveDir } from "jsr:@std/http@1.0.21/file-server";
|
||||||
|
|
||||||
|
type Addr = {
|
||||||
|
hostname: string;
|
||||||
|
port: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
function alertListening(addr: Addr) {
|
||||||
|
console.log(`Listening on http://${addr.hostname}:${addr.port}/`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function buildDocs() {
|
||||||
|
console.log("building docs");
|
||||||
|
await new Deno.Command("deno", {
|
||||||
|
args: ["task", "build"],
|
||||||
|
cwd: "docs",
|
||||||
|
}).output();
|
||||||
|
console.log("done");
|
||||||
|
}
|
||||||
|
|
||||||
|
async function watchAndBuildDocs() {
|
||||||
|
let changeOccurred = true;
|
||||||
|
let running = false;
|
||||||
|
setInterval(async () => {
|
||||||
|
if (!changeOccurred || running) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
running = true;
|
||||||
|
await buildDocs();
|
||||||
|
changeOccurred = false;
|
||||||
|
running = false;
|
||||||
|
}, 250);
|
||||||
|
const watcher = Deno.watchFs(["docs/src"]);
|
||||||
|
for await (const _ of watcher) {
|
||||||
|
changeOccurred = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function serveDist(addr: Addr) {
|
||||||
|
Deno.serve({
|
||||||
|
port: addr.port,
|
||||||
|
hostname: addr.hostname,
|
||||||
|
onListen: (_) => alertListening(addr),
|
||||||
|
}, (req: Request) => {
|
||||||
|
return serveDir(req, { quiet: true, showIndex: true });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (import.meta.main) {
|
||||||
|
await buildDocs();
|
||||||
|
watchAndBuildDocs();
|
||||||
|
serveDist({
|
||||||
|
hostname: "0.0.0.0",
|
||||||
|
port: 8180,
|
||||||
|
});
|
||||||
|
}
|
@ -14,13 +14,13 @@ function injectIntoTemplate(
|
|||||||
dirComponents.push(`${name}.html`);
|
dirComponents.push(`${name}.html`);
|
||||||
}
|
}
|
||||||
if (dirComponents.length > 0) {
|
if (dirComponents.length > 0) {
|
||||||
breadcrumbs.push(`<a href="/-/">root</a>`);
|
breadcrumbs.push(`<a href="/docs/-/">root</a>`);
|
||||||
} else {
|
} else {
|
||||||
breadcrumbs.push(`<span>root</span>`);
|
breadcrumbs.push(`<span>root</span>`);
|
||||||
}
|
}
|
||||||
for (let i = 0; i < dirComponents.length; ++i) {
|
for (let i = 0; i < dirComponents.length; ++i) {
|
||||||
const component = dirComponents[i];
|
const component = dirComponents[i];
|
||||||
const href = "/-/" + dirComponents.filter((_, idx) => idx <= i).join("/");
|
const href = "/docs/-/" + dirComponents.filter((_, idx) => idx <= i).join("/");
|
||||||
if (i < dirComponents.length - 1) {
|
if (i < dirComponents.length - 1) {
|
||||||
breadcrumbs.push(`<a href="${href}">${component}</a>`);
|
breadcrumbs.push(`<a href="${href}">${component}</a>`);
|
||||||
} else {
|
} else {
|
||||||
|
@ -99,7 +99,7 @@ export class AssetEditor {
|
|||||||
this.renderList();
|
this.renderList();
|
||||||
}
|
}
|
||||||
|
|
||||||
async setPreview(asset) {
|
setPreview(asset) {
|
||||||
this.previewedName = asset.name;
|
this.previewedName = asset.name;
|
||||||
|
|
||||||
this.preview.title.textContent = asset.name;
|
this.preview.title.textContent = asset.name;
|
||||||
|
@ -101,7 +101,7 @@ runButton.onclick = async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
exportButton.onclick = async () => {
|
exportButton.onclick = () => {
|
||||||
projectSaveHandler.exportProject();
|
projectSaveHandler.exportProject();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -122,10 +122,9 @@ addEventListener("keydown", (ev) => {
|
|||||||
|
|
||||||
toggleAssetEditorButton.addEventListener("click", () => assetEditor.toggleEditor());
|
toggleAssetEditorButton.addEventListener("click", () => assetEditor.toggleEditor());
|
||||||
|
|
||||||
window.ondragover = (ev) => ev.preventDefault();
|
globalThis.ondragover = (ev) => ev.preventDefault();
|
||||||
window.ondrop = (ev) => ev.preventDefault();
|
globalThis.ondrop = (ev) => ev.preventDefault();
|
||||||
|
|
||||||
dropZone.onclick = (ev) => ev.preventDefault();
|
|
||||||
dropZone.ondragover = (ev) => ev.preventDefault();
|
dropZone.ondragover = (ev) => ev.preventDefault();
|
||||||
dropZone.ondrop = async (ev) => {
|
dropZone.ondrop = async (ev) => {
|
||||||
for (const file of ev.dataTransfer.files) {
|
for (const file of ev.dataTransfer.files) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user