Compare commits

..

No commits in common. "872a1c300967d0f6b6ccff3c5f32d95502ad413b" and "df700ffe912ff2bd77e995c4525448b774213bb6" have entirely different histories.

6 changed files with 10 additions and 38 deletions

View File

@ -1,14 +0,0 @@
{
"name": "nose_dir",
"type": "module",
"private": true,
"dependencies": {
"hono": "^4.9.10"
},
"devDependencies": {
"@types/bun": "latest"
},
"peerDependencies": {
"typescript": "^5"
}
}

View File

@ -1,5 +1,5 @@
////
// version: df700ff
// version: c584db7
var __defProp = Object.defineProperty;
var __export = (target, all) => {
@ -83,11 +83,8 @@ __export(exports_scrollback, {
function randomId() {
return Math.random().toString(36).slice(7);
}
async function importUrl(url, cacheTag) {
async function importUrl(url) {
url += url.includes("?") ? "&" : "?";
if (cacheTag)
url += "t=" + cacheTag;
else
url += "t=" + (nodeEnv() === "production" ? gitSHA() : Date.now());
console.log("-> import", url);
return import(url);

View File

@ -6,7 +6,7 @@ import { watch, readFileSync } from "fs"
import { join, basename } from "path"
import { isFile } from "./utils"
import { sendAll } from "./websocket"
import { expectDir, mtimeEpoch } from "./utils"
import { expectDir } from "./utils"
import { importUrl } from "./shared/utils"
import type { Command, Commands } from "./shared/types"
import { projectBin, projectName } from "./project"
@ -82,10 +82,6 @@ export async function commandSource(name: string): Promise<string> {
export async function loadCommandModule(cmd: string) {
const path = commandPath(cmd)
if (!path) return
if (path.startsWith(NOSE_DIR))
return await importUrl(path, await mtimeEpoch(path))
else
return await importUrl(path)
}

View File

@ -40,12 +40,9 @@ export function unique<T>(array: T[]): T[] {
return [...new Set(array)]
}
// import a typescript module. caches by sha in production, doesn't cache in dev.
export async function importUrl(url: string, cacheTag?: string) {
// import a typescript module. caches in production, doesn't in dev.
export async function importUrl(url: string) {
url += url.includes("?") ? "&" : "?"
if (cacheTag)
url += "t=" + cacheTag
else
url += "t=" + (nodeEnv() === "production" ? gitSHA() : Date.now())
console.log("-> import", url)

View File

@ -63,10 +63,6 @@ export async function mtime(path: string): Promise<Date> {
return mtime
}
export async function mtimeEpoch(path: string): Promise<string> {
return (await mtime(path)).getTime().toString()
}
// is the given file binary?
export async function isBinaryFile(path: string): Promise<boolean> {
// Create a stream to read just the beginning

View File

@ -8,7 +8,7 @@ import { readdirSync, watch } from "fs"
import { sendAll } from "./websocket"
import { expectDir } from "./utils"
import { NOSE_DIR } from "./config"
import { isFile, isDir, mtimeEpoch } from "./utils"
import { isFile, isDir } from "./utils"
import { importUrl } from "./shared/utils"
export type Handler = (r: Context) => string | Child | Response | Promise<Response>
@ -73,7 +73,7 @@ async function findApp(name: string): Promise<App | undefined> {
async function loadApp(path: string): Promise<App | undefined> {
if (!await Bun.file(path).exists()) return
const mod = await importUrl(path, await mtimeEpoch(path))
const mod = await importUrl(path)
if (mod?.default)
return mod.default as App
}