diff --git a/README.md b/README.md index 1005272..3bff0da 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ _Or, how to control the behavior of JavaScript imports_ - [Further implementation staging](#further-implementation-staging) - [`import:` URL loads and origins](#import-url-loads-and-origins) - [`import:` URL interaction with other loading infrastructure](#import-url-interaction-with-other-loading-infrastructure) +- [Community polyfills and tooling](#community-polyfills-and-tooling) - [Acknowledgments](#acknowledgments) @@ -873,6 +874,20 @@ Several implementer questions come up around how `import:` URLs are envisioned t The high-level summary is that any fetch of an `import:` URL should be thought of as sugar for a series of if-then-else statements that in turn fetch the mapped-to URLs. For example, each fetch will pass through the service worker, until one succeeds. +## Community polyfills and tooling + +Several members of the community have been working on polyfills and tooling related to import maps. Here are the ones we know about: + +* [@import-maps/generate](https://www.npmjs.com/package/@import-maps/generate) generates an import map from your `yarn.lock`. +* [@jsenv/node-module-import-map](https://www.npmjs.com/package/@jsenv/node-module-import-map) generates an import map from your `package.json` and `node_modules/` directories. +* [importly](https://www.npmjs.com/package/importly) generates an import map from a config file. +* [Built-in Module Demo (with Rollup)](https://glitch.com/edit/#!/rollup-built-in-modules) contains code for a [Rollup](https://rollupjs.org/) plugin that generates an import map, focused on built-in module polyfills. +* [SystemJS](https://github.com/systemjs/systemjs) provides a polyfill-like workflow for using import maps in older browsers with the System module format and `