Awesome
Alternative StdLib for Nim for NodeJS/JavaScript targets
Documentation
- :heavy_check_mark: Index, all in 1 page :arrow_right: https://juancarlospaco.github.io/nodejs
- :heavy_check_mark: assert :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsassert
- :heavy_check_mark: async_hooks :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsasynchooks
- :heavy_check_mark: process :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsprocess
- :heavy_check_mark: dns :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsdns
- :heavy_check_mark: fs :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsfs
- :heavy_check_mark: inspector :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsinspector
- :heavy_check_mark: os :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsos
- :heavy_check_mark: path :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jspath
- :heavy_check_mark: perf_hooks :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsperfhooks
- :heavy_check_mark: punycode :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jspunycode
- :heavy_check_mark: querystring :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsquerystring
- :heavy_check_mark: util :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsutils
- :heavy_check_mark: v8 :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsv8
- :heavy_check_mark: zlib :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jszlib
- :heavy_check_mark: readline :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsreadline
- :heavy_check_mark: timers :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jstimers
- :heavy_check_mark: repl :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsrepl
- :heavy_check_mark: url :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsurl
- :heavy_check_mark: tracing :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jstracing
- :heavy_check_mark: module :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsmodule
- :heavy_check_mark: domain :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsdomain
- :heavy_check_mark: diagnostics_channel :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsdiagnostics_channel
- :heavy_check_mark: wasi :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jswasi
- :heavy_check_mark: buffer :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsbuffer
- :heavy_check_mark: stream :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jstream
- :heavy_check_mark: cluster :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jscluster
- :heavy_check_mark: http :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jshttp
- :heavy_check_mark: http2 :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jshttp2
- :heavy_check_mark: worker_threads :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsworker_threads
- :heavy_check_mark: WebSockets :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jswebsockets
- :heavy_check_mark: File IO API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsfilesystemhandle
- :heavy_check_mark: Battery API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsbattery
- :heavy_check_mark: USB 3.0 API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jswebusb
- :heavy_check_mark: Share API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsshare
- :heavy_check_mark: Eyedropper API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jseyedropper
- :heavy_check_mark: Speech Synthesis API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsspeechsynthesis
- :heavy_check_mark: Bluetooth API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsbluetooth
- :heavy_check_mark: Gamepad API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsgamepad
- :heavy_check_mark: GeoLocation API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsgeolocation
- :heavy_check_mark: Video Subtitles API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jswebvtt
- :heavy_check_mark: Canvas :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jscanvas
- :heavy_check_mark: URL Patterns :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsurlpattern
- :heavy_check_mark: WebRTC :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jswebrtc
- :heavy_check_mark: JS Classes :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsclasses
- :heavy_check_mark: Type-Safe DotEnv :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsdotenv
- :heavy_check_mark: Sets :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jssets
- :heavy_check_mark: Serializer :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsxmlserializer
- :heavy_check_mark: CRC :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jscrc
- :heavy_check_mark: Temporal :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jstemporal
- :heavy_check_mark: Chained Comparisons :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jschainedcomparisons
- :heavy_check_mark: Debug Utils :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsdebugutils
- :heavy_check_mark: Table Utils :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jstableutils
- :heavy_check_mark: Internationalization API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsintl
- :heavy_check_mark: Payments API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jspayments
- :heavy_check_mark: QR-Codes and Bar-Codes API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsbarcodes
- :heavy_check_mark: Sanitizer API :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jssanitizer
- :heavy_check_mark: Regex utils :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsreutils
- :heavy_check_mark: HttpClient for JavaScript :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jshttpclient
- :heavy_check_mark: Async HttpClient for JavaScript :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsasynchttpclient
- :heavy_check_mark: Network utils :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsnetutils
- :heavy_check_mark: Google ZX
- :heavy_check_mark: Compile-time macro-unrolled zero-overhead for loops.
- :heavy_check_mark: Compile-time zero-overhead strformat
- :heavy_check_mark: Common module :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jscore.html
- :heavy_check_mark: Custom syntax sugar :arrow_right: https://juancarlospaco.github.io/nodejs/nodejs/jsugar.html
- :trollface: More supported modules soon...
Mobile
Client Side
- Backend in Frontend https://blog.stackblitz.com/posts/introducing-webcontainers
Single file executable
Install
nimble install nodejs
ORnimble install https://github.com/juancarlospaco/nodejs.git
Testing CI
All commits are run in CI using this matrix:
matrix:
platform: [ubuntu-latest, windows-latest]
architecture: ["x64", "x86"]
node: [12, 13, 14, 15, 16, 17]
nim-channel: [stable, devel]
Everything works from Node 12 and newer.
Design
- It does not use anything from Nim standard library, very future-proof,
just imports some types to be compatible with it, like
RegExp
, etc. - We do not deprecate stuff, even if NodeJS deprecate/remove it, it will keep working for Nim.
- Stuff deprecated/demoved before year 2020 will not be supported.
- Experimental or Unstable API on NodeJS are automatically implicitly considered Experimental here.
- Package version == NodeJS version.
Doing Python ?
See also:
- https://github.com/nim-lang/Nim/wiki/Nim-for-TypeScript-Programmers#table-of-contents
- https://nim-lang.github.io/Nim/jsre.html
- https://nim-lang.github.io/Nim/jsbigints.html
Promise.then()
andPromise.catch()
work in Nim.- HTTPS Requests for JavaScript target in Nim.
- https://github.com/nim-lang/Nim/issues/7505#issue-311496454
- https://github.com/nim-lang/Nim/issues/3124#issue-95352255
💰➡️🍕
<details> <summary title="Send Bitcoin"><kbd> Bitcoin BTC </kbd></summary>BEP20 Binance Smart Chain Network BSC
0xb78c4cf63274bb22f83481986157d234105ac17e
BTC Bitcoin Network
1Pnf45MgGgY32X4KDNJbutnpx96E4FxqVi
Lightning Network
juancarlospaco@bitrefill.me
</details>
<details>
<summary title="Send Ethereum and DAI"><kbd> Ethereum ETH </kbd> <kbd> Dai DAI </kbd> <kbd> Uniswap UNI </kbd> <kbd> Axie Infinity AXS </kbd> <kbd> Smooth Love Potion SLP </kbd> <kbd> Uniswap UNI </kbd> <kbd> USDC </kbd> </summary>
BEP20 Binance Smart Chain Network BSC
0xb78c4cf63274bb22f83481986157d234105ac17e
ERC20 Ethereum Network
0xb78c4cf63274bb22f83481986157d234105ac17e
</details>
<details>
<summary title="Send Tether"><kbd> Tether USDT </kbd></summary>
BEP20 Binance Smart Chain Network BSC
0xb78c4cf63274bb22f83481986157d234105ac17e
ERC20 Ethereum Network
0xb78c4cf63274bb22f83481986157d234105ac17e
TRC20 Tron Network
TWGft53WgWvH2mnqR8ZUXq1GD8M4gZ4Yfu
</details>
<details>
<summary title="Send Solana"><kbd> Solana SOL </kbd></summary>
BEP20 Binance Smart Chain Network BSC
0xb78c4cf63274bb22f83481986157d234105ac17e
SOL Solana Network
FKaPSd8kTUpH7Q76d77toy1jjPGpZSxR4xbhQHyCMSGq
</details>
<details>
<summary title="Send Cardano"><kbd> Cardano ADA </kbd></summary>
BEP20 Binance Smart Chain Network BSC
0xb78c4cf63274bb22f83481986157d234105ac17e
ADA Cardano Network
DdzFFzCqrht9Y1r4Yx7ouqG9yJNWeXFt69xavLdaeXdu4cQi2yXgNWagzh52o9k9YRh3ussHnBnDrg7v7W2hSXWXfBhbo2ooUKRFMieM
</details>
<details>
<summary title="Send Sandbox"><kbd> Sandbox SAND </kbd> <kbd> Decentraland MANA </kbd></summary>
ERC20 Ethereum Network
0xb78c4cf63274bb22f83481986157d234105ac17e
</details>
<details>
<summary title="Send Algorand"><kbd> Algorand ALGO </kbd></summary>
ALGO Algorand Network
WM54DHVZQIQDVTHMPOH6FEZ4U2AU3OBPGAFTHSCYWMFE7ETKCUUOYAW24Q
</details>
<details>
<summary title="Send Polkadot"><kbd> Polkadot DOT </kbd></summary>
DOT Network
13GdxHQbQA1K6i7Ctf781nQkhQhoVhGgUnrjn9EvcJnYWCEd
BEP20 Binance Smart Chain Network BSC
0xb78c4cf63274bb22f83481986157d234105ac17e
</details>
<details>
<summary title="Send via Binance Pay"> Binance </summary>
https://pay.binance.com/en/checkout/e92e536210fd4f62b426ea7ee65b49c3
</details>Stars
:star: @juancarlospaco :star: @tandy-1000 :star: @alexgustafson :star: @bradjasper :star: @AndrielFR :star: @whee :star: @jonlroy2020 :star: @S0Sbrigade8 :star: @stisa :star: @heinthanth :star: @jhgalino :star: @YanMu2020 :star: @haikyuu :star: @matkuki :star: @eqf0 :star: @nkot56297 :star: @adam-acosta :star: @uly-s :star: @Comamoca :star: @bsouthern :star: @reubano :star: @darkmusic :star: @Geksan :star: @lzehrung :star: @jmgomez :star: @ritmos :star: @colias-palaeno :star: @zendbit :star: @vonwao :star: @japgro :star: @elcritch :star: @qaziquza :star: @singularperturbation :star: @sdmcallister :star: @adokitkat :star: @mkopa :star: @hylid43 :star: @alehander92 :star: @foxoman :star: @theAkito :star: @deem0n :star: @Himujjal :star: @drighty :star: @xilicode :star: @soomtong :star: @aviynw :star: @Braden-Preston :star: @termermc :star: @KlausEverWalkingDev :star: @nodrygo :star: @scroot :star: @codehangen :star: @drewbitt :star: @fadzikri :star: @ArikRahman :star: @yaroslav-gwit :star: @konsumer :star: @jpetrucciani :star: @weitzj :star: @whitebm2024 :star: @GeorgeChan :star: @shizhaojingszj :star: @YeonjiKim0316 :star: @mode80 :star: @SiraKen :star: @nicks515 :star: @kshutkin :star: @prostospirit :star: @jdf-id-au :star: @zhangweiii :star: @W1M0R :star: @AlexW00 :star: @Kisvey :star: @piertoni :star: @eantho :star: @quantimnot :star: @shirk33y :star: @Uzo2005 :star: @theSherwood :star: @maleyva1 :star: @ray-delossantos :star: @raphaellouisandress :star: @raphaellouisandress :star: @Fedsam :star: @bsljth :star: @bsljth :star: @keidrych :star: @KolyaRS :star: @degaur :star: @catsuns :star: @marcusramberg :star: @Wutras :star: @caden-parajuli :star: @ysnbogt :star: @aiank :star: @m0xbf :star: @nubunto :star: @jinczing :star: @xgr :star: @victorgabrielbs :star: @majj :star: @scupit :star: @wjl12 :star: @WangWei90 :star: @hpstep :star: @gkze :star: @mikra01 :star: @waytozen :star: @lzw-723 :star: @nichdemos :star: @8uff3r :star: @ThunderGod95 :star: @enaaab460 :star: @wiredmatt :star: @hewhocannotbetamed :star: @kauderk :star: @rxx :star: @FI-Mihej :star: @khalidx :star: @ziggertonziggy :star: @Bimzzzzz :star: @tuanductran :star: @s0kil :star: @ranjian0 :star: @2-towns :star: @hugs :star: @griffith1deady :star: @neroist :star: @lbsubash :star: @xhh :star: @g5becks :star: @shiimizu