diff --git a/denops/denippet/loader.ts b/denops/denippet/loader.ts index df50e3d..186186f 100644 --- a/denops/denippet/loader.ts +++ b/denops/denippet/loader.ts @@ -1,5 +1,5 @@ import { Denops } from "./deps/denops.ts"; -import { TOML, YAML } from "./deps/std.ts"; +import { path, TOML, YAML } from "./deps/std.ts"; import { is, u } from "./deps/unknownutil.ts"; import { asyncFilter } from "./util.ts"; @@ -136,7 +136,8 @@ export class Loader { let snippets: NormalizedSnippet[] = []; if (extension === "ts") { - const content = await import(filepath).then((module) => module.snippets); + const content = await import(path.toFileUrl(filepath).toString()) + .then((module) => module.snippets); u.assert(content, is.RecordOf(isTSSnippet)); snippets = Object.entries(content).map(([name, snip]) => ({ ...snip, diff --git a/denops/denippet/loader_test.ts b/denops/denippet/loader_test.ts index b83544e..52f85fb 100644 --- a/denops/denippet/loader_test.ts +++ b/denops/denippet/loader_test.ts @@ -2,7 +2,8 @@ import { Loader } from "./loader.ts"; import { op, test } from "./deps/denops.ts"; import { assertEquals, path } from "./deps/std.ts"; -const testDataDir = new URL("../../test/data", import.meta.url).pathname; +const pluginRoot = path.fromFileUrl(new URL("../..", import.meta.url)); +const testDataDir = path.join(pluginRoot, "test", "data"); test({ mode: "all",