From 18b4ea1d0aac3aed45faa3783f07a7e84d864f53 Mon Sep 17 00:00:00 2001 From: Manoj Bahuguna Date: Thu, 17 Feb 2022 15:23:07 +0530 Subject: [PATCH] fix(i18n): fix that unable to delete page with SINGLE_FILE i18n structure fixes that getFilePaths returns same path twice when i18n structure is SINGLE_FILE --- .../netlify-cms-core/src/lib/__tests__/i18n.spec.js | 11 +++++++++++ packages/netlify-cms-core/src/lib/i18n.ts | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/packages/netlify-cms-core/src/lib/__tests__/i18n.spec.js b/packages/netlify-cms-core/src/lib/__tests__/i18n.spec.js index 4f91dd88db40..7a8c01b76ff1 100644 --- a/packages/netlify-cms-core/src/lib/__tests__/i18n.spec.js +++ b/packages/netlify-cms-core/src/lib/__tests__/i18n.spec.js @@ -181,6 +181,17 @@ describe('i18n', () => { ), ).toEqual(['src/content/en/index.md', 'src/content/de/index.md']); }); + + it('should return array with single path when structure is I18N_STRUCTURE.SINGLE_FILE', () => { + expect( + i18n.getFilePaths( + fromJS({ + i18n: { structure: i18n.I18N_STRUCTURE.SINGLE_FILE, locales: ['en', 'de'] }, + }), + ...args, + ), + ).toEqual(['src/content/index.md']); + }); }); describe('normalizeFilePath', () => { diff --git a/packages/netlify-cms-core/src/lib/i18n.ts b/packages/netlify-cms-core/src/lib/i18n.ts index b016d2c8f7a2..8c30d806a003 100644 --- a/packages/netlify-cms-core/src/lib/i18n.ts +++ b/packages/netlify-cms-core/src/lib/i18n.ts @@ -114,6 +114,11 @@ export function getFilePaths( slug: string, ) { const { structure, locales } = getI18nInfo(collection) as I18nInfo; + + if (structure === I18N_STRUCTURE.SINGLE_FILE) { + return [path]; + } + const paths = locales.map(locale => getFilePath(structure as I18N_STRUCTURE, extension, path, slug, locale), );