vite.config.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { defineConfig } from 'vite'
  2. import react from '@vitejs/plugin-react'
  3. import path from 'path'
  4. const bases = {
  5. core: path.resolve(__dirname, '../packages/core/src'),
  6. react: path.resolve(__dirname, '../packages/react/src'),
  7. tldrawLogseq: path.resolve(__dirname, '../apps/tldraw-logseq/src'),
  8. }
  9. // https://vitejs.dev/config/
  10. export default defineConfig({
  11. plugins: [
  12. react({
  13. babel: {
  14. parserOpts: {
  15. plugins: ['decorators-legacy'],
  16. },
  17. plugins: [[require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }]],
  18. },
  19. }),
  20. ],
  21. server: {
  22. port: '3031',
  23. },
  24. resolve: {
  25. alias: [
  26. {
  27. find: 'tldraw-logseq',
  28. replacement: bases.tldrawLogseq,
  29. },
  30. {
  31. find: /~(.*)/,
  32. replacement: '$1',
  33. customResolver: (id, importer) => {
  34. if (id) {
  35. const base = Object.values(bases).find(value => importer.startsWith(value))
  36. return base ? path.join('/@fs', base, id) : null
  37. }
  38. },
  39. },
  40. {
  41. find: '@tldraw/core',
  42. replacement: bases.core,
  43. },
  44. {
  45. find: '@tldraw/react',
  46. replacement: bases.react,
  47. },
  48. ],
  49. },
  50. })