Mcjs
Merge commonjs modules into a single file with maximum possible efficiency.
Install / Use
/learn @scrapjs/McjsREADME
MCJS 
Merge Common JS modules into a single module.
MCJS produces a single module with all inner requirements merged into a single scope with resolved name conflicts. That way it gains maximum compressability and minimal overhead. Smaller than browserify, component, webpack, powerbuild, small.
Some stats
Compare minified gzip-sizes:
| Package | Browserify | bundle-collapser | MCJS | Effect | |---|---|---|---|---|---| | plotly.js | 516kb | 508kb | 494kb | 4.5% | | color-space | 5kb | | 4.4kb | 12% | | mcjs | 4.02kb | | 2.71kb | 32.6% | | mod | 16.5kb | | 13kb | 27% |
Usage
Install
$ npm install mcjs
Use as a browserify plugin:
browserify index.js -p mcjs/plugin
dep.js:
var z = 123;
module.exports = z;
index.js:
var a = require('./dep');
module.exports = a;
Resulting bundle.js:
var m_a, m_index;
var z = 123;
m_a = z;
var a = m_a;
module.exports = a;
Motivation
Closure compiler can expand any objects, so if to merge modules into a single scope, which means to resolve global vars conflict and to replace all module.exports and require calls, then we get one-scoped bundle, which closure compiler compresses the way better than separated by scopes browserified/compiled bundle.
Mcjs does the same task as a ClosureCompiler with --process_commonjs_modules flag, but avoids creating of goog.provide's and makes variables more human-readable.
Reference
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。

