Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
112 additions
and
117 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,127 +1,123 @@ | ||
import { resolve } from "path" | ||
import { defineConfig, loadEnv } from "vite" | ||
import minimist from "minimist" | ||
import { viteStaticCopy } from "vite-plugin-static-copy" | ||
import livereload from "rollup-plugin-livereload" | ||
import { svelte } from "@sveltejs/vite-plugin-svelte" | ||
import { resolve } from "path"; | ||
import { defineConfig, loadEnv } from "vite"; | ||
import minimist from "minimist"; | ||
import { viteStaticCopy } from "vite-plugin-static-copy"; | ||
import livereload from "rollup-plugin-livereload"; | ||
import { svelte } from "@sveltejs/vite-plugin-svelte"; | ||
import zipPack from "vite-plugin-zip-pack"; | ||
import fg from 'fast-glob'; | ||
import fg from "fast-glob"; | ||
|
||
const args = minimist(process.argv.slice(2)) | ||
const isWatch = args.watch || args.w || false | ||
const devDistDir = "./dev" | ||
const distDir = isWatch ? devDistDir : "./dist" | ||
const args = minimist(process.argv.slice(2)); | ||
const isWatch = args.watch || args.w || false; | ||
const devDistDir = "./dev"; | ||
const distDir = isWatch ? devDistDir : "./dist"; | ||
|
||
console.log("isWatch=>", isWatch) | ||
console.log("distDir=>", distDir) | ||
console.log("isWatch=>", isWatch); | ||
console.log("distDir=>", distDir); | ||
|
||
export default defineConfig({ | ||
resolve: { | ||
alias: { | ||
"@": resolve(__dirname, "src"), | ||
} | ||
resolve: { | ||
alias: { | ||
"@": resolve(__dirname, "src"), | ||
}, | ||
}, | ||
|
||
plugins: [ | ||
svelte(), | ||
plugins: [ | ||
svelte(), | ||
|
||
viteStaticCopy({ | ||
targets: [ | ||
{ | ||
src: "./README*.md", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./icon.png", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./preview.png", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./plugin.json", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./src/i18n/**", | ||
dest: "./i18n/", | ||
}, | ||
], | ||
}), | ||
], | ||
viteStaticCopy({ | ||
targets: [ | ||
{ | ||
src: "./README*.md", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./icon.png", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./preview.png", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./plugin.json", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./src/i18n/**", | ||
dest: "./i18n/", | ||
}, | ||
], | ||
}), | ||
], | ||
|
||
// https://github.com/vitejs/vite/issues/1930 | ||
// https://vitejs.dev/guide/env-and-mode.html#env-files | ||
// https://github.com/vitejs/vite/discussions/3058#discussioncomment-2115319 | ||
// 在这里自定义变量 | ||
define: { | ||
"process.env.DEV_MODE": `"${isWatch}"`, | ||
}, | ||
// https://github.com/vitejs/vite/issues/1930 | ||
// https://vitejs.dev/guide/env-and-mode.html#env-files | ||
// https://github.com/vitejs/vite/discussions/3058#discussioncomment-2115319 | ||
// 在这里自定义变量 | ||
define: { | ||
"process.env.DEV_MODE": `"${isWatch}"`, | ||
}, | ||
|
||
build: { | ||
// 输出路径 | ||
outDir: distDir, | ||
emptyOutDir: false, | ||
build: { | ||
// 输出路径 | ||
outDir: distDir, | ||
emptyOutDir: false, | ||
|
||
// 构建后是否生成 source map 文件 | ||
sourcemap: false, | ||
// 构建后是否生成 source map 文件 | ||
sourcemap: false, | ||
|
||
// 设置为 false 可以禁用最小化混淆 | ||
// 或是用来指定是应用哪种混淆器 | ||
// boolean | 'terser' | 'esbuild' | ||
// 不压缩,用于调试 | ||
minify: !isWatch, | ||
// 设置为 false 可以禁用最小化混淆 | ||
// 或是用来指定是应用哪种混淆器 | ||
// boolean | 'terser' | 'esbuild' | ||
// 不压缩,用于调试 | ||
minify: false, | ||
|
||
lib: { | ||
// Could also be a dictionary or array of multiple entry points | ||
entry: resolve(__dirname, "src/index.ts"), | ||
// the proper extensions will be added | ||
fileName: "index", | ||
formats: ["cjs"], | ||
}, | ||
rollupOptions: { | ||
plugins: [ | ||
...( | ||
isWatch ? [ | ||
livereload(devDistDir), | ||
{ | ||
//监听静态资源文件 | ||
name: 'watch-external', | ||
async buildStart() { | ||
const files = await fg([ | ||
'src/i18n/*.json', | ||
'./README*.md', | ||
'./plugin.json' | ||
]); | ||
for (let file of files) { | ||
this.addWatchFile(file); | ||
} | ||
} | ||
} | ||
] : [ | ||
zipPack({ | ||
inDir: './dist', | ||
outDir: './', | ||
outFileName: 'package.zip' | ||
}) | ||
] | ||
) | ||
], | ||
lib: { | ||
// Could also be a dictionary or array of multiple entry points | ||
entry: resolve(__dirname, "src/index.ts"), | ||
// the proper extensions will be added | ||
fileName: "index", | ||
formats: ["cjs"], | ||
}, | ||
rollupOptions: { | ||
plugins: [ | ||
...(isWatch | ||
? [ | ||
livereload(devDistDir), | ||
{ | ||
//监听静态资源文件 | ||
name: "watch-external", | ||
async buildStart() { | ||
const files = await fg(["src/i18n/*.json", "./README*.md", "./plugin.json"]); | ||
for (let file of files) { | ||
this.addWatchFile(file); | ||
} | ||
}, | ||
}, | ||
] | ||
: [ | ||
zipPack({ | ||
inDir: "./dist", | ||
outDir: "./", | ||
outFileName: "package.zip", | ||
}), | ||
]), | ||
], | ||
|
||
// make sure to externalize deps that shouldn't be bundled | ||
// into your library | ||
external: ["siyuan", "process"], | ||
// make sure to externalize deps that shouldn't be bundled | ||
// into your library | ||
external: ["siyuan", "process"], | ||
|
||
output: { | ||
entryFileNames: "[name].js", | ||
assetFileNames: (assetInfo) => { | ||
if (assetInfo.name === "style.css") { | ||
return "index.css" | ||
} | ||
return assetInfo.name | ||
}, | ||
}, | ||
output: { | ||
entryFileNames: "[name].js", | ||
assetFileNames: (assetInfo) => { | ||
if (assetInfo.name === "style.css") { | ||
return "index.css"; | ||
} | ||
return assetInfo.name; | ||
}, | ||
} | ||
}) | ||
}, | ||
}, | ||
}, | ||
}); |