Nodejs
Alternative StdLib for Nim for NodeJS/JavaScript targets, hijacks NodeJS StdLib for Nim
Install / Use
/learn @juancarlospaco/NodejsREADME
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
- https://github.com/nexe/nexe
Install
nimble install nodejsORnimble 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 supporte


