From 5e2c1588087908dd531a080f58ff26f8ff0c760f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Feb 2023 09:34:35 +0000 Subject: [PATCH] fix(@angular/cli): convert `before` option in `.npmrc` to Date Previously, the `before` option in the npmrc was not converted properly to a date. See: https://docs.npmjs.com/cli/v8/using-npm/config#before Closes #24685 --- packages/angular/cli/src/utilities/package-metadata.ts | 4 ++++ tests/legacy-cli/e2e/tests/commands/add/npm-config.ts | 8 ++++++++ 2 files changed, 12 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/commands/add/npm-config.ts diff --git a/packages/angular/cli/src/utilities/package-metadata.ts b/packages/angular/cli/src/utilities/package-metadata.ts index faded207495f..0d683fedecc5 100644 --- a/packages/angular/cli/src/utilities/package-metadata.ts +++ b/packages/angular/cli/src/utilities/package-metadata.ts @@ -212,6 +212,10 @@ function normalizeOptions( } catch {} } break; + case 'before': + options['before'] = + typeof substitutedValue === 'string' ? new Date(substitutedValue) : substitutedValue; + break; default: options[key] = substitutedValue; break; diff --git a/tests/legacy-cli/e2e/tests/commands/add/npm-config.ts b/tests/legacy-cli/e2e/tests/commands/add/npm-config.ts new file mode 100644 index 000000000000..6f7599e8c00c --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/add/npm-config.ts @@ -0,0 +1,8 @@ +import { writeFile } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; + +export default async function () { + // Works with before option + await writeFile('.npmrc', `before=${new Date().toISOString()}`); + await ng('add', '@angular/pwa', '--skip-confirmation'); +}