diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 0d42112bef..62e941495b 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -130,7 +130,6 @@ ts_library( "@npm//@types/node", "@npm//@types/parse5-html-rewriting-stream", "@npm//@types/postcss-preset-env", - "@npm//@types/rimraf", "@npm//@types/sass", "@npm//@types/semver", "@npm//@types/text-table", @@ -171,7 +170,6 @@ ts_library( "@npm//raw-loader", "@npm//regenerator-runtime", "@npm//resolve-url-loader", - "@npm//rimraf", "@npm//rxjs", "@npm//sass", "@npm//sass-loader", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 8f305010a7..b955639bdc 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -53,7 +53,6 @@ "raw-loader": "4.0.2", "regenerator-runtime": "0.13.7", "resolve-url-loader": "4.0.0", - "rimraf": "3.0.2", "rxjs": "6.6.7", "sass": "1.34.1", "sass-loader": "12.0.0", diff --git a/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts b/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts index 07020fbb43..dd783462e8 100644 --- a/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts +++ b/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts @@ -6,17 +6,17 @@ * found in the LICENSE file at https://angular.io/license */ +import { rmdirSync } from 'fs'; import { resolve } from 'path'; -import * as rimraf from 'rimraf'; /** * Delete an output directory, but error out if it's the root of the project. */ -export function deleteOutputDir(root: string, outputPath: string) { +export function deleteOutputDir(root: string, outputPath: string): void { const resolvedOutputPath = resolve(root, outputPath); if (resolvedOutputPath === root) { throw new Error('Output path MUST not be project root directory!'); } - rimraf.sync(resolvedOutputPath); + rmdirSync(resolvedOutputPath, { recursive: true, maxRetries: 3 }); } diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts index cd8627579a..f747ffae5f 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts @@ -11,7 +11,6 @@ import { json } from '@angular-devkit/core'; import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; -import * as rimraf from 'rimraf'; import { Schema as BrowserBuilderSchema } from '../browser/schema'; import { Schema as ServerBuilderSchema } from '../server/schema'; import { readTsconfig } from '../utils/read-tsconfig'; @@ -268,7 +267,7 @@ export async function configureI18nBuild { try { - rimraf.sync(tempPath); + fs.rmdirSync(tempPath, { recursive: true, maxRetries: 3 }); } catch {} }); }