2.0.0 • Published 8 months ago

vite-plugin-static-copy v2.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

vite-plugin-static-copy

npm version CI MIT License

rollup-plugin-copy for Vite with dev server support.

!NOTE Before you use this plugin, consider using public directory or import in JavaScript. In most cases, these will work.

Install

npm i -D vite-plugin-static-copy # yarn add -D vite-plugin-static-copy

Usage

Add viteStaticCopy plugin to vite.config.js / vite.config.ts.

// vite.config.js / vite.config.ts
import { viteStaticCopy } from 'vite-plugin-static-copy'

export default {
  plugins: [
    viteStaticCopy({
      targets: [
        {
          src: 'bin/example.wasm',
          dest: 'wasm-files'
        }
      ]
    })
  ]
}

For example, if you use the config above, you will be able to fetch bin/example.wasm with fetch('/wasm-files/example.wasm'). So the file will be copied to dist/wasm-files/example.wasm.

!WARNING

If you are using Windows, make sure to use normalizePath after doing path.resolve or else. \ is a escape charactor in fast-glob and you should use /.

import { normalizePath } from 'vite'
import path from 'node:path'

normalizePath(path.resolve(__dirname, './foo')) // C:/project/foo

// instead of
path.resolve(__dirname, './foo') // C:\project\foo

See fast-glob documentation about this for more details.

Options

See options.ts.

Differences with rollup-plugin-copy

  • Faster dev server start-up than using rollup-plugin-copy on buildStart hook.
    • Files are not copied and served directly from the server during dev to reduce start-up time.
  • dest is relative to build.outDir.
    • If you are going to copy files outside build.outDir, you could use rollup-plugin-copy instead. Because that does not require dev server support.
  • fast-glob is used instead of globby.
    • Because fast-glob is used inside vite.
  • transform could return null as a way to tell the plugin not to copy the file, this is similar to the CopyWebpackPlugin#filter option, but it expects transform to return the original content in case you want it to be copied.
  • transform can optionally be an object, with a handler property (with the same signature of the rollup-plugin-copy transform option) and an encoding property (BufferEncoding | 'buffer') that will be used to read the file content so that the handler's content argument will reflect the correct encoding (could be Buffer);
  • structured: true preserves the directory structure. This is similar to flatten: false in rollup-plugin-copy, but it covers more edge cases.
cesium-plugin-test@infinitebrahmanuniverse/nolb-vite-plugin-stest-vespa-design-system@everything-registry/sub-chunk-3061@spiaggeit/coretakeat-design-system-ui-kitt4-uiszero-viteszdl-ui-kitweb-components-probando-uno-dos-se-me-oye-okwp-vue-vitewsk-hookstest-wsksvdocthirdlibvite-plugin-lightboatvite-plugin-mars3dvite-plugin-gutenberg-blocksvite-library-projectvite-plugin-cesium-buildvite-plugin-cesium-enginevite-plugin-cesiumjsvolga-uivite-plugin-testing@druzi.space/core@coasys/nillion-file-store@conboai/site-management@cosmicmind/materialjsadsign-mapitpolygon-ui-devjajang-uinuxt-monaco-editor-wrapper@apiida/vue-components@blendvision/conference@bihealth/reev-frontend-lib@chuntianxiaozhu/utils@chamn/engine@didyoumeantoast/component-forge@darkobits/tswc-studiovue2-shepherd@heisea/navim@hubql/client@hitachivantara/app-shell-vite-plugin@ifanrx/dashboard@emaxcas/ui@locofy/storybook-addon@lit-web3/base@madgex/fert@eotl/simple-signed-records@johnnycubides/catalejo-vue3-desktop-v2@kolibrijs/cli@kolibry/cli@photonhealth/webcomponents@opentiny/tiny-engine-vite-config@peerbit/vite@packetsafari/cli@rockme/nuxt-monaco-editormyfacademy-test-packages-number-twomodern-web-swiss-army-knifemod-buildnamba-one-uikitoblivion-uinuxt-monaco-editorreact-avengers-infinity-saganillion-file-storeplaylight-sdksm-click-library-uireact-simply-uishare-button-links-reactslidev-cli-magiclidesslidev-cli-magicslideshoudini-react-sdkgwind-uihy-rtc-sdk-cpnslib.common4lei-react-libmediacube-ui-v2lmwn-assignment-2025-serverl33t-server@webos-project/minesweeper@unholster/react-seisveinte@thcode-society/thc-library@yangzw/bruce-app@zebrainy/react-components2@sunsetglow/vue-pdf-viewer@tarojs/vite-runner@zsnmwy/cli@zsnmwy/typesadroit-uicesium-draw-jscesium-draw-lcesium-draw-tscnx-custom-slidev-clidesign-system-pracblakprintauto-revealbruce-clidill-pixel
2.0.0

8 months ago

1.0.6

12 months ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

2 years ago

0.17.1

2 years ago

0.16.0

2 years ago

0.17.0

2 years ago

0.14.0

2 years ago

0.13.1

2 years ago

0.15.0

2 years ago

0.10.0

3 years ago

0.11.0

3 years ago

0.12.0

3 years ago

0.11.1

3 years ago

0.13.0

3 years ago

0.9.0

3 years ago

0.8.0

3 years ago

0.7.0

3 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.5.1

3 years ago

0.4.4

3 years ago

0.5.0

3 years ago

0.4.1

3 years ago

0.4.3

3 years ago

0.4.2

3 years ago

0.4.0

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.0

4 years ago