From 114173c91e2b618d25d5c3523505b44cbf686af5 Mon Sep 17 00:00:00 2001 From: Daniel Schreiber Date: Thu, 22 Feb 2024 22:26:52 +0100 Subject: [PATCH] fix: assure in add/update schematics only new buildTarget is used --- schematics/migrations/2_0_0/index.ts | 4 ++-- schematics/ng-add/index.ts | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/schematics/migrations/2_0_0/index.ts b/schematics/migrations/2_0_0/index.ts index aa41da9..e868516 100644 --- a/schematics/migrations/2_0_0/index.ts +++ b/schematics/migrations/2_0_0/index.ts @@ -1,6 +1,5 @@ import {Rule, SchematicContext, SchematicsException, Tree} from '@angular-devkit/schematics'; import {updateWorkspace} from '@schematics/angular/utility/workspace'; -import {buildTargetAttribute} from '../../../src/buildTargetAttribute'; function updateNpmScript(tree: Tree, logger: SchematicContext['logger']) { const pkgPath = '/package.json'; @@ -33,8 +32,9 @@ export default function (): Rule { i18nTarget.builder = 'ng-extract-i18n-merge:ng-extract-i18n-merge'; i18nTarget.options = { ...i18nMergeTarget.options, - [buildTargetAttribute]: i18nTarget.options?.browserTarget ?? i18nTarget.options?.buildTarget ?? `${projectName}:build` + buildTarget: i18nTarget.options?.browserTarget ?? i18nTarget.options?.buildTarget ?? `${projectName}:build` } + delete i18nTarget.options.browserTarget; project.targets.delete('extract-i18n'); // 'project.targets.set' not working!? project.targets.add({name: 'extract-i18n', ...i18nTarget}); project.targets.delete('extract-i18n-merge'); diff --git a/schematics/ng-add/index.ts b/schematics/ng-add/index.ts index ea587a8..d709c6d 100644 --- a/schematics/ng-add/index.ts +++ b/schematics/ng-add/index.ts @@ -4,7 +4,6 @@ import {Schema} from './schema'; import {JsonArray, JsonObject, normalize, Path, relative} from '@angular-devkit/core'; import {Options} from '../../src/options'; -import {buildTargetAttribute} from '../../src/buildTargetAttribute'; function getTargetFiles(i18nExtension: JsonObject | undefined): string[] { const locales = i18nExtension?.locales ? (Object.values(i18nExtension?.locales) as JsonArray | string[] | undefined) : undefined; @@ -95,7 +94,7 @@ export function ngAdd(_options: Schema): Rule { const target = projectWorkspace.targets.get('extract-i18n'); const builderOptions: Partial = { - [buildTargetAttribute]: buildTarget, + buildTarget: buildTarget, format, outputPath, targetFiles: filesWithoutOutputPath ?? []