/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/generator-jhipster-angular-material-integration@1.0.17/generators/app/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
const chalk=require("chalk"),packagejs=require("../../package.json"),semver=require("semver"),BaseGenerator=require("generator-jhipster/generators/generator-base"),jhipsterConstants=require("generator-jhipster/generators/generator-constants"),jhipsterUtils=require("generator-jhipster/generators/utils");module.exports=class extends BaseGenerator{get initializing(){return{init(e){},readConfig(){this.jhipsterAppConfig=this.getAllJhipsterConfig(),this.jhipsterAppConfig||this.error("Can't read .yo-rc.json")},displayLogo(){this.printJHipsterLogo(),this.log(`\nWelcome to the ${chalk.bold.yellow("JHipster angular-material-integration")} generator! ${chalk.yellow(`v${packagejs.version}\n`)}`)},checkJhipster(){const e=this.jhipsterAppConfig.jhipsterVersion,t=packagejs.dependencies["generator-jhipster"];semver.satisfies(e,t)||this.warning(`\nYour generated project used an old JHipster version (${e})... you need at least (${t})\n`)}}}writing(){this.template=function(e,t){this.fs.copyTpl(this.templatePath(e),this.destinationPath(t),this)},this.baseName=this.jhipsterAppConfig.baseName,this.packageName=this.jhipsterAppConfig.packageName,this.packageFolder=this.jhipsterAppConfig.packageFolder,this.clientFramework=this.jhipsterAppConfig.clientFramework,this.clientPackageManager=this.jhipsterAppConfig.clientPackageManager,this.buildTool=this.jhipsterAppConfig.buildTool,this.angularAppName=this.getAngularAppName();jhipsterConstants.SERVER_MAIN_SRC_DIR,this.packageFolder,jhipsterConstants.SERVER_MAIN_RES_DIR;const e=jhipsterConstants.CLIENT_MAIN_SRC_DIR;if("angularX"===this.clientFramework||"angular2"===this.clientFramework){this.template("jh-material.module.ts",`${e}app/shared/jh-material.module.ts`),jhipsterUtils.rewriteFile({file:`${e}app/app.module.ts`,needle:"jhipster-needle-angular-add-module-import",splicable:["import { BrowserAnimationsModule } from '@angular/platform-browser/animations';"]},this),jhipsterUtils.rewriteFile({file:`${e}app/app.module.ts`,needle:"jhipster-needle-angular-add-module-import",splicable:["import {FlexLayoutModule} from '@angular/flex-layout';"]},this),jhipsterUtils.rewriteFile({file:`${e}app/app.module.ts`,needle:"jhipster-needle-angular-add-module-import",splicable:["import 'hammerjs';"]},this),jhipsterUtils.rewriteFile({file:`${e}content/scss/vendor.scss`,needle:"jhipster-needle-scss-add-vendor",splicable:['@import "~@angular/material/prebuilt-themes/indigo-pink.css";']},this),jhipsterUtils.rewriteFile({file:`${e}app/shared/shared.module.ts`,needle:"@NgModule({",splicable:["import {JhMaterialModule} from 'app/shared/jh-material.module';"]},this),jhipsterUtils.rewriteFile({file:`${e}index.html`,needle:"jhipster-needle-add-resources-to-root",splicable:['<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">']},this),jhipsterUtils.rewriteFile({file:`${e}app/shared/shared-libs.module.ts`,needle:"@NgModule({",splicable:["import { ReactiveFormsModule } from '@angular/forms';"]},this);var t=(a=this.fs.read(`${e}app/shared/shared.module.ts`).replace("imports: [","imports: [JhMaterialModule, ")).replace("exports: [","exports: [JhMaterialModule, ");this.fs.write(`${e}app/shared/shared.module.ts`,t);t=(a=this.fs.read(`${e}app/shared/shared-libs.module.ts`).replace("    ],exports: [",",ReactiveFormsModule],exports: [")).replace("exports: [","exports: [ReactiveFormsModule, ");this.fs.write(`${e}app/shared/shared-libs.module.ts`,t);var a=this.fs.read(`${e}app/app.module.ts`).replace("BrowserModule,","BrowserModule,\n        BrowserAnimationsModule,\n        FlexLayoutModule,");this.fs.write(`${e}app/app.module.ts`,a),this.addNpmDependency("@angular/animations","latest"),this.addNpmDependency("hammerjs","latest"),this.addNpmDependency("@angular/material","latest"),this.addNpmDependency("@angular/cdk","latest"),this.addNpmDependency("@angular/flex-layout","latest")}else this.log("Error : You cannot install Angular Material to this project because you are not using Angular.")}install(){let e=`To install your dependencies manually, run: ${chalk.yellow.bold(`${this.clientPackageManager} install`)}`;"angular1"===this.clientFramework&&(e=`To install your dependencies manually, run: ${chalk.yellow.bold(`${this.clientPackageManager} install & bower install`)}`);const t={bower:"angular1"===this.clientFramework,npm:"yarn"!==this.clientPackageManager,yarn:"yarn"===this.clientPackageManager,callback:t=>{t?(this.warning("Install of dependencies failed!"),this.log(e)):"angular1"===this.clientFramework&&this.spawnCommand("gulp",["install"])}};this.options["skip-install"]?this.log(e):this.installDependencies(t)}end(){this.log("End of angular-material-integration generator")}};
//# sourceMappingURL=/sm/73ec7417d7024e24437129984a31155e63c00075f5f173c746173fa0769046c6.map