Versions

  • v47

    10/30/2024
    Open: Version
    Changes from v46 to v47
    +0
    -0
    ⦚ 96 unchanged lines ⦚
    ⦚ 96 unchanged lines ⦚
  • v46

    10/30/2024
    Open: Version
    Changes from v45 to v46
    +22
    -31
    ⦚ 69 unchanged lines ⦚
    const start = (port: number, importUrl: string) => {
    // Import the module passed in the args.
    import(importUrl)
    .then((m) => {
    mod = m;
    })
    .catch((err) => {
    modError = err;
    console.error(err);
    })
    .finally(() => {
    doneLoading = true;
    for (const { req, resolve } of pendingRequests) {
    handleRequest(req).then(resolve);
    }
    });

    Deno.serve(
    {
    port,
    onListen: () => {},
    onError: (err) => {
    console.error(err);
    return errorResponse(err);
    },
    },
    (req) => {
    if (!doneLoading) {
    return new Promise<Response>((resolve) => {
    pendingRequests.push({ req, resolve });
    });
    }
    return handleRequest(req);
    },
    ⦚ 69 unchanged lines ⦚
    const start = (port: number, importUrl: string) => {
    // Import the module passed in the args.
    import(importUrl).then((m) => {
    mod = m;
    }).catch((err) => {
    modError = err;
    console.error(err);
    }).finally(() => {
    doneLoading = true;
    for (const { req, resolve } of pendingRequests) { handleRequest(req).then(resolve); }
    });
    Deno.serve({
    port,
    onListen: () => {},
    onError: (err) => {
    console.error(err);
    return errorResponse(err);
    },
    }, (req) => {
    if (!doneLoading) {
    return new Promise<Response>((resolve) => {
    pendingRequests.push({ req, resolve });
    });
    }
    return handleRequest(req);
    });
    };
  • v45

    10/30/2024
    Open: Version
    Changes from v44 to v45
    +1
    -6
    ⦚ 51 unchanged lines ⦚
    try {
    if (modError || !mod) {
    return new Response(
    modError ? modError.message : "error initializing",
    {
    status: 500,
    },
    );
    }
    let resp, err;
    ⦚ 49 unchanged lines ⦚
    ⦚ 51 unchanged lines ⦚
    try {
    if (modError || !mod) {
    return new Response(modError ? modError.message : "error initializing", { status: 500 });
    }
    let resp, err;
    ⦚ 49 unchanged lines ⦚
  • v44

    10/30/2024
    Open: Version
    Changes from v43 to v44
    +1
    -1
    ⦚ 37 unchanged lines ⦚
    <div>
    <h1>
    ValTownTown: ${escape(err.name)}
    </h1>
    <pre data-linkify>${escape(err.stack ?? err.message)}</pre>
    ⦚ 68 unchanged lines ⦚
    ⦚ 37 unchanged lines ⦚
    <div>
    <h1>
    ValTownTown: ${escape(err.name)}
    </h1>
    <pre data-linkify>${escape(err.stack ?? err.message)}</pre>
    ⦚ 68 unchanged lines ⦚
  • v43

    10/30/2024
    Open: Version
    Changes from v42 to v43
    +0
    -0
    ⦚ 110 unchanged lines ⦚
    ⦚ 110 unchanged lines ⦚
  • v42

    10/30/2024
    Open: Version
    Changes from v41 to v42
    +1
    -1
    ⦚ 37 unchanged lines ⦚
    <div>
    <h1>
    ValTownTOwn ${escape(err.name)}
    </h1>
    <pre data-linkify>${escape(err.stack ?? err.message)}</pre>
    ⦚ 68 unchanged lines ⦚
    ⦚ 37 unchanged lines ⦚
    <div>
    <h1>
    ValTownTown: ${escape(err.name)}
    </h1>
    <pre data-linkify>${escape(err.stack ?? err.message)}</pre>
    ⦚ 68 unchanged lines ⦚
  • v41

    10/30/2024
    Open: Version
    Changes from v40 to v41
    +1
    -1
    ⦚ 37 unchanged lines ⦚
    <div>
    <h1>
    ${escape(err.name)}
    </h1>
    <pre data-linkify>${escape(err.stack ?? err.message)}</pre>
    ⦚ 68 unchanged lines ⦚
    ⦚ 37 unchanged lines ⦚
    <div>
    <h1>
    ValTownTOwn ${escape(err.name)}
    </h1>
    <pre data-linkify>${escape(err.stack ?? err.message)}</pre>
    ⦚ 68 unchanged lines ⦚
  • v40

    10/30/2024
    Open: Version
    Changes from v39 to v40
    +10
    -0
    ⦚ 22 unchanged lines ⦚
    <style>
    * { box-sizing: border-box }
    </style>
    </head>
    <body>
    ⦚ 73 unchanged lines ⦚
    ⦚ 22 unchanged lines ⦚
    <style>
    * { box-sizing: border-box }
    body {
    margin: 0;
    padding: 8px;
    font-family: system-ui, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: black;
    background-color: white;
    }
    </style>
    </head>
    <body>
    ⦚ 73 unchanged lines ⦚
  • v39

    10/30/2024
    Open: Version
    +100
    -0

    import { escape } from "jsr:@std/html@1.0.3/entities";

    self.onmessage = async (e) => {
    const port = e.data.port as number;
    const importUrl = e.data.importUrl as string;
    start(port, importUrl);
    };

    let mod: { default: (req: Request) => Response } | undefined;
    let modError: Error | undefined;
    let doneLoading = false;
    const pendingRequests: {
    req: Request;
    resolve: (value: Response | Promise<Response>) => void;
    }[] = [];

    const errorResponse = (err: any) => {
    return new Response(
    `
    <html>
    <head>
    <title>Error</title>
    <style>
    * { box-sizing: border-box }
    </style>
    </head>
    <body>
    <div>
    <h1>
    ${escape(err.name)}
    </h1>
    <pre data-linkify>${escape(err.stack ?? err.message)}</pre>
    <script type="module" src="https://esm.town/v/std/linkify"></script>
    </div>
    </body>
    </html>`,
Updated: October 30, 2024