This package provides a lightweight dynamic resource loader for web browsers.
- Promise-based API โณ
- Parallel by default, ordered when required โก
- Supports all
<link>relations (preconnect,preload,stylesheet, etc.) ๐ - Supports all
<script>types (importmap,module,nomodule, etc.) ๐ - Zero dependencies ๐ฝ
- Node.js
>= 20.0.0
npm install dopant --saveimport dopant from 'dopant';
await dopant(
'/assets/css/layout.css',
'/assets/js/main.js',
[
'/assets/js/importmap.json',
{ type: 'importmap' },
],
[
'/assets/js/module.js',
{ defer: true, type: 'module' },
],
[
'/assets/webfonts/font.woff2',
{
as: 'font',
rel: 'preload',
type: 'font/woff2',
},
],
);...resources{string | [string, Object]} Resource URL, w/wo extra attributes.- Returns: Promise that resolves to a list of resolutions.
- CSS files default to
rel="stylesheet". - If
relis provided, a<link>element is created. - Otherwise, a
<script>element is created. - Scripts default to
async: true(unless overridden ordefer: trueis set).
For more details, please check tests in the repository.