diff --git a/snowpack/src/build/file-builder.ts b/snowpack/src/build/file-builder.ts index 6fae8b0ca1..8398c4b7e1 100644 --- a/snowpack/src/build/file-builder.ts +++ b/snowpack/src/build/file-builder.ts @@ -319,8 +319,9 @@ export class FileBuilder { return this.resolvedOutput[type].map; } - async getProxy(url: string, type: string) { + async getProxy(_url: string, type: string) { const code = this.resolvedOutput[type].code; + const url = path.posix.join(this.config.buildOptions.baseUrl, _url); return await wrapImportProxy({url, code, hmr: this.isHMR, config: this.config}); } diff --git a/snowpack/src/build/file-urls.ts b/snowpack/src/build/file-urls.ts index 6194e89b5d..a02fd47ba2 100644 --- a/snowpack/src/build/file-urls.ts +++ b/snowpack/src/build/file-urls.ts @@ -74,7 +74,11 @@ export function getUrlsForFile(fileLoc: string, config: SnowpackConfig): string[ if (!mountEntryResult) { const builtEntrypointUrls = getBuiltFileUrls(fileLoc, config); return builtEntrypointUrls.map((u) => - path.posix.join(config.buildOptions.metaUrlPath, 'link', slash(path.relative(config.root, u))), + path.posix.join( + config.buildOptions.metaUrlPath, + 'link', + slash(path.relative(config.root, u)), + ), ); } const [mountKey, mountEntry] = mountEntryResult; diff --git a/snowpack/src/commands/build.ts b/snowpack/src/commands/build.ts index 3a29157ce4..0a30c1336d 100644 --- a/snowpack/src/commands/build.ts +++ b/snowpack/src/commands/build.ts @@ -181,6 +181,7 @@ export async function build(commandOptions: CommandOptions): Promise { expect($('script').attr('src').startsWith('/static/')).toBe(true); }); + it('import proxies works', () => { + expect(files['/_dist_/logo.png.proxy.js']).toEqual( + expect.stringContaining(`export default "/static/_dist_/logo.png";`), + ); + }); + it('import.meta.env works', () => { // env is present in index.js expect(files['/index.js']).toEqual( diff --git a/test/build/base-url/src/index.js b/test/build/base-url/src/index.js index ae056e9d37..1424590a8a 100644 --- a/test/build/base-url/src/index.js +++ b/test/build/base-url/src/index.js @@ -1,10 +1,13 @@ // src/index.js - Test import URLs from the "/_dist_/" directory import {flatten} from 'array-flatten'; +import logo from './logo.png'; export default function doNothing() { // I do nothing 🎉 } // Triggers a snowpack meta import URL -console.log(import.meta.env) \ No newline at end of file +console.log(import.meta.env) +// Test import proxies +console.log(logo) \ No newline at end of file diff --git a/test/build/base-url/src/logo.png b/test/build/base-url/src/logo.png new file mode 100644 index 0000000000..d23fe090ee Binary files /dev/null and b/test/build/base-url/src/logo.png differ