obf-minify-build
September 12, 2025 Β· View on GitHub
Automated frontend build tool with minification, obfuscation, and protection features. CLI and API support.
π Features β Fully automated build process β Automatic file discovery with exclusions β Single configuration for options and ignore lists β CSS + HTML minification + JS and inline-scripts obfuscation β Built-in client-side protections (via protection.js and protection.css)
Quick Start
- Place your source files in
src/folder (html, css, js, assets). - Install dependencies:
npm install - Build project:
npm run build - Result is in
build/folder.
Usage as npm package
CLI (no installation required)
# Basic usage (uses Makefile)
npx obf-minify-build
# Custom source and output directories
npx obf-minify-build --src src --out dist
# Use Node.js build instead of Makefile
npx obf-minify-build --no-make
# Inline resources (new in v0.0.5)
npx obf-minify-build --inline-all --out dist
npx obf-minify-build --inline-css --inline-js
npx obf-minify-build --skip-obfuscation-for vendor,libs
# Show help
npx obf-minify-build --help
As dependency
- Install as dev dependency:
npm install obf-minify-build --save-dev - Use in your build script:
const { build } = require('obf-minify-build'); build({ src: 'src', out: 'build' });
Commands
npm run buildβ full buildnpm run devβ rebuild on changesnpm run startβ build and start local servernpm run testβ run complete test suitenpm run test:cliβ test CLI help
Requirements
- Node.js >= 18
- Linux/macOS/WSL (cpio, find, make)
obf-minify-build (Π ΡΡΡΠΊΠΈΠΉ)
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ, ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΈ Π·Π°ΡΠΈΡΠ°ΠΌΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CLI ΠΈ API.
π ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ β ΠΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠ±ΠΎΡΠΊΠ° β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠΈΡΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ β ΠΠ΄ΠΈΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΏΡΠΈΠΉ ΠΈ ΠΈΠ³Π½ΠΎΡ-Π»ΠΈΡΡΠΎΠ² β ΠΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ CSS + HTML + ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ JS ΠΈ inline-ΡΠΊΡΠΈΠΏΡΠΎΠ² β ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ Π·Π°ΡΠΈΡΡ (ΡΠ΅ΡΠ΅Π· protection.js ΠΈ protection.css)
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
- ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡ
src/(html, css, js, assets). - Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
npm install - Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ:
npm run build - ΠΠΎΡΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ β Π² ΠΏΠ°ΠΏΠΊΠ΅
build/.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ npm-ΠΏΠ°ΠΊΠ΅Ρ
CLI (Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ)
# ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Makefile)
npx obf-minify-build
# ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΠΈ Π²ΡΠ²ΠΎΠ΄Π°
npx obf-minify-build --src src --out dist
# ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Node.js ΡΠ±ΠΎΡΠΊΡ Π²ΠΌΠ΅ΡΡΠΎ Makefile
npx obf-minify-build --no-make
# ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΡΠ°Π²ΠΊΡ
npx obf-minify-build --help
ΠΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΠΊ dev-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ:
npm install obf-minify-build --save-dev - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π² build-ΡΠΊΡΠΈΠΏΡΠ΅:
const { build } = require('obf-minify-build'); build({ src: 'src', out: 'build' });
ΠΠΎΠΌΠ°Π½Π΄Ρ
npm run buildβ ΠΏΠΎΠ»Π½Π°Ρ ΡΠ±ΠΎΡΠΊΠ°npm run devβ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡnpm run startβ ΡΠ±ΠΎΡΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°npm run testβ Π·Π°ΠΏΡΡΠΊ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΠ΅ΡΡΠΎΠ²npm run test:cliβ ΡΠ΅ΡΡ CLI ΡΠΏΡΠ°Π²ΠΊΠΈ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- Node.js >= 18
- Linux/macOS/WSL (cpio, find, make)
Documentation and API β see docs/ or source code.
Documentation
- API Reference - Complete API documentation
- Examples - Usage examples and best practices
- Testing - Complete testing guide
- Troubleshooting - Common issues and solutions