Skip to content

Add npx-like behavior #157

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
renejfc opened this issue Mar 3, 2024 · 3 comments · May be fixed by #284
Open

Add npx-like behavior #157

renejfc opened this issue Mar 3, 2024 · 3 comments · May be fixed by #284
Assignees

Comments

@renejfc
Copy link

renejfc commented Mar 3, 2024

I'm submitting this feature request encouraged by @marvinhagemeister on the Discord server.

Context

I was wondering if we could run packages "on the fly" similar to how npx, yarn dlx, pnpm dlx and bunx does.

Behavior

Basically, the expected behavior would be the same or similar as explained in the docs of the previously mentioned commands (npx for reference).

In other words, running the command will first search for the package locally. If it's found, it will run it directly. Otherwise, the command will temporarily fetch the package, run it, and then delete it after use.

Examples

I guess this will be discussed either here, in the pr or by the team but here are a few examples from the top of my head.

  • bunx jsrx @<namespace>/<package>
  • npx jsr:@<namespace>/<package>
  • And honestly that would be it. Feel free to comment more examples.

NOTE: I hope the idea is well conveyed and there wasn't a misunderstanding with the feature, feel free to comment what you think about it or ping me if want to add something to the post.
@halvardssm
Copy link
Contributor

I was also thinking the same, that a bin property similar to package.json would be great to have 💪🏻

@andeeplus
Copy link

Hi everybody, looks the pr related to this ticket is in stale, any update on the topic? Thanks a lot

@crowlKats crowlKats removed the feature label Jan 17, 2025
@crowlKats crowlKats marked this as a duplicate of #297 Jan 17, 2025
@crowlKats crowlKats moved this from Needs Plan to In Progress in JSR Jan 17, 2025
@alexgleason
Copy link

I think this is a dupe of jsr-io/jsr-npm#76

I created an xjsr package as a workaround you can run like this:

➜ npx xjsr @alexgleason/hello
hello

I needed this for my own projects. Feel free to use it. But I'm guessing this issue hasn't been resolved in JSR itself because of incompatibilities between Deno and Node.

For example, this package does not work correctly: npx xjsr @luca/flag because Node.js does not support import.meta.main.

(The Deno.* namespace also doesn't work in Node, so we'd need to add shims or transpile to make some packages work.)

So far I am only using xjsr for packages that are already Node-compatible. But it might be possible to stick Babel in there to transpile the package and solve some of this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

8 participants