4.5.0 • Published 4 years ago
@tropicalraisel/unplugin-skypin v4.5.0
Options
| Option | Type | Default Value | Description | 
|---|---|---|---|
| packages | string[] | [] | Declare the package imports that should be changed here. This is done manually opposed to automatically because Unplugin performs some low-level operations that can involve accessing dependencies that were never intended to be. Packages are able to prefetched through this method too, so there are extra performance benefits. | 
| minify | boolean | true | Whether to use Skypack's minified asset. | 
| replace | (id: string) => boolean\|string | () => true | Uses a returned string as the package id. Returning a boolean value simply toggles Skypack URL substitution. | 
Import Syntax
Strictly similar to what Skypack allows. Note that the import syntax in both the packages and file listings need to be identical.
Can be used as a library!
import { SKYPACK_URL, isValidVersion, isValidPackage, getSkypackUrl } from 'unplugin-skypin'Check out the functions over on GitHub!
Notes
- Webpack is not currently supported.
Usage
// vite.config.{m}js
import skypin from '@tropicalraisel/unplugin-skypin/vite'
import { defineConfig } from 'vite'
export default defineConfig({
  plugins: [
    skypin({
      packages: [
        /* imports to change here */
      ],
      /* other options */
    }),
  ],
})// rollup.config.{m}js
import skypin from '@tropicalraisel/unplugin-skypin/rollup'
export default {
  input: 'src/index.js',
  output: {
    dir: 'dist',
    format: 'esm',
  },
  plugins: [
    skypin({
      packages: [
        /* imports to change here */
      ],
      /* other options */
    }),
  ],
}// nuxt.config.{m}js
export default {
  buildModules: [
    ['@tropicalraisel/unplugin-skypin/nuxt', { /* options */ }],
  ],
}Reference the test suite here: https://github.com/tropicalraisel/unplugin-skypin/tree/master/playground/nuxt
This module works for both Nuxt 2 and Nuxt Vite
WIP
// webpack.config.{c}js
module.exports = {
  /* ... */
  plugins: [
    require('@tropicalraisel/unplugin-skypin/webpack').default({ /* options */ })
  ]
}// vue.config.{c}js
module.exports = {
  configureWebpack: {
    plugins: [
      require('@tropicalraisel/unplugin-skypin/webpack').default({ /* options */ }),
    ],
  },
}Development
pnpm iCheck the package.json for the available scripts.