New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@style.tools/async-iife

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@style.tools/async-iife

Node.js IIFE generator for @style.tools/async. Module and CLI program.

latest
Source
npmnpm
Version
2.0.4
Version published
Maintainers
1
Created
Source

Build Status Version npm version

$async IIFE generator

A Node.js IIFE generator for @style.tools/async.

An online version of the IIFE generator is available on https://style.tools/iife/

Documentation is available on docs.style.tools/async/iife-generator.

Install

npm install @style.tools/async-iife

What is IIFE?

IIFE (Immediately-invoked Function Expressions) is a coding pattern for loading a script. An IIFE can be used in the browser safely.

The IIFE generator makes it easy to generate an IIFE with a selection of $async modules. The IIFE generator provides compression via Google Closure Compiler (GCC) with Advanced mode for the best performance in all browsers.

The IIFE generator can be executed as a CLI program from the command-line, as a Node.js module and as a browser script (see https://style.tools/iife/ for an online version).

Usage

CLI

The provided iife-cli.js script can be used from the command-line. The NPM package contains a npm run iife script.

Examples

Display usage information and a list with available modules.

npm run iife -- --help

image

The following command shows how to create an IIFE with unary format, output to path/to/iife.js and with 3 modules that automatically load the required dependencies.

npm run iife --  --format unary --compress --output path/to/iife.js --modules css-loader,localstorage,timing

Short flags and a space separated module list are supported.

npm run iife --  -f unary -c -o path/to/iife.js -m "css-loader localstorage timing"

When omitting the --output flag the script is printed to the console, e.g. for > output.js.

Node.js module

// load Node.js module
const iife = require('@style.tools/async-iife');

// return script text for inlining
// uses memory-cache @link https://www.npmjs.com/package/memory-cache
iife.generate(['css-loader', 'timing'], {
   debug: true, // debug sources
   format: 'unary' // !function(){ ... }()
}).then(function(iife_script) {
	
   // iife_script contains the IIFE script text

});

// output to file
iife.generate(['css-loader', 'timing'], {
   compress: true, // Google Closure Compiler API compression
   format: 'wrap', // (function(){ ... })()
   output: 'path/to/iife.js',
   output_stats: true // return { modules:[], size:0, gzip_size:0 }
}).then(function(stats) {
	
   // iife.js written
   console.log(stats);

});

The Node.js module can be used efficiently within a Node.js CMS. IIFE's are cached in memory using memory-cache.

Warning: the generator depends on the free Google Closure Compiler API that may not be 100% reliable. When using the generator in production it may be an option to use a local Google Closure Compiler service.

Keywords

iife

FAQs

Package last updated on 03 Dec 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