bytenode
wat-compiler
Our great sponsors
bytenode | wat-compiler | |
---|---|---|
12 | 2 | |
2,426 | 18 | |
2.2% | - | |
7.1 | 0.0 | |
about 1 month ago | over 1 year ago | |
JavaScript | JavaScript | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bytenode
- ByteNode: A minimalist bytecode compiler for Node.js
- How to restrict the access to an on premise node server?
-
electron-vite: Easy way to protect your Electron source code
electron-vite inspired by bytenode, the specific implementation:
-
Where do you store api keys or jwt token in an electron app?
take a look into this one, https://github.com/bytenode/bytenode
-
Where to hide or store database key in electron app? (Is it possible to do with c++ addons?)
did you try https://github.com/bytenode/bytenode? take a look, it seems it does what you need
- Delivering an application in CL w.o. source
- How to secure an Electron app with a license key
- Protecting Node code
-
Decompiling Node.js in Ghidra
The title is a bit misleading; the post is about jsc files containing nodejs "bytecode" produced by bytenode.
-
Compile your JS code: New Bytenode support for Electron
It doesn't appear that there is any performance penalty to using Bytenode. There are some benchmark functions in the repository, but certainly more work could be done to test. My gut feeling is that the minor overhead of loading the binary is balanced out by the minor speed increase by giving V8 a pre-compiled file.
wat-compiler
-
Understanding Every Byte in a WASM Module
For some time I've been fascinated by the codebase of a small WAT compiler written in JavaScript.
https://github.com/stagas/wat-compiler/blob/main/story.txt
And I mean "small" as a real complement to how readable the entire compiler is. It's also been a great way to appreciate the design of the WASM text format and WASM overall. It's not a Lisp but has a similar feel to it.
I've been meaning to get more fluent at writing WAT directly, not for any practical purpose but just for pleasure of it. I could see myself gradually building up some abstractions to help me deveolp larger programs, perhaps a slightly higher-level language.
-
Grain: WebAssembly-First Programming Language
I was also disappointed that this isn't included in the browsers given that it was designed to be very simple to parse and compile. So I tried as an exercise to build such a compiler[0] and indeed it was much easier than I expected (with a few shortcuts of course, being a POC). It is just 5kb gzipped and it compiles to binary most of the WAT code out there and also quite fast, just a few ms. That said, I think writing WAT by hand is only helpful for very small critical hot code, anything more complex and IMO you need an abstraction of some sort.
[0]: https://github.com/stagas/wel
What are some alternatives?
electron-bytenode-example - A basic Hello World boilerplate using Webpack to convert Electron Javascript code to binary using Bytenode and the Bytenode Webpack Plugin
sia - Sia - Binary serialisation and deserialisation
asarmor - Protect asar archive files from extraction
gc - Branch of the spec repo scoped to discussion of GC integration in WebAssembly
pkg - Package your Node.js project into an executable [Moved to: https://github.com/vercel/pkg]
website - AssemblyScript's website and documentation.
pkg - Package your Node.js project into an executable
thislang - A subset of javascript implemented in that subset of javascript. Yes, it can run itself.
deploy - Deployment tools for standalone Common Lisp applications
electron-vite - Next generation Electron build tooling based on Vite 新一代 Electron 开发构建工具,支持源代码保护
electron-vite-bytecode-example - electron-vite source code protection example
pkg-unpacker - Unpack any pkg application