22 lines
622 B
TypeScript
22 lines
622 B
TypeScript
import { existsSync, readFileSync } from 'fs'
|
|
import { resolve } from 'path'
|
|
import type { Plugin } from 'vite'
|
|
|
|
export function copyVueFlowPlugin(): Plugin {
|
|
return {
|
|
name: 'copy-vue-flow',
|
|
generateBundle() {
|
|
const filePath = resolve(__dirname, '../../node_modules/@braks/vue-flow/dist/vue-flow.es.js')
|
|
if (!existsSync(filePath)) {
|
|
throw new Error(`@braks/vue-flow/dist/vue-flow.es.js not built. ` + `Run "pnpm -w build" first.`)
|
|
}
|
|
|
|
this.emitFile({
|
|
type: 'asset',
|
|
fileName: 'vue-flow.es.js',
|
|
source: readFileSync(filePath, 'utf-8'),
|
|
})
|
|
},
|
|
}
|
|
}
|