From b7f7497a1fb3bda3d6db33ee4b705d30c16a14fa Mon Sep 17 00:00:00 2001 From: Austin Date: Thu, 28 Jun 2018 13:42:19 -0500 Subject: [PATCH] fix(schematics): add parse5 dep (#11647) --- package.json | 3 +++ src/lib/schematics/install/index.ts | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 54cf067e9bdd..b99b1a34c56e 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,9 @@ "tslib": "^1.9.0", "zone.js": "^0.8.26" }, + "optionalDependencies": { + "parse5": "^5.0.0" + }, "devDependencies": { "@angular-devkit/core": "^0.5.12", "@angular-devkit/schematics": "^0.5.12", diff --git a/src/lib/schematics/install/index.ts b/src/lib/schematics/install/index.ts index 649047033629..4539cfc7513d 100644 --- a/src/lib/schematics/install/index.ts +++ b/src/lib/schematics/install/index.ts @@ -1,4 +1,4 @@ -import {chain, noop, Rule, Tree, SchematicContext} from '@angular-devkit/schematics'; +import {chain, noop, Rule, Tree, SchematicContext, SchematicsException} from '@angular-devkit/schematics'; import {NodePackageInstallTask} from '@angular-devkit/schematics/tasks'; import {addModuleImportToRootModule, getStylesPath} from '../utils/ast'; import {InsertChange} from '../utils/devkit-utils/change'; @@ -8,6 +8,7 @@ import {angularVersion, materialVersion} from '../utils/lib-versions'; import {addPackageToPackageJson} from '../utils/package'; import {Schema} from './schema'; import {addThemeToAppStyles} from './theming'; +import * as parse5 from 'parse5'; /** @@ -17,6 +18,10 @@ import {addThemeToAppStyles} from './theming'; * - Adds Browser Animation to app.momdule */ export default function(options: Schema): Rule { + if (!parse5) { + throw new SchematicsException('parse5 depedency not found! Please install parse5 from npm to continue.'); + } + return chain([ options && options.skipPackageJson ? noop() : addMaterialToPackageJson(), addThemeToAppStyles(options),