import chalk from 'chalk';
import { readdirSync } from 'fs';
import { join } from 'path';
import proxy from './proxy';

const headPkgList = [];

const pkgList = ['base-components', 'extend-components']
  .map((dir) => {
    const list = readdirSync(join(__dirname, '../packages', dir)).map((item) => item + `!${dir}`);
    return list.filter((pkg) => pkg.charAt(0) !== '.' && !headPkgList.includes(pkg));
  })
  .flat();

const alias = pkgList.reduce((pre, pkg) => {
  const path = pkg.split('!');
  pre[`@wisdom-components/pro-${path[0]}`] = join(
    __dirname,
    '../packages',
    path[1],
    path[0],
    'src',
  );
  return {
    ...pre,
  };
}, {});

console.log(`🌼 alias list \n${chalk.blue(Object.keys(alias).join('\n'))}`);

const tailPkgList = pkgList
  .map((pkg) => {
    const path = pkg.split('!');
    return [
      join('packages', path[1], path[0], 'src'),
      join('packages', path[0], 'src', 'components'),
    ];
  })
  .reduce((acc, val) => acc.concat(val), []);

export default {
  title: 'panda-components',
  mode: 'site',
  logo: 'https://panda-water.cn/web4/assets/images/logo/单独图案-蓝绿色.svg',
  extraBabelPlugins: [
    [
      'import',
      {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: true,
      },
    ],
  ],
  alias,
  resolve: { includes: [...tailPkgList, 'docs'] },
  navs: [
    null,
    {
      title: 'Gitlab',
      path: 'https://g.civnet.cn:8443/test/winsdom-components',
    },
  ],
  hash: true,
  ssr: {
    devServerRender: false,
  },
  targets: {
    chrome: 80,
    firefox: false,
    safari: false,
    edge: false,
    ios: false,
  },
  dynamicImport: {},
  theme: {
    '@s-site-menu-width': '258px',
  },
  links:
    process.env.NODE_ENV === 'development'
      ? ['https://gw.alipayobjects.com/os/lib/antd/4.6.6/dist/antd.css']
      : [],
  scripts: [{ src: '/JessibucaVideo/jessibuca.js', defer: true }],
  menus: {
    '/components': [
      {
        title: '布局',
        children: ['Empty'],
      },
      {
        title: '通用',
        children: [
          'BasicChart',
          'BasicTable',
          'BasicTools',
          'ImageSelect',
          'QuotaSelect',
          'TimeRangePicker',
          'MqttView',
          'ExportExcel',
          'LoadBox',
          'TipTool',
          'RichText',
          'DatePickerCustom',
          'SelectCustom',
          'TreeCustom',
          'AlarmScrollAssembly',
          'DataCarousel',
          'VmsVideo',
          'VideoSliderModal',
        ],
      },
      {
        title: '数据录入',
        children: ['ParseForm'],
      },
      {
        title: '数据展示',
        children: ['DeviceTree', 'RealTimeInfo', 'HistoryInfo'],
      },
    ],
    '/extend-components': [
      {
        title: '业务数据展示',
        children: [
          'EC_DeviceTree',
          'EC_QuotaSelect',
          'EC_HistoryInfo',
          'EC_RealTimeInfo',
          'EC_ConfigurationView',
          'EC_HistoryView',
        ],
      },
    ],
  },
  proxy,
  define: {
    DUMI_TYPE: 'dumi',
  },
};