make-deno-edition
Make a deno edition of a npm package
Last updated 4 years ago by bevryme .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install make-deno-edition 
SYNC missed versions from official npm registry.

make-deno-edition

Travis CI Build Status NPM version NPM downloads Dependency Status Dev Dependency Status
GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

Make a deno edition of a npm package

Usage

Complete API Documentation.

Examples

Here is a list of Bevry packages that have used make-deno-edition to make themselves compatible with deno:

  1. https://github.com/bevry/ambi
  2. https://github.com/bevry/arrangekeys
  3. https://github.com/bevry/badges
  4. https://github.com/bevry/binaryextensions
  5. https://github.com/bevry/cachely
  6. https://github.com/bevry/detect-indentation
  7. https://github.com/bevry/envfile
  8. https://github.com/bevry/errlop
  9. https://github.com/bevry/fellow
  10. https://github.com/bevry/get-cli-arg
  11. https://github.com/bevry/getsetdeep
  12. https://github.com/bevry/ignorefs
  13. https://github.com/bevry/ignorepatterns
  14. https://github.com/bevry/istextorbinary
  15. https://github.com/bevry/links
  16. https://github.com/bevry/memo
  17. https://github.com/bevry/native-promise-pool
  18. https://github.com/bevry/normalify
  19. https://github.com/bevry/oneday
  20. https://github.com/bevry/remove-indentation
  21. https://github.com/bevry/ropo
  22. https://github.com/bevry/sortobject
  23. https://github.com/bevry/start-of-week
  24. https://github.com/bevry/textextensions
  25. https://github.com/bevry/trim-indentation
  26. https://github.com/bevry/typechecker
  27. https://github.com/bevry/valid-module

Prerequisites

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:

  • be a relative import, that has a corresponding .ts file
  • be a URL that a resolves to a .ts file (typical deno style)
  • be a dependency that has a package.json file, that contains a deno entry field, or a main field that has a corresponding .ts file
  • where a custom package entry was used, there is a corresponding .ts file, or a deno edition in the package.json file such that the deno entry can be inferred

If 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.

Preparation

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.

Executable

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.

Publishing

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 your README.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

API usage of make-deno-edition is to come.

Install

npm

Install Globally

  • Install: npm install --global make-deno-edition
  • Executable: make-deno-edition

Install Locally

  • Install: npm install --save make-deno-edition
  • Executable: npx make-deno-edition
  • Import: import * as pkg from ('make-deno-edition')
  • Require: const pkg = require('make-deno-edition')

Editions

This package is published with the following editions:

  • make-deno-edition/source/index.ts is TypeScript source code with Import for modules
  • make-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 modules

History

Discover the release history by heading on over to the HISTORY.md file.

Contribute

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

No sponsors yet! Will you be the first?

GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

Contributors

These amazing people have contributed code to this project:

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

License

Unless stated otherwise all works are:

and licensed under:

Current Tags

125 Versions


© 2010 - cnpmjs.org x YWFE | Home | YWFE