Socket
Book a DemoInstallSign in
Socket

@fatso83/run-esm

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fatso83/run-esm

Runs a ESM module in Chrome and checks that a user-supplied test script exits cleanly

latest
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

run-esm

Simply runs a ECMAScript Module in Chrome to see that it does not throw

Why?

Quite a few project build actual ECMAScript Modules that are supposed to work natively (meaning not transpiled to ES5). This is simply a way of ensuring that these packages run in Chrome. You can choose to just load them or try running some additional script excercising the exported API - that's up to you.

You could try running them in Node using something like node -r esm, of course, but that introduces additional middleware that might or might not do the same as the Chrome runtime. You would also need to handle DOM APIs using something like JSDOM, introducing additional complexity for something quite simple.

Usage

See examples in test/. The import path will always be relative to root, i.e. (/${filename}).

it("should exit cleanly if nothing throws", async () => {
  await runEsm({
    bundlePath: `${__dirname}/example-module.mjs`,
    testScriptSource: `
          import myModule from "./example-module.mjs";

          myModule(); // works
          `,
  });
});

FAQs

Package last updated on 11 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts