-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
46b45d9
commit 2a77e52
Showing
1 changed file
with
55 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,56 @@ | ||
# JSR cli for node | ||
# JSR npm command line tool | ||
|
||
See https://jsr.io/ . | ||
The JSR npm CLI integrates JSR (JavaScript Registry) packages with npm-based projects, facilitating the use of JSR packages in environments that traditionally rely on npm. Learn more about JSR at [jsr.io](https://jsr.io). | ||
|
||
## Quick Start | ||
|
||
Add a JSR package to your project: | ||
|
||
```sh | ||
npx jsr add @package/name # 'install' and 'i' are also supported | ||
``` | ||
|
||
This command auto-updates your `package.json` and installs the package, automatically detecting and using your project's package manager. | ||
|
||
## How It Works | ||
|
||
The CLI creates or updates a `.npmrc` file in your project with: | ||
|
||
``` | ||
@jsr:registry=https://npm.jsr.io | ||
``` | ||
|
||
This line redirects npm to fetch JSR packages from the JSR registry instead of the default npm registry. | ||
|
||
Packages are added to `package.json` with an alias, mapping the JSR package name to the npm registry URL hosted by JSR, like so: | ||
|
||
```json | ||
{ | ||
"dependencies": { | ||
"@luca/flag": "npm:@jsr/luca__flag@1" | ||
} | ||
} | ||
``` | ||
|
||
This ensures that the package is fetched from JSR when you run npm install commands. | ||
|
||
## Commands | ||
|
||
- `add`, `install`, `i`: Adds a JSR package to your project. | ||
- `remove`, `uninstall`, `r`: Remove a JSR package from your project. | ||
- `publish`: _(Coming Soon)_ Will support publishing npm modules directly to JSR. | ||
|
||
## Limitations | ||
|
||
- `jsr:` import specifiers are not supported. | ||
- Due to transpilation, the developer experience in editors might differ from native JSR usage. | ||
|
||
For the best developer experience and to fully leverage JSR's capabilities, consider environments with native JSR support like Deno. | ||
|
||
## Contributing | ||
|
||
We welcome contributions and feedback. Visit our GitHub repository to contribute or report issues. | ||
|
||
## License | ||
|
||
This CLI is available under the [MIT License](https://opensource.org/licenses/MIT). |