diff --git a/.changes/cli-profile.md b/.changes/cli-profile.md index fa48bfcb45d0..28bfc9940aa3 100644 --- a/.changes/cli-profile.md +++ b/.changes/cli-profile.md @@ -1,5 +1,5 @@ --- -'cli.rs': 'patch' +'tauri-cli': 'patch' --- Fix building with a custom cargo profile diff --git a/.changes/config.json b/.changes/config.json index 15e50afdaca8..7d7bbe20e12d 100644 --- a/.changes/config.json +++ b/.changes/config.json @@ -132,13 +132,13 @@ } }, "packages": { - "api": { + "@tauri-apps/api": { "path": "./tooling/api", "manager": "javascript", "assets": [ { "path": "./tooling/api/dist/tauri-apps-api-${ pkgFile.version }.tgz", - "name": "api-${ pkgFile.version }.tgz" + "name": "tauri-apps-api-${ pkgFile.version }.tgz" } ], "prepublish": [ @@ -240,11 +240,11 @@ ], "postversion": "node ../../.scripts/covector/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }" }, - "cli.js": { + "@tauri-apps/cli": { "path": "./tooling/cli/node", "manager": "javascript", "getPublishedVersion": "node ../../../.scripts/covector/package-latest-version.js npm ${ pkgFile.pkg.name } ${ pkgFile.pkg.version }", - "dependencies": ["cli.rs"], + "dependencies": ["tauri-cli"], "postversion": [ "node ../../../.scripts/covector/sync-cli-metadata.js ${ pkg.pkg } ${ release.type }", "cargo build --manifest-path ../../../core/tauri-config-schema/Cargo.toml" @@ -253,7 +253,7 @@ "publish": [], "postpublish": [] }, - "cli.rs": { + "tauri-cli": { "path": "./tooling/cli", "manager": "rust", "dependencies": ["tauri-bundler", "tauri-utils"], diff --git a/.changes/fix-feature-removal.md b/.changes/fix-feature-removal.md index 258b7e32c832..07dc78e5fb05 100644 --- a/.changes/fix-feature-removal.md +++ b/.changes/fix-feature-removal.md @@ -1,6 +1,6 @@ --- -'cli.rs': 'patch' -'cli.js': 'patch' +'tauri-cli': 'patch' +'@tauri-apps/cli': 'patch' --- Fixes Cargo.toml feature rewriting. diff --git a/.changes/nsis-custom-language-files.md b/.changes/nsis-custom-language-files.md index cf9b1c40458c..80fe9af738c2 100644 --- a/.changes/nsis-custom-language-files.md +++ b/.changes/nsis-custom-language-files.md @@ -1,7 +1,7 @@ --- 'tauri-bundler': 'minor' 'tauri-utils': 'minor' -'cli.rs': 'minor' +'tauri-cli': 'minor' --- Allow specifying custom language files of Tauri's custom messages for the NSIS installer diff --git a/.changes/nsis-custom-template.md b/.changes/nsis-custom-template.md index d1f5c717a7c9..7d06f378eb36 100644 --- a/.changes/nsis-custom-template.md +++ b/.changes/nsis-custom-template.md @@ -1,8 +1,8 @@ --- 'tauri-utils': 'minor' 'tauri-bundler': 'minor' -'cli.rs': 'minor' -'cli.js': 'minor' +'tauri-cli': 'minor' +'@tauri-apps/cli': 'minor' --- Add `nsis > template` option to specify custom NSIS installer template. diff --git a/.changes/nsis-updater-restart.md b/.changes/nsis-updater-restart.md index 8958fa150b2c..2ea6d7f70aa0 100644 --- a/.changes/nsis-updater-restart.md +++ b/.changes/nsis-updater-restart.md @@ -1,6 +1,6 @@ --- 'tauri': 'minor' -'cli.rs': 'minor' +'tauri-cli': 'minor' --- Restart the app after the NSIS updater is finished. diff --git a/.changes/rustls-default.md b/.changes/rustls-default.md index a8ba7738ea3f..56d4c54b2657 100644 --- a/.changes/rustls-default.md +++ b/.changes/rustls-default.md @@ -1,6 +1,6 @@ --- -"cli.rs": patch -"cli.js": patch +'tauri-cli': patch +'@tauri-apps/cli': patch --- Add `rustls` as default Cargo feature. diff --git a/.changes/tauri-info-msvc-detection.md b/.changes/tauri-info-msvc-detection.md index 5ac6d3cb2f07..78ca165f802b 100644 --- a/.changes/tauri-info-msvc-detection.md +++ b/.changes/tauri-info-msvc-detection.md @@ -1,5 +1,5 @@ --- -'cli.rs': 'patch' +'tauri-cli': 'patch' --- Improve Visual Studio installation detection in `tauri info` command to check for the necessary components instead of whole workloads. This also fixes the detection of minimal installations and auto-installations done by `rustup`. diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 455a184d05a4..5ddc5cd30346 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -54,20 +54,20 @@ Some Tauri packages will be automatically built when running one of the examples ### Packages Overview -- The JS API (`/tooling/api`) contains JS bindings to the builtin Rust functions in the Rust API. -- cli.rs (`/tooling/cli`) is the primary CLI for creating and developing Tauri apps. -- cli.js (`/tooling/cli/node`) is a Node.js CLI wrapper for `cli.rs`. -- Tauri Bundler (`/tooling/bundler`) is used by the Rust CLI to package executables into installers. - Tauri Core (`/core/tauri`) is the heart of Tauri. It contains the code that starts the app, configures communication between Rust and the Webview, and ties all the other packages together. - The Macros (`/core/tauri-macros`) are used by Tauri Core for various functions. +- Tauri Bundler (`/tooling/bundler`) is used by the Rust CLI to package executables into installers. +- The Rust CLI aka `tauri-cli` (`/tooling/cli`) is the primary CLI for creating and developing Tauri apps. +- The JS CLI aka `@tauri-apps/cli` (`/tooling/cli/node`) is a Node.js CLI wrapper for `tauri-cli`. +- The JS API aka `@tauri-apps/api` (`/tooling/api`) contains JS bindings to the builtin Rust functions in the Rust API. -### Developing The Node.js CLI (cli.js) +### Developing Tauri Bundler and Rust CLI -`cli.js` is a wrapper to `cli.rs` so most changes should be written on the Rust CLI. The `[Tauri repo root]/tooling/cli/node` folder contains only packaging scripts to properly publish the Rust CLI binaries to NPM. +The code for the bundler is located in `[Tauri repo root]/tooling/bundler`, and the code for the Rust CLI is located in `[Tauri repo root]/tooling/cli`. If you are using your local copy of `@tauri-apps/cli` (see above), any changes you make to the bundler and CLI will be automatically built and applied when running the build or dev command. Otherwise, running `cargo install --path .` in the Rust CLI directory will allow you to run `cargo tauri build` and `cargo tauri dev` anywhere, using the updated copy of the bundler and cli. You will have to run this command each time you make a change in either package. -### Developing Tauri Bundler and Rust CLI +### Developing The Node.js CLI (`@tauri-apps/cli`) -The code for the bundler is located in `[Tauri repo root]/tooling/bundler`, and the code for the Rust CLI is located in `[Tauri repo root]/tooling/cli`. If you are using your local copy of cli.js (see above), any changes you make to the bundler and CLI will be automatically built and applied when running the build or dev command. Otherwise, running `cargo install --path .` in the Rust CLI directory will allow you to run `cargo tauri build` and `cargo tauri dev` anywhere, using the updated copy of the bundler and cli. You will have to run this command each time you make a change in either package. +`@tauri-apps/cli` is a wrapper to `tauri-cli` so most changes should be written on the Rust CLI. The `[Tauri repo root]/tooling/cli/node` folder contains only packaging scripts to properly publish the Rust CLI binaries to NPM. ### Developing Tauri Core and Related Components (Rust API, Macros, Codegen, and Utils) diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index 576a17b03e87..432e82239893 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: benches +name: bench on: push: diff --git a/.github/workflows/check-generated-files.yml b/.github/workflows/check-generated-files.yml index 099ba0129665..2fc6b7fea826 100644 --- a/.github/workflows/check-generated-files.yml +++ b/.github/workflows/check-generated-files.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: Check generated files +name: check generated files on: pull_request: @@ -49,7 +49,7 @@ jobs: - 'tooling/cli/schema.json' - 'core/tauri-config-schema/schema.json' - check-api: + api: runs-on: ubuntu-latest needs: changes if: needs.changes.outputs.api == 'true' @@ -64,7 +64,7 @@ jobs: git restore tooling/api/docs/js-api.json ./.scripts/ci/has-diff.sh - check-schema: + schema: runs-on: ubuntu-latest needs: changes if: needs.changes.outputs.schema == 'true' diff --git a/.github/workflows/check-license-header.yml b/.github/workflows/check-license-header.yml index fb2055c10d00..61a83af07253 100644 --- a/.github/workflows/check-license-header.yml +++ b/.github/workflows/check-license-header.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: Check generated files +name: check license headers on: pull_request: diff --git a/.github/workflows/change-status-on-PR.yml b/.github/workflows/covector-status.yml similarity index 100% rename from .github/workflows/change-status-on-PR.yml rename to .github/workflows/covector-status.yml diff --git a/.github/workflows/covector-version-or-publish.yml b/.github/workflows/covector-version-or-publish.yml index 6de039f8b3e7..d32d1247d9b4 100644 --- a/.github/workflows/covector-version-or-publish.yml +++ b/.github/workflows/covector-version-or-publish.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: version or publish +name: covector version or publish on: push: @@ -115,21 +115,21 @@ jobs: repository: tauri-apps/tauri-docs event-type: update-docs - - name: Trigger cli.js publishing workflow + - name: Trigger `@tauri-apps/cli` publishing workflow if: | steps.covector.outputs.successfulPublish == 'true' && - contains(steps.covector.outputs.packagesPublished, 'cli.rs') + contains(steps.covector.outputs.packagesPublished, '@tauri-apps/cli') uses: peter-evans/repository-dispatch@v1 with: token: ${{ secrets.ORG_TAURI_BOT_PAT }} repository: tauri-apps/tauri - event-type: publish-clijs - client-payload: '{"releaseId": "${{ steps.covector.outputs.cli.js-releaseId }}" }' + event-type: publish-js-cli + client-payload: '{"releaseId": "${{ steps.covector.outputs.-tauri-apps-cli-releaseId }}" }' - - name: Trigger cli.rs publishing workflow + - name: Trigger `tauri-cli` publishing workflow if: | steps.covector.outputs.successfulPublish == 'true' && - contains(steps.covector.outputs.packagesPublished, 'cli.rs') + contains(steps.covector.outputs.packagesPublished, 'tauri-cli') uses: peter-evans/repository-dispatch@v1 with: token: ${{ secrets.ORG_TAURI_BOT_PAT }} diff --git a/.github/workflows/lint-fmt-cli.yml b/.github/workflows/lint-cli.yml similarity index 93% rename from .github/workflows/lint-fmt-cli.yml rename to .github/workflows/lint-cli.yml index 200e1daa5e37..297330b136ea 100644 --- a/.github/workflows/lint-fmt-cli.yml +++ b/.github/workflows/lint-cli.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: cli clippy and fmt check +name: lint cli on: push: @@ -11,7 +11,7 @@ on: - next pull_request: paths: - - '.github/workflows/lint-fmt-cli.yml' + - '.github/workflows/lint-cli.yml' - 'tooling/cli/**' env: @@ -23,7 +23,7 @@ concurrency: cancel-in-progress: true jobs: - fmt_check: + fmt: runs-on: ubuntu-latest steps: @@ -41,7 +41,7 @@ jobs: command: fmt args: --manifest-path ./tooling/cli/Cargo.toml --all -- --check - cli_clippy_check: + clippy: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/lint-fmt-core.yml b/.github/workflows/lint-core.yml similarity index 94% rename from .github/workflows/lint-fmt-core.yml rename to .github/workflows/lint-core.yml index edbcdad4baba..0ea262d12c5e 100644 --- a/.github/workflows/lint-fmt-core.yml +++ b/.github/workflows/lint-core.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: core clippy and fmt check +name: lint core on: push: @@ -11,7 +11,7 @@ on: - next pull_request: paths: - - '.github/workflows/lint-fmt-core.yml' + - '.github/workflows/lint-core.yml' - 'core/**' - '!core/tauri/scripts/**' - 'examples/**' @@ -25,7 +25,7 @@ concurrency: cancel-in-progress: true jobs: - fmt_check: + fmt: runs-on: ubuntu-latest steps: @@ -43,7 +43,7 @@ jobs: command: fmt args: --all -- --check - core_clippy_check: + clippy: runs-on: ubuntu-latest strategy: matrix: diff --git a/.github/workflows/lint-js.yml b/.github/workflows/lint-js.yml index 7165c07d0b4b..7cf54f022af0 100644 --- a/.github/workflows/lint-js.yml +++ b/.github/workflows/lint-js.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: api and cli.js lint check +name: lint js on: pull_request: @@ -16,7 +16,7 @@ concurrency: cancel-in-progress: true jobs: - eslint-check: + eslint-cli: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -24,24 +24,34 @@ jobs: with: node-version: '14' cache: yarn - cache-dependency-path: tooling/*/yarn.lock - - name: install cli.js deps via yarn + cache-dependency-path: tooling/cli/node/yarn.lock + - name: install deps via yarn working-directory: ./tooling/cli/node/ run: yarn # nothing to lint - #- name: run cli.js lint + #- name: run lint # working-directory: ./tooling/cli/node/ # run: yarn lint - - name: run cli.js format + - name: run format working-directory: ./tooling/cli/node/ run: yarn format:check - - name: install api deps via yarn + eslint-api: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '14' + cache: yarn + cache-dependency-path: tooling/api/yarn.lock + + - name: install deps via yarn working-directory: ./tooling/api/ run: yarn - - name: run api lint + - name: run lint working-directory: ./tooling/api/ run: yarn lint - - name: run api format + - name: run format working-directory: ./tooling/api/ run: yarn format:check diff --git a/.github/workflows/publish-cli-js.yml b/.github/workflows/publish-cli-js.yml index 7ec83f940f55..e0fc0ac7ceca 100644 --- a/.github/workflows/publish-cli-js.yml +++ b/.github/workflows/publish-cli-js.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: publish cli.js +name: publish `@tauri-apps/cli` env: DEBUG: napi:* APP_NAME: cli @@ -11,10 +11,10 @@ on: workflow_dispatch: inputs: releaseId: - description: 'ID of the cli.js release' + description: 'ID of the `@tauri-apps/cli` release' required: true repository_dispatch: - types: [publish-clijs] + types: [publish-js-cli] defaults: run: diff --git a/.github/workflows/publish-cli-rs.yml b/.github/workflows/publish-cli-rs.yml index 72850500addc..8a7eb2cb747f 100644 --- a/.github/workflows/publish-cli-rs.yml +++ b/.github/workflows/publish-cli-rs.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: publish cli.rs +name: publish `tauri-cli` env: MACOSX_DEPLOYMENT_TARGET: '10.13' on: @@ -80,12 +80,12 @@ jobs: run: ./.scripts/ci/pack-cli.sh - name: Get CLI version - run: echo "CLI_VERSION=$(cat tooling/cli/metadata.json | jq '."cli.js".version' -r)" >> $GITHUB_ENV + run: echo "CLI_VERSION=$(cat tooling/cli/metadata.json | jq '."@tauri-apps/cli".version' -r)" >> $GITHUB_ENV - name: Publish release uses: softprops/action-gh-release@50195ba7f6f93d1ac97ba8332a178e008ad176aa with: - tag_name: cli.rs-v${{ env.CLI_VERSION }} + tag_name: tauri-cli-v${{ env.CLI_VERSION }} files: | outputs/cargo-tauri-*.zip outputs/cargo-tauri-*.tgz diff --git a/.github/workflows/test-cli-js.yml b/.github/workflows/test-cli-js.yml index b4f988e2dca4..e9717674d79c 100644 --- a/.github/workflows/test-cli-js.yml +++ b/.github/workflows/test-cli-js.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: test cli.js +name: test `@tauri-apps/cli` on: push: @@ -12,7 +12,7 @@ on: pull_request: paths: - '.github/workflows/test-cli-js.yml' - # currently cli.js only tests the template + # currently` @tauri-apps/cli` only tests the template - 'tooling/cli/templates/app/**' env: @@ -24,7 +24,7 @@ concurrency: cancel-in-progress: true jobs: - test-tauri-js-cli: + test: runs-on: ${{ matrix.platform }} strategy: diff --git a/.github/workflows/test-cli-rs.yml b/.github/workflows/test-cli-rs.yml index 6dfbd246eb23..20485b551676 100644 --- a/.github/workflows/test-cli-rs.yml +++ b/.github/workflows/test-cli-rs.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: test cli.rs +name: test `tauri-cli` on: push: @@ -23,7 +23,7 @@ concurrency: cancel-in-progress: true jobs: - test-tauri-cli: + test: runs-on: ${{ matrix.platform }} strategy: diff --git a/.github/workflows/test-core.yml b/.github/workflows/test-core.yml index 52152dc9a1b5..9097ad4458b4 100644 --- a/.github/workflows/test-core.yml +++ b/.github/workflows/test-core.yml @@ -24,7 +24,7 @@ concurrency: cancel-in-progress: true jobs: - test-tauri-core: + test: runs-on: ${{ matrix.platform.os }} strategy: diff --git a/.github/workflows/test-bundler.yml b/.github/workflows/test-lint-bundler.yml similarity index 96% rename from .github/workflows/test-bundler.yml rename to .github/workflows/test-lint-bundler.yml index 4467a3574fc3..f53a151175da 100644 --- a/.github/workflows/test-bundler.yml +++ b/.github/workflows/test-lint-bundler.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: test bundler +name: test and lint bundler on: push: @@ -23,7 +23,7 @@ concurrency: cancel-in-progress: true jobs: - build-tauri-bundler: + test: runs-on: ${{ matrix.platform }} strategy: @@ -48,7 +48,7 @@ jobs: cd ./tooling/bundler cargo test - fmt_check: + fmt: runs-on: ubuntu-latest steps: @@ -66,7 +66,7 @@ jobs: command: fmt args: --manifest-path ./tooling/bundler/Cargo.toml --all -- --check - clippy-check: + clippy: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/artifacts-updater.yml b/.github/workflows/test-updater-artifacts.yml similarity index 96% rename from .github/workflows/artifacts-updater.yml rename to .github/workflows/test-updater-artifacts.yml index edeb7ecf36e7..dbe6d00ab7ca 100644 --- a/.github/workflows/artifacts-updater.yml +++ b/.github/workflows/test-updater-artifacts.yml @@ -2,13 +2,13 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: MIT -name: updater test artifacts +name: test updater artifacts on: schedule: - cron: '0 0 * * *' pull_request: paths: - - '.github/workflows/artifacts-updater.yml' + - '.github/workflows/test-updater-artifacts.yml' - 'examples/updater/**' workflow_dispatch: @@ -21,7 +21,7 @@ concurrency: cancel-in-progress: true jobs: - build-artifacts: + test: runs-on: ${{ matrix.platform }} strategy: @@ -48,7 +48,7 @@ jobs: core -> ../target tooling/cli - - name: build and install cli.rs + - name: build and install `tauri-cli` run: cargo install --path tooling/cli --force - name: Check whether code signing should be enabled id: enablecodesigning diff --git a/.husky/pre-commit b/.husky/pre-commit index dcd6fda848fd..3050d5d43f92 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -16,7 +16,7 @@ else fi if [ -z "$(git diff --name-only tooling/cli/node)" ]; then - echo "skipping cli.js - no changes detected" + echo "skipping \`@tauri-apps/cli\` - no changes detected" else cd tooling/cli/node yarn format diff --git a/.scripts/covector/sync-cli-metadata.js b/.scripts/covector/sync-cli-metadata.js index 128bff02edf0..0b2df8b8e209 100644 --- a/.scripts/covector/sync-cli-metadata.js +++ b/.scripts/covector/sync-cli-metadata.js @@ -6,7 +6,7 @@ /* This script is solely intended to be run as part of the `covector version` step to keep the `../tooling/cli/metadata.json` up to date with other version bumps. Long term -we should look to find a more "rusty way" to import / "pin" a version value in our cli.rs +we should look to find a more "rusty way" to import / "pin" a version value in our tauri-cli rust binaries. */ @@ -14,7 +14,7 @@ const { readFileSync, writeFileSync } = require('fs') const packageNickname = process.argv[2] const filePath = - packageNickname === 'cli.js' + packageNickname === '@tauri-apps/cli' ? `../../../tooling/cli/metadata.json` : `../../tooling/cli/metadata.json` const bump = process.argv[3] @@ -51,7 +51,7 @@ const metadata = JSON.parse(readFileSync(filePath, 'utf-8')) // set field version let version -if (packageNickname === 'cli.js') { +if (packageNickname === '@tauri-apps/cli') { version = inc(metadata[packageNickname].version) metadata[packageNickname].version = version } else { diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 5f40656bf1ff..bebaed43e01f 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -39,16 +39,16 @@ This is common code that is reused in many places and offers useful utilities li ### Tauri Tooling -#### [api](https://github.com/tauri-apps/tauri/tree/dev/tooling/api) [TS -> JS] +#### [@tauri-apps/api](https://github.com/tauri-apps/tauri/tree/dev/tooling/api) [TS -> JS] A TypeScript library that creates `cjs` and `esm` JavaScript endpoints for you to import into your Frontend framework so that the Webview can call and listen to backend activity. We also ship the pure TypeScript, because for some frameworks this is more optimal. It uses the message passing of webviews to their hosts. #### [bundler](https://github.com/tauri-apps/tauri/tree/dev/tooling/bundler) [RUST / SHELL] The bundler is a library that builds a Tauri App for the platform triple it detects / is told. At the moment it currently supports macOS, Windows and Linux - but in the near future will support mobile platforms as well. May be used outside of Tauri projects. -#### [cli.js](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli/node) [JS] -It is a wrapper around [cli.rs](https://github.com/tauri-apps/tauri/blob/dev/tooling/cli) using [napi-rs](https://github.com/napi-rs/napi-rs) to produce NPM packages for each platform. +#### [@tauri-apps/cli](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli/node) [JS] +It is a wrapper around [tauri-cli](https://github.com/tauri-apps/tauri/blob/dev/tooling/cli) using [napi-rs](https://github.com/napi-rs/napi-rs) to produce NPM packages for each platform. -#### [cli.rs](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli) [RUST] +#### [tauri-cli](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli) [RUST] This rust executable provides the full interface to all of the required activities for which the CLI is required. It will run on macOS, Windows, and Linux. #### [create-tauri-app](https://github.com/tauri-apps/create-tauri-app) [JS] @@ -67,9 +67,6 @@ Tauri uses WRY as the abstract layer responsible to determine which webview is u # Additional tooling -## [binary-releases](https://github.com/tauri-apps/binary-releases) -This is the delivery mechanism for tauri prebuilt binaries: currently the cli.rs (used by cli.js) and rustup binaries (used by the deps install command of cli.js). These artifacts are automatically created on release. - ## [tauri-action](https://github.com/tauri-apps/tauri-action) This is a github workflow that builds tauri binaries for all platforms. It is not the fastest out there, but it gets the job done and is highly configurable. Even allowing you to create a (very basic) tauri app even if tauri is not setup. @@ -119,7 +116,7 @@ This will do several things: 1. start the JS Framework devserver 2. begin the long process of downloading and compiling the rust libraries 3. open an application window with devtools enabled -4. keep a long-lived console alive +4. keep a long-lived console alive If you change your HTML/CSS/TS/JS, your framework devserver should give you its best shot at instant hot module reloading and you will see the changes instantly. @@ -149,7 +146,7 @@ After some time, the process will end and you can see the results in the `./src- End users will be provided with binaries in ways that are appropriate for their systems. Whether macOS, Linux, or Windows, direct download or store installations - they will be able to follow procedures for installing and removing that they are used to. ## What does the Updating flow look like? -When a new version is ready, the developer publishes the new signed artifacts to a server (that they have configured within `tauri.conf.json`). +When a new version is ready, the developer publishes the new signed artifacts to a server (that they have configured within `tauri.conf.json`). The application can poll this server to see if there is a new release. When there is a new release, the user is prompted to update. The application update is downloaded, verified (checksum & signature), updated, closed, and restarted. diff --git a/README.md b/README.md index 85e78b263367..1320cd4adcc6 100644 --- a/README.md +++ b/README.md @@ -25,12 +25,12 @@ ### Tooling -| Component | Description | Version | Lin | Win | Mac | -| --------------------------------------------------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------ | --- | --- | --- | -| [**bundler**](https://github.com/tauri-apps/tauri/tree/dev/tooling/bundler) | manufacture the final binaries | [![](https://img.shields.io/crates/v/tauri-bundler.svg)](https://crates.io/crates/tauri-bundler) | ✅ | ✅ | ✅ | -| [**api.js**](https://github.com/tauri-apps/tauri/tree/dev/tooling/api) | JS API for interaction with Rust backend | [![](https://img.shields.io/npm/v/@tauri-apps/api.svg)](https://www.npmjs.com/package/@tauri-apps/api) | ✅ | ✅ | ✅ | -| [**cli.rs**](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli) | create, develop and build apps | [![](https://img.shields.io/crates/v/tauri-cli.svg)](https://crates.io/crates/tauri-cli) | ✅ | ✅ | ✅ | -| [**cli.js**](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli/node) | Node.js CLI wrapper for cli.rs | [![](https://img.shields.io/npm/v/@tauri-apps/cli.svg)](https://www.npmjs.com/package/@tauri-apps/cli) | ✅ | ✅ | ✅ | +| Component | Description | Version | Lin | Win | Mac | +| ------------------------------------------------------------------------------------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------------ | --- | --- | --- | +| [**bundler**](https://github.com/tauri-apps/tauri/tree/dev/tooling/bundler) | manufacture the final binaries | [![](https://img.shields.io/crates/v/tauri-bundler.svg)](https://crates.io/crates/tauri-bundler) | ✅ | ✅ | ✅ | +| [**tauri-cli**](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli) | create, develop and build apps | [![](https://img.shields.io/crates/v/tauri-cli.svg)](https://crates.io/crates/tauri-cli) | ✅ | ✅ | ✅ | +| [**@tauri-apps/cli**](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli/node) | Node.js CLI wrapper for `tauri-cli` | [![](https://img.shields.io/npm/v/@tauri-apps/cli.svg)](https://www.npmjs.com/package/@tauri-apps/cli) | ✅ | ✅ | ✅ | +| [**@tauri-apps/api**](https://github.com/tauri-apps/tauri/tree/dev/tooling/api) | JS API for interaction with Rust backend | [![](https://img.shields.io/npm/v/@tauri-apps/api.svg)](https://www.npmjs.com/package/@tauri-apps/api) | ✅ | ✅ | ✅ | ### Utilities and Plugins diff --git a/tooling/cli/Cargo.lock b/tooling/cli/Cargo.lock index b9ce5e9b6f35..fa3bfca247db 100644 --- a/tooling/cli/Cargo.lock +++ b/tooling/cli/Cargo.lock @@ -24,18 +24,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher 0.3.0", - "cpufeatures", - "opaque-debug", -] - [[package]] name = "aes" version = "0.8.2" @@ -43,19 +31,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ "cfg-if", - "cipher 0.4.4", + "cipher", "cpufeatures", ] [[package]] name = "aes-gcm" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c" +checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237" dependencies = [ "aead", - "aes 0.8.2", - "cipher 0.4.4", + "aes", + "cipher", "ctr", "ghash", "subtle", @@ -170,7 +158,7 @@ checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -263,9 +251,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "3f1e31e207a6b8fb791a38ea3105e6cb541f55e4d029902d3039a4ad07cc4105" [[package]] name = "base64ct" @@ -302,9 +290,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24a6904aef64d73cf10ab17ebace7befb918b82164785cb89907993be7f83813" +checksum = "6776fc96284a0bb647b615056fc496d1fe1644a7ab01829818a6d91cae888b84" [[package]] name = "bitness" @@ -329,9 +317,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09" +checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5" dependencies = [ "memchr", "serde", @@ -339,9 +327,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.12.1" +version = "3.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" +checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b" [[package]] name = "bytecount" @@ -427,15 +415,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array", -] - [[package]] name = "cipher" version = "0.4.4" @@ -448,9 +427,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.2.7" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d21f9bf1b425d2968943631ec91202fe5e837264063503708b83013f8fc938" +checksum = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc" dependencies = [ "clap_builder", "clap_derive", @@ -459,9 +438,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.2.7" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd" +checksum = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990" dependencies = [ "anstream", "anstyle", @@ -472,31 +451,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" +checksum = "191d9573962933b4027f932c600cd252ce27a8ad5979418fe78e43c07996f27b" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] name = "clap_lex" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" - -[[package]] -name = "codespan-reporting" -version = "0.11.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] +checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" [[package]] name = "color_quant" @@ -539,15 +508,15 @@ checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" [[package]] name = "console" -version = "0.15.5" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -709,7 +678,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd4056f63fce3b82d852c3da92b08ea59959890813a7f4ce9c0ff85b10cf301b" dependencies = [ "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -718,61 +687,17 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] name = "ctrlc" -version = "3.2.5" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbcf33c2a618cbe41ee43ae6e9f2e48368cd9f9db2896f10167d8d762679f639" +checksum = "04d778600249295e82b6ab12e291ed9029407efee0cfb7baf67157edc65964df" dependencies = [ "nix", - "windows-sys 0.45.0", -] - -[[package]] -name = "cxx" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.15", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", + "windows-sys 0.48.0", ] [[package]] @@ -796,7 +721,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -807,7 +732,7 @@ checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" dependencies = [ "darling_core", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -837,9 +762,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "crypto-common", @@ -1220,9 +1145,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" +checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" dependencies = [ "bytes", "fnv", @@ -1248,9 +1173,9 @@ dependencies = [ [[package]] name = "handlebars" -version = "4.3.6" +version = "4.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "035ef95d03713f2c347a72547b7cd38cbc9af7cd51e6099fb62d586d4a6dee3a" +checksum = "83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d" dependencies = [ "log", "pest", @@ -1414,12 +1339,11 @@ dependencies = [ [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -1440,11 +1364,10 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.18" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d" +checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" dependencies = [ - "crossbeam-utils", "globset", "lazy_static", "log", @@ -1631,9 +1554,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" dependencies = [ "wasm-bindgen", ] @@ -1747,15 +1670,15 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.142" +version = "0.2.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" [[package]] name = "libflate" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97822bf791bd4d5b403713886a5fbe8bf49520fe78e323b0dc480ca1a03e50b0" +checksum = "5ff4ae71b685bbad2f2f391fe74f6b7659a34871c08b210fdc039e43bee07d18" dependencies = [ "adler32", "crc32fast", @@ -1790,20 +1713,11 @@ dependencies = [ "safemem", ] -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - [[package]] name = "linux-raw-sys" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64f40e5e03e0d54f03845c8197d0291253cdbedfb1cb46b13c2c117554a9f4c" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "lock_api" @@ -1943,11 +1857,11 @@ dependencies = [ [[package]] name = "napi" -version = "2.12.6" +version = "2.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ac8112fe5998579b22e29903c7b277fc7f91c7860c0236f35792caf8156e18" +checksum = "78e1f965758ed9f6b31b07c38e18ec9b6b9fcae56dd88a0812650bb6c8f35590" dependencies = [ - "bitflags 2.2.1", + "bitflags 2.3.1", "ctor 0.2.0", "napi-derive", "napi-sys", @@ -2052,9 +1966,9 @@ dependencies = [ [[package]] name = "notify" -version = "5.1.0" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58ea850aa68a06e48fdb069c0ec44d0d64c8dbffa49bf3b6f7f0a901fdea1ba9" +checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486" dependencies = [ "bitflags 1.3.2", "crossbeam-channel", @@ -2065,7 +1979,7 @@ dependencies = [ "libc", "mio", "walkdir", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2205,7 +2119,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -2358,7 +2272,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -2472,22 +2386,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.16", ] [[package]] @@ -2514,7 +2428,7 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590" dependencies = [ - "base64 0.21.0", + "base64 0.21.1", "indexmap", "line-wrap", "quick-xml", @@ -2567,9 +2481,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8" dependencies = [ "unicode-ident", ] @@ -2594,9 +2508,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" dependencies = [ "proc-macro2", ] @@ -2752,11 +2666,11 @@ checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" [[package]] name = "reqwest" -version = "0.11.17" +version = "0.11.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" dependencies = [ - "base64 0.21.0", + "base64 0.21.1", "bytes", "encoding_rs", "futures-core", @@ -2837,9 +2751,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.18" +version = "0.37.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bbfc1d1c7c40c01715f47d71444744a81669ca84e8b63e25a55e169b1f86433" +checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" dependencies = [ "bitflags 1.3.2", "errno", @@ -2879,7 +2793,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] @@ -2931,12 +2845,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -[[package]] -name = "scratch" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" - [[package]] name = "scrypt" version = "0.11.0" @@ -2960,9 +2868,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.2" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -2973,9 +2881,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" dependencies = [ "core-foundation-sys", "libc", @@ -3009,9 +2917,9 @@ checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" [[package]] name = "serde" -version = "1.0.160" +version = "1.0.163" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c" +checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" dependencies = [ "serde_derive", ] @@ -3028,13 +2936,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.160" +version = "1.0.163" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" +checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -3096,7 +3004,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -3284,9 +3192,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "sval" @@ -3307,9 +3215,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.15" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01" dependencies = [ "proc-macro2", "quote", @@ -3392,7 +3300,7 @@ version = "1.3.1" dependencies = [ "anyhow", "axum", - "base64 0.21.0", + "base64 0.21.1", "cc", "clap", "colored", @@ -3543,7 +3451,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -3569,9 +3477,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.20" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" dependencies = [ "itoa 1.0.6", "serde", @@ -3581,15 +3489,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" dependencies = [ "time-core", ] @@ -3611,9 +3519,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.28.0" +version = "1.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f" +checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105" dependencies = [ "autocfg", "bytes", @@ -3634,7 +3542,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -3744,9 +3652,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ "once_cell", ] @@ -3850,9 +3758,9 @@ checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "universal-hash" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", "subtle", @@ -3906,9 +3814,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dad5567ad0cf5b760e5665964bec1b47dfd077ba8a2544b513f3556d3d239a2" +checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2" dependencies = [ "getrandom 0.2.9", "sha1_smol", @@ -3971,9 +3879,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3981,24 +3889,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.16", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e" dependencies = [ "cfg-if", "js-sys", @@ -4008,9 +3916,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4018,28 +3926,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.16", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2" dependencies = [ "js-sys", "wasm-bindgen", @@ -4353,11 +4261,11 @@ checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" [[package]] name = "zip" -version = "0.6.4" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0445d0fbc924bb93539b4316c11afb121ea39296f99a3c4c9edad09e3658cdef" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" dependencies = [ - "aes 0.7.5", + "aes", "byteorder", "bzip2", "constant_time_eq", diff --git a/tooling/cli/Cargo.toml b/tooling/cli/Cargo.toml index b0da1004501d..4815e185cf6e 100644 --- a/tooling/cli/Cargo.toml +++ b/tooling/cli/Cargo.toml @@ -24,7 +24,7 @@ include = [ ] [package.metadata.binstall] -pkg-url = "{ repo }/releases/download/cli.rs-v{ version }/cargo-tauri-{ target }.{ archive-format }" +pkg-url = "{ repo }/releases/download/tauri-cli-v{ version }/cargo-tauri-{ target }.{ archive-format }" bin-dir = "{ bin }{ binary-ext }" pkg-fmt = "tgz" diff --git a/tooling/cli/metadata.json b/tooling/cli/metadata.json index eced92eb330f..f7d41ac1a2ab 100644 --- a/tooling/cli/metadata.json +++ b/tooling/cli/metadata.json @@ -1,5 +1,5 @@ { - "cli.js": { + "@tauri-apps/cli": { "version": "1.3.1", "node": ">= 10.0.0" }, diff --git a/tooling/cli/node/README.md b/tooling/cli/node/README.md index 98f839f31060..bf961aa46322 100644 --- a/tooling/cli/node/README.md +++ b/tooling/cli/node/README.md @@ -19,7 +19,7 @@ Tauri is a polyglot and generic system that is very composable and allows engine Tauri apps can have custom menus and have tray-type interfaces. They can be updated, and are managed by the user's operating system as expected. They are very small, because they use the system's webview. They do not ship a runtime, since the final binary is compiled from rust. This makes the reversing of Tauri apps not a trivial task. ## This module -Written in Typescript and packaged such that it can be used with `npm`, `pnpm`, and `yarn`, this library provides a node.js runner for common tasks when using Tauri, like `yarn tauri dev`. For the most part it is a wrapper around [cli.rs](https://github.com/tauri-apps/tauri/blob/dev/tooling/cli). +Written in Typescript and packaged such that it can be used with `npm`, `pnpm`, and `yarn`, this library provides a node.js runner for common tasks when using Tauri, like `yarn tauri dev`. For the most part it is a wrapper around [tauri-cli](https://github.com/tauri-apps/tauri/blob/dev/tooling/cli). To learn more about the details of how all of these pieces fit together, please consult this [ARCHITECTURE.md](https://github.com/tauri-apps/tauri/blob/dev/ARCHITECTURE.md) document. diff --git a/tooling/cli/node/test/jest/__tests__/template.spec.js b/tooling/cli/node/test/jest/__tests__/template.spec.js index d598a0347b3b..61d1ca6814b9 100644 --- a/tooling/cli/node/test/jest/__tests__/template.spec.js +++ b/tooling/cli/node/test/jest/__tests__/template.spec.js @@ -10,7 +10,7 @@ const cli = require('~/main.js') const currentDirName = __dirname -describe('[CLI] cli.js template', () => { +describe('[CLI] @tauri-apps/cli template', () => { it('init a project and builds it', async () => { const cwd = process.cwd() const fixturePath = resolve(currentDirName, '../fixtures/empty') diff --git a/tooling/cli/src/info/mod.rs b/tooling/cli/src/info/mod.rs index 1abc22bbf56e..23c4dda6994f 100644 --- a/tooling/cli/src/info/mod.rs +++ b/tooling/cli/src/info/mod.rs @@ -29,7 +29,7 @@ struct JsCliVersionMetadata { #[derive(Deserialize)] #[serde(rename_all = "camelCase")] pub struct VersionMetadata { - #[serde(rename = "cli.js")] + #[serde(rename = "@tauri-apps/cli")] js_cli: JsCliVersionMetadata, }