-
Notifications
You must be signed in to change notification settings - Fork 1
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
3 changed files
with
144 additions
and
140 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,26 +1,30 @@ | ||
{ | ||
"name": "expr", | ||
"author": "崮生_子虚", | ||
"url": "https://github.com/2234839/OceanPress_siyuan_plugin", | ||
"version": "0.0.1", | ||
"minAppVersion": "2.10.3", | ||
"backends": ["all"], | ||
"frontends": ["all"], | ||
"displayName": { | ||
"en_US": "OceanPress siyuan plugin", | ||
"zh_CN": "expr 思源插件" | ||
"type": "module", | ||
"description": "", | ||
"repository": "https://github.com/2234839/siyuan_expr", | ||
"homepage": "", | ||
"author": "崮生_子虚", | ||
"license": "GPL-3.0", | ||
"scripts": { | ||
"make-link": "node --no-warnings ./scripts/make_dev_link.js", | ||
"dev": "vite build --watch", | ||
"build": "vite build" | ||
}, | ||
"description": { | ||
"en_US": "To bestow OceanPress with enhanced capabilities.", | ||
"zh_CN": "为 OceanPress 提供更多能力" | ||
"devDependencies": { | ||
"fast-glob": "^3.3.2", | ||
"minimist": "^1.2.8", | ||
"rollup-plugin-livereload": "^2.0.5", | ||
"siyuan": "0.8.3", | ||
"ts-node": "^10.9.2", | ||
"typescript": "^5.4.5", | ||
"vite": "^4.5.3", | ||
"vite-plugin-static-copy": "^0.15.0", | ||
"vite-plugin-zip-pack": "^1.2.3" | ||
}, | ||
"readme": { | ||
"en_US": "README.md", | ||
"zh_CN": "README.md" | ||
"dependencies": { | ||
"@llej/js_util": "github:2234839/ts-util" | ||
}, | ||
"funding": { | ||
"custom": [ | ||
"https://afdian.net/@llej0" | ||
] | ||
} | ||
} | ||
"url": "https://github.com/2234839/siyuan_expr" | ||
} |
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,131 +1,132 @@ | ||
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 { 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 zipPack from "vite-plugin-zip-pack"; | ||
import fg from 'fast-glob'; | ||
import fg from "fast-glob"; | ||
import { siyuan } from "@llej/js_util"; | ||
/** 自动更新plugin.json */ | ||
import { writeFile } from "fs/promises"; | ||
import pluginJSON from "./plugin.json"; | ||
import pkg from "./package.json"; | ||
|
||
import pluginJSON from "./plugin.json" | ||
writeFile("./plugin.json", JSON.stringify(siyuan.mergePluginPackage(pkg, pluginJSON), null, 2)); | ||
|
||
const args = minimist(process.argv.slice(2)) | ||
const isWatch = args.watch || args.w || false | ||
const devDistDir = "./dev" | ||
const distDir = isWatch ? devDistDir : "./dev" | ||
const args = minimist(process.argv.slice(2)); | ||
const isWatch = args.watch || args.w || false; | ||
const devDistDir = "./dev"; | ||
const distDir = isWatch ? devDistDir : "./dev"; | ||
|
||
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: [ | ||
viteStaticCopy({ | ||
targets: [ | ||
{ | ||
src: "./README*.md", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./icon.png", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./preview.png", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./plugin.json", | ||
dest: "./", | ||
}, | ||
{ | ||
src: "./src/i18n/**", | ||
dest: "./i18n/", | ||
}, | ||
], | ||
}), | ||
], | ||
plugins: [ | ||
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: true, | ||
// 构建后是否生成 source map 文件 | ||
sourcemap: true, | ||
|
||
// 设置为 false 可以禁用最小化混淆 | ||
// 或是用来指定是应用哪种混淆器 | ||
// boolean | 'terser' | 'esbuild' | ||
// 不压缩,用于调试 | ||
minify: !isWatch, | ||
// 设置为 false 可以禁用最小化混淆 | ||
// 或是用来指定是应用哪种混淆器 | ||
// boolean | 'terser' | 'esbuild' | ||
// 不压缩,用于调试 | ||
minify: !isWatch, | ||
|
||
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: distDir, | ||
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: distDir, | ||
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! | ||
}, | ||
//TODO 这里使用伺服模式有问题,但我不知道如何解决,反正这个功能也基本就开发者使用,就这样吧。 | ||
sourcemapBaseUrl:`http://localhost:6806/plugins/${pluginJSON.name}/`, | ||
sourcemapPathTransform:(sourcePath) => { | ||
return `${pluginJSON.name}/${sourcePath}` | ||
} | ||
}, | ||
output: { | ||
entryFileNames: "[name].js", | ||
assetFileNames: (assetInfo) => { | ||
if (assetInfo.name === "style.css") { | ||
return "index.css"; | ||
} | ||
return assetInfo.name!; | ||
}, | ||
} | ||
}) | ||
//TODO 这里使用伺服模式有问题,但我不知道如何解决,反正这个功能也基本就开发者使用,就这样吧。 | ||
sourcemapBaseUrl: `http://localhost:6806/plugins/${pluginJSON.name}/`, | ||
sourcemapPathTransform: (sourcePath) => { | ||
return `${pluginJSON.name}/${sourcePath}`; | ||
}, | ||
}, | ||
}, | ||
}, | ||
}); |