1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-25 16:49:18 -05:00
denoland-deno/cli/tests/testdata/run/import_meta/main.ts
Bartek Iwańczuk 576b20aa00
fix: allow npm: specifiers in import.meta.resolve (#21716)
Closes https://github.com/denoland/deno/issues/21298.

"npm:" specifiers are matched against import map entries
and if no match is found they are passed through.
2023-12-28 20:37:10 +01:00

46 lines
1.2 KiB
TypeScript

import { assertThrows } from "../../../../../test_util/std/assert/mod.ts";
console.log("main", import.meta.url, import.meta.main);
import "./other.ts";
console.log("Resolving ./foo.js", import.meta.resolve("./foo.js"));
console.log("Resolving bare from import map", import.meta.resolve("bare"));
console.log(
"Resolving https://example.com/rewrite from import map",
import.meta.resolve("https://example.com/rewrite"),
);
console.log(
"Resolving without a value from import map",
import.meta.resolve(),
);
console.log(
"Resolving 1 from import map",
import.meta.resolve(1),
);
console.log(
"Resolving null from import map",
import.meta.resolve(null),
);
console.log(
"Resolving object from import map",
import.meta.resolve({}),
);
assertThrows(() => {
import.meta.resolve("too", "many", "arguments");
}, TypeError);
assertThrows(() => {
import.meta.resolve("://malformed/url?asdf");
}, TypeError);
console.log(
"Resolving npm:cowsay",
import.meta.resolve("npm:cowsay"),
);
console.log(
"Resolving npm:cowsay@1",
import.meta.resolve("npm:cowsay@1"),
);
console.log(
"Resolving npm:preact from import map",
import.meta.resolve("npm:preact"),
);