All Projects → antfu → Vite Fs

antfu / Vite Fs

Licence: mit
Reactive FileSystem for Vite accessible in client-side

Programming Languages

typescript
32286 projects

Vite FS

{WIP} Reactive FileSystem for Vite accessible in client-side.

NPM version

Usage

Suffix .ref to path you'd like to import, for example

import data from '../data.json.ref'
// the type of `data` will be `Ref<any>`
// `data` will bind to `data.json` magically on dev

data.value.x = 10
// `data.json` will be updated

Changes of the file will reflect to the ref as well.

When importing .json files, it will do the parse/stringify automatically. When importing with other file formats, a plain Ref<string> with UTF-8 encoding will be returned.

Install

npm i -D vite-fs
// vite.config.js
import Vue from '@vitejs/plugin-vue'
import ViteFS from 'vite-fs'

export default {
  plugins: [
    Vue(),
    ViteFS()
  ]
}
// shim-fs.d.ts
import { ref } from 'vue'

declare module '*.json.ref' {
  const content: Ref<any>
  export default content
}

declare module '*.ref' {
  const content: Ref<string>
  export default content
}

Sponsors

This project is part of my Sponsor Program

License

MIT License © 2021 Anthony Fu

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].