Digamos que emito el siguiente comando:
deno run --allow-read /scripts/where-am-i.ts Lo que debería estar dentro where-am-i.ts para que salga:
/scriptsHe intentado:
console.log(Deno.cwd()); que imprime el directorio desde el que se llamó al script ( / en este ejemplo).
También he probado:
console.log(Deno.execPath()); que imprime la ubicación del binario deno ( ~/.cargo/bin/deno para mí).
Puede usar algunas utilidades del módulo std/path para determinar el directorio de un módulo, según su meta de importación :
so-72156289.ts :
import * as path from "https://deno.land/std@0.138.0/path/mod.ts"; function getModuleDir(importMeta: ImportMeta): string { return path.resolve(path.dirname(path.fromFileUrl(importMeta.url))); } const dir = getModuleDir(import.meta); console.log(dir); $ deno run /Users/deno/examples/so-72156289.ts /Users/deno/examples