🔍
Automatic discovery of ports
If you have published your module both on deno.land/x and NPM Denoify should be able to automatically resolve your Deno distribution, what do I mean by that?
Let's assume we are in a project, in our
node_modules
directory we have the following three Denoified modules:// src/foo.ts
import { assert } from "tsafe/assert";
import type { Equals } from "tsafe";
import * as ns from "my-dummy-npm-and-deno-module";
import { Cat } from "my-dummy-npm-and-deno-module/dist/lib/Cat";
import { createLexer } from "leac";
Now if we run
npx denoify
it will generates this: // deno_dist/foo.ts
import { assert } from "https://deno.land/x/[email protected]/assert.ts";
import type { Equals } from "https://deno.land/x/[email protected]/mod.ts";
import * as ns from "https://deno.land/x/[email protected]/mod.ts";
import { Cat } from "https://deno.land/x/[email protected]/lib/Cat.ts";
import { createLexer } from "https://deno.land/x/leac/v0.6.0/mod.ts";
If
tsafe
wasn't published on deno.land/x instead of https://deno.land/x/[email protected]/assert.ts
we would have https://raw.githubusercontent.com/garronej/tsafe/v0.10.1/deno_dist/assert.ts
. Denoify always find the files on GitHub first and then try to see if it can get the same file with a deno.land/x url on a best effort basis.
If you want it to work your repo should have the same name as the deno module you have published ( we replace the
-
by _
).For some reason, automatic resolution dosen't work well with your module?
Please reach out by opening a discussion!
If you want to check for common problem before contacting the community here are some things you might want to check out:
- Makes sure you do not get this message when you run
npx denoify
. If you do make sur yourmain
property of yourpackage.json
is correct. - Makes sure you have a repository field in your
package.json
that points to the correct repo. Example - Make sure you create a git Tag for every NPM version you release. (A git tag is created when you create a GitHub Release)
- Make sure there is always a
tsconfig.json
file at the root of your repo, on every version tag, and that it specifies the optioncompilerOptions.outDir
.
Last modified 9mo ago