Socket
Socket
Sign inDemoInstall

is-minified-performant

Package Overview
Dependencies
0
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    is-minified-performant

Checks if JS code is minified or uglified performantly.


Version published
Weekly downloads
190
decreased by-55.4%
Maintainers
1
Install size
126 kB
Created
Weekly downloads
 

Readme

Source

is-minified-performant 🚀

Checks if JS code is minified or uglified performantly.

Usage

import { isMinified } from 'is-minified-performant';
const source2 = `!function(e){function t(r){if(n[r])return n[r].exports;for(var i=[],o=0;o<256;++o)i[o]=(o+256).toString(16).substr(1);e.exports=r}};`;

isMinified(source) // true
const source1 = `
function main(foo = '') {
}
const bar = 1;
`;

isMinified(source) // false

How It Works

Use "Duck Typing" to detect whether source code is minified.

Duck typing in computer programming is an application of the duck test—"If it walks like a duck and it quacks like a duck, then it must be a duck"—In duck typing, an object's suitability is determined by the presence of certain methods and properties, rather than the type of the object itself.

From wiki/Duck_typing

  • no space before return
  • no space before and after if or else
  • no space before and after =
  • no space before and after var

Why the Package

I tried is-uglified which uses acorn parse, is-minified using RegExp, and is-minified-code using RegExp and sort, and finally found "Duck Typing" is the most performant 🚀 and efficient detect method and the correctness not lower than the above ones.

Benchmark Results

1 Check react.development.js not be minified. npm run benchmark-not-minified:

is-minified-performant#isMinified x 35,459 ops/sec ±0.97% (87 runs sampled)
is-uglified#isCodeUglified x 163 ops/sec ±3.73% (77 runs sampled)
is-minified#isMinifiedUsingRegexp x 25,229 ops/sec ±3.10% (84 runs sampled)
is-minified-code#isMinifiedUsingRegexpAndMedian x 881 ops/sec ±2.40% (81 runs sampled)

Check react.development.js not minified: the fastest is is-minified-performant#isMinified

This package's checking un-minified source code speed 1.4 times the second.

2 Check react.production.min.js is be minified. npm run benchmark-minified:

is-minified-performant#isMinified x 4,270,443 ops/sec ±1.58% (89 runs sampled)
is-uglified#isCodeUglified x 412 ops/sec ±5.71% (76 runs sampled)
is-minified#isMinifiedUsingRegexp x 240,459 ops/sec ±1.90% (88 runs sampled)
is-minified-code#isMinifiedUsingRegexpAndMedian x 81,651 ops/sec ±2.14% (87 runs sampled)

Check react.production.min.js minified: the fastest is is-minified-performant#isMinified

This package's checking minified source code speed 17 times the second.

Keywords

FAQs

Last updated on 11 Nov 2021

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc