Comparing version 3.1.0 to 4.0.0
@@ -7,2 +7,8 @@ # tinyify change log | ||
## 4.0.0 | ||
* Remove unused dependencies. | ||
* Update `unassertify` to 2.x. | ||
* Use `@browserify/envify`. It's the same as `@goto-bus-stop/envify`, just renamed. | ||
* Use `@browserify/uglifyify`, with support for more modern ES features. | ||
## 3.1.0 | ||
@@ -9,0 +15,0 @@ * Update common-shakeify to 1.1.1, which adds the ability to set ecmaVersion (and sets default to 10) and removes side-effect-free modules that declare `sideEffects: false` in package.json from parse tree. |
44
index.js
@@ -1,12 +0,27 @@ | ||
var packFlat = require('browser-pack-flat/plugin') | ||
var collapser = require('bundle-collapser/plugin') | ||
var packFlatStream = require('browser-pack-flat') | ||
var commonShake = require('common-shakeify') | ||
var unassertify = require('unassertify') | ||
var uglify = require('minify-stream') | ||
var envify = require('@goto-bus-stop/envify/custom') | ||
var uglifyify = require('uglifyify') | ||
'use strict' | ||
const packFlat = require('browser-pack-flat/plugin') | ||
const collapser = require('bundle-collapser/plugin') | ||
const packFlatStream = require('browser-pack-flat') | ||
const commonShake = require('common-shakeify') | ||
const unassertify = require('unassertify') | ||
const minifyStream = require('minify-stream') | ||
const envify = require('@browserify/envify/custom') | ||
const uglifyify = require('@browserify/uglifyify') | ||
function getUglify () { | ||
// For older Node.js versions, fall back to an earlier `terser` version. | ||
let uglify = null | ||
try { | ||
Function('var a = async () => {}') // eslint-disable-line no-new-func | ||
} catch (_err) { | ||
uglify = require('terser') | ||
} | ||
return uglify | ||
} | ||
function makeUglifyOptions (debug) { | ||
var uglifyOpts = { | ||
const uglifyOpts = { | ||
uglify: getUglify(), | ||
output: { | ||
@@ -35,3 +50,3 @@ ascii_only: true | ||
var env = Object.assign({ | ||
const env = Object.assign({ | ||
NODE_ENV: 'production' | ||
@@ -46,2 +61,3 @@ }, process.env, opts.env) | ||
b.transform(uglifyify, { | ||
uglify: getUglify(), | ||
global: true, | ||
@@ -70,4 +86,4 @@ toplevel: true, | ||
// Minify the final output. | ||
var uglifyOpts = makeUglifyOptions(b._options.debug) | ||
b.pipeline.get('pack').push(uglify(uglifyOpts)) | ||
const uglifyOpts = makeUglifyOptions(b._options.debug) | ||
b.pipeline.get('pack').push(minifyStream(uglifyOpts)) | ||
} | ||
@@ -91,4 +107,4 @@ | ||
// Minify the final output. | ||
var uglifyOpts = makeUglifyOptions(opts.debug) | ||
pipeline.get('pack').push(uglify(uglifyOpts)) | ||
const uglifyOpts = makeUglifyOptions(opts.debug) | ||
pipeline.get('pack').push(minifyStream(uglifyOpts)) | ||
} |
{ | ||
"name": "tinyify", | ||
"description": "a browserify plugin that runs various optimizations, so you don't have to install them all manually.", | ||
"version": "3.1.0", | ||
"version": "4.0.0", | ||
"author": "Renée Kooi <renee@kooi.me>", | ||
@@ -10,19 +10,18 @@ "bugs": { | ||
"dependencies": { | ||
"@goto-bus-stop/envify": "^5.0.0", | ||
"acorn-node": "^1.8.2", | ||
"@browserify/envify": "^6.0.0", | ||
"@browserify/uglifyify": "^6.0.0", | ||
"browser-pack-flat": "^3.0.9", | ||
"bundle-collapser": "^1.3.0", | ||
"common-shakeify": "^1.1.1", | ||
"dash-ast": "^1.0.0", | ||
"minify-stream": "^2.0.1", | ||
"multisplice": "^1.0.0", | ||
"through2": "^3.0.1", | ||
"uglifyify": "^5.0.0", | ||
"unassertify": "^2.1.1" | ||
"terser": "3.16.1", | ||
"through2": "^4.0.2", | ||
"unassertify": "^3.0.1" | ||
}, | ||
"devDependencies": { | ||
"browserify": "^16.5.0", | ||
"browserify": "^17.0.0", | ||
"from2-string": "^1.1.0", | ||
"standard": "^14.3.1", | ||
"tape": "^4.11.0" | ||
"standard": "^17.0.0", | ||
"tape": "^5.6.1" | ||
}, | ||
@@ -44,4 +43,6 @@ "homepage": "https://github.com/browserify/tinyify", | ||
"scripts": { | ||
"test": "standard && node test" | ||
"lint": "standard", | ||
"tests-only": "node test", | ||
"test": "npm run lint && npm run tests-only" | ||
} | ||
} |
@@ -25,4 +25,4 @@ # tinyify | ||
- [unassertify][] - Remove `assert()` calls | ||
- [envify][] - Replace environment variables—by default, replaces `NODE_ENV` with `"production"` | ||
- [uglifyify][] - Remove dead code from modules | ||
- [@browserify/envify][] - Replace environment variables—by default, replaces `NODE_ENV` with `"production"` | ||
- [@browserify/uglifyify][] - Remove dead code from modules | ||
- [common-shakeify][] - Remove unused exports from modules | ||
@@ -42,3 +42,3 @@ - [browser-pack-flat][] - Output a "flat" bundle, with all modules in a single scope | ||
Supply custom environment variables for [envify][]. | ||
Supply custom environment variables for [@browserify/envify][]. | ||
@@ -78,10 +78,10 @@ ```js | ||
```bash | ||
npm install --save-dev unassertify envify uglifyify common-shakeify browser-pack-flat uglify-js | ||
npm install --save-dev unassertify @browserify/envify @browserify/uglifyify common-shakeify browser-pack-flat terser | ||
browserify entry.js \ | ||
-g unassertify \ | ||
-g envify \ | ||
-g uglifyify \ | ||
-g @browserify/envify \ | ||
-g @browserify/uglifyify \ | ||
-p common-shakeify \ | ||
-p browser-pack-flat/plugin \ | ||
| uglifyjs -cm \ | ||
| terser -cm \ | ||
> output.js | ||
@@ -95,4 +95,4 @@ ``` | ||
.transform('unassertify', { global: true }) | ||
.transform('@goto-bus-stop/envify', { global: true }) | ||
.transform('uglifyify', { global: true }) | ||
.transform('@browserify/envify', { global: true }) | ||
.transform('@browserify/uglifyify', { global: true }) | ||
.plugin('common-shakeify') | ||
@@ -112,4 +112,4 @@ .plugin('browser-pack-flat/plugin') | ||
[unassertify]: https://github.com/unassert-js/unassertify | ||
[envify]: https://github.com/hughsk/envify | ||
[uglifyify]: https://github.com/hughsk/uglifyify | ||
[@browserify/envify]: https://github.com/browserify/envify | ||
[@browserify/uglifyify]: https://github.com/browserify/uglifyify | ||
[common-shakeify]: https://github.com/browserify/common-shakeify | ||
@@ -116,0 +116,0 @@ [browser-pack-flat]: https://github.com/goto-bus-stop/browser-pack-flat |
12
test.js
@@ -1,9 +0,11 @@ | ||
var tinyify = require('.') | ||
var fromString = require('from2-string') | ||
var browserify = require('browserify') | ||
var test = require('tape') | ||
'use strict' | ||
const tinyify = require('.') | ||
const fromString = require('from2-string') | ||
const browserify = require('browserify') | ||
const test = require('tape') | ||
test('modern syntax with envify', function (t) { | ||
t.plan(3) | ||
var source = 'const env = process.env.NODE_ENV\nvar a = {...b}\nconsole.log(env, a)' | ||
const source = 'const env = process.env.NODE_ENV\nvar a = {...b}\nconsole.log(env, a)' | ||
browserify(fromString(source)) | ||
@@ -10,0 +12,0 @@ .plugin(tinyify) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
15596
10
9
108
+ Added@browserify/envify@^6.0.0
+ Added@browserify/uglifyify@^6.0.0
+ Addedterser@3.16.1
+ Added@browserify/envify@6.0.0(transitive)
+ Added@browserify/uglifyify@6.0.0(transitive)
+ Added@jridgewell/gen-mapping@0.3.5(transitive)
+ Added@jridgewell/resolve-uri@3.1.2(transitive)
+ Added@jridgewell/set-array@1.2.1(transitive)
+ Added@jridgewell/source-map@0.3.6(transitive)
+ Added@jridgewell/sourcemap-codec@1.5.0(transitive)
+ Added@jridgewell/trace-mapping@0.3.25(transitive)
+ Addedacorn@8.12.1(transitive)
+ Addedcommander@2.17.1(transitive)
+ Addedescodegen@2.1.0(transitive)
+ Addedmulti-stage-sourcemap@0.3.1(transitive)
+ Addedterser@3.16.15.34.1(transitive)
+ Addedthrough2@4.0.2(transitive)
+ Addedunassert@2.0.2(transitive)
+ Addedunassertify@3.0.1(transitive)
- Removed@goto-bus-stop/envify@^5.0.0
- Removedacorn-node@^1.8.2
- Removeddash-ast@^1.0.0
- Removeduglifyify@^5.0.0
- Removed@goto-bus-stop/envify@5.0.0(transitive)
- Removedacorn@5.7.4(transitive)
- Removedcall-bind@1.0.7(transitive)
- Removedcall-matcher@2.0.0(transitive)
- Removeddeep-equal@1.1.2(transitive)
- Removeddeep-is@0.1.4(transitive)
- Removeddefine-data-property@1.1.4(transitive)
- Removeddefine-properties@1.2.1(transitive)
- Removedes-define-property@1.0.0(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedescodegen@1.14.3(transitive)
- Removedespurify@2.1.1(transitive)
- Removedfast-levenshtein@2.0.6(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedfunctions-have-names@1.2.3(transitive)
- Removedget-intrinsic@1.2.4(transitive)
- Removedgopd@1.0.1(transitive)
- Removedhas-property-descriptors@1.0.2(transitive)
- Removedhas-proto@1.0.3(transitive)
- Removedhas-symbols@1.0.3(transitive)
- Removedhas-tostringtag@1.0.2(transitive)
- Removedhasown@2.0.2(transitive)
- Removedis-arguments@1.1.1(transitive)
- Removedis-date-object@1.0.5(transitive)
- Removedis-regex@1.1.4(transitive)
- Removedlevn@0.3.0(transitive)
- Removedmulti-stage-sourcemap@0.2.1(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedobject-is@1.1.6(transitive)
- Removedobject-keys@1.1.1(transitive)
- Removedoptionator@0.8.3(transitive)
- Removedprelude-ls@1.1.2(transitive)
- Removedregexp.prototype.flags@1.5.2(transitive)
- Removedsafe-buffer@5.2.1(transitive)
- Removedset-function-length@1.2.2(transitive)
- Removedset-function-name@2.0.2(transitive)
- Removedstring_decoder@1.3.0(transitive)
- Removedterser@3.17.0(transitive)
- Removedtype-check@0.3.2(transitive)
- Removeduglifyify@5.0.2(transitive)
- Removedunassert@1.6.0(transitive)
- Removedunassertify@2.1.1(transitive)
- Removedword-wrap@1.2.5(transitive)
Updatedthrough2@^4.0.2
Updatedunassertify@^3.0.1