$ npm install make-deno-edition
Make a deno edition of a npm package
Here is a list of Bevry packages that have used make-deno-edition
to make themselves compatible with deno:
You will be running make-deno-edition
on a npm package that is written in TypeScript and uses ESM.
Any imports from your package must either:
.ts
file.ts
file (typical deno style)package.json
file, that contains a deno
entry field, or a main
field that has a corresponding .ts
file.ts
file, or a deno
edition in the package.json
file such that the deno entry can be inferredIf you import a package that is not compatible with deno, but does have source code written in TypeScript using ESM, then fork the imported package, run through the instructions below to generate the deno comptible edition for it, then submit a pull request, so that it has a deno compatible edition, and thus can be used automatically in the future.
If you are using
boundation
to automatically generate deno compatibility for your npm package, then you can skip this step.
If you haven't already done so, add the following editions metadata to your package.json
file:
"editions": [
{
"description": "TypeScript source code with Import for modules",
"directory": "source",
"entry": "index.ts",
"tags": [
"typescript",
"import"
],
"engines": false
}
]
Make sure that the directory
is where the source files are located, in the above example, they are located in a source
directory, as it is with this repository.
Make sure that the entry
is where the entry file is located within the edition directory, in the above example, the entry is index.ts
, as it is with this repository.
If you are using
boundation
to automatically generate deno compatibility for your npm package, then you can skip this step.
Install make-deno-edition
to your development dependencies using:
npm install --save-dev make-deno-edition
Then add a compile
npm script to your package.json
containing:
make-deno-edition --attempt
Alternatively, you can run it directly on your project via:
npx make-deno-edition --attempt
The --attempt
flag will not emit a failure exit code if the deno edition generation was not successful. If you require a deno edition to be published, remove the --attempt
flag.
If you are using
boundation
to automatically generate deno compatibility for your npm package, then you can skip this step.
If you are using
projectz
to automatically generate yourREADME.md
content, then you can skip this step.
If a deno edition was successfully created, it will be located in the edition-deno
directory with the metadata added to the editions
array in your package.json
and a deno
entry field also added to your package.json
.
Consumers of your package who use make-deno-edition
on their own package, will now be able to use your package's deno edition to further their own deno compatibility.
You can also instruct consumers of your package to directly use your deno edition, by informing them of its presence in your README.md
file. You can use projectz
to automatically insert this information for them.
API usage of make-deno-edition
is to come.
npm install --global make-deno-edition
make-deno-edition
npm install --save make-deno-edition
npx make-deno-edition
import * as pkg from ('make-deno-edition')
const pkg = require('make-deno-edition')
This package is published with the following editions:
make-deno-edition/source/index.ts
is TypeScript source code with Import for modulesmake-deno-edition
aliases make-deno-edition/edition-esnext/index.js
make-deno-edition/edition-esnext/index.js
is TypeScript compiled against ESNext for Node.js with Require for modulesDiscover the release history by heading on over to the HISTORY.md
file.
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
These amazing people are maintaining this project:
No sponsors yet! Will you be the first?
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
Unless stated otherwise all works are:
and licensed under:
© 2010 - cnpmjs.org x YWFE | Home | YWFE