diff --git a/deno.json b/deno.json index 0b36e2a..9094c7e 100644 --- a/deno.json +++ b/deno.json @@ -14,7 +14,7 @@ "customType": "regex", "fileMatch": ["^import_map.json$", "^deno.jsonc?$"], "matchStrings": [ - "['\"].+?['\"]\\s*:\\s*['\"]https://esm.sh/(?.+?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[/\"']", + "['\"].+?['\"]\\s*:\\s*['\"]https://esm.sh/(?.+?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[?/\"']", "['\"].+?['\"]\\s*:\\s*['\"]npm:(?.+?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[/\"']", "['\"].+?['\"]\\s*:\\s*['\"]https?://unpkg.com/(?(?:@[^/\"']*/)?[^/\"']*?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[/\"']", "['\"].+?['\"]\\s*:\\s*['\"]https?://cdn.skypack.dev/(?(?:@[^/\"']*/)?[^/\"']*?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[?/\"']" @@ -33,7 +33,7 @@ "customType": "regex", "fileMatch": ["\\.[jt]sx?$"], "matchStrings": [ - "(?:im|ex)port(?:.|\\s)+?from\\s*['\"]https://esm.sh/(?.+?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[/'\"]", + "(?:im|ex)port(?:.|\\s)+?from\\s*['\"]https://esm.sh/(?.+?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[?/'\"]", "(?:im|ex)port(?:.|\\s)+?from\\s*['\"]npm:(?.+?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[/'\"]", "(?:im|ex)port(?:.|\\s)+?from\\s*['\"]https?://unpkg.com/(?(?:@[^/\"']*/)?[^/\"']*?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[/'\"]", "(?:im|ex)port(?:.|\\s)+?from\\s*['\"]https?://cdn.skypack.dev/(?(?:@[^/\"']*/)?[^/\"']*?)@v?(?(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:\\.(?:0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)?)[?/'\"]" diff --git a/test/deno.test.ts b/test/deno.test.ts index 1267f60..16d288a 100644 --- a/test/deno.test.ts +++ b/test/deno.test.ts @@ -90,6 +90,16 @@ describe("2: npm for import map", () => { currentValue: "5.0.1", depName: "chalk", }, + { + title: "should accept esm.sh specifier with query", + input: `{ + "imports": { + "tslib": "https://esm.sh/tslib@2.6.2?exports=__await,__rest", + } + }`, + currentValue: "2.6.2", + depName: "tslib", + }, { title: "should accept only major version", input: `{ @@ -212,6 +222,12 @@ describe("4: npm for js file", () => { currentValue: "5.0.1", depName: "chalk", }, + { + title: "should accept esm.sh specifier with query", + input: `import { __await, __rest } from "https://esm.sh/tslib@2.6.2?exports=__await,__rest";`, + currentValue: "2.6.2", + depName: "tslib", + }, { title: "should accept only major version",