A command-line tool to extract and restore AMD-style JavaScript modules from bundled files.
npm install -g amdex
# or
pnpm add -g amdex
# or
yarn global add amdex
Extract and restore individual AMD modules from a bundled file:
amdex restore -i bundle.js -o ./output
Options:
-i, --input <path>
: Input bundle file path (required)-o, --output <path>
: Output directory for extracted modules (default: "./restored")--include <pattern>
: Include only modules matching this pattern (regex)--exclude <pattern>
: Exclude modules matching this pattern (regex)
List all AMD modules found in a bundle:
amdex list -i bundle.js
Options:
-i, --input <path>
: Input bundle file path (required)
Given a bundled file with AMD modules:
define('module/a', ['jquery', 'underscore'], function($, _) {
// module code
});
define('module/b', ['module/a'], function(moduleA) {
// module code
});
Running:
amdex restore -i bundle.js -o ./src --include "module/.*"
Will create:
src/
module/
a.js
b.js
Each file will contain its original AMD module definition with dependencies and implementation code.
- Extracts AMD modules while preserving:
- Module IDs
- Dependencies
- Implementation code
- Original formatting (mostly)
- Supports filtering modules by include/exclude patterns
- Maintains directory structure based on module IDs
- Handles reserved keywords in code
- TypeScript support
# Clone the repository
git clone https://github.com/yourusername/amdex.git
# Install dependencies
cd amdex
npm install
# Build
npm run build
# Run locally
./dist/cli.js
MIT