First things I learned about JSR
Deno just launched a new package registry called JSR. Here is a simplified list with what I've learned about it:
-
It comes with a new scheme
jsr:, similar withnpm:used also by Deno to support npm packages -
Both
npm:(for npm packages) andnode:(for node builtins) schemes are supported -
Packages are also exposed as URLs, similar with deno.land/x
-
All packages are scoped based,
@your_scope/your_packageinstead ofyour_package -
It uses semver
-
There is a compatibility layer for npm,
jsr:@luca/flagcan be used as@jsr/luca__flagin npm. -
Native TypeScript
-
ESM only, no more CommonJS
-
Built-in documentation generation
-
Limits (by default):
-
3 scopes/account
-
100 packages/scope
-
20 packages created / 7 day window
-
1000 publish attempts / 7 day window
-
gzipped tarball < 20 MB
-
individual file < 4 MB
-
All these limits can be changed by contacting the support team.
Keep in mind that all these things might change in the future.