text: const path = require('path')
  const { babel } = require('@rollup/plugin-babel')
  const createDemoPlugin = require('./build/vite-plugin-demo')
  
  /**
   * @type {import('vite').UserConfig}
   */
  module.exports = {
    root: __dirname,
    plugins: createDemoPlugin(),
    resolve: {
      // In production site build, we want to import naive-ui from node_modules
      alias:
        process.env.NODE_ENV !== 'production'
          ? [
              {
                find: 'naive-ui',
                replacement: path.resolve(__dirname, './src')
              }
            ]
          : undefined
    },
    define: {
      'process.env.NODE_ENV': `'${process.env.NODE_ENV}'`,
      'process.env.TUSIMPLE': !!process.env.TUSIMPLE,
      __DEV__: process.env.NODE_ENV !== 'production'
    },
    optimizeDeps: {
      include: [
        '@css-render/plugin-bem',
        'async-validator',
        'css-render',
        'date-fns',
        'evtd',
        'highlight.js',
        'lodash-es',
        'seemly',
        'treemate',
        'vdirs',
        'vooks',
        'vue',
        'vue-router',
        'vueuc',
        '@css-render/vue3-ssr',
        'date-fns-tz',
        'codesandbox/lib/api/define',
        'highlight.js/lib/core',
        'highlight.js/lib/languages/javascript',
        'highlight.js/lib/languages/python',
        'highlight.js/lib/languages/cpp',
        'highlight.js/lib/languages/xml',
        '@vicons/ionicons5',
        '@vicons/ionicons4',
        'date-fns/locale/nb',
        'date-fns/locale/fr',
        'date-fns/locale/id',
        'date-fns/locale/de',
        'date-fns/locale/ja',
        'date-fns/locale/zh-CN',
        'date-fns/locale/en-US',
        'date-fns/locale/ru',
        'date-fns/locale/uk',
        'date-fns/locale/zh-TW',
        'date-fns/locale/es',
        'date-fns/locale/it'
      ],
      exclude: ['__INDEX__']
    },
    build: {
      outDir: 'site',
      rollupOptions: {
        output: {
          manualChunks: {
            axios: ['axios']
          }
        },
        plugins: [
          babel({
            babelHelpers: 'bundled'
          })
        ]
      }
    },
    esbuild: {
      jsxFactory: 'h',
      jsxFragment: 'Fragment'
    }
  }
  