add obsidian eslint plugin, solve major issues
This commit is contained in:
parent
84214a1c3c
commit
498e2611ae
105 changed files with 5702 additions and 5308 deletions
84
vite.config.mts
Normal file
84
vite.config.mts
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
import { UserConfig, defineConfig } from 'vite';
|
||||
import solid from 'vite-plugin-solid';
|
||||
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
||||
import banner from 'vite-plugin-banner';
|
||||
import path from 'path';
|
||||
import { builtinModules } from 'node:module';
|
||||
import { dtsBundlePlugin, getBuildBanner } from '@lemons_dev/lemons-obsidian-plugin-automation';
|
||||
import manifest from './manifest.json' with { type: 'json' };
|
||||
|
||||
const entryFile = 'packages/obsidian/src/main.ts';
|
||||
|
||||
export default defineConfig(async ({ mode }) => {
|
||||
const prod = mode === 'production';
|
||||
const outDir = prod ? 'dist/' : `exampleVault/.obsidian/plugins/${manifest.id}/`;
|
||||
|
||||
let plugins = [
|
||||
solid(),
|
||||
banner({
|
||||
outDir: outDir,
|
||||
content: getBuildBanner(prod ? 'Release Build' : 'Dev Build', version => version),
|
||||
}),
|
||||
viteStaticCopy({
|
||||
targets: [
|
||||
{
|
||||
src: 'manifest.json',
|
||||
dest: outDir,
|
||||
},
|
||||
],
|
||||
}),
|
||||
];
|
||||
|
||||
return {
|
||||
plugins: plugins,
|
||||
resolve: {
|
||||
alias: {
|
||||
packages: path.resolve(__dirname, './packages'),
|
||||
},
|
||||
},
|
||||
define: {
|
||||
// Disable all logs and debug statements in production, but keep warnings and errors
|
||||
__LOG_LEVEL__: prod ? 2 : 4,
|
||||
},
|
||||
build: {
|
||||
lib: {
|
||||
entry: path.resolve(__dirname, entryFile),
|
||||
name: 'main',
|
||||
fileName: () => 'main.js',
|
||||
formats: ['cjs'],
|
||||
},
|
||||
minify: prod,
|
||||
target: 'es2022',
|
||||
sourcemap: prod ? false : 'inline',
|
||||
cssCodeSplit: false,
|
||||
emptyOutDir: false,
|
||||
outDir: '',
|
||||
rolldownOptions: {
|
||||
input: {
|
||||
main: path.resolve(__dirname, entryFile),
|
||||
},
|
||||
output: {
|
||||
dir: outDir,
|
||||
entryFileNames: 'main.js',
|
||||
assetFileNames: 'styles.css',
|
||||
},
|
||||
external: [
|
||||
'obsidian',
|
||||
'electron',
|
||||
'@codemirror/autocomplete',
|
||||
'@codemirror/collab',
|
||||
'@codemirror/commands',
|
||||
'@codemirror/language',
|
||||
'@codemirror/lint',
|
||||
'@codemirror/search',
|
||||
'@codemirror/state',
|
||||
'@codemirror/view',
|
||||
'@lezer/common',
|
||||
'@lezer/highlight',
|
||||
'@lezer/lr',
|
||||
...builtinModules,
|
||||
],
|
||||
},
|
||||
},
|
||||
} as UserConfig;
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue