feat: prettier

This commit is contained in:
CaIon 2024-03-23 21:23:39 +08:00
parent 951383c371
commit 15e7307320
3 changed files with 24 additions and 13 deletions

1
web/.prettierrc.mjs Normal file
View File

@ -0,0 +1 @@
module.exports = require("@so1ve/prettier-config");

View File

@ -26,7 +26,8 @@
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "vite build", "build": "vite build",
"lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", "lint": "prettier . --check",
"lint:fix": "prettier . --write",
"preview": "vite preview" "preview": "vite preview"
}, },
"eslintConfig": { "eslintConfig": {
@ -48,8 +49,9 @@
] ]
}, },
"devDependencies": { "devDependencies": {
"@so1ve/prettier-config": "^2.0.0",
"@vitejs/plugin-react": "^4.2.1", "@vitejs/plugin-react": "^4.2.1",
"prettier": "2.8.8", "prettier": "^3.0.0",
"typescript": "4.4.2", "typescript": "4.4.2",
"vite": "^5.2.0" "vite": "^5.2.0"
}, },

View File

@ -1,5 +1,5 @@
import { defineConfig, transformWithEsbuild } from 'vite';
import react from '@vitejs/plugin-react'; import react from '@vitejs/plugin-react';
import { defineConfig, transformWithEsbuild } from 'vite';
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
@ -7,14 +7,16 @@ export default defineConfig({
{ {
name: 'treat-js-files-as-jsx', name: 'treat-js-files-as-jsx',
async transform(code, id) { async transform(code, id) {
if (!id.match(/src\/.*\.js$/)) return null if (!/src\/.*\.js$/.test(id)) {
return null;
}
// Use the exposed transform from vite, instead of directly // Use the exposed transform from vite, instead of directly
// transforming with esbuild // transforming with esbuild
return transformWithEsbuild(code, id, { return transformWithEsbuild(code, id, {
loader: 'jsx', loader: 'jsx',
jsx: 'automatic', jsx: 'automatic',
}) });
}, },
}, },
react(), react(),
@ -33,10 +35,16 @@ export default defineConfig({
manualChunks: { manualChunks: {
'react-core': ['react', 'react-dom', 'react-router-dom'], 'react-core': ['react', 'react-dom', 'react-router-dom'],
'semi-ui': ['@douyinfe/semi-icons', '@douyinfe/semi-ui'], 'semi-ui': ['@douyinfe/semi-icons', '@douyinfe/semi-ui'],
'semantic': ['semantic-ui-offline', 'semantic-ui-react'], semantic: ['semantic-ui-offline', 'semantic-ui-react'],
'visactor': ['@visactor/react-vchart', '@visactor/vchart'], visactor: ['@visactor/react-vchart', '@visactor/vchart'],
'tools': ['axios', 'history', 'marked'], tools: ['axios', 'history', 'marked'],
'react-components': ['react-dropzone', 'react-fireworks', 'react-telegram-login', 'react-toastify', 'react-turnstile'], 'react-components': [
'react-dropzone',
'react-fireworks',
'react-telegram-login',
'react-toastify',
'react-turnstile',
],
}, },
}, },
}, },
@ -44,9 +52,9 @@ export default defineConfig({
server: { server: {
proxy: { proxy: {
'/api': { '/api': {
target: "http://localhost:3000", target: 'http://localhost:3000',
changeOrigin: true, changeOrigin: true,
} },
} },
} },
}); });