diff options
author | 2023-03-08 17:32:39 -0500 | |
---|---|---|
committer | 2023-03-08 17:32:39 -0500 | |
commit | ec0455352568ab3ea3c5ec1625f582aa54d15bb7 (patch) | |
tree | 8f9c2ad2fd6a8d0b0f0e40dee7402a12cde67872 | |
parent | 401b97ad0e3d057f5022189e5883aacb5d34c55a (diff) | |
download | astro-ec0455352568ab3ea3c5ec1625f582aa54d15bb7.tar.gz astro-ec0455352568ab3ea3c5ec1625f582aa54d15bb7.tar.zst astro-ec0455352568ab3ea3c5ec1625f582aa54d15bb7.zip |
Fix asset loading in dev mode (#6466)
* Fix asset loading in dev mode
* Proper windows support
-rw-r--r-- | .changeset/red-candles-retire.md | 5 | ||||
-rw-r--r-- | packages/astro/src/assets/vite-plugin-assets.ts | 6 | ||||
-rw-r--r-- | packages/astro/test/core-image.test.js | 7 |
3 files changed, 15 insertions, 3 deletions
diff --git a/.changeset/red-candles-retire.md b/.changeset/red-candles-retire.md new file mode 100644 index 000000000..6614639f0 --- /dev/null +++ b/.changeset/red-candles-retire.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +In dev, load assets relative to the root diff --git a/packages/astro/src/assets/vite-plugin-assets.ts b/packages/astro/src/assets/vite-plugin-assets.ts index 020ac6758..9f8cbd53e 100644 --- a/packages/astro/src/assets/vite-plugin-assets.ts +++ b/packages/astro/src/assets/vite-plugin-assets.ts @@ -78,8 +78,8 @@ export default function assets({ return next(); } - const filePathURL = new URL(filePath, 'file:'); - const file = await fs.readFile(filePathURL.pathname); + const filePathURL = new URL('.' + filePath, settings.config.root); + const file = await fs.readFile(filePathURL); // Get the file's metadata from the URL let meta = getOrigQueryParams(filePathURL.searchParams); @@ -109,7 +109,7 @@ export default function assets({ format = result.format; } - res.setHeader('Content-Type', mime.getType(fileURLToPath(url)) || `image/${format}`); + res.setHeader('Content-Type', mime.getType(fileURLToPath(filePathURL)) || `image/${format}`); res.setHeader('Cache-Control', 'max-age=360000'); const stream = Readable.from(data); diff --git a/packages/astro/test/core-image.test.js b/packages/astro/test/core-image.test.js index d6b6642c3..e8fd1f423 100644 --- a/packages/astro/test/core-image.test.js +++ b/packages/astro/test/core-image.test.js @@ -72,6 +72,13 @@ describe('astro:image', () => { expect($img.attr('alt')).to.equal('a penguin'); }); + it('middleware loads the file', async() => { + let $img = $('#local img'); + let src = $img.attr('src'); + let res = await fixture.fetch(src); + expect(res.status).to.equal(200); + }); + it('errors on unsupported formats', async () => { logs.length = 0; let res = await fixture.fetch('/unsupported-format'); |