From 7d836b8ddc53b551d00a66d0e8d37fde0d56a150 Mon Sep 17 00:00:00 2001 From: Rohit Rajendran Date: Wed, 10 May 2023 22:43:12 -0400 Subject: [PATCH 1/4] feat: support finding source file when index of folder --- packages/runtime/src/helpers/files.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/runtime/src/helpers/files.ts b/packages/runtime/src/helpers/files.ts index cfbb25f353..4e747df403 100644 --- a/packages/runtime/src/helpers/files.ts +++ b/packages/runtime/src/helpers/files.ts @@ -353,6 +353,11 @@ export const getSourceFileForPage = (page: string, roots: string[], pageExtensio if (existsSync(file)) { return file } + + const fileAtFolderIndex = join(root, page, `index.${extension}`) + if (existsSync(fileAtFolderIndex)) { + return fileAtFolderIndex + } } } console.log('Could not find source file for page', page) From 66612f0ba78a8cf150a9c4c9e48efb6867b8235c Mon Sep 17 00:00:00 2001 From: Rohit Rajendran Date: Wed, 10 May 2023 22:43:19 -0400 Subject: [PATCH 2/4] chore: add tests --- .../page-extensions/index/pages/api/index/index.js | 1 + test/helpers/files.spec.ts | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 test/fixtures/page-extensions/index/pages/api/index/index.js diff --git a/test/fixtures/page-extensions/index/pages/api/index/index.js b/test/fixtures/page-extensions/index/pages/api/index/index.js new file mode 100644 index 0000000000..172f1ae6a4 --- /dev/null +++ b/test/fixtures/page-extensions/index/pages/api/index/index.js @@ -0,0 +1 @@ +// noop diff --git a/test/helpers/files.spec.ts b/test/helpers/files.spec.ts index 02672a3958..dda1ef0fe1 100644 --- a/test/helpers/files.spec.ts +++ b/test/helpers/files.spec.ts @@ -237,4 +237,13 @@ describe('getSourceFileForPage', () => { expect(filePath.replace(TEST_DIR, '')).toBe('/fixtures/page-extensions/custom/pages/api/custom.api.js') }) + + it("handles getting file when index of folder", () => { + const pagesDir = resolve(__dirname, '../fixtures/page-extensions/index/pages') + const apiRoute = '/api/index' + + const filePath = getSourceFileForPage(apiRoute, [pagesDir]) + + expect(filePath.replace(TEST_DIR, '')).toBe('/fixtures/page-extensions/default/pages/api/index/index.api.js') + }) }) From 40a321d19b46ec987c1099d720045ea4ea789da7 Mon Sep 17 00:00:00 2001 From: Rohit Rajendran Date: Wed, 10 May 2023 22:51:13 -0400 Subject: [PATCH 3/4] fix: fix prettier error --- test/helpers/files.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/helpers/files.spec.ts b/test/helpers/files.spec.ts index dda1ef0fe1..3777c5eb4d 100644 --- a/test/helpers/files.spec.ts +++ b/test/helpers/files.spec.ts @@ -238,7 +238,7 @@ describe('getSourceFileForPage', () => { expect(filePath.replace(TEST_DIR, '')).toBe('/fixtures/page-extensions/custom/pages/api/custom.api.js') }) - it("handles getting file when index of folder", () => { + it('handles getting file when index of folder', () => { const pagesDir = resolve(__dirname, '../fixtures/page-extensions/index/pages') const apiRoute = '/api/index' From 2b886a0082fc6dc82e1559f9fdd3590cdde0936e Mon Sep 17 00:00:00 2001 From: Rohit Rajendran Date: Thu, 11 May 2023 08:42:06 -0400 Subject: [PATCH 4/4] Update test/helpers/files.spec.ts Co-authored-by: Michal Piechowiak --- test/helpers/files.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/helpers/files.spec.ts b/test/helpers/files.spec.ts index 3777c5eb4d..019dd38b64 100644 --- a/test/helpers/files.spec.ts +++ b/test/helpers/files.spec.ts @@ -244,6 +244,6 @@ describe('getSourceFileForPage', () => { const filePath = getSourceFileForPage(apiRoute, [pagesDir]) - expect(filePath.replace(TEST_DIR, '')).toBe('/fixtures/page-extensions/default/pages/api/index/index.api.js') + expect(filePath.replace(TEST_DIR, '')).toBe('/fixtures/page-extensions/index/pages/api/index/index.js') }) })