diff options
author | 2023-09-21 11:05:33 +0530 | |
---|---|---|
committer | 2023-09-21 07:35:33 +0200 | |
commit | 4398e929877dfadd2067af28413284afdfde9d8b (patch) | |
tree | e88374036e90a8abe93755db5f7deabfdf7a6a48 | |
parent | b4034aabeab80670c745edbdc331560402ef35c3 (diff) | |
download | astro-4398e929877dfadd2067af28413284afdfde9d8b.tar.gz astro-4398e929877dfadd2067af28413284afdfde9d8b.tar.zst astro-4398e929877dfadd2067af28413284afdfde9d8b.zip |
fix(middleware): undo config's path to URL encoding (#8614)
* fix(middleware): undo config's path to URL encoding
* add changeset
* middleware-dev => "middleware space"
Diffstat (limited to '')
-rw-r--r-- | .changeset/tidy-kiwis-lick.md | 5 | ||||
-rw-r--r-- | packages/astro/src/core/build/plugins/plugin-middleware.ts | 2 | ||||
-rw-r--r-- | packages/astro/src/core/middleware/loadMiddleware.ts | 2 | ||||
-rw-r--r-- | packages/astro/test/featuresSupport.test.js | 4 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/package.json (renamed from packages/astro/test/fixtures/middleware-dev/package.json) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/middleware.js (renamed from packages/astro/test/fixtures/middleware-dev/src/middleware.js) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/404.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/404.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/api/endpoint.js (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/api/endpoint.js) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/broken-500.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/broken-500.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/broken-locals.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/broken-locals.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/clone.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/clone.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/does-nothing.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/does-nothing.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/index.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/index.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/lorem.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/lorem.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/not-interested.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/not-interested.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/redirect.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/redirect.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/rewrite.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/rewrite.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/fixtures/middleware space/src/pages/second.astro (renamed from packages/astro/test/fixtures/middleware-dev/src/pages/second.astro) | 0 | ||||
-rw-r--r-- | packages/astro/test/middleware.test.js | 8 | ||||
-rw-r--r-- | pnpm-lock.yaml | 2 |
20 files changed, 14 insertions, 9 deletions
diff --git a/.changeset/tidy-kiwis-lick.md b/.changeset/tidy-kiwis-lick.md new file mode 100644 index 000000000..14a5284dd --- /dev/null +++ b/.changeset/tidy-kiwis-lick.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Fixed an issue where spaces and unicode characters in project path prevented middleware from running. diff --git a/packages/astro/src/core/build/plugins/plugin-middleware.ts b/packages/astro/src/core/build/plugins/plugin-middleware.ts index 47ff4b863..22d3f795b 100644 --- a/packages/astro/src/core/build/plugins/plugin-middleware.ts +++ b/packages/astro/src/core/build/plugins/plugin-middleware.ts @@ -25,7 +25,7 @@ export function vitePluginMiddleware( async resolveId(id) { if (id === MIDDLEWARE_MODULE_ID) { const middlewareId = await this.resolve( - `${opts.settings.config.srcDir.pathname}/${MIDDLEWARE_PATH_SEGMENT_NAME}` + `${decodeURI(opts.settings.config.srcDir.pathname)}${MIDDLEWARE_PATH_SEGMENT_NAME}` ); if (middlewareId) { resolvedMiddlewareId = middlewareId.id; diff --git a/packages/astro/src/core/middleware/loadMiddleware.ts b/packages/astro/src/core/middleware/loadMiddleware.ts index 9a7f3e4bc..b8528eb4b 100644 --- a/packages/astro/src/core/middleware/loadMiddleware.ts +++ b/packages/astro/src/core/middleware/loadMiddleware.ts @@ -12,7 +12,7 @@ export async function loadMiddleware( srcDir: AstroSettings['config']['srcDir'] ) { // can't use node Node.js builtins - let middlewarePath = srcDir.pathname + '/' + MIDDLEWARE_PATH_SEGMENT_NAME; + let middlewarePath = `${decodeURI(srcDir.pathname)}${MIDDLEWARE_PATH_SEGMENT_NAME}`; try { const module = await moduleLoader.import(middlewarePath); return module; diff --git a/packages/astro/test/featuresSupport.test.js b/packages/astro/test/featuresSupport.test.js index fba8da475..c25d9d5f8 100644 --- a/packages/astro/test/featuresSupport.test.js +++ b/packages/astro/test/featuresSupport.test.js @@ -8,7 +8,7 @@ describe('Adapter', () => { it("should error if the adapter doesn't support edge middleware", async () => { try { fixture = await loadFixture({ - root: './fixtures/middleware-dev/', + root: './fixtures/middleware space/', output: 'server', build: { excludeMiddleware: true, @@ -32,7 +32,7 @@ describe('Adapter', () => { it("should error if the adapter doesn't support split build", async () => { try { fixture = await loadFixture({ - root: './fixtures/middleware-dev/', + root: './fixtures/middleware space/', output: 'server', build: { split: true, diff --git a/packages/astro/test/fixtures/middleware-dev/package.json b/packages/astro/test/fixtures/middleware space/package.json index bc889aa63..bc889aa63 100644 --- a/packages/astro/test/fixtures/middleware-dev/package.json +++ b/packages/astro/test/fixtures/middleware space/package.json diff --git a/packages/astro/test/fixtures/middleware-dev/src/middleware.js b/packages/astro/test/fixtures/middleware space/src/middleware.js index eeb902fb8..eeb902fb8 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/middleware.js +++ b/packages/astro/test/fixtures/middleware space/src/middleware.js diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/404.astro b/packages/astro/test/fixtures/middleware space/src/pages/404.astro index ea85d240c..ea85d240c 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/404.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/404.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/api/endpoint.js b/packages/astro/test/fixtures/middleware space/src/pages/api/endpoint.js index 69d989bc0..69d989bc0 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/api/endpoint.js +++ b/packages/astro/test/fixtures/middleware space/src/pages/api/endpoint.js diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/broken-500.astro b/packages/astro/test/fixtures/middleware space/src/pages/broken-500.astro index e69de29bb..e69de29bb 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/broken-500.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/broken-500.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/broken-locals.astro b/packages/astro/test/fixtures/middleware space/src/pages/broken-locals.astro index e69de29bb..e69de29bb 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/broken-locals.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/broken-locals.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/clone.astro b/packages/astro/test/fixtures/middleware space/src/pages/clone.astro index 28abcb902..28abcb902 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/clone.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/clone.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/does-nothing.astro b/packages/astro/test/fixtures/middleware space/src/pages/does-nothing.astro index 344b3797b..344b3797b 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/does-nothing.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/does-nothing.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/index.astro b/packages/astro/test/fixtures/middleware space/src/pages/index.astro index 395a4d695..395a4d695 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/index.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/index.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/lorem.astro b/packages/astro/test/fixtures/middleware space/src/pages/lorem.astro index c6edf9cd7..c6edf9cd7 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/lorem.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/lorem.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/not-interested.astro b/packages/astro/test/fixtures/middleware space/src/pages/not-interested.astro index 344b3797b..344b3797b 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/not-interested.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/not-interested.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/redirect.astro b/packages/astro/test/fixtures/middleware space/src/pages/redirect.astro index e69de29bb..e69de29bb 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/redirect.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/redirect.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/rewrite.astro b/packages/astro/test/fixtures/middleware space/src/pages/rewrite.astro index f7f70dc88..f7f70dc88 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/rewrite.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/rewrite.astro diff --git a/packages/astro/test/fixtures/middleware-dev/src/pages/second.astro b/packages/astro/test/fixtures/middleware space/src/pages/second.astro index c6edf9cd7..c6edf9cd7 100644 --- a/packages/astro/test/fixtures/middleware-dev/src/pages/second.astro +++ b/packages/astro/test/fixtures/middleware space/src/pages/second.astro diff --git a/packages/astro/test/middleware.test.js b/packages/astro/test/middleware.test.js index 9ca4841d4..81f167647 100644 --- a/packages/astro/test/middleware.test.js +++ b/packages/astro/test/middleware.test.js @@ -12,7 +12,7 @@ describe('Middleware in DEV mode', () => { before(async () => { fixture = await loadFixture({ - root: './fixtures/middleware-dev/', + root: './fixtures/middleware space/', }); devServer = await fixture.startDevServer(); }); @@ -116,7 +116,7 @@ describe('Middleware API in PROD mode, SSR', () => { before(async () => { fixture = await loadFixture({ - root: './fixtures/middleware-dev/', + root: './fixtures/middleware space/', output: 'server', adapter: testAdapter({}), }); @@ -223,7 +223,7 @@ describe('Middleware API in PROD mode, SSR', () => { it('the integration should receive the path to the middleware', async () => { fixture = await loadFixture({ - root: './fixtures/middleware-dev/', + root: './fixtures/middleware space/', output: 'server', build: { excludeMiddleware: true, @@ -275,7 +275,7 @@ describe('Middleware, split middleware option', () => { before(async () => { fixture = await loadFixture({ - root: './fixtures/middleware-dev/', + root: './fixtures/middleware space/', output: 'server', build: { excludeMiddleware: true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1aebf6930..eb5e684fa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2847,7 +2847,7 @@ importers: specifier: workspace:* version: link:../../.. - packages/astro/test/fixtures/middleware-dev: + packages/astro/test/fixtures/middleware space: dependencies: astro: specifier: workspace:* |