next.js
9cf8caba - Turbopack: Support data URI sources (#76865)

Commit
296 days ago
Turbopack: Support data URI sources (#76865) These are technically not entirely spec compliant as identical data urls in different folders aren't deduplicated (but each generate a new module). But this is good enough for now. You can now do ```js import { bar } from "data:text/javascript,export var bar = 1234;"; import data from 'data:application/json,{ "foo": 1234 }'; import dataURLEncoded from 'data:application/json,%7B%20%22foo%22%3A%201234%20%7D'; import dataBase64Encoded from 'data:application/json;base64,eyAiZm9vIjogMTIzNCB9'; import "data:text/css,body { color: red }"; it("support data URL imports", () => { expect(bar).toEqual(1234); expect(data).toEqual({ foo: 1234 }); expect(dataURLEncoded).toEqual({ foo: 1234 }); expect(dataBase64Encoded).toEqual({ foo: 1234 }); }); ``` Only data-urls in JS ESM imports are turned into modules. For JS, turning data-urls into separate modules is zero-cost, because they all end up in the same bundle anyway, but that is not the case for image data urls in CSS.
Author
Parents
Loading