Skip to content

Aslemammad/venode

main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Venode

The missing child of Node.js and Deno.


Venode is a node runner that supports deno features like vendoring and http imports!

Features

  • Javascript/Typescript http imports
  • Vendor dependencies
  • Out-of-box TypeScript / JSX support
  • Built on top of Vite
  • Node >= 14

Http imports

You can easily import javascript/typescript code from the web!

// index.ts
import { assert } from "https://raw.githubusercontent.com/denoland/deno_std/main/_util/assert.ts";

console.log("here is deno assert function in node:", assert);

In your terminal:

> venode index.ts
β„Ή Download https://raw.githubusercontent.com/denoland/deno_std/main/_util/assert.ts
here is deno assert function in node: [Function: assert]

Vendor

Vendoring packages is possible, so your app would be able to rely on the same code all the time!

> venode vendor index.ts
β„Ή Download https://raw.githubusercontent.com/denoland/deno_std/main/_util/assert.ts
βœ” To use vendored modules, specify the --import-map flag: venode --import-map=vendor/import_map.json

The vendor directory should be checked into the version control, so you (your team) use the same dependencies all the time!

Now you can specify the vendor/import_map.json as the import map in venode:

> venode index.ts --import-map=vendor/import_map.json
βœ” Reading modules from vendor/import_map.json
here is deno assert function in node: [Function: assert]

Read more about vendoring in deno's release notes.

Contributing

Feel free to create issues for the bugs or features you want.

Credits

vite-node

deno

mlly

consola

undici

About

πŸ’πŸ¦• The missing child of Node.js and Deno.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published