publint | dnt | |
---|---|---|
6 | 10 | |
892 | 1,168 | |
- | 1.9% | |
8.3 | 7.6 | |
6 days ago | 18 days ago | |
JavaScript | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
publint
- TypeScript NPM Packages Done Right
-
Creating an NPM Package in 2024 (Deno, dnt)
Creating npm packages can be challenging. We've seen many tools in this domain, and I encourage you to try dnt. With dnt, I was finally able to pass the package.json linter, which is no small achievement (try jotai, redux, vite).
- Publint: NPM Package Publication Linter
-
AreTheTypesWrong with Andrew Branch from the TypeScript Team
Only regret is not mentioning https://publint.dev which is similar in many ways (and also great -> just didn't know about it at the time). Maybe we gotta find the publint people/person and do an episode with them??
-
The Javascript Ecosystem for the Dazed and Confused
There are many quirks related to this however, for example if you use "types" it should always be the first entry in your exports, and if you use "default" it should always be the last entry in your exports. Package exports are easy to mess up, and get wrong. Thankfully, there's a really nice project called publint that helps you with things like these.
-
A new linter to check if a package is published right
Not currently, but missing deps is planned under https://github.com/bluwy/publint/issues/13 which should be doable once the infrastructure is done. Deprecated dependencies are probably out of scope for now as that package could technically still work, and it avoids a fetch to npm.
dnt
-
Creating an NPM Package in 2024 (Deno, dnt)
We are going to use dnt - Deno to Node Transform tool to build the npm package.
- Ryan Dahl: "our goal is to have Deno be the fastest JS runtime"
-
Build package for NPM & Deno
As already mentioned dnt might help you if you are willing to have deno as your primary development environment. I work in a project like this and the deno tooling is great. I don't even need a package.json since dnt will generate it for me.
-
How to build, test, and publish a TypeScript npm package in 2022
Build it in Deno and then use dnt to create an npm package. That way you support both JS runtimes: https://github.com/denoland/dnt
-
Write once, run anywhere with Deno and Dnt
Specifically, make my codebase be for Deno, use Deno built-in formatter, linter and testing, and use dnt (Deno to Node Transform) to generate an npm package containing ESM code and to test generated code. For testing in the browser, deploy the test content linked to the generated ESM code to Github Pages and use playwright/test. For Cloudflare Workers, use wrangler to set up a worker locally for testing. A schematic diagram is shown below.
- Fresh is a new full stack web framework for Deno
-
tsx: Node.js enhanced with esbuild to run TypeScript & ESM
I ended up building the library with Deno and compiling to Node.js CJS and ESM using https://github.com/denoland/dnt
-
Deno 1.20
Yes, TS code is compiled to run in browsers. You can compile and bundle using `deno bundle` if your project is developed in Deno. Since I'm using Deno for library development, I use the `dnt`[1] tool to compile them into ESM modules later consumed by esbuild in my Node-based projects/toolchains.
[1] https://github.com/denoland/dnt
-
How to compule/bundle code for nodejs?
Maybe this could help? https://github.com/denoland/dnt
What are some alternatives?
upstash-redis - HTTP based Redis Client for Serverless and Edge Functions
klaro-js - Klaro Privacy Manager. An open-source, privacy-friendly & compliant consent manager for your website.
openai-node - The official Node.js / Typescript library for the OpenAI API
ts-runtime-comparison - Comparison of Node.js TypeScript runtimes
esm-env
tsx - ⚡️ TypeScript Execute: Node.js enhanced to run TypeScript & ESM
SimpleWebAuthn - WebAuthn, Simplified. A collection of TypeScript-first libraries for simpler WebAuthn integration. Supports modern browsers, Node, Deno, and more.
undici - An HTTP/1.1 client, written from scratch for Node.js
is-bun - Return true if you are running in Bun.
is-not-bun - Return true if you are running not in Bun.
deno - A modern runtime for JavaScript and TypeScript.