import pc from 'picocolors';
import {DEPENDENCIES} from '../../../../src/dependencies';
import {
  Framework,
  FrameworkTypes,
  FrameworkVariants,
} from '../../../../src/interfaces';
import {SharedTemplates} from '../../../../src/generatedTemplatesList';

const CONFIG: Framework = {
  type: FrameworkTypes.CLIENT,
  name: 'vanilla',
  display: 'Vanilla',
  color: pc.yellow,
  sdkUri: 'http://localhost:3000',
  redirectUri: '',
  scopes: ['boards:read', 'boards:write'],
  templates: [
    SharedTemplates.Client,
    SharedTemplates.ClientAssets,
    SharedTemplates.Vite,
  ],
  customPackageJSONFields: {
    scripts: {
      start: 'vite',
      build: 'vite build',
      serve: 'vite preview',
    },
    dependencies: {
      ...DEPENDENCIES.mirotone,
    },
    devDependencies: {
      vite: '3.0.3',
    },
  },
  variants: [
    {
      name: FrameworkVariants.js,
      display: 'JavaScript',
      color: pc.yellow,
      deps: {},
    },
    {
      name: FrameworkVariants.ts,
      display: 'TypeScript',
      color: pc.blue,
      deps: {
        devDependencies: {
          ...DEPENDENCIES.miroWebSdkTypes,
          ...DEPENDENCIES.typescript,
        },
      },
    },
  ],
};

export default CONFIG;
