download-node-nightly-executable
js-untar
download-node-nightly-executable | js-untar | |
---|---|---|
13 | 3 | |
0 | 71 | |
- | - | |
2.3 | 0.0 | |
6 months ago | about 1 year ago | |
HTML | 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.
download-node-nightly-executable
-
The massive bug at the heart of the npm ecosystem
npm never has to get written to or installed on your machine. download-node-nightly-executable.
-
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.
-
How to Install Node.js on Ubuntu 22.04 LTS | Configure Node.js and NPM |...
If you only need the node executable without npm, node_modules and the rest of the folders and files shipped in Node.js download archive you can use this https://github.com/guest271314/download-node-nightly-executable.
-
JSON compression in the browser, with gzip and the Compression Streams API.
I use DecompressionStream() to decompress the Node.js nightly release before extracting only the node executable from the tar archive https://github.com/guest271314/download-node-nightly-executable/blob/main/index.html.
-
[AskJS] What is your preferred solution to share and execute Node.js scripts ?
Yes. I create a file called node, touch node, set the file to executable chmod u+x node, then fetch the Node.js nightly release using this https://github.com/guest271314/download-node-nightly-executable, get rid of everything except the node executable, then run that node executable from the directory I download the file to. Then afterwards truncate the node execute to a file with 0 size, as it began as with
-
PSA: It is possible to run node executable without npm, node_modules, or package.json
Node.js does not publish a release containing only the node executable. That is why I wrote this https://github.com/guest271314/download-node-nightly-executable to fetch the Node.js nightly download, extract only the node executable, and get rid of everything else in the download that never reaches my file system.
-
Use SSH in browser
If you do not already have the node executable https://github.com/guest271314/download-node-nightly-executable.
-
Alternatives to local Node+npm dev environment? No admin rights. Unable to install dependencies over network.
Note: You can use node executable without using npm or npx at all download-node-nightly-executable. Create package.json including {"type":"module"} then you can import local .js files, e.g. https://github.com/guest271314/jsdom-extension/blob/main/background.js
-
Deno Native Messaging host
As to that point, FWIW, it is easier to download the Deno executable than the Node.js executable, because Deno only includes the executable i the download - Node.js include npm, npx, et al. That is why I wrote https://github.com/guest271314/download-node-nightly-executable to extract only the node executable for Node.js nightly download.
-
Node.js "Dependency Hell"
FWIW I wrote this https://github.com/guest271314/download-node-nightly-executable to fetch the node nightly executable from the release folder than contains npm because I have no use for npm nor packages. I just use node executable as a Native Messaging host, which does not require any dependencies, just the javaScript runtime, where I can call process.spawn() and thus execute any local JavaScript file or other application written in any programming language.
js-untar
-
JSON compression in the browser, with gzip and the Compression Streams API.
let [node_nightly_build] = await ( await fetch('https://nodejs.org/download/nightly/index.json') ).json(); let { version, files } = node_nightly_build; let node_nightly_url = `https://nodejs.org/download/nightly/${version}/node-${version}-${osArch}.tar.gz`; let url = `${cors_api_url}${node_nightly_url}`; console.log(`Fetching ${node_nightly_url}`); const request = (await fetch(url)).body.pipeThrough( new DecompressionStream('gzip') ); // Download gzipped tar file and get ArrayBuffer const buffer = await new Response(request).arrayBuffer(); // Decompress gzip using pako // Get ArrayBuffer from the Uint8Array pako returns // const decompressed = await pako.inflate(buffer); // Untar, js-untar returns a list of files // (See https://github.com/InvokIT/js-untar#file-object for details) const untarFileStream = new UntarFileStream(buffer); while (untarFileStream.hasNext()) { file = untarFileStream.next(); if (/\/bin\/node$/.test(file.name)) { break; } } writable = await fileSystemHandle.createWritable(); writer = writable.getWriter(); await writer.write(file.buffer); await writer.close(); new Notification('Download complete.', { body: `Successfully downloaded node executable ${version}` }); } catch (e) { console.log(e); } finally { console.log('Done'); }
-
What is a package you need, but it does not exist
} } try { // throws, see https://github.com/InvokIT/js-untar/issues/30, handle error // untar is still defined globally // await import('https://unpkg.com/[email protected]/build/dist/untar.js'); } catch (e) { console.log(e); } finally { // https://stackoverflow.com/a/65448758 // trying to avoid fetching files that won't be used let {default: [node_nightly_build]} = await import('https://nodejs.org/download/nightly/index.json', {assert:{type: 'json'}}); let {version, files} = node_nightly_build; let url = https://nodejs.org/download/nightly/${version}/node-${version}-linux-x64.tar.gz${get_file}; const request = ( await fetch( url ) ).body.pipeThrough(new DecompressionStream('gzip')); // Download gzipped tar file and get ArrayBuffer const buffer = await new Response(request).arrayBuffer(); // Decompress gzip using pako // Get ArrayBuffer from the Uint8Array pako returns // const decompressed = await pako.inflate(buffer); // Untar, js-untar returns a list of files // (See https://github.com/InvokIT/js-untar#file-object for details) const files = new UntarFileStream(buffer); while (files.hasNext()) { file = files.next(); if (//bin/node$/.test(file.name)) { break; } } writable = await fileSystemHandle.createWritable(); writer = writable.getWriter(); await writer.write(file.buffer); await writer.close(); console.log('Done'); } ```
-
What is the preferred way of installing NodeJS?
let fileSystemHandle = await showSaveFilePicker({suggestedName: 'node'}), writable, writer; await import('https://cdnjs.cloudflare.com/ajax/libs/pako/2.0.4/pako.min.js'); try { await import('https://unpkg.com/[email protected]/build/dist/untar.js'); } catch (e) { console.log(e); } finally { // https://stackoverflow.com/a/65448758 const request = await fetch('node-v16.14.2-linux-x64.tar.gz'); const buffer = await request.arrayBuffer(); // Download gzipped tar file and get ArrayBuffer const decompressed = await pako.inflate(buffer); // Decompress gzip using pako const files = await untar(decompressed.buffer); // Get ArrayBuffer from the Uint8Array pako returns, untar, js-untar returns a list of files (See https://github.com/InvokIT/js-untar#file-object for details) writable = await fileSystemHandle.createWritable(); writer = writable.getWriter(); const file = files.find( ({ name }) => name === 'node-v16.14.2-linux-x64/bin/node' ).buffer; await writer.write(file); await writer.close(); }
What are some alternatives?
node-red-contrib-primitive-status - Node-RED node that displays the primitive type of msg.payload in the nodes status.
n - Node version management
botfuel-dialog - Botfuel SDK to build highly conversational chatbots
statoscope - Statoscope is a toolkit to analyze and validate webpack bundle
nodejs-suite-demo - Examples of using DHTMLX Suite widgets with Node.js. Learn more about Suite:
node - Node.js JavaScript runtime ✨🐢🚀✨
native-messaging-quickjs - QuickJS Native Messaging host
distributions - NodeSource Node.js Binary Distributions
single-executable - This team aims to advance the state of the art in packaging Node.js applications as single standalone executables (SEAs) on all supported operating systems.
date-fns - ⏳ Modern JavaScript date utility library ⌛️
v8-vulnerabilities - Corpus of public v8 vulnerability PoCs.
volta - Volta: JS Toolchains as Code. ⚡