A Tauri Plugin to watch the filesystem for changes

Overview

Tauri Plugin FSWatch

Test

This plugin provides a "classical" Tauri Plugin Interface to watch changes on files and directories through notify.

Architecture

This repo shape might appear to be strange, but it is really just a hybrid Rust / Typescript project that recommends a specific type of consumption, namely using GIT as the secure distribution mechanism, and referencing specific unforgeable git hashes. Of course, it can also be consumed via Cargo and NPM.

/src

Rust source code that contains the plugin definition.

/webview-src

Typescript source for the /webview-dist folder that provides an API to interface with the rust code.

/webview-dist

Tree-shakeable transpiled JS to be consumed in a Tauri application.

/bindings

Forthcoming tauri bindings to other programming languages, like DENO.

Installation

There are three general methods of installation that we can recommend.

  1. Pull sources directly from Github using git tags / revision hashes (most secure, good for developement, shown below)
  2. Git submodule install this repo in your tauri project and then use file protocol to ingest the source
  3. Use crates.io and npm (easiest, and requires you to trust that our publishing pipeline worked)

For more details and usage see the Todo app. Please note, below in the dependencies you can also lock to a revision/tag in both the Cargo.toml and package.json

RUST

src-tauri/Cargo.toml

[dependencies.tauri-plugin-fs-watch]
git = "https://github.com/tauri-apps/tauri-plugin-fs-watch"
tag = "v0.1.0"
#branch = "main"

Use in src-tauri/src/main.rs:

use tauri_plugin_fs_watch::Watcher;

fn main() {
    tauri::Builder::default()
        .plugin(Watcher::default())
        .build()
        .run();
}

WEBVIEW

Install from a tagged release

npm install github:tauri-apps/tauri-plugin-fs-watch#v0.1.0
# or
yarn add github:tauri-apps/tauri-plugin-fs-watch#v0.1.0

Install from a commit

npm install github:tauri-apps/tauri-plugin-fs-watch#488558717b77d8a2bcb37acfd2eca9658aeadc8e
# or
yarn add github:tauri-apps/tauri-plugin-fs-watch#488558717b77d8a2bcb37acfd2eca9658aeadc8e

package.json

  "dependencies": {
    "tauri-plugin-fs-watch-api": "github:tauri-apps/tauri-plugin-fs-watch#v0.1.0",

Use within your JS/TS:

import { watch, watchImmediate } from 'tauri-plugin-fs-watch-api'

// can also watch an array of paths
const stopWatching = await watch('/path/to/something', { recursive: true }, event => {
  const { type, payload } = event
})

const stopRawWatcher = await watchImmediate(['/path/a', '/path/b'], {}, event => {
  const { path, operation, cookie } = event
})

License

MIT / Apache-2.0

Comments
  • _unwatch in example doesn't seem to work: missing field `event`

    _unwatch in example doesn't seem to work: missing field `event`

    Thanks for making this plugin!

    I'm trying to run this example:

    https://github.com/tauri-apps/tauri-plugin-fs-watch/blob/f29bba3da845223fa3b9b59e5a17477ca3f93c72/examples/svelte-app/src/App.svelte#L20-L25

    using the following code

        <button
          on:click={async () => await _unwatch().catch((error) => console.log(error))}
          disabled={stopWatching === null}
        >
    

    but I'm getting the following error when I click on the button that calls _unwatch:

    Screen Shot 2022-03-24 at 1 36 03 PM

    I think it has to do with this block but I'm not sure.

    https://github.com/tauri-apps/tauri-plugin-fs-watch/blob/f29bba3da845223fa3b9b59e5a17477ca3f93c72/webview-src/index.ts#L54-L56

    Any suggestions on how to proceed?

    opened by kdheepak 2
  • `watch` function name conflicts with `Vue`'s `watch` fn

    `watch` function name conflicts with `Vue`'s `watch` fn

    As a workaround, we can import plugin as import { watch as watchFile } from 'tauri-plugin-fs-watch-api'; but it might be a good choice to change the function name into something like watchFile or watchDir or watchFS to avoid renaming the function.

    It is not the best recommendation, but it might be good to consider this upcoming conflict

    opened by seahindeniz 1
  • Dependecy Error with tauri 1.0.0-beta.8

    Dependecy Error with tauri 1.0.0-beta.8

    Using the latest Tauri release, I get a dependency error when trying to use the plugin:

    error: failed to select a version for `webkit2gtk-sys`.
        ... required by package `wry v0.12.2 (https://github.com/tauri-apps/wry?rev=a3829035a3e49e76db77b0db6924e147831124c7#a3829035)`
        ... which satisfies git dependency `wry` of package `tauri-runtime-wry v0.2.1 (https://github.com/tauri-apps/tauri?branch=next#8ab8d529)`
        ... which satisfies git dependency `tauri-runtime-wry` of package `tauri v1.0.0-beta.8 (https://github.com/tauri-apps/tauri?branch=next#8ab8d529)`
        ... which satisfies git dependency `tauri` of package `tauri-plugin-fs-watch v0.1.0 (https://github.com/tauri-apps/tauri-plugin-fs-watch?branch=release#4c4897a3)`
        ... which satisfies git dependency `tauri-plugin-fs-watch` of package `app v0.1.0 (/Users/johannesklauss/Documents/Github/SyraAudio/Platforms/Wave-Desktop/src-tauri)`
    versions that meet the requirements `^0.16` are: 0.16.0
    
    the package `webkit2gtk-sys` links to the native library `web_kit2`, but it conflicts with a previous package which links to `web_kit2` as well:
    package `webkit2gtk-sys v0.14.0`
        ... which satisfies dependency `ffi = "^0.14"` (locked to 0.14.0) of package `webkit2gtk v0.14.0`
        ... which satisfies dependency `webkit2gtk = "^0.14"` (locked to 0.14.0) of package `wry v0.12.2`
        ... which satisfies dependency `wry = "^0.12"` (locked to 0.12.2) of package `tauri-runtime-wry v0.2.1`
        ... which satisfies dependency `tauri-runtime-wry = "^0.2.1"` (locked to 0.2.1) of package `tauri v1.0.0-beta.8`
        ... which satisfies dependency `tauri = "^1.0.0-beta.8"` (locked to 1.0.0-beta.8) of package `app v0.1.0 (/Users/johannesklauss/Documents/Github/SyraAudio/Platforms/Wave-Desktop/src-tauri)`
    Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the links ='webkit2gtk-sys' value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.
    
    failed to select a version for `webkit2gtk-sys` which could resolve this conflict
    

    I am not sure how to fix that issue

    opened by JohannesKlauss 1
  • chore(deps): update dependency @rollup/plugin-typescript to v9

    chore(deps): update dependency @rollup/plugin-typescript to v9

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @rollup/plugin-typescript (source) | 8.5.0 -> 9.0.1 | age | adoption | passing | confidence |


    Release Notes

    rollup/plugins

    v9.0.1

    Compare Source

    2022-10-11

    Bugfixes

    v9.0.0

    Compare Source

    2022-10-10

    Breaking Changes

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency @rollup/plugin-node-resolve to v15

    chore(deps): update dependency @rollup/plugin-node-resolve to v15

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @rollup/plugin-node-resolve (source) | 13.3.0 -> 15.0.0 | age | adoption | passing | confidence |


    Release Notes

    rollup/plugins

    v15.0.0

    Compare Source

    2022-10-10

    Breaking Changes

    v14.1.0

    Compare Source

    2022-09-12

    Features
    • feat: add new option, modulePaths (#​1104)

    v14.0.1

    Compare Source

    2022-09-08

    Bugfixes
    • fix: handle circular commonjs (#​1259)

    v14.0.0

    2022-09-06

    Breaking Changes
    • fix: preserve moduleSideEffects when re-resolving files (#​1245)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency type-fest to v3

    chore(deps): update dependency type-fest to v3

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | type-fest | 2.19.0 -> 3.1.0 | age | adoption | passing | confidence |


    Release Notes

    sindresorhus/type-fest

    v3.1.0

    Compare Source

    • Add (experimental) MergeDeep type (#​452) fedbc44
      • Feedback wanted
    • SetNonNullable: Make it possible to apply it to all keys (#​482) 7d492c8
      • Just leave out the second generic parameter to make it apply to all keys.

    v3.0.0

    Compare Source

    Meta
    Breaking
    • Require TypeScript 4.7 or later cca3ca2
    • Require Node.js 14 or later cca3ca2
    • Rename Mutable type to Writable ff0de63
    • Remove the PromiseValue type in favor of the built-in Awaited type 28f3e48
    • Get: Make the strict option true by default a7f367d
    • PartialDeep: Make the recurseIntoArrays option false by default db89d9c
    • Simplify: Remove the deep option (#​441) bbccfb8
      • It caused weird problems with the TS compiler. We plan to add it back in the form a SimplifyDeep type. So if you depend on this type, defer upgrading until it's added.
    New types
    Improvements
    • Merge: Add index signatures support and improve performances (#​455) 850ac04
    • DelimiterCase: Support screaming snake case as input (#​448) f53e3dc
    • Jsonify: Add support for optional object keys (#​445) d83d62c
    • PackageJson: Add packageManager field (#​446) ac5b821
    • TsConfigJson: Add some Module values 1003d5d
    Fixes

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency @rollup/plugin-node-resolve to v14 - autoclosed

    chore(deps): update dependency @rollup/plugin-node-resolve to v14 - autoclosed

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @rollup/plugin-node-resolve (source) | 13.1.3 -> 14.1.0 | age | adoption | passing | confidence |


    Release Notes

    rollup/plugins

    v14.1.0

    Compare Source

    2022-09-12

    Features
    • feat: add new option, modulePaths (#​1104)

    v14.0.1

    Compare Source

    2022-09-08

    Bugfixes
    • fix: handle circular commonjs (#​1259)

    v14.0.0

    2022-09-06

    Breaking Changes
    • fix: preserve moduleSideEffects when re-resolving files (#​1245)

    v13.3.0

    2022-05-02

    Features
    • feat: support node: protocol (#​1124)

    v13.2.2

    2022-05-02

    Bugfixes
    • fix: Respect if other plugins resolve the resolution to a different id (#​1181)
    • fix: Revert respect if other plugins resolve the resolution to a different id (ae59ceb)
    • fix: Respect if other plugins resolve the resolution to a different id (f8d4c44)

    v13.2.1

    2022-04-15

    Bugfixes
    • fix: update side effects logic to be deep when glob doesn’t contain / (#​1148)

    v13.2.0

    2022-04-11

    Features
    • feat: Add the ability to pass a function into resolveOnly (#​1152)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update tauri monorepo

    fix(deps): update tauri monorepo

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | @tauri-apps/api | 1.0.0-rc.2 -> 1.1.0 | age | adoption | passing | confidence | dependencies | minor | | tauri (source) | 1.0.0-rc.4 -> 1.1.1 | age | adoption | passing | confidence | dependencies | minor |


    Release Notes

    tauri-apps/tauri

    v1.1.0

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 457 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (444 crate dependencies)
    Crate:     ansi_term
    Version:   0.12.1
    Warning:   unmaintained
    Title:     ansi_term is Unmaintained
    Date:      2021-08-18
    ID:        RUSTSEC-2021-0139
    URL:       https://rustsec.org/advisories/RUSTSEC-2021-0139
    Dependency tree:
    ansi_term 0.12.1
    └── tracing-subscriber 0.3.15
        └── loom 0.5.6
            └── state 0.5.3
                └── tauri 1.1.0
                    ├── tauri 1.1.0
                    ├── restart 0.1.0
                    └── app-updater 0.1.0
    
    Crate:     xml-rs
    Version:   0.8.4
    Warning:   unmaintained
    Title:     xml-rs is Unmaintained
    Date:      2022-01-26
    ID:        RUSTSEC-2022-0048
    URL:       https://rustsec.org/advisories/RUSTSEC-2022-0048
    Dependency tree:
    xml-rs 0.8.4
    ├── winrt-notification 0.5.1
    │   └── notify-rust 4.5.8
    │       └── tauri 1.1.0
    │           ├── tauri 1.1.0
    │           ├── restart 0.1.0
    │           └── app-updater 0.1.0
    └── plist 1.3.1
        └── tauri-codegen 1.1.0
            ├── tauri-macros 1.1.0
            │   └── tauri 1.1.0
            └── tauri-build 1.1.0
                └── app-updater 0.1.0
    
    warning: 2 allowed warnings found
    

    [1.1.0]

    • Implement api::http::ClientBuilder::max_redirections for the default attohttpc client.
    • Implement From<api::process::Command> for std::process::Command.
    • Added support to configuration files in TOML format (Tauri.toml file).
    • Enhance SystemTray::with_icon to accept tauri::Icon.
    • Fixes CLI parser ignoring inner subcommands.
    • Fix fs.readDir recursive option reading symlinked directories that are not allowed by the scope.
      • f4121c12 fix(endpoints/fs/readDir): don't read symlinks that are not allowed b… (#​5123) on 2022-09-08
    • Fix typo in invalid state access panic message.
    • Fixes updater breaking the app icon in Finder.
    • Implement theme APIs for Linux.
    • Implement raw_window_handle::HasRawDisplayHandle for App and AppHandle
      • 0ad9531d chore(deps): update tao to 0.13, wry to 0.20, rfd to 0.10, raw-window-handle to 0.5 (#​4804) on 2022-07-31
    • Retain command line arguments in api::process::restart.
    • Added APIs to create a system tray at runtime.
    • Add api::Command::encoding method to set the stdout/stderr encoding.
    • Do not follow redirects when api::http::ClientBuilder::max_redirections is 0.
    • Added the SystemTrayHandle::destroy method.
    • Added native-tls-vendored and reqwest-native-tls-vendored Cargo features to compile and statically link to a vendored copy of OpenSSL on Linux.
    • Update windows to 0.39.0 and webview2-com to 0.19.1.
    • Add exists function to the fs module.
      • 3c62dbc9 feat(api): Add exists function to the fs module. (#​5060) on 2022-09-15

    Cargo Publish

    Updating crates.io index
       Packaging tauri v1.1.0 (/home/runner/work/tauri/tauri/core/tauri)
       Verifying tauri v1.1.0 (/home/runner/work/tauri/tauri/core/tauri)
     Downloading crates ...
      Downloaded futures-macro v0.3.24
      Downloaded signal-hook-registry v1.4.0
      Downloaded globset v0.4.9
      Downloaded ignore v0.4.18
      Downloaded serialize-to-javascript v0.1.1
      Downloaded serialize-to-javascript-impl v0.1.1
      Downloaded state v0.5.3
      Downloaded tokio-macros v1.8.0
      Downloaded mio v0.8.4
      Downloaded serde_repr v0.1.9
      Downloaded socket2 v0.4.7
      Downloaded bstr v0.2.17
      Downloaded tokio v1.21.1
      Downloaded encoding_rs v0.8.31
      Downloaded tauri-macros v1.1.0
      Downloaded tauri-runtime-wry v0.11.0
       Compiling proc-macro2 v1.0.43
       Compiling unicode-ident v1.0.4
       Compiling quote v1.0.21
       Compiling syn v1.0.99
       Compiling serde_derive v1.0.144
       Compiling serde v1.0.144
       Compiling libc v0.2.132
       Compiling smallvec v1.9.0
       Compiling pkg-config v0.3.25
       Compiling heck v0.4.0
       Compiling cfg-if v1.0.0
       Compiling version-compare v0.1.0
       Compiling autocfg v1.1.0
       Compiling once_cell v1.14.0
       Compiling version_check v0.9.4
       Compiling thiserror v1.0.35
       Compiling ppv-lite86 v0.2.16
       Compiling bitflags v1.3.2
       Compiling siphasher v0.3.10
       Compiling getrandom v0.1.16
       Compiling futures-core v0.3.24
       Compiling anyhow v1.0.65
       Compiling futures-task v0.3.24
       Compiling pin-project-lite v0.2.9
       Compiling futures-util v0.3.24
       Compiling proc-macro-hack v0.5.19
       Compiling pin-utils v0.1.0
       Compiling futures-channel v0.3.24
       Compiling log v0.4.17
       Compiling unicode-segmentation v1.10.0
       Compiling parking_lot_core v0.9.3
       Compiling itoa v1.0.3
       Compiling version-compare v0.0.11
       Compiling fnv v1.0.7
       Compiling byteorder v1.4.3
       Compiling scopeguard v1.1.0
       Compiling memchr v2.5.0
       Compiling ryu v1.0.11
       Compiling ucd-trie v0.1.5
       Compiling new_debug_unreachable v1.0.4
       Compiling tinyvec_macros v0.1.0
       Compiling strsim v0.10.0
       Compiling ident_case v1.0.1
       Compiling gio v0.15.12
       Compiling mac v0.1.1
       Compiling precomputed-hash v0.1.1
       Compiling utf-8 v0.7.6
       Compiling futures-io v0.3.24
       Compiling dtoa v0.4.8
       Compiling typenum v1.15.0
       Compiling unicode-bidi v0.3.8
       Compiling crc32fast v1.3.2
       Compiling nodrop v0.1.14
       Compiling itoa v0.4.8
       Compiling stable_deref_trait v1.2.0
       Compiling serde_json v1.0.85
       Compiling convert_case v0.4.0
       Compiling matches v0.1.9
       Compiling alloc-no-stdlib v2.0.4
       Compiling percent-encoding v2.2.0
       Compiling thin-slice v0.1.1
       Compiling adler v1.0.2
       Compiling same-file v1.0.6
       Compiling crossbeam-utils v0.8.11
       Compiling adler32 v1.2.0
       Compiling bytes v1.2.1
       Compiling semver v1.0.14
       Compiling lazy_static v1.4.0
       Compiling cty v0.2.2
       Compiling tao v0.14.0
       Compiling uuid v0.8.2
       Compiling glob v0.3.0
       Compiling cpufeatures v0.2.5
       Compiling regex-syntax v0.6.27
       Compiling tauri-runtime v0.11.0
       Compiling wry v0.21.0
       Compiling encoding_rs v0.8.31
       Compiling tauri-runtime-wry v0.11.0
       Compiling http-range v0.1.5
    

    v1.0.2

    Compare Source

    v1.0.1

    Compare Source

    v1.0.0

    Compare Source

    v1.0.0-rc.7

    Compare Source

    v1.0.0-rc.6

    Compare Source

    v1.0.0-rc.5

    Compare Source

    v1.0.0-rc.4

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 400 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (489 crate dependencies)
    

    [1.0.0-rc.4]

    • Run AppHandle cleanup code before restarting the application on the process > relaunch API.
      • 9c65abce feat(core): run cleanup code on the relaunch API (#​3629) on 2022-03-07
    • Breaking change: The Builder#create_window API now returns a Result validating the window label.
    • Added tsp config option under tauri > bundle > windows, which enables Time-Stamp Protocol (RFC 3161) for the timestamping server under code signing on Windows if set to true.
    • Revert the clap usage back to the version 3.0 API.
    • The tauri::api::process::Command API now properly reads stdout and stderr messages that ends with a carriage return (\r) instead of just a newline (\n).
    • Fixes filesystem and asset scope stripping the first component of the allowed path.
    • Ignore trailing slashes on path scope validation.
    • Fixes Command::output and Command::status deadlock when running on async commands.
    • Update tray menu id map when SystemTrayHandle::set_menu is called.
    • Allow absolute paths on the filesystem APIs as long as it does not include parent directory components.
    • Breaking change: The tauri::api::file::Extract API is now available when the fs-extract-api feature is enabled.
    • Allow listening to events on the filesystem and asset scopes.
      • 58070c1e feat(core): filesystem and asset protocol scope events (#​3609) on 2022-03-04
    • Allow configuring forbidden paths on the asset and filesystem scopes.
      • 983ccb81 feat(core): allow denying paths on the fs and asset scopes (#​3607) on 2022-03-03
    • Extend the allowed patterns for the filesystem and asset protocol when the user selects a path (dialog open and save commands and file drop on the window).
    • The HTTP scope now matches the entire URL using a glob pattern instead of only its path.
    • Parse window icons at compile time.
      • 8c935872 refactor(core): move png and ico behind Cargo features (#​3588) on 2022-03-05
    • Breaking change: Move ico and png parsing behind icon-ico and icon-png Cargo features.
      • 8c935872 refactor(core): move png and ico behind Cargo features (#​3588) on 2022-03-05
    • Return an error when creating a window with an invalid label instead of panicking.
    • Allows the configuration CSP to be an object mapping a directive name to its source list.
    • Allow range in the form of bytes=0-* on the asset protocol.
    • Reimplement endpoint to read file as string for performance.
      • 834ccc51 feat(core): reimplement readTextFile for performance (#​3631) on 2022-03-07
    • Breaking change: Renamed the command Cargo feature to process-command-api.
      • 4e1af005 refactor(core): rename command feature to process-command-api (#​3594) on 2022-03-03
    • Disabled the default features for the zip crate.
      • 5293445f refactor(core): disable default features for the zip crate (#​3624) on 2022-03-06
    • The cmd field is no longer required on the shell scope for sidecars.
      • 9b3b163b feat(core): simplify scope definition for sidecars (#​3574) on 2022-03-02
    • Fixes a regression on the unlisten command.
      • 76c791bd fix(core): regression on the unlisten function (#​3623) on 2022-03-06
    • Run AppHandle cleanup code before restarting the application when a new update is installed.
    • Added a WindowBuilder type.
    • Added WindowBuilder::on_web_resource_request, which allows customizing the tauri custom protocol response.

    Cargo Publish

    Updating crates.io index
       Packaging tauri v1.0.0-rc.4 (/home/runner/work/tauri/tauri/core/tauri)
       Uploading tauri v1.0.0-rc.4 (/home/runner/work/tauri/tauri/core/tauri)
    

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency rollup to v2.79.1

    chore(deps): update dependency rollup to v2.79.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | rollup (source) | 2.70.1 -> 2.79.1 | age | adoption | passing | confidence |


    Release Notes

    rollup/rollup

    v2.79.1

    Compare Source

    2022-09-22

    Bug Fixes
    • Avoid massive performance degradation when creating thousands of chunks (#​4643)
    Pull Requests

    v2.79.0

    Compare Source

    2022-08-31

    Features
    • Add amd.forceJsExtensionForImports to enforce using .js extensions for relative AMD imports (#​4607)
    Pull Requests

    v2.78.1

    Compare Source

    2022-08-19

    Bug Fixes
    • Avoid inferring "arguments" as name for a default export placeholder variable (#​4613)
    Pull Requests

    v2.78.0

    Compare Source

    2022-08-14

    Features
    • Support writing plugin hooks as objects with a "handler" property (#​4600)
    • Allow changing execution order per plugin hook (#​4600)
    • Add flag to execute plugins in async parallel hooks sequentially (#​4600)
    Pull Requests

    v2.77.3

    Compare Source

    2022-08-11

    Bug Fixes
    • Correctly resolve preserveModulesRoot in Vite (#​4591)
    Pull Requests

    v2.77.2

    Compare Source

    2022-07-27

    Bug Fixes
    • Avoid a rendering failure when mixing outputs with inlined and non-inlined dynamic imports (#​4589)
    Pull Requests

    v2.77.1

    Compare Source

    2022-07-26

    Bug Fixes
    • Ensure IIFE output generates a global variable when generating ES5 (#​4588)
    Pull Requests

    v2.77.0

    Compare Source

    2022-07-15

    Features
    • Introduce maxParallelFileOps to limit both read and write operations, default to 20 and replaces maxParallelFileRead (#​4570)
    Bug Fixes
    • Avoid including variables referenced from return statements that are never reached (#​4573)
    Pull Requests

    v2.76.0

    Compare Source

    2022-07-08

    Features
    • Allow setting a sourcmapBaseUrl for absolute paths in sourcemaps (#​4527)
    Bug Fixes
    • Support absolute CLI plugin paths on Windows (#​4533)
    Pull Requests

    v2.75.7

    Compare Source

    2022-06-20

    Bug Fixes
    • Mark Array.prototype.group/groupToMap as side effect free. (#​4531)
    Pull Requests

    v2.75.6

    Compare Source

    2022-06-07

    Bug Fixes
    • Properly deoptimize "this" when using member expressions with getters/setters in for loops and update expressions (#​4522)
    Pull Requests

    v2.75.5

    Compare Source

    2022-06-01

    Bug Fixes
    • Avoid crashes when using logical expressions for unused constructor arguments (#​4519)
    • Fix missing parameter defaults for calls from try statements and functions returned by functions (#​4520)
    Pull Requests

    v2.75.4

    Compare Source

    2022-05-31

    Bug Fixes
    • Ensure parameter defaults are retained when a function is used as an object property (#​4516)
    Pull Requests

    v2.75.3

    Compare Source

    2022-05-29

    Bug Fixes
    • Retain parameter defaults for functions that are defaults themselves (#​4515)
    • Track mutations for objects as default values (#​4515)
    Pull Requests

    v2.75.2

    Compare Source

    v2.75.1

    Compare Source

    2022-05-28

    Pull Requests

    v2.75.0

    Compare Source

    2022-05-27

    Features
    • Re-implement default parameter tree-shaking for top-level functions (#​4510)
    • Do not consider calling string methods like .trim() on template literals a side effect (#​4511)
    Pull Requests

    v2.74.1

    Compare Source

    2022-05-19

    Bug Fixes
    • Revert #​4498 until some issues are understood and resolved

    v2.74.0

    Compare Source

    2022-05-19

    Features
    • Remove unneeded default values for function parameters (#​4498)
    Bug Fixes
    • Use a consistent mechanism to resolve the config file to avoid issues on Windows (#​4501)
    • Avoid an inaccurate warning about an event emitter leak for complicated builds (#​4502)
    • Ensure that reexporting values from other chunks via dynamic imports does not reference non-imported variables (#​4499)
    Pull Requests

    v2.73.0

    Compare Source

    2022-05-13

    Features
    • Do not treat Object.defineProperty/ies as side effect when called on an unused object (#​4493)
    • Do not assume that assigning a property can create a getter with side effects (#​4493)
    • Do not treat string.prototype.replace(All) as side effect when used with two literals (#​4493)
    Bug Fixes
    • Detect side effects when manually declaring getters on functions (#​4493)
    Pull Requests

    v2.72.1

    Compare Source

    2022-05-07

    Bug Fixes
    • Improve tree-shaking of classes with super classes in certain scenarios (#​4489)
    Pull Requests

    v2.72.0

    Compare Source

    2022-05-05

    Features
    • Add CLI hooks to run external commands at certain points in watch mode (#​4457)
    Bug Fixes
    • Fix an issue that could accidentally treat relevant assignments as side effect free (#​4486)
    Pull Requests

    v2.71.1

    Compare Source

    2022-04-30

    Bug Fixes
    • Allow importing loadConfigFile without extension (#​4483)
    Pull Requests

    v2.71.0

    Compare Source

    2022-04-30

    v2.70.2

    Compare Source

    2022-04-15

    Bug Fixes
    • Do not enforce undefined return values in TypeScript types (#​4463)
    Pull Requests

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency @rollup/plugin-typescript to v8.5.0

    chore(deps): update dependency @rollup/plugin-typescript to v8.5.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @rollup/plugin-typescript (source) | 8.3.1 -> 8.5.0 | age | adoption | passing | confidence |


    Release Notes

    rollup/plugins

    v8.5.0

    Compare Source

    2022-09-06

    Features

    v8.4.0

    Compare Source

    2022-08-23

    Features
    • feat: allow override of forced noEmit and emitDeclarationOnly compiler options (#​1242)

    v8.3.4

    Compare Source

    2022-07-28

    Bugfixes
    • fix: fix declaration file generation for single file outputs (#​1201)

    v8.3.3

    2022-06-10

    Bugfixes
    • fix: allow tslib peerDependency to be optional for npm and pnpm (#​1191)

    v8.3.2

    2022-04-13

    Bugfixes

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency @rollup/plugin-node-resolve to v13.3.0

    chore(deps): update dependency @rollup/plugin-node-resolve to v13.3.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @rollup/plugin-node-resolve (source) | 13.1.3 -> 13.3.0 | age | adoption | passing | confidence |


    Release Notes

    rollup/plugins

    v13.3.0

    2022-05-02

    Features
    • feat: support node: protocol (#​1124)

    v13.2.2

    2022-05-02

    Bugfixes
    • fix: Respect if other plugins resolve the resolution to a different id (#​1181)
    • fix: Revert respect if other plugins resolve the resolution to a different id (ae59ceb)
    • fix: Respect if other plugins resolve the resolution to a different id (f8d4c44)

    v13.2.1

    2022-04-15

    Bugfixes
    • fix: update side effects logic to be deep when glob doesn’t contain / (#​1148)

    v13.2.0

    2022-04-11

    Features
    • feat: Add the ability to pass a function into resolveOnly (#​1152)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency @rollup/plugin-typescript to v10

    chore(deps): update dependency @rollup/plugin-typescript to v10

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @rollup/plugin-typescript (source) | 9.0.1 -> 10.0.1 | age | adoption | passing | confidence |


    Release Notes

    rollup/plugins

    v10.0.1

    Compare Source

    2022-11-28

    Bugfixes

    v10.0.0

    Compare Source

    2022-11-27

    Breaking Changes
    • fix: incorrect declarations directory (a5c90d1)

    v9.0.2

    Compare Source

    2022-10-21

    Updates
    • chore: update rollup dependencies (3038271)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency typescript to v4.9.4

    chore(deps): update dependency typescript to v4.9.4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | typescript (source) | 4.8.4 -> 4.9.4 | age | adoption | passing | confidence |


    Release Notes

    Microsoft/TypeScript

    v4.9.4: TypeScript 4.9.4

    Compare Source

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    Changes:

    This list of changes was auto generated.

    v4.9.3: TypeScript 4.9

    Compare Source

    For release notes, check out the release announcement.

    Downloads are available on:

    Changes:

    See More

    This list of changes was auto generated.


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency type-fest to v3.4.0

    chore(deps): update dependency type-fest to v3.4.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | type-fest | 3.1.0 -> 3.4.0 | age | adoption | passing | confidence |


    Release Notes

    sindresorhus/type-fest

    v3.4.0

    Compare Source

    New types
    Fixes

    v3.3.0

    Compare Source

    Improvements
    Fixes
    • SetNonNullable: Fix usage in type predicate context (#​515) 9bae03b

    v3.2.0

    Compare Source

    New types
    Improvements
    Fixes

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency @rollup/plugin-typescript to v9.0.2

    chore(deps): update dependency @rollup/plugin-typescript to v9.0.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @rollup/plugin-typescript (source) | 9.0.1 -> 9.0.2 | age | adoption | passing | confidence |


    Release Notes

    rollup/plugins

    v9.0.2

    Compare Source

    2022-10-21

    Updates
    • chore: update rollup dependencies (3038271)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency @rollup/plugin-node-resolve to v15.0.1

    chore(deps): update dependency @rollup/plugin-node-resolve to v15.0.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @rollup/plugin-node-resolve (source) | 15.0.0 -> 15.0.1 | age | adoption | passing | confidence |


    Release Notes

    rollup/plugins

    v15.0.1

    Compare Source

    2022-10-21

    Updates
    • chore: update rollup dependencies (3038271)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency rollup to v3

    chore(deps): update dependency rollup to v3

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | rollup (source) | 2.79.1 -> 3.7.5 | age | adoption | passing | confidence |


    Release Notes

    rollup/rollup

    v3.7.5

    Compare Source

    2022-12-17

    Bug Fixes
    • Avoid name shadowing when default exporting a class that matches the name of another class (#​4756)
    • Do not display the error message both in a separate line and in the stack trace in rollup CLI (#​4749)
    • Make type of RollupWarning.cause compatible with Error.cause (#​4757)
    • Do not swallow side effects when interacting with modules namespaces nested in another object (#​4758)
    Pull Requests

    v3.7.4

    Compare Source

    2022-12-13

    Bug Fixes
    • Do not remove calls to .exec and .test for included stateful regular expressions (#​4742)
    Pull Requests

    v3.7.3

    Compare Source

    2022-12-11

    Bug Fixes
    • Ensure this.getFileName no longer returns a placeholder as soon as hash placeholders have been resolved (#​4747)
    Pull Requests

    v3.7.2

    Compare Source

    2022-12-10

    Bug Fixes
    • Improve chunk generation performance when one module is dynamically imported by many other modules (#​4736)
    Pull Requests

    v3.7.1

    Compare Source

    2022-12-09

    Bug Fixes
    Pull Requests

    v3.7.0

    Compare Source

    2022-12-08

    Features
    • Do not treat .test and .exec on regular expressions as side effects (#​4737)
    Pull Requests

    v3.6.0

    Compare Source

    2022-12-05

    Features
    • extend this.getModuleInfo with information about exports (#​4731)
    Pull Requests

    v3.5.1

    Compare Source

    2022-12-01

    Bug Fixes
    • Accept functions returning a config in defineConfig (#​4728)
    Pull Requests
    • #​4728: Overload defineConfig to accept a RollupOptionsFunction parameter (@​Septh)

    v3.5.0

    Compare Source

    2022-11-27

    Features
    • Add treeshake.manualPureFunctions to override static analysis for explicit function names (#​4718)
    Bug Fixes
    • Do not throw when a plugin uses this.load without awaiting its result (#​4725)
    Pull Requests

    v3.4.0

    Compare Source

    2022-11-22

    Features
    • Do not keep unused Object.freeze calls on object literals (#​4720)
    Pull Requests

    v3.3.0

    Compare Source

    2022-11-12

    Features
    • Add "experimentalMinChunkSize" option to merge smaller chunks into larger ones (#​4705)
    • Automatically deduplicate assets again when the source is a Buffer (#​4712)
    • Deduplicate Buffer with string assets (#​4712)
    Bug Fixes
    • Support plugins with object hooks when using perf: true (#​4707)
    Pull Requests

    v3.2.5

    Compare Source

    2022-11-01

    Bug Fixes
    • We deconflicting classes, ensure the original class name still does not shadow variables (#​4697)
    Pull Requests

    v3.2.4

    Compare Source

    2022-10-31

    Bug Fixes
    • Always use forward slashes in chunk ids when preserving modules, even on Windows (#​4693)
    • Escape problematic characters in ids when rewriting import.meta.url (#​4693)
    Pull Requests

    v3.2.3

    Compare Source

    2022-10-18

    Bug Fixes
    • Fix an issue whre Rollup confused new.target with import.meta (#​4679)
    • Ensure that Rollup does not make assumptions about the value of unknown namespace import members (#​4684)
    Pull Requests

    v3.2.2

    Compare Source

    2022-10-16

    Bug Fixes
    • Do not hang/crash on hashbang comments in input modules (#​4676)
    Pull Requests

    v3.2.1

    Compare Source

    2022-10-16

    Bug Fixes
    • Rewrite class declarations to preserve their .name property if necessary (#​4674)
    Pull Requests

    v3.2.0

    Compare Source

    2022-10-15

    Features
    • Support providing Promises as plugins like Vite (#​4671)
    Pull Requests

    v3.1.0

    Compare Source

    2022-10-12

    Features
    • Support using arrays of plugins as plugins like Vite (#​4657)
    Pull Requests

    v3.0.1

    Compare Source

    2022-10-12

    Bug Fixes
    • Fix installation on Windows (#​4662)
    • Avoid missing parameters that are only used in a destructuring initializer (#​4663)
    Pull Requests

    v3.0.0

    Compare Source

    2022-10-11

    Breaking Changes
    General Changes
    • Rollup now requires at least Node 14.18.0 to run (#​4548 and #​4596)
    • The browser build has been split into a separate package @rollup/browser (#​4593)
    • The node build uses the node: prefix for imports of builtin modules (#​4596)
    • Some previously deprecated features have been removed (#​4552):
      • Some plugin context functions have been removed:
        • this.emitAsset(): use this.emitFile()
        • this.emitChunk(): use this.emitFile()
        • this.getAssetFileName(): use this.getFileName()
        • this.getChunkFileName(): use this.getFileName()
        • this.isExternal(): use this.resolve()
        • this.resolveId(): use this.resolve()
      • The resolveAssetUrl plugin hook has been removed: use resolveFileUrl
      • Rollup no longer passes assetReferenceId or chunkReferenceId parameters to resolveFileUrl
      • The treeshake.pureExternalModules option has been removed: use treeshake.moduleSideEffects: 'no-external'
      • You may no longer use true or false for output.interop. As a replacement for true, you can use "compat"
      • Emitted assets no longer have an isAsset flag in the bundle
      • Rollup will no longer fix assets added directly to the bundle by adding the type: "asset" field
    • Some features that were previously marked for deprecation now show warnings when used (#​4552):
      • Some options have been deprecated:
        • inlineDynamicImports as part of the input options: use output. inlineDynamicImports
        • manualChunks as part of the input options: use output. manualChunks
        • maxParallelFileReads: use `maxParallelFileOps
        • output.preferConst: use output.generatedCode.constBindings
        • output.dynamicImportFunction: use the renderDynamicImport plugin hook
        • output.namespaceToStringTag: use output.generatedCode.symbols
        • preserveModules as part of the input options: use output. preserveModules
      • You should no longer access this.moduleIds in plugins: use this.getModuleIds()
      • You should no longer access this.getModuleInfo(...).hasModuleSideEffects in plugins: use this.getModuleInfo(...).moduleSideEffects
    • Configuration files are only bundled if either the --configPlugin or the --bundleConfigAsCjs options are used. The configuration is bundled to an ES module unless the --bundleConfigAsCjs option is used. In all other cases, configuration is now loaded using Node's native mechanisms (#​4574 and #​4621)
    • The properties attached to some errors have been changed so that there are fewer different possible properties with consistent types (#​4579)
    • Some errors have been replaced by others (ILLEGAL_NAMESPACE_REASSIGNMENT -> ILLEGAL_REASSIGNMENT, NON_EXISTENT_EXPORT -> MISSING_EXPORT) (#​4579)
    • Files in rollup/dist/* can only be required using their file extension (#​4581)
    • The loadConfigFile helper now has a named export of the same name instead of a default export (#​4581)
    • When using the API and sourcemaps, sourcemap comments are contained in the emitted files and sourcemaps are emitted as regular assets (#​4605)
    • Watch mode no longer uses Node's EventEmitter but a custom implementation that awaits Promises returned from event handlers (#​4609)
    • Assets may only be deduplicated with previously emitted assets if their source is a string (#​4644)
    • By default, Rollup will keep external dynamic imports as import(…) in commonjs output unless output.dynamicImportInCjs is set to false (#​4647)
    Changes to Rollup Options
    • As functions passed to output.banner/footer/intro/outro are now called per-chunk, they should be careful to avoid performance-heavy operations (#​4543)
    • entryFileNames/chunkFileNames functions now longer have access to the rendered module information via modules, only to a list of included moduleIds (#​4543)
    • The path of a module is no longer prepended to the corresponding chunk when preserving modules (#​4565)
    • When preserving modules, the [name] placeholder (as well as the chunkInfo.name property when using a function) now includes the relative path of the chunk as well as optionally the file extension if the extension is not one of .js, .jsx, .mjs, .cjs, .ts, .tsx, .mts, or .cts (#​4565)
    • The [ext], [extName] and [assetExtName] placeholders are no longer supported when preserving modules (#​4565)
    • The perf option no longer collects timings for the asynchronous part of plugin hooks as the readings were wildly inaccurate and very misleading, and timings are adapted to the new hashing algorithm (#​4566)
    • Change the default value of makeAbsoluteExternalsRelative to "ifRelativeSource" so that absolute external imports will no longer become relative imports in the output, while relative external imports will still be renormalized (#​4567)
    • Change the default for output.generatedCode.reservedNamesAsProps to no longer quote properties like default by default (#​4568)
    • Change the default for preserveEntrySignatures to "exports-only" so that by default, empty facades for entry chunks are no longer created (#​4576)
    • Change the default for output.interop to "default" to better align with NodeJS interop (#​4611)
    • Change the default for output.esModule to "if-default-prop", which only adds __esModule when the default export would be a property (#​4611)
    • Change the default for output.systemNullSetters to true, which requires at least SystemJS 6.3.3 (#​4649)
    Plugin API Changes
    • Plugins that add/change/remove imports or exports in renderChunk should make sure to update ChunkInfo.imports/importedBindings/exports accordingly (#​4543)
    • The order of plugin hooks when generating output has changed (#​4543)
    • Chunk information passed to renderChunk now contains names with hash placeholders instead of final names, which will be replaced when used in the returned code or ChunkInfo.imports/importedBindings/exports (#​4543 and #​4631)
    • Hooks defined in output plugins will now run after hooks defined in input plugins (used to be the other way around) (#​3846)
    Features
    • Functions passed to output.banner/footer/intro/outro are now called per-chunk with some chunk information (#​4543)
    • Plugins can access the entire chunk graph via an additional parameter in renderChunk (#​4543)
    • Chunk hashes only depend on the actual content of the chunk and are otherwise stable against things like renamed/moved source files or changed module resolution order (#​4543)
    • The length of generated file hashes can be customized both globally and per-chunk (#​4543)
    • When preserving modules, the regular entryFileNames logic is used and the path is included in the [name] property. This finally gives full control over file names when preserving modules (#​4565)
    • output.entryFileNames now also supports the [hash] placeholder when preserving modules (#​4565)
    • The perf option will now collect (synchronous) timings for all plugin hooks, not just a small selection (#​4566)
    • All errors thrown by Rollup have name: RollupError now to make clearer that those are custom error types (#​4579)
    • Error properties that reference modules (such as id and ids) will now always contain the full ids. Only the error message will use shortened ids (#​4579)
    • Errors that are thrown in response to other errors (e.g. parse errors thrown by acorn) will now use the standardized cause property to reference the original error (#​4579)
    • If sourcemaps are enabled, files will contain the appropriate sourcemap comment in generateBundle and sourcemap files are available as regular assets (#​4605)
    • Returning a Promise from an event handler attached to a RollupWatcher instance will make Rollup wait for the Promise to resolve (#​4609)
    • There is a new value "compat" for output.interop that is similar to "auto" but uses duck-typing to determine if there is a default export (#​4611)
    • There is a new value "if-default-prop" for esModule that only adds an __esModule marker to the bundle if there is a default export that is rendered as a property (#​4611)
    • Rollup can statically resolve checks for foo[Symbol.toStringTag] to "Module" if foo is a namespace (#​4611)
    • There is a new CLI option --bundleConfigAsCjs which will force the configuration to be bundled to CommonJS (#​4621)
    • Import assertions for external imports that are present in the input files will be retained in ESM output (#​4646)
    • Rollup will warn when a module is imported with conflicting import assertions (#​4646)
    • Plugins can add, remove or change import assertions when resolving ids (#​4646)
    • The output.externalImportAssertions option allows to turn off emission of import assertions (#​4646)
    • Use output.dynamicImportInCjs to control if dynamic imports are emitted as import(…) or wrapped require(…) when generating commonjs output (#​4647)
    Bug Fixes
    • Chunk hashes take changes in renderChunk, e.g. minification, into account (#​4543)
    • Hashes of referenced assets are properly reflected in the chunk hash (#​4543)
    • No longer warn about implicitly using default export mode to not tempt users to switch to named export mode and break Node compatibility (#​4624)
    • Avoid performance issues when emitting thousands of assets (#​4644)
    Pull Requests

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
Owner
Tauri
Build smaller, faster, and more secure desktop applications with a web frontend
Tauri
The reference implementation of the Linux FUSE (Filesystem in Userspace) interface

libfuse About FUSE (Filesystem in Userspace) is an interface for userspace programs to export a filesystem to the Linux kernel. The FUSE project consi

null 4.2k Jan 4, 2023
Supertag is a tag-based filesystem, written in Rust, for Linux and MacOS

Supertag is a tag-based filesystem, written in Rust, for Linux and MacOS. It provides a tag-based view of your files by removing the hierarchy constraints typically imposed on files and folders. In other words, it allows you to think about your files not as objects stored in folders, but as objects that can be filtered by folders.

Andrew Moffat 539 Dec 24, 2022
A virtual filesystem layer for WASI

wasi-vfs A virtual filesystem layer for WASI. NOTICE: This project currently supports only WASI applications on the top of wasi-libc This project prov

Yuta Saito 72 Dec 29, 2022
Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.

Spacedrive A file explorer from the future. spacedrive.com » Download for macOS · Windows · Linux · iOS · watchOS · Android ~ Links will be added once

Spacedrive 16.2k Jan 7, 2023
Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

null 294 Dec 23, 2022
tkn-watch - watch a PipelineRuns on its way to success or failures

tkn-watch - watch a PipelineRuns on its way to success or failures tkn-watch is a simple extension to the tkn command line tool that watches a Pipelin

Chmouel Boudjnah 11 Dec 15, 2022
Watch for changes on a webpage and do anything with it!

Sukurappa Watch for changes on a webpage and do anything with it! Install With cargo: cargo install sukurappa Or use the install-script and add $HOME/

Jean-Philippe Bidegain 2 Sep 4, 2022
the file filesystem: mount semi-structured data (like JSON) as a Unix filesystem

ffs: the file filesystem ffs, the file filessytem, let's you mount semi-structured data as a fileystem---a tree structure you already know how to work

Michael Greenberg 176 Dec 31, 2022
Core lightning (CLN) plugin to watch channel health, gossip health and ping amboss for online status

vitality Core lightning (CLN) plugin to watch channel health, gossip health and ping amboss for online status Installation Building Usage Telegram Opt

null 4 Oct 6, 2023
🥃 A plugin for swizzling Tauri’s NSWindow to NSPanel

Swizzle Tauri's NSWindow to NSPanel Install There are three general methods of installation that we can recommend. Use crates.io and npm (easiest, and

Victor Aremu 11 Mar 24, 2023
CLI app to display list of trending anime, music charts or recommend anime to watch or song to listen to.

Description Anitrendz is a cli app that uses data from the anitiop api to list the top anime and songs or recommend a random anime to watch or song to

Jimmy 9 Jun 11, 2022
tri-angle trader without trade, just watch pair's price change, print arbtrage chance.

tri-angle trader without trade, just watch pair's price change, print arbtrage chance.

铁哥 5 Nov 19, 2022
A modern alternative to watch command

A modern alternative to watch command

Tavo Annus 7 Oct 7, 2022
Watch output and trigger on diff!

watchdiff Watch output and trigger on diff! Ever want to have watch output only tell you what changed? And not only what, but when? Now you can! Enter

geno 2 Apr 6, 2022
Watch classic spongebob from the terminal

Watch classic spongebob from the terminal! Remake of the original spongbob cli written in py by TrakBan

Ali™ 14 Dec 6, 2022
A Telegram bot to watch animes

AmimeWatch A Telegram bot to watch animes. Re-written version of AmimeWatch in Rust. Preparing Configuration Create a file named config.toml and fill

Andriel Ferreira 7 Jun 1, 2022
A ln scraper to read light novels and watch anime in your terminal (Written in rust)

Readme Table of content Why use kami Dependencies Install Linux/mac Windows Honorable mentions Why use kami Well its a fast and easy way to watch anim

mrfluffy 26 Dec 23, 2022
Play or watch Othello in your terminal!

othello-cli othello-cli is a cli version of Othello (Reversi) written in Rust. You can play against another player, the AI, or watch two AIs play each

null 4 Oct 18, 2022
Haylou Smart Watch 2 (LS02) reverse-engineering project

Haywatch Haywatch Hello Haylou Watch features Device communication General command structure Pairing Unpairing Battery Firmware Date and time Pulses U

XorTroll 5 Dec 16, 2022
A bit like tee, a bit like script, but all with a fake tty. Lets you remote control and watch a process

teetty teetty is a wrapper binary to execute a command in a pty while providing remote control facilities. This allows logging the stdout of a process

Armin Ronacher 259 Jan 3, 2023