@tropicalraisel/unplugin-skypin
v4.5.0
Published
Skypack support across all platforms supported by Unplugin!
Downloads
24
Maintainers
Readme
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 i
Check the package.json
for the available scripts.