import { Tree } from '@angular-devkit/schematics';
import { addPackage } from './package-config';

// eslint-disable-next-line @typescript-eslint/no-require-imports
const VERSION = require('../package.json').version;

/** Add dependencies to package.json */
export function addKeyPkgsToPackageJson(host: Tree) {
  addPackage(host, '@angular/cdk@^20.0.2');
  addPackage(host, 'parse5@^7.2.0', 'dev');
  addPackage(host, `ng-matero@^${VERSION}`);
}

/** Add dependencies to package.json */
export function add3rdPkgsToPackageJson(host: Tree) {
  addPackage(host, '@angular/animations@^20.0.2');
  addPackage(host, '@angular/material@^20.0.2');
  addPackage(host, '@angular/material-date-fns-adapter@^20.0.2');

  // 3rd lib
  addPackage(host, '@ng-matero/extensions@^20.0.0');
  addPackage(host, '@ng-matero/extensions-date-fns-adapter@^20.0.0');
  addPackage(host, '@ngx-formly/core@^7.0.0');
  addPackage(host, '@ngx-formly/material@^7.0.0');
  addPackage(host, '@ngx-translate/core@^16.0.0');
  addPackage(host, '@ngx-translate/http-loader@^16.0.0');
  addPackage(host, 'date-fns@^4.1.0');
  addPackage(host, 'ngx-permissions@^19.0.0');
  addPackage(host, 'ngx-progressbar@^14.0.0');
  addPackage(host, 'ngx-toastr@^19.0.0');
  addPackage(host, 'photoviewer@^3.10.3');
  addPackage(host, 'screenfull@^6.0.2');

  // Dev
  addPackage(host, 'angular-eslint@^20.0.0', 'dev');
  addPackage(host, 'eslint@^9.28.0', 'dev');
  addPackage(host, 'prettier@^3.5.3', 'dev');
  addPackage(host, 'stylelint@^16.20.0', 'dev');
  addPackage(host, 'stylelint-config-recess-order@^6.0.0', 'dev');
  addPackage(host, 'stylelint-config-recommended-scss@^15.0.0', 'dev');
  addPackage(host, 'stylelint-config-standard@^38.0.0', 'dev');
  addPackage(host, 'typescript-eslint@^8.34.0', 'dev');
}
