Skip to content

Commit 8d9f4d1

Browse files
authored
mocha (#295)
* mocha * drop Node 12.x from CI
1 parent 1f19ea7 commit 8d9f4d1

Some content is hidden

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

75 files changed

+1159
-2892
lines changed

.eslintrc.json

+8-6
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22
"extends": "eslint:recommended",
33
"parserOptions": {
44
"sourceType": "module",
5-
"ecmaVersion": 8
5+
"ecmaVersion": 2020
66
},
77
"env": {
8-
"browser": true,
98
"es6": true,
10-
"node": true
9+
"node": true,
10+
"browser": true
1111
},
1212
"rules": {
13-
"semi": 2,
14-
"no-process-env": 2,
1513
"no-cond-assign": 0,
16-
"no-redeclare": 0
14+
"no-constant-condition": 0,
15+
"no-sparse-arrays": 0,
16+
"no-unexpected-multiline": 0,
17+
"comma-dangle": ["error", "never"],
18+
"semi": [2, "always"]
1719
}
1820
}

.github/workflows/nodejs.yml

+1-1
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: [12.x, 14.x, 16.x]
11+
node-version: [14.x, 16.x]
1212

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

.prettierrc

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"bracketSpacing": false
2+
"bracketSpacing": false,
3+
"trailingComma": "none"
34
}

package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "3.19.5",
44
"license": "ISC",
55
"main": "dist/stdlib.js",
6-
"module": "src/index.js",
6+
"module": "src/index.mjs",
77
"author": {
88
"name": "Observable, Inc.",
99
"url": "https://observablehq.com"
@@ -13,25 +13,25 @@
1313
"url": "https://github.com/observablehq/stdlib.git"
1414
},
1515
"scripts": {
16-
"test": "tap 'test/**/*-test.js' --reporter classic",
16+
"test": "mocha 'test/**/*-test.mjs' && eslint src test --ext mjs",
1717
"prepublishOnly": "rollup -c",
1818
"postpublish": "git push && git push --tags"
1919
},
2020
"files": [
21-
"src/**/*.js",
21+
"src/**/*.mjs",
2222
"dist/**/*.js"
2323
],
2424
"dependencies": {
2525
"d3-dsv": "^2.0.0",
2626
"d3-require": "^1.3.0"
2727
},
2828
"devDependencies": {
29-
"eslint": "^7.18.0",
29+
"@rollup/plugin-node-resolve": "^13.3.0",
30+
"eslint": "^8.18.0",
3031
"exceljs": "^4.3.0",
32+
"mocha": "^10.0.0",
3133
"node-fetch": "^2.6.1",
3234
"rollup": "^2.37.1",
33-
"rollup-plugin-node-resolve": "^5.2.0",
34-
"rollup-plugin-terser": "^7.0.2",
35-
"tap": "^14.11.0"
35+
"rollup-plugin-terser": "^7.0.2"
3636
}
3737
}

rollup.config.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import node from "rollup-plugin-node-resolve";
1+
import node from "@rollup/plugin-node-resolve";
22
import {terser} from "rollup-plugin-terser";
33
import * as meta from "./package.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.js",
9+
input: "src/index.mjs",
1010
plugins: [
1111
node(),
1212
terser({

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import dependency from "./dependency.js";
1+
import dependency from "./dependency.mjs";
22
export const d3 = dependency("d3", "7.5.0", "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.5.1", "dist/plot.umd.min.js");
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/dom/index.js

-23
This file was deleted.

src/dom/index.mjs

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import canvas from "./canvas.mjs";
2+
import context2d from "./context2d.mjs";
3+
import download from "./download.mjs";
4+
import element from "./element.mjs";
5+
import input from "./input.mjs";
6+
import range from "./range.mjs";
7+
import select from "./select.mjs";
8+
import svg from "./svg.mjs";
9+
import text from "./text.mjs";
10+
import uid from "./uid.mjs";
11+
12+
export default {
13+
canvas: canvas,
14+
context2d: context2d,
15+
download: download,
16+
element: element,
17+
input: input,
18+
range: range,
19+
select: select,
20+
svg: svg,
21+
text: text,
22+
uid: uid
23+
};
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/fileAttachment.js renamed to src/fileAttachment.mjs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import {autoType, csvParse, csvParseRows, tsvParse, tsvParseRows} from "d3-dsv";
2-
import {arrow, jszip, exceljs} from "./dependencies.js";
3-
import {requireDefault} from "./require.js";
4-
import {SQLiteDatabaseClient} from "./sqlite.js";
5-
import {Workbook} from "./xlsx.js";
2+
import {arrow, jszip, exceljs} from "./dependencies.mjs";
3+
import {requireDefault} from "./require.mjs";
4+
import {SQLiteDatabaseClient} from "./sqlite.mjs";
5+
import {Workbook} from "./xlsx.mjs";
66

77
async function remote_fetch(file) {
88
const response = await fetch(await file.url());
File renamed without changes.

src/files/index.js

-9
This file was deleted.

src/files/index.mjs

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import buffer from "./buffer.mjs";
2+
import text from "./text.mjs";
3+
import url from "./url.mjs";
4+
5+
export default {
6+
buffer: buffer,
7+
text: text,
8+
url: url
9+
};
File renamed without changes.
File renamed without changes.

src/generators/disposable.js renamed to src/generators/disposable.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import that from "../that.js";
1+
import that from "../that.mjs";
22

33
export default function disposable(value, dispose) {
44
let done = false;
File renamed without changes.

src/generators/index.js

-21
This file was deleted.

src/generators/index.mjs

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import disposable from "./disposable.mjs";
2+
import filter from "./filter.mjs";
3+
import input from "./input.mjs";
4+
import map from "./map.mjs";
5+
import observe from "./observe.mjs";
6+
import queue from "./queue.mjs";
7+
import range from "./range.mjs";
8+
import valueAt from "./valueAt.mjs";
9+
import worker from "./worker.mjs";
10+
11+
export default {
12+
disposable: disposable,
13+
filter: filter,
14+
input: input,
15+
map: map,
16+
observe: observe,
17+
queue: queue,
18+
range: range,
19+
valueAt: valueAt,
20+
worker: worker
21+
};

src/generators/input.js renamed to src/generators/input.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import observe from "./observe.js";
1+
import observe from "./observe.mjs";
22

33
export default function(input) {
44
return observe(function(change) {
File renamed without changes.

src/generators/observe.js renamed to src/generators/observe.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import that from "../that.js";
1+
import that from "../that.mjs";
22

33
export default function(initialize) {
44
let stale = false;

src/generators/queue.js renamed to src/generators/queue.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import that from "../that.js";
1+
import that from "../that.mjs";
22

33
export default function(initialize) {
44
let resolve;
File renamed without changes.
File renamed without changes.

src/generators/worker.js renamed to src/generators/worker.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import disposable from "./disposable.js";
1+
import disposable from "./disposable.mjs";
22

33
export default function worker(source) {
44
const url = URL.createObjectURL(new Blob([source], {type: "text/javascript"}));

src/html.js renamed to src/html.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import template from "./template.js";
1+
import template from "./template.mjs";
22

33
export default template(function(string) {
44
var template = document.createElement("template");

src/index.js

-2
This file was deleted.

src/index.mjs

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export {default as FileAttachments, AbstractFile} from "./fileAttachment.mjs";
2+
export {default as Library} from "./library.mjs";

src/leaflet.js renamed to src/leaflet.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {leaflet as ll} from "./dependencies.js";
1+
import {leaflet as ll} from "./dependencies.mjs";
22

33
export default async function leaflet(require) {
44
const L = await require(ll.resolve());

src/library.js renamed to src/library.mjs

+19-19
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
import {requireFrom, resolveFrom} from "d3-require";
2-
import DOM from "./dom/index.js";
3-
import Files from "./files/index.js";
4-
import {AbstractFile, FileAttachment, NoFileAttachments} from "./fileAttachment.js";
5-
import Generators from "./generators/index.js";
6-
import html from "./html.js";
7-
import leaflet from "./leaflet.js";
8-
import md from "./md.js";
9-
import mermaid from "./mermaid.js";
10-
import Mutable from "./mutable.js";
11-
import now from "./now.js";
12-
import Promises from "./promises/index.js";
13-
import resolve from "./resolve.js";
14-
import requirer, {requireDefault, setDefaultRequire} from "./require.js";
15-
import SQLite, {SQLiteDatabaseClient} from "./sqlite.js";
16-
import svg from "./svg.js";
17-
import tex from "./tex.js";
18-
import vegalite from "./vegalite.js";
19-
import width from "./width.js";
20-
import {arquero, arrow, d3, graphviz, htl, inputs, lodash, plot, topojson} from "./dependencies.js";
2+
import DOM from "./dom/index.mjs";
3+
import Files from "./files/index.mjs";
4+
import {AbstractFile, FileAttachment, NoFileAttachments} from "./fileAttachment.mjs";
5+
import Generators from "./generators/index.mjs";
6+
import html from "./html.mjs";
7+
import leaflet from "./leaflet.mjs";
8+
import md from "./md.mjs";
9+
import mermaid from "./mermaid.mjs";
10+
import Mutable from "./mutable.mjs";
11+
import now from "./now.mjs";
12+
import Promises from "./promises/index.mjs";
13+
import resolve from "./resolve.mjs";
14+
import requirer, {requireDefault, setDefaultRequire} from "./require.mjs";
15+
import SQLite, {SQLiteDatabaseClient} from "./sqlite.mjs";
16+
import svg from "./svg.mjs";
17+
import tex from "./tex.mjs";
18+
import vegalite from "./vegalite.mjs";
19+
import width from "./width.mjs";
20+
import {arquero, arrow, d3, graphviz, htl, inputs, lodash, plot, topojson} from "./dependencies.mjs";
2121

2222
export default Object.assign(Object.defineProperties(function Library(resolver) {
2323
const require = requirer(resolver);

src/md.js renamed to src/md.mjs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {highlight, marked} from "./dependencies.js";
2-
import template from "./template.js";
1+
import {highlight, marked} from "./dependencies.mjs";
2+
import template from "./template.mjs";
33

44
export default function(require) {
55
return require(marked.resolve()).then(function(marked) {

src/mermaid.js renamed to src/mermaid.mjs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {mermaid as merd} from "./dependencies.js";
2-
import uid from "./dom/uid.js";
1+
import {mermaid as merd} from "./dependencies.mjs";
2+
import uid from "./dom/uid.mjs";
33

44
export default async function mermaid(require) {
55
const mer = await require(merd.resolve());

src/mutable.js renamed to src/mutable.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import observe from "./generators/observe.js";
1+
import observe from "./generators/observe.mjs";
22

33
export default function Mutable(value) {
44
let change;

src/now.js renamed to src/now.mjs

File renamed without changes.
File renamed without changes.

src/promises/index.js

-9
This file was deleted.

src/promises/index.mjs

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import delay from "./delay.mjs";
2+
import tick from "./tick.mjs";
3+
import when from "./when.mjs";
4+
5+
export default {
6+
delay: delay,
7+
tick: tick,
8+
when: when
9+
};

src/promises/tick.js renamed to src/promises/tick.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import when from "./when.js";
1+
import when from "./when.mjs";
22

33
export default function(duration, value) {
44
return when(Math.ceil((Date.now() + 1) / duration) * duration, value);
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/sqlite.js renamed to src/sqlite.mjs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {sql} from "./dependencies.js";
2-
import {requireDefault} from "./require.js";
1+
import {sql} from "./dependencies.mjs";
2+
import {requireDefault} from "./require.mjs";
33

44
export default async function sqlite(require) {
55
const [init, dist] = await Promise.all([require(sql.resolve()), require.resolve(sql.resolve("dist/"))]);

src/svg.js renamed to src/svg.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import template from "./template.js";
1+
import template from "./template.mjs";
22

33
export default template(function(string) {
44
var root = document.createElementNS("http://www.w3.org/2000/svg", "g");
File renamed without changes.

src/tex.js renamed to src/tex.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {katex} from "./dependencies.js";
1+
import {katex} from "./dependencies.mjs";
22

33
var raw = String.raw;
44

File renamed without changes.

src/vegalite.js renamed to src/vegalite.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {vega, vegalite, vegaliteApi} from "./dependencies.js";
1+
import {vega, vegalite, vegaliteApi} from "./dependencies.mjs";
22

33
export default async function vl(require) {
44
const [v, vl, api] = await Promise.all([vega, vegalite, vegaliteApi].map(d => require(d.resolve())));

src/width.js renamed to src/width.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import observe from "./generators/observe.js";
1+
import observe from "./generators/observe.mjs";
22

33
export default function() {
44
return observe(function(change) {

0 commit comments

Comments
 (0)