Skip to content

Commit 9c85b29

Browse files
committed
update recommended libraries
1 parent d35a160 commit 9c85b29

File tree

5 files changed

+123
-166
lines changed

5 files changed

+123
-166
lines changed

bin/resolve-dependencies

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

bin/resolve-dependencies.js

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
const extensionRe = /\.[^/]*$/;
2+
const mains = ["unpkg", "jsdelivr", "browser", "main"];
3+
4+
(async () => {
5+
console.log(`import {dependency} from "./dependency.js";`);
6+
{
7+
const info = await resolve("d3");
8+
console.log(`export const d3 = dependency("${info.name}", "${info.version}", "${info.export}");`);
9+
}
10+
{
11+
const info = await resolve("@observablehq/inputs");
12+
console.log(`export const inputs = dependency("${info.name}", "${info.version}", "${info.export}");`);
13+
}
14+
{
15+
const info = await resolve("@observablehq/plot");
16+
console.log(`export const plot = dependency("${info.name}", "${info.version}", "${info.export}");`);
17+
}
18+
{
19+
const info = await resolve("@observablehq/graphviz");
20+
console.log(`export const graphviz = dependency("${info.name}", "${info.version}", "${info.export}");`);
21+
}
22+
{
23+
const info = await resolve("@observablehq/highlight.js");
24+
console.log(`export const highlight = dependency("${info.name}", "${info.version}", "${info.export}");`);
25+
}
26+
{
27+
const info = await resolve("@observablehq/katex");
28+
console.log(`export const katex = dependency("${info.name}", "${info.version}", "${info.export}");`);
29+
}
30+
{
31+
const info = await resolve("lodash");
32+
console.log(`export const lodash = dependency("${info.name}", "${info.version}", "${info.export.replace(/\.js$/, ".min.js")}");`);
33+
}
34+
{
35+
const info = await resolve("htl");
36+
console.log(`export const htl = dependency("${info.name}", "${info.version}", "${info.export}");`);
37+
}
38+
{
39+
const info = await resolve("jszip");
40+
console.log(`export const jszip = dependency("${info.name}", "${info.version}", "dist/jszip.min.js");`);
41+
}
42+
{
43+
const info = await resolve("[email protected]");
44+
console.log(`export const marked = dependency("${info.name}", "${info.version}", "marked.min.js");`);
45+
}
46+
{
47+
const info = await resolve("sql.js");
48+
console.log(`export const sql = dependency("${info.name}", "${info.version}", "${info.export}");`);
49+
}
50+
{
51+
const info = await resolve("vega");
52+
console.log(`export const vega = dependency("${info.name}", "${info.version}", "${info.export}");`);
53+
}
54+
{
55+
const info = await resolve("vega-lite");
56+
console.log(`export const vegalite = dependency("${info.name}", "${info.version}", "${info.export}");`);
57+
}
58+
{
59+
const info = await resolve("vega-lite-api");
60+
console.log(`export const vegaliteApi = dependency("${info.name}", "${info.version}", "${info.export}");`);
61+
}
62+
{
63+
const info = await resolve("apache-arrow@4");
64+
console.log(`export const arrow4 = dependency("${info.name}", "${info.version}", "${info.export}");`);
65+
}
66+
{
67+
const info = await resolve("apache-arrow@9");
68+
console.log(`export const arrow9 = dependency("${info.name}", "${info.version}", "+esm");`);
69+
}
70+
{
71+
const info = await resolve("arquero");
72+
console.log(`export const arquero = dependency("${info.name}", "${info.version}", "${info.export}");`);
73+
}
74+
{
75+
const info = await resolve("topojson-client");
76+
console.log(`export const topojson = dependency("${info.name}", "${info.version}", "${info.export}");`);
77+
}
78+
{
79+
const info = await resolve("exceljs");
80+
console.log(`export const exceljs = dependency("${info.name}", "${info.version}", "${info.export}");`);
81+
}
82+
{
83+
const info = await resolve("mermaid");
84+
console.log(`export const mermaid = dependency("${info.name}", "${info.version}", "${info.export.replace(/\.core\.js$/, ".min.js")}");`);
85+
}
86+
{
87+
const info = await resolve("leaflet");
88+
console.log(`export const leaflet = dependency("${info.name}", "${info.version}", "${info.export.replace(/-src\.js$/, ".js")}");`);
89+
}
90+
{
91+
const info = await resolve("@duckdb/duckdb-wasm");
92+
console.log(`export const duckdb = dependency("${info.name}", "${info.version}", "+esm");`);
93+
}
94+
})();
95+
96+
async function resolve(specifier) {
97+
const response = await fetch(`https://cdn.jsdelivr.net/npm/${specifier}/package.json`);
98+
const info = await response.json();
99+
return {
100+
name: info.name,
101+
version: info.version,
102+
export: main(info)
103+
};
104+
}
105+
106+
// https://github.com/d3/d3-require/blob/4056a786912e9335a86b41c2b1cdfa392bd14289/src/index.js#L20-L27
107+
function main(meta) {
108+
for (const key of mains) {
109+
const value = meta[key];
110+
if (typeof value === "string") {
111+
return (extensionRe.test(value) ? value : `${value}.js`).replace(/^\.\//, "");
112+
}
113+
}
114+
return "index.js";
115+
}

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
"eslint": "^8.27.0",
4242
"exceljs": "^4.3.0",
4343
"mocha": "^10.1.0",
44-
"node-fetch": "^3.2.10",
4544
"rollup": "^3.2.5",
4645
"rollup-plugin-terser": "^7.0.2"
4746
}

src/dependencies.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
import {dependency} from "./dependency.js";
2-
export const d3 = dependency("d3", "7.6.1", "dist/d3.min.js");
2+
export const d3 = dependency("d3", "7.7.0", "dist/d3.min.js");
33
export const inputs = dependency("@observablehq/inputs", "0.10.4", "dist/inputs.min.js");
4-
export const plot = dependency("@observablehq/plot", "0.6.0", "dist/plot.umd.min.js");
4+
export const plot = dependency("@observablehq/plot", "0.6.1", "dist/plot.umd.min.js");
55
export const graphviz = dependency("@observablehq/graphviz", "0.2.1", "dist/graphviz.min.js");
66
export const highlight = dependency("@observablehq/highlight.js", "2.0.0", "highlight.min.js");
77
export const katex = dependency("@observablehq/katex", "0.11.1", "dist/katex.min.js");
88
export const lodash = dependency("lodash", "4.17.21", "lodash.min.js");
99
export const htl = dependency("htl", "0.3.1", "dist/htl.min.js");
10-
export const jszip = dependency("jszip", "3.10.0", "dist/jszip.min.js");
10+
export const jszip = dependency("jszip", "3.10.1", "dist/jszip.min.js");
1111
export const marked = dependency("marked", "0.3.12", "marked.min.js");
12-
export const sql = dependency("sql.js", "1.7.0", "dist/sql-wasm.js");
12+
export const sql = dependency("sql.js", "1.8.0", "dist/sql-wasm.js");
1313
export const vega = dependency("vega", "5.22.1", "build/vega.min.js");
14-
export const vegalite = dependency("vega-lite", "5.5.0", "build/vega-lite.min.js");
14+
export const vegalite = dependency("vega-lite", "5.6.0", "build/vega-lite.min.js");
1515
export const vegaliteApi = dependency("vega-lite-api", "5.0.0", "build/vega-lite-api.min.js");
1616
export const arrow4 = dependency("apache-arrow", "4.0.1", "Arrow.es2015.min.js");
1717
export const arrow9 = dependency("apache-arrow", "9.0.0", "+esm");
1818
export const arquero = dependency("arquero", "4.8.8", "dist/arquero.min.js");
1919
export const topojson = dependency("topojson-client", "3.1.0", "dist/topojson-client.min.js");
2020
export const exceljs = dependency("exceljs", "4.3.0", "dist/exceljs.min.js");
21-
export const mermaid = dependency("mermaid", "9.1.6", "dist/mermaid.min.js");
22-
export const leaflet = dependency("leaflet", "1.8.0", "dist/leaflet.js");
23-
export const duckdb = dependency("@duckdb/duckdb-wasm", "1.17.0", "+esm");
21+
export const mermaid = dependency("mermaid", "9.2.2", "dist/mermaid.min.js");
22+
export const leaflet = dependency("leaflet", "1.9.3", "dist/leaflet.js");
23+
export const duckdb = dependency("@duckdb/duckdb-wasm", "1.20.0", "+esm");

yarn.lock

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -532,11 +532,6 @@ d3-require@^1.3.0:
532532
resolved "https://registry.yarnpkg.com/d3-require/-/d3-require-1.3.0.tgz#2b97f5e2ebcb64ac0c63c11f30056aea1c74f0ec"
533533
integrity sha512-XaNc2azaAwXhGjmCMtxlD+AowpMfLimVsAoTMpqrvb8CWoA4QqyV12mc4Ue6KSoDvfuS831tsumfhDYxGd4FGA==
534534

535-
data-uri-to-buffer@^4.0.0:
536-
version "4.0.0"
537-
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b"
538-
integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==
539-
540535
dayjs@^1.8.34:
541536
version "1.11.6"
542537
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.6.tgz#2e79a226314ec3ec904e3ee1dd5a4f5e5b1c7afb"
@@ -763,14 +758,6 @@ fastq@^1.6.0:
763758
dependencies:
764759
reusify "^1.0.4"
765760

766-
fetch-blob@^3.1.2, fetch-blob@^3.1.4:
767-
version "3.2.0"
768-
resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
769-
integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
770-
dependencies:
771-
node-domexception "^1.0.0"
772-
web-streams-polyfill "^3.0.3"
773-
774761
file-entry-cache@^6.0.1:
775762
version "6.0.1"
776763
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
@@ -811,13 +798,6 @@ flatted@^3.1.0:
811798
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
812799
integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
813800

814-
formdata-polyfill@^4.0.10:
815-
version "4.0.10"
816-
resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423"
817-
integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
818-
dependencies:
819-
fetch-blob "^3.1.2"
820-
821801
fs-constants@^1.0.0:
822802
version "1.0.0"
823803
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
@@ -1299,20 +1279,6 @@ natural-compare@^1.4.0:
12991279
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
13001280
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
13011281

1302-
node-domexception@^1.0.0:
1303-
version "1.0.0"
1304-
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
1305-
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
1306-
1307-
node-fetch@^3.2.10:
1308-
version "3.2.10"
1309-
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.10.tgz#e8347f94b54ae18b57c9c049ef641cef398a85c8"
1310-
integrity sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==
1311-
dependencies:
1312-
data-uri-to-buffer "^4.0.0"
1313-
fetch-blob "^3.1.4"
1314-
formdata-polyfill "^4.0.10"
1315-
13161282
normalize-path@^3.0.0, normalize-path@~3.0.0:
13171283
version "3.0.0"
13181284
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
@@ -1740,11 +1706,6 @@ uuid@^8.3.0:
17401706
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
17411707
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
17421708

1743-
web-streams-polyfill@^3.0.3:
1744-
version "3.2.1"
1745-
resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6"
1746-
integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
1747-
17481709
which@^2.0.1:
17491710
version "2.0.2"
17501711
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"

0 commit comments

Comments
 (0)