Download ESM modules from npm and jsdelivr
See download-esm: a tool for downloading ECMAScript modules for background on this project.
Install this tool using pip
:
pip install download-esm
This is alpha software. It works for downloading Observable Plot, but has not been tested against many other packages yet.
Your help welcome in testing this further!
To download Observable Plot and all of its dependencies as ECMAScript modules:
download-esm @observablehq/plot
This will download around 40 .js
files to the current directory.
To put them in another directory, add that as an argument:
download-esm @observablehq/plot ./js
Each file will have any import
and export
statements rewritten as relative paths.
You can then use the library in your own HTML and JavaScript something like this:
<div id="myplot"></div>
<script type="module">
import * as Plot from "./js/observablehq-plot-0-6-6.js";
const plot = Plot.rectY(
{length: 10000}, Plot.binX({y: "count"}, {x: Math.random})
).plot();
const div = document.querySelector("#myplot");
div.append(plot);
</script>
To contribute to this tool, first checkout the code. Then create a new virtual environment:
cd download-esm
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
pytest