Skip to content

Commit 218ba68

Browse files
committed
don’t masquerade as sql.js
1 parent 84d6f35 commit 218ba68

File tree

5 files changed

+17
-19
lines changed

5 files changed

+17
-19
lines changed

src/client/stdlib/recommendedLibraries.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export const Inputs = () => import("npm:@observablehq/inputs");
1212
export const L = () => import("npm:leaflet");
1313
export const mermaid = () => import("observablehq:stdlib/mermaid").then((mermaid) => mermaid.default);
1414
export const Plot = () => import("npm:@observablehq/plot");
15-
export const SQLite = () => import("observablehq:stdlib/sql").then((sql) => sql.default);
15+
export const SQLite = () => import("observablehq:stdlib/sqlite").then((sqlite) => sqlite.default);
1616
export const SQLiteDatabaseClient = () => import("observablehq:stdlib/sqlite").then((sqlite) => sqlite.SQLiteDatabaseClient); // prettier-ignore
1717
export const tex = () => import("observablehq:stdlib/tex").then((tex) => tex.default);
1818
export const topojson = () => import("npm:topojson-client");

src/client/stdlib/sql.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/client/stdlib/sqlite.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
import SQLite from "observablehq:stdlib/sql";
1+
// https://github.com/sql-js/sql.js/issues/284
2+
const SQLite = await (async () => {
3+
const exports = {};
4+
const response = await fetch("https://cdn.jsdelivr.net/npm/sql.js/dist/sql-wasm.js");
5+
new Function("exports", await response.text())(exports);
6+
return exports.Module({locateFile: (name) => `https://cdn.jsdelivr.net/npm/sql.js/dist/${name}`});
7+
})();
8+
9+
export default SQLite;
210

311
export class SQLiteDatabaseClient {
412
constructor(db) {

src/javascript/imports.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -221,19 +221,17 @@ export function createImportResolver(root: string, base: "." | "_import" = "."):
221221
: specifier === "npm:@observablehq/stdlib"
222222
? resolveBuiltin(base, path, "stdlib.js")
223223
: specifier === "npm:@observablehq/dot"
224-
? resolveBuiltin(base, path, "stdlib/dot.js")
224+
? resolveBuiltin(base, path, "stdlib/dot.js") // TODO publish to npm
225225
: specifier === "npm:@observablehq/duckdb"
226-
? resolveBuiltin(base, path, "stdlib/duckdb.js")
226+
? resolveBuiltin(base, path, "stdlib/duckdb.js") // TODO publish to npm
227227
: specifier === "npm:@observablehq/mermaid"
228-
? resolveBuiltin(base, path, "stdlib/mermaid.js")
228+
? resolveBuiltin(base, path, "stdlib/mermaid.js") // TODO publish to npm
229229
: specifier === "npm:@observablehq/tex"
230-
? resolveBuiltin(base, path, "stdlib/tex.js")
231-
: specifier === "npm:sql.js"
232-
? resolveBuiltin(base, path, "stdlib/sql.js")
230+
? resolveBuiltin(base, path, "stdlib/tex.js") // TODO publish to npm
233231
: specifier === "npm:@observablehq/sqlite"
234-
? resolveBuiltin(base, path, "stdlib/sqlite.js")
232+
? resolveBuiltin(base, path, "stdlib/sqlite.js") // TODO publish to npm
235233
: specifier === "npm:@observablehq/xslx"
236-
? resolveBuiltin(base, path, "stdlib/xslx.js")
234+
? resolveBuiltin(base, path, "stdlib/xslx.js") // TODO publish to npm
237235
: specifier.startsWith("npm:")
238236
? `https://cdn.jsdelivr.net/npm/${specifier.slice("npm:".length)}/+esm`
239237
: specifier;

src/libraries.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ export function addImplicitSpecifiers(specifiers: Set<string>, inputs: Set<strin
1515
if (inputs.has("Arrow")) specifiers.add("npm:apache-arrow");
1616
if (inputs.has("L")) specifiers.add("npm:leaflet");
1717
if (inputs.has("mermaid")) specifiers.add("npm:@observablehq/mermaid").add("npm:mermaid").add("npm:d3");
18-
if (inputs.has("SQLite") || inputs.has("SQLiteDatabaseClient")) specifiers.add("npm:sql.js");
19-
if (inputs.has("SQLiteDatabaseClient")) specifiers.add("npm:@observablehq/sqlite");
18+
if (inputs.has("SQLite") || inputs.has("SQLiteDatabaseClient")) specifiers.add("npm:@observablehq/sqlite");
2019
if (inputs.has("tex")) specifiers.add("npm:@observablehq/tex").add("npm:katex");
2120
if (inputs.has("topojson")) specifiers.add("npm:topojson-client");
2221
return specifiers;

0 commit comments

Comments
 (0)