mirror of
https://github.com/velopack/velopack.git
synced 2025-10-25 15:19:22 +00:00
update readmes and project structure
This commit is contained in:
@@ -3,7 +3,7 @@ resolver = "2"
|
|||||||
members = [
|
members = [
|
||||||
"src/bins",
|
"src/bins",
|
||||||
"src/lib-rust",
|
"src/lib-rust",
|
||||||
"src/lib-nodejs/crates/velopack_nodeffi",
|
"src/lib-nodejs/velopack_nodeffi",
|
||||||
# "src/lib-cpp/generator,"
|
# "src/lib-cpp/generator,"
|
||||||
]
|
]
|
||||||
exclude = [
|
exclude = [
|
||||||
|
|||||||
@@ -29,10 +29,11 @@ https://github.com/velopack/velopack/assets/1287295/0ff1bea7-15ed-42ae-8bdd-9519
|
|||||||
- 📖 [Read the docs](https://docs.velopack.io/)
|
- 📖 [Read the docs](https://docs.velopack.io/)
|
||||||
- ⚡ [Quick start guides](https://docs.velopack.io/category/quick-start)
|
- ⚡ [Quick start guides](https://docs.velopack.io/category/quick-start)
|
||||||
- 🕶️ [View example apps](https://docs.velopack.io/category/sample-apps)
|
- 🕶️ [View example apps](https://docs.velopack.io/category/sample-apps)
|
||||||
|
- 📺 [See website & demo](https://velopack.io/)
|
||||||
|
|
||||||
## Community
|
## Community
|
||||||
- ❓ Ask questions, get support, or discuss ideas on [our Discord server](https://discord.gg/CjrCrNzd3F)
|
- ❓ Ask questions, get support, or discuss ideas on [Discord](https://discord.gg/CjrCrNzd3F)
|
||||||
- 🗣️ Report bugs on [GitHub Issues](https://github.com/velopack/velopack/issues)
|
- 🗣️ Report bugs or request features on [GitHub Issues](https://github.com/velopack/velopack/issues)
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
- 💬 Join us on [Discord](https://discord.gg/CjrCrNzd3F) to get involved in dev discussions
|
- 💬 Join us on [Discord](https://discord.gg/CjrCrNzd3F) to get involved in dev discussions
|
||||||
@@ -47,3 +48,6 @@ Just wanted to say a huge thank you. I've been using Clowd.Squirrel for a couple
|
|||||||
|
|
||||||
I've used a lot of installer frameworks and Velopack is by far the best. Everything is like magic: you run the installer, and then the app is just open, ready to use. Updates apply and relaunch in ~2 seconds with no UAC prompts. The installer creation process is painless and integrates easily with code signing, and the command-line tool makes it simple to upload your updater files. You don't need to futz with separate installer scripts in some weird language; you can build all those hooks into your main app! The support is also phenominal; every concern I've had has been addressed. This is the future of desktop installers.
|
I've used a lot of installer frameworks and Velopack is by far the best. Everything is like magic: you run the installer, and then the app is just open, ready to use. Updates apply and relaunch in ~2 seconds with no UAC prompts. The installer creation process is painless and integrates easily with code signing, and the command-line tool makes it simple to upload your updater files. You don't need to futz with separate installer scripts in some weird language; you can build all those hooks into your main app! The support is also phenominal; every concern I've had has been addressed. This is the future of desktop installers.
|
||||||
[- RandomEngy (Discord)](https://discord.com/channels/767856501477343282/947444323765583913/1200897478036299861)
|
[- RandomEngy (Discord)](https://discord.com/channels/767856501477343282/947444323765583913/1200897478036299861)
|
||||||
|
|
||||||
|
I'm extremely impressed with Velopack's performance in creating releases, as well as checking for and applying updates. It is significantly faster than other tools. The vpk CLI is intuitive and easy to implement, even with my complex build pipeline. Thanks to Velopack, I've been able to streamline my workflow and save valuable time. It's a fantastic tool that I highly recommend!
|
||||||
|
[- khdc (Discord)](https://discord.com/channels/767856501477343282/947444323765583913/1216460920696344576)
|
||||||
@@ -13,7 +13,8 @@ Velopack is an installation and auto-update framework for cross-platform applica
|
|||||||
- 📖 [Read the docs](https://docs.velopack.io/)
|
- 📖 [Read the docs](https://docs.velopack.io/)
|
||||||
- ⚡ [Quick start guides](https://docs.velopack.io/category/quick-start)
|
- ⚡ [Quick start guides](https://docs.velopack.io/category/quick-start)
|
||||||
- 🕶️ [View example apps](https://docs.velopack.io/category/sample-apps)
|
- 🕶️ [View example apps](https://docs.velopack.io/category/sample-apps)
|
||||||
|
- 📺 [See website & demo](https://velopack.io/)
|
||||||
|
|
||||||
## Community
|
## Community
|
||||||
- ❓ Ask questions, get support, or discuss ideas on [our Discord server](https://discord.gg/CjrCrNzd3F)
|
- ❓ Ask questions, get support, or discuss ideas on [Discord](https://discord.gg/CjrCrNzd3F)
|
||||||
- 🗣️ Report bugs on [GitHub Issues](https://github.com/velopack/velopack/issues)
|
- 🗣️ Report bugs or request features on [GitHub Issues](https://github.com/velopack/velopack/issues)
|
||||||
@@ -16,4 +16,7 @@ Write-Host "Setting version to $version"
|
|||||||
} | Set-Content $path
|
} | Set-Content $path
|
||||||
|
|
||||||
Set-Location "$scriptDir/src/lib-nodejs"
|
Set-Location "$scriptDir/src/lib-nodejs"
|
||||||
npm version $version --no-git-tag-version
|
npm version $version --no-git-tag-version
|
||||||
|
|
||||||
|
Copy-Item -Path "$scriptDir/README_NUGET.md" -Destination "$scriptDir/src/lib-nodejs/README.md" -Force
|
||||||
|
Copy-Item -Path "$scriptDir/README_NUGET.md" -Destination "$scriptDir/src/lib-rust/README.md" -Force
|
||||||
@@ -1 +1,2 @@
|
|||||||
**/bindings/**
|
**/bindings/**
|
||||||
|
**/velopack_nodeffi/**
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
installing ts tool: cargo install --git https://github.com/Aleph-Alpha/ts-rs.git --branch cli cargo-ts
|
|
||||||
|
|
||||||
# veloz
|
|
||||||
|
|
||||||
This project was bootstrapped by [create-neon](https://www.npmjs.com/package/create-neon).
|
|
||||||
|
|
||||||
## Building veloz
|
|
||||||
|
|
||||||
Building veloz requires a [supported version of Node and Rust](https://github.com/neon-bindings/neon#platform-support).
|
|
||||||
|
|
||||||
To run the build, run:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ npm run build
|
|
||||||
```
|
|
||||||
|
|
||||||
This command uses the [@neon-rs/cli](https://www.npmjs.com/package/@neon-rs/cli) utility to assemble the binary Node addon from the output of `cargo`.
|
|
||||||
|
|
||||||
## Exploring veloz
|
|
||||||
|
|
||||||
After building veloz, you can explore its exports at the Node console:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ npm i
|
|
||||||
$ npm run build
|
|
||||||
$ node
|
|
||||||
> require('.').greeting()
|
|
||||||
{ message: 'hello node' }
|
|
||||||
```
|
|
||||||
|
|
||||||
## Available Scripts
|
|
||||||
|
|
||||||
In the project directory, you can run:
|
|
||||||
|
|
||||||
#### `npm run build`
|
|
||||||
|
|
||||||
Builds the Node addon (`index.node`) from source, generating a release build with `cargo --release`.
|
|
||||||
|
|
||||||
Additional [`cargo build`](https://doc.rust-lang.org/cargo/commands/cargo-build.html) arguments may be passed to `npm run build` and similar commands. For example, to enable a [cargo feature](https://doc.rust-lang.org/cargo/reference/features.html):
|
|
||||||
|
|
||||||
```
|
|
||||||
npm run build -- --feature=beetle
|
|
||||||
```
|
|
||||||
|
|
||||||
#### `npm run debug`
|
|
||||||
|
|
||||||
Similar to `npm run build` but generates a debug build with `cargo`.
|
|
||||||
|
|
||||||
#### `npm run cross`
|
|
||||||
|
|
||||||
Similar to `npm run build` but uses [cross-rs](https://github.com/cross-rs/cross) to cross-compile for another platform. Use the [`CARGO_BUILD_TARGET`](https://doc.rust-lang.org/cargo/reference/config.html#buildtarget) environment variable to select the build target.
|
|
||||||
|
|
||||||
#### `npm run release`
|
|
||||||
|
|
||||||
Initiate a full build and publication of a new patch release of this library via GitHub Actions.
|
|
||||||
|
|
||||||
#### `npm run dryrun`
|
|
||||||
|
|
||||||
Initiate a dry run of a patch release of this library via GitHub Actions. This performs a full build but does not publish the final result.
|
|
||||||
|
|
||||||
#### `npm test`
|
|
||||||
|
|
||||||
Runs the unit tests by calling `cargo test`. You can learn more about [adding tests to your Rust code](https://doc.rust-lang.org/book/ch11-01-writing-tests.html) from the [Rust book](https://doc.rust-lang.org/book/).
|
|
||||||
|
|
||||||
## Project Layout
|
|
||||||
|
|
||||||
The directory structure of this project is:
|
|
||||||
|
|
||||||
```
|
|
||||||
veloz/
|
|
||||||
├── Cargo.toml
|
|
||||||
├── README.md
|
|
||||||
├── lib/
|
|
||||||
├── src/
|
|
||||||
| ├── index.mts
|
|
||||||
| └── index.cts
|
|
||||||
├── crates/
|
|
||||||
| └── veloz/
|
|
||||||
| └── src/
|
|
||||||
| └── lib.rs
|
|
||||||
├── platforms/
|
|
||||||
├── package.json
|
|
||||||
└── target/
|
|
||||||
```
|
|
||||||
|
|
||||||
| Entry | Purpose |
|
|
||||||
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| `Cargo.toml` | The Cargo [manifest file](https://doc.rust-lang.org/cargo/reference/manifest.html), which informs the `cargo` command. |
|
|
||||||
| `README.md` | This file. |
|
|
||||||
| `lib/` | The directory containing the generated output from [tsc](https://typescriptlang.org). |
|
|
||||||
| `src/` | The directory containing the TypeScript source files. |
|
|
||||||
| `index.mts` | Entry point for when this library is loaded via [ESM `import`](https://nodejs.org/api/esm.html#modules-ecmascript-modules) syntax. |
|
|
||||||
| `index.cts` | Entry point for when this library is loaded via [CJS `require`](https://nodejs.org/api/modules.html#requireid). |
|
|
||||||
| `crates/` | The directory tree containing the Rust source code for the project. |
|
|
||||||
| `lib.rs` | Entry point for the Rust source code. |
|
|
||||||
| `platforms/` | The directory containing distributions of the binary addon backend for each platform supported by this library. |
|
|
||||||
| `package.json` | The npm [manifest file](https://docs.npmjs.com/cli/v7/configuring-npm/package-json), which informs the `npm` command. |
|
|
||||||
| `target/` | Binary artifacts generated by the Rust build. |
|
|
||||||
|
|
||||||
## Learn More
|
|
||||||
|
|
||||||
Learn more about:
|
|
||||||
|
|
||||||
- [Neon](https://neon-bindings.com).
|
|
||||||
- [Rust](https://www.rust-lang.org).
|
|
||||||
- [Node](https://nodejs.org).
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# `@velopack/darwin-arm64`
|
|
||||||
|
|
||||||
Prebuilt binary package for `veloz` on `darwin-arm64`.
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@velopack/darwin-arm64",
|
|
||||||
"description": "Prebuilt binary package for `veloz` on `darwin-arm64`.",
|
|
||||||
"version": "0.1.0",
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"main": "index.node",
|
|
||||||
"files": [
|
|
||||||
"index.node"
|
|
||||||
],
|
|
||||||
"neon": {
|
|
||||||
"type": "binary",
|
|
||||||
"rust": "aarch64-apple-darwin",
|
|
||||||
"node": "darwin-arm64",
|
|
||||||
"os": "darwin",
|
|
||||||
"arch": "arm64",
|
|
||||||
"abi": null
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# `@velopack/darwin-x64`
|
|
||||||
|
|
||||||
Prebuilt binary package for `veloz` on `darwin-x64`.
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@velopack/darwin-x64",
|
|
||||||
"description": "Prebuilt binary package for `veloz` on `darwin-x64`.",
|
|
||||||
"version": "0.1.0",
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"main": "index.node",
|
|
||||||
"files": [
|
|
||||||
"index.node"
|
|
||||||
],
|
|
||||||
"neon": {
|
|
||||||
"type": "binary",
|
|
||||||
"rust": "x86_64-apple-darwin",
|
|
||||||
"node": "darwin-x64",
|
|
||||||
"os": "darwin",
|
|
||||||
"arch": "x64",
|
|
||||||
"abi": null
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# `@velopack/linux-x64-gnu`
|
|
||||||
|
|
||||||
Prebuilt binary package for `veloz` on `linux-x64-gnu`.
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@velopack/linux-x64-gnu",
|
|
||||||
"description": "Prebuilt binary package for `veloz` on `linux-x64-gnu`.",
|
|
||||||
"version": "0.1.0",
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"main": "index.node",
|
|
||||||
"files": [
|
|
||||||
"index.node"
|
|
||||||
],
|
|
||||||
"neon": {
|
|
||||||
"type": "binary",
|
|
||||||
"rust": "x86_64-unknown-linux-gnu",
|
|
||||||
"node": "linux-x64-gnu",
|
|
||||||
"os": "linux",
|
|
||||||
"arch": "x64",
|
|
||||||
"abi": "gnu"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# `@velopack/win32-x64-msvc`
|
|
||||||
|
|
||||||
Prebuilt binary package for `veloz` on `win32-x64-msvc`.
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@velopack/win32-x64-msvc",
|
|
||||||
"description": "Prebuilt binary package for `veloz` on `win32-x64-msvc`.",
|
|
||||||
"version": "0.1.0",
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
],
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"main": "index.node",
|
|
||||||
"files": [
|
|
||||||
"index.node"
|
|
||||||
],
|
|
||||||
"neon": {
|
|
||||||
"type": "binary",
|
|
||||||
"rust": "x86_64-pc-windows-msvc",
|
|
||||||
"node": "win32-x64-msvc",
|
|
||||||
"os": "win32",
|
|
||||||
"arch": "x64",
|
|
||||||
"abi": "msvc"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC"
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# Velopack
|
|
||||||
Velopack is an installation and auto-update framework for cross-platform applications. It's opinionated, extremely easy to use with zero config needed. With just one command you can be up and running with an installable application, and it's lightning fast for your users, too.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- 😍 **Zero config** – Velopack takes your compiler output and generates an installer, updates, delta packages, and self-updating portable package in just one command.
|
|
||||||
- 🎯 **Cross platform** – Velopack supports building packages for **Windows**, **OSX**, and **Linux**, so you can use one solution for every target.
|
|
||||||
- 🚀 **Automatic migrations** - If you are coming from other popular frameworks (eg. [Squirrel](https://github.com/Squirrel/Squirrel.Windows)), Velopack can automatically migrate your application.
|
|
||||||
- ⚡️ **Lightning fast** – Velopack is written in Rust for native performance. Delta packages mean your user only downloads what's changed between versions.
|
|
||||||
- 📔 **Language agnostic** - With support for C#, C++, JS, Rust and more. Use a familiar API for updates no matter what language your project is.
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
- 📖 [Read the docs](https://docs.rs/velopack/)
|
|
||||||
- ⚡ [Quick start guides](https://docs.velopack.io/category/quick-start)
|
|
||||||
- 🕶️ [View example apps](https://docs.velopack.io/category/sample-apps)
|
|
||||||
|
|
||||||
## Community
|
|
||||||
- ❓ Ask questions, get support, or discuss ideas on [our Discord server](https://discord.gg/CjrCrNzd3F)
|
|
||||||
- 🗣️ Report bugs on [GitHub Issues](https://github.com/velopack/velopack/issues)
|
|
||||||
Reference in New Issue
Block a user