@adamlui/minify.js 1.5.3 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  <a href="https://www.npmjs.com/package/@adamlui/minify.js"><img height=31 src="https://img.shields.io/npm/dm/%40adamlui%2Fminify.js?logo=npm&color=af68ff&logoColor=white&labelColor=464646&style=for-the-badge"></a>
23
23
  <a href="#%EF%B8%8F-mit-license"><img height=31 src="https://img.shields.io/badge/License-MIT-orange.svg?logo=internetarchive&logoColor=white&labelColor=464646&style=for-the-badge"></a>
24
- <a href="https://github.com/adamlui/minify.js/releases/tag/node-v1.5.3"><img height=31 src="https://img.shields.io/badge/Latest_Build-1.5.3-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
24
+ <a href="https://github.com/adamlui/minify.js/releases/tag/node-v1.5.4"><img height=31 src="https://img.shields.io/badge/Latest_Build-1.5.4-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
25
25
  <a href="https://www.npmjs.com/package/@adamlui/minify.js?activeTab=code"><img height=31 src="https://img.shields.io/npm/unpacked-size/%40adamlui%2Fminify.js?style=for-the-badge&logo=ebox&logoColor=white&labelColor=464646&color=blue"></a>
26
26
  <a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_minify.js:node.js/src/minify.js"><img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_minify.js%3Anode.js%2Fsrc%2Fminify.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
27
27
  <a href="https://github.com/toolleeo/cli-apps#programming"><img height=31 src="https://img.shields.io/badge/Mentioned_in-Awesome-c4a2bd?logo=awesomelists&logoColor=white&labelColor=464646&style=for-the-badge"></a>
@@ -197,7 +197,7 @@ console.log(minifyResults[1].code);
197
197
  Options are boolean, passed as object properties. For example:
198
198
 
199
199
  ```js
200
- // Returns data object where dotfiles are also processed if `input` is a path
200
+ // Returns array of data objects where dotfiles are also processed if `input` is a path
201
201
  minifyJS.minify(input, { dotFiles: true });
202
202
  ```
203
203
 
package/dist/cli.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * © 2023–2024 Adam Lui & contributors under the MIT license.
4
- * Source: https://github.minify-js.org/tree/main/node.js/src
4
+ * Source: https://code.minify-js.org/node.js
5
5
  * Documentation: https://docs.minify-js.org
6
6
  */
7
7
  const pkgName="@adamlui/minify.js",docURL="https://docs.minify-js.org/#-command-line-usage",minifyJS=require(__dirname.match(/src/)?"./minify":"./minify.min"),fs=require("fs"),path=require("path"),execSync=require("child_process")["execSync"],nc="",br="",by="",bg="",config={},argRegex={flags:{dryRun:/^--?(?:n|dry-?run)$/,includeDotFolders:/^--?(?:dd?|(?:include-?)?dot-?(?:folder|dir(?:ector(?:y|ie))?)s?=?(?:true|1)?)$/,includeDotFiles:/^--?(?:df|D|(?:include-?)?dot-?files?=?(?:true|1)?)$/,noRecursion:/^--?(?:R|(?:disable|no)-?recursi(?:on|ve)|recursi(?:on|ve)=(?:false|0))$/,noMangle:/^--?(?:M|(?:disable|no)-?mangle|mangle=(?:false|0))$/,quietMode:/^--?q(?:uiet)?(?:-?mode)?$/},paramOptions:{comment:/^--?comments?(?:=.*|$)/},infoCmds:{help:/^--?h(?:elp)?$/,version:/^--?ve?r?s?i?o?n?$/}};if(process.argv.forEach(n=>{var e,i,o;n.startsWith("-")&&(e=Object.keys(argRegex.paramOptions).find(e=>argRegex.paramOptions[e].test(n)),o=Object.keys(argRegex.flags).find(e=>argRegex.flags[e].test(n)),i=Object.keys(argRegex.infoCmds).find(e=>argRegex.infoCmds[e].test(n)),o?config[o]=!0:e?(n.includes("=")||(console.error(`
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * © 2023–2024 Adam Lui & contributors under the MIT license.
4
- * Source: https://github.minify-js.org/tree/main/node.js/src
4
+ * Source: https://code.minify-js.org/node.js
5
5
  * Documentation: https://docs.minify-js.org
6
6
  */
7
7
  const fs=require("fs"),path=require("path"),uglifyJS=require("uglify-js");function findJS(i,r={}){var e="https://docs.minify-js.org/#findjssearchdir-options",o={recursive:!0,verbose:!0,dotFolders:!1,dotFiles:!1};if("string"!=typeof i)console.error("findJS() » ERROR: 1st arg <searchDir> must be a string."),console.info("findJS() » For more help, please visit "+e);else{var n=path.resolve(process.cwd(),i);if(fs.existsSync(n)){if(validateOptions(r,o,e,"findJS('assets/js', { verbose: false, dotFoldes: true })")){r={...o,...r};const s=fs.readdirSync(i),t=[];return r.verbose&&!r.isRecursing&&console.info("findJS() » Searching for unminified JS files..."),s.forEach(e=>{var o=path.resolve(i,e);fs.statSync(o).isDirectory()&&"node_modules"!=e&&(r.dotFolders||!e.startsWith("."))&&r.recursive?t.push(...findJS(o,{...r,isRecursing:!0})):!/\.js(?<!\.min\.js)$/.test(e)||!r.dotFiles&&e.startsWith(".")||t.push(o)}),!r.isRecursing&&r.verbose&&(console.info("findJS() » Search complete! "+(0==t.length?"No":t.length)+` file${0==t.length||1<t.length?"s":""} found.`),"minify"==findJS.caller.name||process.argv.some(e=>e.includes("gulp"))||/cli(?:\.min)?\.js$/.test(require.main.filename)||console.info("findJS() » Check returned array.")),r.isRecursing||0<t.length?t:[]}}else console.error("findJS() » ERROR: 1st arg <searchDir> must be an existing directory."),console.error(`findJS() » ${n} does not exist.`),console.info("findJS() » For more help, please visit "+e)}}function minify(e,r={}){var o="https://docs.minify-js.org/#minifyinput-options",i={recursive:!0,verbose:!0,dotFolders:!1,dotFiles:!1,mangle:!0,comment:""};if("string"!=typeof e)console.error("minify() » ERROR: 1st arg <input> must be a string."),console.info("minify() » For more help, please visit "+o);else if(validateOptions(r,i,o,"minify('assets/js', { recursive: false, mangle: false })")){const s={mangle:(r={...i,...r}).mangle};return fs.existsSync(e)?e.endsWith(".js")?(r.verbose&&console.info(`minify() » Minifying ${e}...`),o=uglifyJS.minify(fs.readFileSync(e,"utf8"),s),r.comment&&(o.code=n(o.code)),o.error?console.error("minify() » ERROR: "+o.error.message):!r.verbose||process.argv.some(e=>e.includes("gulp"))||/cli(?:\.min)?\.js$/.test(require.main.filename)||console.info("minify() » Minification complete. Check returned object."),{code:o.code,srcPath:path.resolve(process.cwd(),e),error:o.error}):(i=findJS(e,{recursive:r.recursive,verbose:r.verbose,dotFolders:r.dotFolders,dotFiles:r.dotFiles})?.map(e=>{r.verbose&&console.info(`minify() » Minifying ${e}...`);var o=fs.readFileSync(e,"utf8"),o=uglifyJS.minify(o,s);return r.comment&&(o.code=n(o.code)),o.error&&console.error("minify() » ERROR: "+o.error.message),{code:o.code,srcPath:e,error:o.error}}).filter(e=>!e.error),r.verbose&&(0<i.length?console.info("minify() » Minification complete. Check returned object."):console.info("minify() » No unminified JavaScript files processed.")),i):(r.verbose&&!process.argv.some(e=>e.includes("gulp"))&&console.info("minify() » Minifying passed source code..."),o=uglifyJS.minify(e,s),r.comment&&(o.code=n(o.code)),o.error?console.error("minify() » ERROR: "+o.error.message):r.verbose&&!process.argv.some(e=>e.includes("gulp"))&&console.info("minify() » Minification complete. Check returned object."),{code:o.code,srcPath:void 0,error:o.error});function n(e){var o=r.comment.split("\n").map(e=>" * "+e).join("\n"),i=e.indexOf("#!");return 0<=i?(i=e.indexOf("\n",i)+1,e.slice(0,i)+`/**
@@ -10,4 +10,4 @@ ${o}
10
10
  `+e.slice(i)):`/**
11
11
  ${o}
12
12
  */
13
- `+e}}}function validateOptions(e,o,i,r){const n=JSON.stringify(o,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'").replace(/\n\s*/g," "),s=Object.keys(o).join(", "),t=Object.keys(o).filter(e=>"boolean"==typeof o[e]),l=Object.keys(o).filter(e=>Number.isInteger(o[e])),c=(validateOptions.caller?.name||"validateOptions")+"() » ";var f=()=>{console.info(c+`Valid options: [ ${s} ]`),console.info(c+"If omitted, default settings are: "+n)},a=()=>{console.info(c+"For more help, please visit "+i)};if("object"!=typeof e)return console.error(c+"ERROR: [options] can only be an object of key/values."),console.info(c+"Example valid call: "+r),f(),a(),!1;for(const m in e){if("isRecursing"!=m&&!Object.prototype.hasOwnProperty.call(o,m))return console.error(c+`ERROR: \`${m}\` is an invalid option.`),f(),a(),!1;if(t.includes(m)){if("mangle"==m){var d=()=>console.error(c+"ERROR: [mangle] option can only be `true`, `false`, or an object w/ key [toplevel] set to `true` or `false`.");if("object"==typeof e.mangle){for(const u in e.mangle)if(!["toplevel"].includes(u)||"boolean"!=typeof e.mangle[u])return d(),a(),!1}else if("boolean"!=typeof e.mangle)return d(),a(),!1}else if("boolean"!=typeof e[m])return console.error(c+`ERROR: [${m}] option can only be \`true\` or \`false\`.`),a(),!1}else if(l.includes(m)&&(e[m]=parseInt(e[m],10),isNaN(e[m])||e[m]<1))return console.error(c+`ERROR: [${m}] option can only be an integer > 0.`),a(),!1}return!0}module.exports={minify:minify,find:findJS,findJS:findJS};
13
+ `+e}}}function validateOptions(e,o,i,r){const n=JSON.stringify(o,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'").replace(/\n\s*/g," "),s=Object.keys(o).join(", "),t=Object.keys(o).filter(e=>"boolean"==typeof o[e]),l=Object.keys(o).filter(e=>Number.isInteger(o[e]));let c="validateOptions() » ";try{c=validateOptions.caller?.name+"() » "}catch(e){}var f=r.split(",").findIndex(e=>e.trim().startsWith("{"))+1,a=(f+=["st","nd","rd"][f-1]||"th",()=>{console.info(`${c}Valid options: [ ${s} ]`),console.info(c+"If omitted, default settings are: "+n)}),d=()=>{console.info(c+"For more help, please visit "+i)};if("object"!=typeof e)return console.error(c+`ERROR: ${"0th"==f?"[O":f+" arg [o"}ptions] can only be an object of key/values.`),console.info(c+"Example valid call: "+r),a(),d(),!1;for(const u in e){if("isRecursing"!=u&&!Object.prototype.hasOwnProperty.call(o,u))return console.error(`${c}ERROR: \`${u}\` is an invalid option.`),a(),d(),!1;if(t.includes(u)){if("mangle"==u){var m=()=>console.error(c+"ERROR: [mangle] option can only be `true`, `false`, or an object w/ key [toplevel] set to `true` or `false`.");if("object"==typeof e.mangle){for(const p in e.mangle)if(!["toplevel"].includes(p)||"boolean"!=typeof e.mangle[p])return m(),d(),!1}else if("boolean"!=typeof e.mangle)return m(),d(),!1}else if("boolean"!=typeof e[u])return console.error(`${c}ERROR: [${u}] option can only be \`true\` or \`false\`.`),d(),!1}else if(l.includes(u)&&(e[u]=parseInt(e[u],10),isNaN(e[u])||e[u]<1))return console.error(`${c}ERROR: [${u}] option can only be an integer > 0.`),d(),!1}return!0}module.exports={minify:minify,find:findJS,findJS:findJS};
package/docs/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  <a href="https://www.npmjs.com/package/@adamlui/minify.js"><img height=31 src="https://img.shields.io/npm/dm/%40adamlui%2Fminify.js?logo=npm&color=af68ff&logoColor=white&labelColor=464646&style=for-the-badge"></a>
23
23
  <a href="#%EF%B8%8F-mit-license"><img height=31 src="https://img.shields.io/badge/License-MIT-orange.svg?logo=internetarchive&logoColor=white&labelColor=464646&style=for-the-badge"></a>
24
- <a href="https://github.com/adamlui/minify.js/releases/tag/node-v1.5.3"><img height=31 src="https://img.shields.io/badge/Latest_Build-1.5.3-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
24
+ <a href="https://github.com/adamlui/minify.js/releases/tag/node-v1.5.4"><img height=31 src="https://img.shields.io/badge/Latest_Build-1.5.4-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
25
25
  <a href="https://www.npmjs.com/package/@adamlui/minify.js?activeTab=code"><img height=31 src="https://img.shields.io/npm/unpacked-size/%40adamlui%2Fminify.js?style=for-the-badge&logo=ebox&logoColor=white&labelColor=464646&color=blue"></a>
26
26
  <a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_minify.js:node.js/src/minify.js"><img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_minify.js%3Anode.js%2Fsrc%2Fminify.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
27
27
  <a href="https://github.com/toolleeo/cli-apps#programming"><img height=31 src="https://img.shields.io/badge/Mentioned_in-Awesome-c4a2bd?logo=awesomelists&logoColor=white&labelColor=464646&style=for-the-badge"></a>
@@ -197,7 +197,7 @@ console.log(minifyResults[1].code);
197
197
  Options are boolean, passed as object properties. For example:
198
198
 
199
199
  ```js
200
- // Returns data object where dotfiles are also processed if `input` is a path
200
+ // Returns array of data objects where dotfiles are also processed if `input` is a path
201
201
  minifyJS.minify(input, { dotFiles: true });
202
202
  ```
203
203
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adamlui/minify.js",
3
- "version": "1.5.3",
3
+ "version": "1.5.4",
4
4
  "description": "Recursively minify all JavaScript files",
5
5
  "author": {
6
6
  "name": "Adam Lui",