/download-esm

Download ESM modules from npm and jsdelivr

Primary LanguagePythonApache License 2.0Apache-2.0

download-esm

PyPI Changelog Tests License

Download ESM modules from npm and jsdelivr

See download-esm: a tool for downloading ECMAScript modules for background on this project.

Installation

Install this tool using pip:

pip install download-esm

Warning

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!

Usage

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>

Development

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