@filestack/loader

Dependency free js async script loader for browsers maintained by @Filestack

Usage no npm install needed!

<script type="module">
  import filestackLoader from 'https://cdn.skypack.dev/@filestack/loader';
</script>

README

Dependency free js async script loader for browsers maintained by @Filestack

Installation

npm install @filestack/loader

Usage

Loading JavaScript Modules

To load async modules just call method loadModule

import { loadModule } from '@filestack/loader';

loadModule('module-id', 'url/to/b.js').then((b) => {
  b.helloWorld();
});
You can register some metadata after module will be loaded with register module

import { registerModule } from '@filestack/loader';

const api = {
  helloWorld() {
    console.log('Hello world!');
  },
};

// Module need to "tell" the loader that it's loaded and ready.
registerModule('module-id', api, { version: 123 });

Loading CSS

import { loadCss } from '@filestack/loader';

loadCss('url/to/style.css').then(() => {
  console.log('Style loaded!');
});

Development

Setup

npm install

Testing

Unit

npm test

This command opens in the browser semi-manual tests. Those tests don't have watch, so you need to refire the command with each change.