
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@style.tools/async-iife
Advanced tools
Node.js IIFE generator for @style.tools/async. Module and CLI program.
$async IIFE generatorA 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.
npm install @style.tools/async-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).
The provided iife-cli.js script can be used from the command-line. The NPM package contains a npm run iife script.
Display usage information and a list with available modules.
npm run iife -- --help

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.
// 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.
FAQs
Node.js IIFE generator for @style.tools/async. Module and CLI program.
We found that @style.tools/async-iife demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.