From 028e29f4c0f0973603f0ecae4b4f38735cfeacff Mon Sep 17 00:00:00 2001 From: Roberto Redradix Date: Tue, 22 Aug 2023 17:48:08 +0200 Subject: [PATCH] chore(cli): avoid creating a static array instance for base config The `pages` property is overwritten at `validateAndNormalizePenpotExportConfig` to avoid an infinite loop. Remove that possibility altogether. --- packages/penpot-css-export/src/lib/config.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/penpot-css-export/src/lib/config.ts b/packages/penpot-css-export/src/lib/config.ts index 3c2d2df..ef501d8 100644 --- a/packages/penpot-css-export/src/lib/config.ts +++ b/packages/penpot-css-export/src/lib/config.ts @@ -1,8 +1,7 @@ import { Config, PagesConfig } from './types' -const CONFIG: Config = { +const BASE_CONFIG: Omit = { accessToken: '', - pages: [], } const PAGES_CONFIG: PagesConfig = { @@ -40,7 +39,12 @@ export function validateAndNormalizePenpotExportConfig(config: Config): Config { throw new MissingAccessTokenError() } - let normalizedConfig: Config = { ...CONFIG, ...config, pages: [] } + let normalizedConfig: Config = { + ...BASE_CONFIG, + ...config, + pages: [], + } + for (const [index, page] of config.pages.entries()) { if (!page.output) {