Skip to content

Commit 7f0f870

Browse files
authored
Adopt ESM (#316)
* esm * node 18 * next * 4.0.0-rc.1 * adopt named exports * adopt d3-array
1 parent e9a5137 commit 7f0f870

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+494
-442
lines changed

.eslintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"extends": "eslint:recommended",
33
"parserOptions": {
44
"sourceType": "module",
5-
"ecmaVersion": 2018
5+
"ecmaVersion": 2020
66
},
77
"env": {
88
"es6": true,

.github/workflows/nodejs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
fail-fast: false
99
matrix:
1010
os: [ubuntu-latest]
11-
node-version: [14.x, 16.x]
11+
node-version: [14.x, 16.x, 18.x]
1212

1313
runs-on: ${{ matrix.os }}
1414

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright 2018-2021 Observable, Inc.
1+
Copyright 2018-2022 Observable, Inc.
22

33
Permission to use, copy, modify, and/or distribute this software for any purpose
44
with or without fee is hereby granted, provided that the above copyright notice

README.md

Lines changed: 57 additions & 57 deletions
Large diffs are not rendered by default.

bin/resolve-dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const extensionRe = /\.[^/]*$/;
55
const mains = ["unpkg", "jsdelivr", "browser", "main"];
66

77
(async () => {
8-
console.log(`import dependency from "./dependency.mjs";`);
8+
console.log(`import dependency from "./dependency.js";`);
99
{
1010
const package = await resolve("d3");
1111
console.log(`export const d3 = dependency("${package.name}", "${package.version}", "${package.export}");`);

package.json

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,51 @@
11
{
22
"name": "@observablehq/stdlib",
3-
"version": "3.24.0",
4-
"license": "ISC",
5-
"main": "dist/stdlib.js",
6-
"module": "src/index.mjs",
3+
"version": "4.0.0-rc.1",
74
"author": {
85
"name": "Observable, Inc.",
96
"url": "https://observablehq.com"
107
},
8+
"license": "ISC",
9+
"type": "module",
10+
"main": "src/index.js",
11+
"module": "src/index.js",
12+
"jsdelivr": "dist/stdlib.js",
13+
"unpkg": "dist/stdlib.js",
14+
"exports": {
15+
"umd": "./dist/stdlib.js",
16+
"default": "./src/index.js"
17+
},
1118
"repository": {
1219
"type": "git",
1320
"url": "https://github.com/observablehq/stdlib.git"
1421
},
22+
"files": [
23+
"dist/**/*.js",
24+
"src/**/*.js"
25+
],
26+
"engines": {
27+
"node": ">=14.5.0"
28+
},
1529
"scripts": {
16-
"test": "mocha 'test/**/*-test.mjs' && eslint src test --ext mjs",
17-
"prepublishOnly": "rollup -c",
30+
"test": "mocha 'test/**/*-test.js' && eslint src test",
31+
"prepublishOnly": "rm -rf dist && rollup -c",
1832
"postpublish": "git push && git push --tags"
1933
},
20-
"files": [
21-
"src/**/*.mjs",
22-
"dist/**/*.js"
23-
],
2434
"dependencies": {
25-
"d3-dsv": "^2.0.0",
35+
"d3-array": "^3.2.0",
36+
"d3-dsv": "^3.0.1",
2637
"d3-require": "^1.3.0"
2738
},
2839
"devDependencies": {
29-
"@rollup/plugin-node-resolve": "^13.3.0",
30-
"eslint": "^8.18.0",
40+
"@rollup/plugin-node-resolve": "^15.0.1",
41+
"eslint": "^8.27.0",
3142
"exceljs": "^4.3.0",
32-
"mocha": "^10.0.0",
33-
"node-fetch": "^2.6.1",
34-
"rollup": "^2.37.1",
43+
"mocha": "^10.1.0",
44+
"node-fetch": "^3.2.10",
45+
"rollup": "^3.2.5",
3546
"rollup-plugin-terser": "^7.0.2"
47+
},
48+
"publishConfig": {
49+
"tag": "next"
3650
}
3751
}

rollup.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import node from "@rollup/plugin-node-resolve";
22
import {terser} from "rollup-plugin-terser";
3-
import * as meta from "./package.json";
3+
import * as meta from "./package.json" assert {type: "json"};
44

55
const copyright = `// @observablehq/stdlib v${meta.version} Copyright ${(new Date).getFullYear()} Observable, Inc.`;
66

77
export default [
88
{
9-
input: "src/index.mjs",
9+
input: "src/index.js",
1010
plugins: [
1111
node(),
1212
terser({

src/array.mjs

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

src/dependencies.mjs renamed to src/dependencies.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import dependency from "./dependency.mjs";
1+
import {dependency} from "./dependency.js";
22
export const d3 = dependency("d3", "7.6.1", "dist/d3.min.js");
33
export const inputs = dependency("@observablehq/inputs", "0.10.4", "dist/inputs.min.js");
44
export const plot = dependency("@observablehq/plot", "0.6.0", "dist/plot.umd.min.js");

src/dependency.mjs renamed to src/dependency.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export default function dependency(name, version, main) {
1+
export function dependency(name, version, main) {
22
return {
33
resolve(path = main) {
44
return `${name}@${version}/${path}`;

0 commit comments

Comments
 (0)