native-messaging-nodejs
native-messaging
native-messaging-nodejs | native-messaging | |
---|---|---|
20 | 6 | |
14 | 47 | |
- | - | |
6.0 | 0.0 | |
3 months ago | 11 months ago | |
JavaScript | JavaScript | |
Do What The F*ck You Want To Public License | 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.
native-messaging-nodejs
-
Can you make your own JavaScript by implementing ECMAScript standard?
And/or control node and any other programming language from the browser using Native Messaging native-messaging-nodejs.
-
JavaScript Standard Input/Output: Unspecified
We can process asynchronous tasks without blocking reading stdin (e.g., full-duplex).
- Full-duplex streaming with fetch() to and from the browser using Native Messaging
- Browser <=> Node.js fetch() full duplex streaming (working public example using Deno Deploy)
-
I wish more developers understood the constant stream of malware that is posted to npm
WHat do you mean by "contribute"? I download only the node executable using download-node-nightly-executable to run native-messaging-nodejs, servers, or whatever else I decide to experiement on - without downloading any packages.
-
[AskJS] How would you fix this Node.js bug?
I re-wrote the original code substituting using readSync for process.stdin.on('readable', () => {}) and including process.stdout._handle.setBlocking(true) and readFullSync function contributed by a Deno user https://github.com/guest271314/native-messaging-nodejs/blob/main/nm_nodejs.mjs. I wanted to a) get the input message (up to 1MB at a time) echo'ed back to the client; and b) get away from using process.stdin.on('readable', () => {}), rather use an approach that did not include event listeners; c) get away from using CommonJS and package.json and instead use Ecmascript modules without package.json.
-
[AskJS] Cross-Platform Desktop/Web App (with same codebase) - NextJS and Electron?
If you want you can use a Node.js Native Messaging host https://github.com/guest271314/native-messaging-nodejs, Deno, QuickJS, txiki.js, Bun, C, C++, Python, WASI/WebAssembly or whatever language is built in, e.g., Bash.
-
Termino.js: Create command based apps on any website - great for games, chat-bots, animations and real world apps!
I just fetch the nightly node executable, get rid of everything else in the archive, use .mjs extension for import to work without package.json, then I can connect to the host https://github.com/guest271314/native-messaging-nodejs, and start subprocesses, e.g., raw PCM streams, where stdout is streamed to the client (browser), e.g, https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio_node.js.
-
[AskJS] What is your preferred solution to share and execute Node.js scripts ?
Yes, utilizing Native Messaging https://github.com/guest271314/native-messaging-nodejs.
native-messaging
-
JavaScript Standard Input/Output: Unspecified
// Bun Native Messaging host // guest271314, 10-9-2022 async function getMessage() { const { promise, resolve } = Promise.withResolvers(); // https://github.com/simov/native-messaging/blob/8e99d2a345ae94426a502d05aa5d57b966f6bc78/protocol.js let messageLength = 0, bytesWritten = 0, input = [];
-
How would you fix this Node.js bug?
Does not send messages from host to browser equal or to 65536 length.
-
How to read Node.js process.stdin without using process.stdin.on('readable', () => {})?
In Node.js this code https://github.com/simov/native-messaging/blob/master/protocol.js does this
-
process.stdin.read() without using process.stdin.on('readable', ()=.{})
https://github.com/simov/native-messaging/blob/master/nodejs/example.js#:~:text=Raw,Footer
-
Node.js in Chrome extension
Yes. You can utilize Native Messaging. See https://github.com/simov/native-messaging.
-
Why does RSS constantly grow when reading data from a child process and calling process.stdout.write()?
// Node.js Native Messaging host // https://github.com/simov/native-messaging/blob/master/protocol.js // https://github.com/simov/native-messaging/blob/master/nodejs/example.js // Might be good to use an explicit path to node on the shebang line // in case it isn't in PATH when launched by Chrome process.stdin.on('readable', () => { let input = []; let chunk; while ((chunk = process.stdin.read())) { input.push(chunk); } input = Buffer.concat(input); const msgLen = input.readUInt32LE(0); const dataLen = msgLen + 4; if (input.length >= dataLen) { const content = input.slice(4, dataLen); const json = JSON.parse(content.toString()); handleMessage(json); } });
What are some alternatives?
native-messaging-bun - Bun Native Messaging host
better-onetab - :bookmark_tabs: A better OneTab for Chrome :memo: Temporarily removed from firefox :construction: V2 is WIP
webcontainer-core - Dev environments. In your web app.
node - Node.js JavaScript runtime ✨🐢🚀✨
proposal-common-minimum-api
firefox-mute-site - Firefox extension that allows to instantly mute/unmute all tabs from a website
wasmedge-quickjs - A high-performance, secure, extensible, and OCI-complaint JavaScript runtime for WasmEdge.
omni - The all-in-one tool to supercharge your productivity ⌨️
espeak-ng - eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
markdown-viewer - Markdown Viewer / Browser Extension
v8-vulnerabilities - Corpus of public v8 vulnerability PoCs.
node-v0.x-archive - Moved to https://github.com/nodejs/node