Dev. To/Craigmorten…

If you’ve just written your first Deno module and want to submit it to the community. Modules can be published to the two most popular Deno registries in the following ways:

Deno Land Registry

The official Deno Land registry is itself the main and probably most popular Deno registry. Here’s how to add the GitHub repository to the registry:

  1. Open the repository you want to add
  2. Go to the Settings TAB

3. Click the Webhooks TAB4. Click on theAdd webhookbuttonIn 5.Payload URLEnter the URLhttps://api.deno.land/webhook/gh/<moduleName>To ensure the<moduleName>Replace part with the name of your module6. Selectapplication/jsonAs a content type7. SelectLet me select individual eventsThe radio button8. Only selectedBranch or tag creationCheck box

9. Click on theAdd webhookbutton

  1. Make sure your Webhooks are added to Webhooks

All that remains is to create a Release/Tag in the GitHub repository. This is one way to create a release on GitHub:

  1. Navigate to the repository for which you want to create the release
  2. Click on the menu on the rightReleaseslink

3. Click on theDraft a new releasebutton4. To fill outTag versionFields,Release titleFields andDescribe this releaseThe text box

  1. Click on thePublish releasebutton

You should now be able to navigate to deno.land/x/ and search for your module, or navigate directly to your module home page via https://deno.land/x/

(replace

with your moduleName). If it doesn’t appear at first, try refreshing a few times: registering and uploading new modules and tags can take a few seconds.

If after some time your module still does not appear in the Deno registry, try the following methods:

  1. Navigate back to your repository’s Releases page and check that you successfully created a Release
  2. Navigate to your WebHooks Settings page and check that you created Webhooks exactly as described: ClickEditOr a Webhook link takes you to a page where you can edit webhook
  3. On the Webhook edit page, navigate to the bottomRecent DeliveriesSection, and click on the last of the Delivery ids to expand details about recent Webhook requests and responses, which are useful for debugging.
  4. If all else fails, you can contact the Deno maintainer by opening an issue in the deno_registry2 repository or by sending a message through #help Channel of the Deno Discord.

For more information on the Deno registry, go to its deno.land/x/ (there is also a guide here) and check out this blog post at the V2 registry.

Nest. land Registry

Another popular registry is the Nest.land registry, which is on the blockchain. This registry has some nice features: security, immutability, and independence from any source management system. That is, it doesn’t require you to use Git or GitHub.

Here’s how to upload to the Nest. land registry:

  1. Browser navigation to Nest. land/ page;
  2. Click on theGet Startedlink

3. Click on theNo account? Sign uplink4. Use a new, unique usernameUsernameField and inPasswordConfirm PasswordEnter the password in the field.5. Click on theCreate Account and Generate an API Keybutton6. You will get your own unique API key. Be aware of this and keep it private and secure.7. In the IDE/ terminal of your choice, navigate to the root directory of the code to be distributed as a module 8. Run it on the terminalDeno install -a -f --unstable -n eggs https://x.nest.land/[email protected]/mod.tsInstall the nest. LandeggsThe CLI. For more details please visitNest. land installation documentation page9. Run the command on the TERMINALeggs link <key>Here,<key>Replace it with the Nest. Land API key you generated earlier. This will save the API key on your local computer, meaning you can publish the module to Nest.land without logging in again. See for more detailsNest. The land documentsUse 10.eggs initInitialize the module (similarnpm init) to configure Nest.land. This will prompt you to enter a series of information about the module, such as name, description, version, and so on. The result will be a newly created one in the root directory of your projectegg.jsonIt’s very similar topackage.json.More information about initializing modulesandConfiguration details for egg.jsonSee the nest.land documentation. 11. Executeeggs publishTo publish modules. seeNest. land releases documentationFor more information. 12. To navigate tonest.land galleryAnd search your module to confirm that your module has been successfully published. 13. Clicking on your module opens a dedicated page that includes information about your module’s readme and how to import your module from Nest.land.

If you have any questions, the Nest. land documentation is a good place to start. Alternatively, reach out to the community and maintainers by Posting a question on nest.land’s GitHub discussion board or by Posting a question on Nest. land’s GitHub.