rust-cross
pkg
Our great sponsors
rust-cross | pkg | |
---|---|---|
5 | 91 | |
2,475 | 24,099 | |
- | - | |
0.0 | 6.3 | |
almost 2 years ago | 4 months ago | |
Shell | JavaScript | |
Apache License 2.0 | 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.
rust-cross
-
Anything C can do Rust can do Better
rust-cross, Everything you need to know about cross compiling Rust programs! - Jorge Aparicio
-
GitHub Actions can't find built binaries to put them to a release
on: push: tags: - 'v*' name: Cross-compile and release jobs: build: name: Build runs-on: ubuntu-latest strategy: matrix: target: # https://github.com/japaric/rust-cross#the-target-triple - x86_64-unknown-linux-gnu - x86_64-pc-windows-gnu - wasm32-unknown-emscripten steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable target: ${{ matrix.target }} override: true - uses: actions-rs/cargo@v1 with: use-cross: true command: build args: --release --target=${{ matrix.target }} release: name: Release needs: [ build ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: clean: false - uses: nowsprinting/check-version-format-action@v3 id: version with: prefix: 'v' - name: Create release id: new_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} body: | Changes in this release: - First change - Second change draft: false prerelease: false - name: Upload 64-bit Windows build uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: asset_path: target/release/client.exe asset_name: client-${{ matrix.target }}-${{ steps.version.outputs.full }}.exe asset_content_type: application/zip upload_url: ${{ steps.new_release.outputs.upload_url }} - name: Upload 64-bit Linux build uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: asset_path: target/release/client asset_name: client-${{ matrix.target }}-${{ steps.version.outputs.full }} asset_content_type: application/zip upload_url: ${{ steps.new_release.outputs.upload_url }} - name: Upload 32-bit WebAssembly build uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: asset_path: target/release/client.wasm asset_name: client-${{ matrix.target }}-${{ steps.version.outputs.full }}.wasm asset_content_type: application/zip upload_url: ${{ steps.new_release.outputs.upload_url }}
-
In support of single binary executable packages
Well, at least that's that easy if what you try to compile don't have C dependencies. For C dependencies, there is cross <https://github.com/japaric/rust-cross> which I had good experiences with.
-
Hey Rustaceans! Got an easy question? Ask here (15/2021)!
Oh, this was the first thing that came up: https://github.com/japaric/rust-cross
pkg
-
We are under DDoS attack and we do nothing
I don't remember the details, and cannot find my notes on vercel/pkg. But looking at https://github.com/vercel/pkg right now I see the project has been deprecated in favour of single-executable-applications
-
Tailwind CSS v4.0.0 Alpha
> Standalone CLI โ we havenโt worked on a standalone CLI for the new engine yet, but will absolutely have it before the v4.0 release.
This part is the most exciting to me. Given the rest of the release announcement, I'm assuming this means that it'll be built in Rust rather than embed Node. While I'm not a Rust zealot of anything, I'm very partial to not embedding Node. Particularly when it depends on using Vercel's now-abandoned pkg[1] tool.`
[1] https://github.com/vercel/pkg
-
Things I've learned about building CLI tools in Python
The npm package called "pkg" seems to be the standard for packaging NodeJS applications
https://www.npmjs.com/package/pkg
Unfortunately you also need to bundle all your code into a single file for it to work, but you can use any bundler (webpack, parcel, etc) you want at least
-
Deno 1.35: A fast and convenient way to build web servers
Nodejs support for "single executable applications" is getting there - this issue below is preventing wider adoption at the moment:
"The single executable application feature currently only supports running a single embedded script using the CommonJS module system."
https://nodejs.org/api/single-executable-applications.html
Should be an awesome game changer for node.js when the feature gets rounded out.
Also check out vercel's `pkg`: https://github.com/vercel/pkg/issues/1291
-
Can I include Node inside my project?
Yes, you can. Check out pkg for a fun option, which can package up your project and Node.js into a single executable.
-
[Question] How does Node-RED compile a flow?
Further, you could experiment with the pkg tool that allows you to package up Node JS, your source, and your dependencies into one single executable for easy distribution.
- Bun v0.6.0 โ Bun's new JavaScript bundler and minifier
- How to restrict the access to an on premise node server?
-
Tips for reducing Docker image size
package the app using https://github.com/vercel/pkg and use a smaller base image like alpine, busybox or even scratch (if possible)
-
Making standalone exe
Check this thread: https://github.com/vercel/pkg/issues/1685
What are some alternatives?
xargo - The sysroot manager that lets you build and customize `std`
nexe - ๐ create a single executable out of your node.js apps
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
ncc - Compile a Node.js project into a single file. Supports TypeScript, binary addons, dynamic requires.
Module Linker - browse modules by clicking directly on "import" statements on GitHub
reverse-engineering - List of awesome reverse engineering resources
just - ๐ค Just a command runner
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
cargo-linked - Display linked packages for compiled rust binaries
bytenode - A minimalist bytecode compiler for Node.js
iced - A cross-platform GUI library for Rust, inspired by Elm
oclif - CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.