Skip to content

Commit 529d90a

Browse files
committed
chore(docs): copy vue flow files on dev build
1 parent 1016cc5 commit 529d90a

File tree

1 file changed

+47
-38
lines changed

1 file changed

+47
-38
lines changed

docs/src/.vitepress/plugins/copy.ts

Lines changed: 47 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,48 +2,57 @@ import { existsSync, readFileSync } from 'node:fs'
22
import { resolve } from 'node:path'
33
import type { Plugin } from 'vite'
44

5+
function copyFiles(emit: any) {
6+
;[
7+
{ path: '../../../node_modules/@vue-flow/core/dist/', pkgName: 'vue-flow-core.mjs' },
8+
{
9+
path: '../../../node_modules/@vue-flow/background/dist/',
10+
pkgName: 'vue-flow-background.mjs',
11+
},
12+
{
13+
path: '../../../node_modules/@vue-flow/controls/dist/',
14+
pkgName: 'vue-flow-controls.mjs',
15+
},
16+
{
17+
path: '../../../node_modules/@vue-flow/minimap/dist/',
18+
pkgName: 'vue-flow-minimap.mjs',
19+
},
20+
{
21+
path: '../../../node_modules/@vue-flow/node-resizer/dist/',
22+
pkgName: 'vue-flow-node-resizer.mjs',
23+
},
24+
{
25+
path: '../../../node_modules/@vue-flow/node-toolbar/dist/',
26+
pkgName: 'vue-flow-node-toolbar.mjs',
27+
},
28+
].forEach(({ path, pkgName }) => {
29+
const filePath = resolve(__dirname, `${path}/${pkgName}`)
30+
if (!existsSync(filePath)) {
31+
throw new Error(`${pkgName} not built. ` + `Run "pnpm -w build" first.`)
32+
}
33+
34+
emit({
35+
type: 'asset',
36+
fileName: pkgName,
37+
source: readFileSync(filePath, 'utf-8'),
38+
})
39+
40+
console.log(`Copied ${filePath} to ${resolve(__dirname, `../../src/public/${pkgName}`)}`)
41+
})
42+
43+
console.log('Copied vue-flow files')
44+
}
545
export function copyVueFlowPlugin(): Plugin {
646
return {
747
name: 'copy-vue-flow',
48+
buildStart() {
49+
copyFiles((file: any) => this.emitFile(file))
50+
},
51+
watchChange() {
52+
copyFiles((file: any) => this.emitFile(file))
53+
},
854
generateBundle() {
9-
;[
10-
{ path: '../../../node_modules/@vue-flow/core/dist/', pkgName: 'vue-flow-core.mjs' },
11-
{
12-
path: '../../../node_modules/@vue-flow/background/dist/',
13-
pkgName: 'vue-flow-background.mjs',
14-
},
15-
{
16-
path: '../../../node_modules/@vue-flow/controls/dist/',
17-
pkgName: 'vue-flow-controls.mjs',
18-
},
19-
{
20-
path: '../../../node_modules/@vue-flow/minimap/dist/',
21-
pkgName: 'vue-flow-minimap.mjs',
22-
},
23-
{
24-
path: '../../../node_modules/@vue-flow/node-resizer/dist/',
25-
pkgName: 'vue-flow-node-resizer.mjs',
26-
},
27-
{
28-
path: '../../../node_modules/@vue-flow/node-toolbar/dist/',
29-
pkgName: 'vue-flow-node-toolbar.mjs',
30-
},
31-
].forEach(({ path, pkgName }) => {
32-
const filePath = resolve(__dirname, `${path}/${pkgName}`)
33-
if (!existsSync(filePath)) {
34-
throw new Error(`${pkgName} not built. ` + `Run "pnpm -w build" first.`)
35-
}
36-
37-
;(this as any).emitFile({
38-
type: 'asset',
39-
fileName: pkgName,
40-
source: readFileSync(filePath, 'utf-8'),
41-
})
42-
43-
console.log(`Copied ${filePath} to ${resolve(__dirname, `../../src/public/${pkgName}`)}`)
44-
})
45-
46-
console.log('Copied vue-flow files')
55+
copyFiles((file: any) => this.emitFile(file))
4756
},
4857
}
4958
}

0 commit comments

Comments
 (0)