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_package
instead ofyour_package
-
It uses semver
-
There is a compatibility layer for npm,
jsr:@luca/flag
can be used as@jsr/luca__flag
in 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.