diff --git a/.eslintrc.json b/.eslintrc.json
index 0cc3e774..48aa23da 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -2,7 +2,7 @@
"extends": "eslint:recommended",
"parserOptions": {
"sourceType": "module",
- "ecmaVersion": 2018
+ "ecmaVersion": 2020
},
"env": {
"es6": true,
diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index 9036d1d4..7db0d8fa 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -8,7 +8,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
- node-version: [14.x, 16.x]
+ node-version: [14.x, 16.x, 18.x]
runs-on: ${{ matrix.os }}
diff --git a/LICENSE b/LICENSE
index 3e80c800..dfa2847a 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright 2018-2021 Observable, Inc.
+Copyright 2018-2022 Observable, Inc.
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
diff --git a/README.md b/README.md
index 28003118..dafee0ae 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ For examples, see https://observablehq.com/@observablehq/stdlib.
### DOM
-# DOM.canvas(width, height) [<>](https://github.com/observablehq/stdlib/blob/main/src/dom/canvas.mjs "Source")
+# DOM.canvas(width, height) [<>](https://github.com/observablehq/stdlib/blob/main/src/dom/canvas.js "Source")
Returns a new canvas element with the specified *width* and *height*. For example, to create a 960×500 canvas:
@@ -41,7 +41,7 @@ html`