/dink

🦕Deno module linker 🔗

Primary LanguageTypeScriptMIT LicenseMIT

dink

Build Status https://img.shields.io/github/tag/keroxp/dink.svg license

Deno module linker

Concept

dink is designed to manage URL module specifiers for Deno.

Managing URL module specifier in Deno is qutie hard. dink is designed to resolve these problems by familiar way for developers.

Install

$ deno install --allow-write --allow-read --allow-net https://denopkg.com/keroxp/dink/dink.ts

with install directory:

$ deno install --allow-write --allow-read --allow-net -d /usr/local/bin dink https://denopkg.com/keroxp/dink/dink.ts

Usage

1. Run dink

$ cd ./project
$ dink

2. Edit modules.json file

{
  "https://deno.land/std": {
    "version": "@v0.32.0",
    "modules": ["/fs/mod.ts", "/fs/path.ts", "/flags/mod.ts"]
  }
}

2. Run dink command

$ dink
Linked: https://deno.land/std@v0.32.0/fs/mod.ts -> ./vendor/https/deno.land/std/fs/mod.ts
Linked: https://deno.land/std@v0.32.0/fs/path.ts -> ./vendor/https/deno.land/std/fs/path.ts
Linked: https://deno.land/std@v0.32.0/flags/mod.ts -> ./vendor/https/deno.land/std/flags/mod.ts

dink will automatically create module asias files that are described in modules.json. If there are modules.json like below:

{
  ":moduleId": {
    "version": ":version",
    "modules": [":moduleFile"]
  }
}
  • Alias for ":modileFile" will be created at: ./vendor/{:moduleId}/{:moduleFile}
  • Aalis is contains: export * from "{:moduleId}{:version}{:moduleFile}"

3. Import module aliases

import * fs from "./vendor/https/deno.land/std/fs/mod.ts"

Prior works

LICENSE

MIT