@oazmi/esbuild-plugin-deno - v0.4.0
    Preparing search index...

    Function jsrPackageToMetadataUrl

    • given a jsr schema uri (such as jsr:@std/assert/assert-equals), this function resolves the http url of the package's metadata file (i.e. deno.json(c)).

      Parameters

      • jsr_package: URL | `jsr:${string}`

      Returns Promise<URL>

      import { assertEquals, assertMatch } from "jsr:@std/assert"

      // aliasing our functions for brevity
      const
      fn = jsrPackageToMetadataUrl,
      eq = assertEquals,
      re = assertMatch

      eq((await fn("jsr:@oazmi/kitchensink@0.9.1")).href, "https://jsr.io/@oazmi/kitchensink/0.9.1/deno.json")
      eq((await fn("jsr:@oazmi/kitchensink@0.9.1/typedefs")).href, "https://jsr.io/@oazmi/kitchensink/0.9.1/deno.json")
      re((await fn("jsr:@oazmi/kitchensink")).href, /^https://jsr.io/@oazmi/kitchensink/.*?/deno.json$/)
      re((await fn("jsr:@oazmi/kitchensink/typedefs")).href, /^https://jsr.io/@oazmi/kitchensink/.*?/deno.json$/)

      // currently, in version `0.8`, we have the following release versions available:
      // `["0.8.6", "0.8.5", "0.8.5-a", "0.8.4", "0.8.3", "0.8.3-d", "0.8.3-b", "0.8.3-a", "0.8.2", "0.8.1", "0.8.0"]`
      // so, a query for version "^0.8.0" should return "0.8.6", and "<0.8.6" would return "0.8.5", etc...
      eq((await fn("jsr:@oazmi/kitchensink@^0.8.0")).href, "https://jsr.io/@oazmi/kitchensink/0.8.6/deno.json")
      eq((await fn("jsr:@oazmi/kitchensink@<0.8.6")).href, "https://jsr.io/@oazmi/kitchensink/0.8.5/deno.json")
      eq((await fn("jsr:@oazmi/kitchensink@0.8.2 - 0.8.4")).href, "https://jsr.io/@oazmi/kitchensink/0.8.4/deno.json")