包详细信息

vite-plugin-full-reload

ElMassimo2.9mMIT1.2.0

Reload the page when files are modified

vite, plugin, vite-plugin, vitejs

自述文件

<samp>vite-plugin-full-reload</samp>

Automatically reload the page when files are modified


Why? 🤔

When using Vite Ruby, I wanted to see changes to server-rendered layouts and templates without having to manually reload the page.

Also, in JS From Routes path helpers are generated when Rails reload is triggered.

Triggering a page reload when config/routes.rb is modified makes the DX very smooth.

Installation 💿

Install the package as a development dependency:

npm i -D vite-plugin-full-reload # yarn add -D vite-plugin-full-reload

Usage 🚀

Add it to your plugins in vite.config.ts

import { defineConfig } from 'vite'
import FullReload from 'vite-plugin-full-reload'

export default defineConfig({
  plugins: [
    FullReload(['config/routes.rb', 'app/views/**/*'])
  ],
})

This is useful to trigger a page refresh for files that are not being imported, such as server-rendered templates.

To see which file globbing options are available, check picomatch.

Configuration ⚙️

The following options can be provided:

  • <kbd>root</kbd>

    Files will be resolved against this directory.

    Default: process.cwd()

    FullReload('config/routes.rb', { root: __dirname }),
    
  • <kbd>delay</kbd>

    How many milliseconds to wait before reloading the page after a file change. It can be used to offset slow template compilation in Rails.

    Default: 0

    FullReload('app/views/**/*', { delay: 100 })
    
  • <kbd>always</kbd>

    Whether to refresh the page even if the modified HTML file is not currently being displayed.

    Default: true

    FullReload('app/views/**/*', { always: false })
    

Acknowledgements

  • <kbd>vite-plugin-live-reload</kbd>

    This is a nice plugin, I found it right before publishing this one.

    I've made two PRs that were needed to support these use cases.

    At this point in time they are very similar, except this library doesn't create another chokidar watcher.

License

This library is available as open source under the terms of the MIT License.

更新日志

1.2.0 (2024-07-08)

Features

  • differentiate plugin log from vite log (#19) (943016d)

1.1.0 (2023-11-16)

Features

  • allow installing with vite 5 (close #23) (0e912e2)

1.0.5 (2022-12-09)

Features

  • add vite 4 as a valid peer dependency (#13) (d4aa4cc)

1.0.4 (2022-08-09)

Bug Fixes

  • wrapping of single string path in plugin arguments (close #9) (7f62e0f)

1.0.3 (2022-07-21)

Bug Fixes

  • "Conflicting peer dependency" (#8) (91cbc71)

1.0.2 (2022-07-21)

Bug Fixes

1.0.1 (2022-07-04)

Features

  • export configuration interface (#5) (d2c1bde)

1.0.0 (2022-01-05)

Bug Fixes

  • default export in "type": "module" vite projects (7c2a625)

Features

0.2.2 (2021-05-05)

Bug Fixes

  • Update typings. Plugin => PluginOption (d944c48)

0.2.1 (2021-03-20)

Features

  • Add delay to offset slow template compilation in Rails (e69c6b6)

0.2.0 (2021-03-20)

  • Switch to use Vite's watcher instead of creating a new one with chokidar.

0.1.3 (2021-03-18)

  • Move chalk and chokidar as dependencies since only npm v7 installs peerDependencies.

0.1.2 (2021-03-18)

  • Add vite-plugin keyword to the package to make it easier to find.

0.1.1 (2021-03-17)

Bug Fixes

  • Remove postinstall hooks on released package (99db8e2)

0.1.0 (2021-03-16)