import * as plugins from './mod.plugins.js';
import { Project } from '../classes.project.js';

export let run = async (writeArg: boolean = true): Promise<any> => {
  const project = await Project.fromCwd();

  // cleanup
  const formatCleanup = await import('./format.cleanup.js');
  await formatCleanup.run(project);

  // npmextra
  const formatNpmextra = await import('./format.npmextra.js');
  await formatNpmextra.run(project);

  // license
  const formatLicense = await import('./format.license.js');
  await formatLicense.run(project);

  // format package.json
  const formatPackageJson = await import('./format.packagejson.js');
  await formatPackageJson.run(project);

  // format .gitlab-ci.yml
  const formatTemplates = await import('./format.templates.js');
  await formatTemplates.run(project);

  // format .gitignore
  const formatGitignore = await import('./format.gitignore.js');
  await formatGitignore.run(project);

  // format TypeScript
  const formatTsConfig = await import('./format.tsconfig.js');
  await formatTsConfig.run(project);
  const formatPrettier = await import('./format.prettier.js');
  await formatPrettier.run(project);

  // format readme.md
  const formatReadme = await import('./format.readme.js');
  await formatReadme.run();
};