generate-ip 2.4.0 โ†’ 2.4.1

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
@@ -3,9 +3,9 @@
3
3
  ### Randomly generate, format, and validate IPv4 + IPv6 + MAC addresses.
4
4
 
5
5
  <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>
6
- <a href="https://github.com/adamlui/js-utils/releases/tag/generate-ip-2.4.0"><img height=31 src="https://img.shields.io/badge/Latest_Build-2.4.0-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
6
+ <a href="https://github.com/adamlui/js-utils/releases/tag/generate-ip-2.4.1"><img height=31 src="https://img.shields.io/badge/Latest_Build-2.4.1-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
7
7
  <a href="https://www.npmjs.com/package/generate-ip?activeTab=code"><img height=31 src="https://img.shields.io/npm/unpacked-size/generate-ip?style=for-the-badge&logo=ebox&logoColor=white&labelColor=464646&color=blue"></a>
8
- <a href="https://github.com/adamlui/js-utils/blob/generate-ip-2.4.0/generate-ip/dist/generate-ip.min.js"><img height=31 src="https://img.shields.io/github/size/adamlui/js-utils/generate-ip/dist/generate-ip.min.js?branch=generate-ip-2.4.0&label=Minified%20Size&logo=databricks&logoColor=white&labelColor=464646&color=ff69b4&style=for-the-badge"></a>
8
+ <a href="https://github.com/adamlui/js-utils/blob/generate-ip-2.4.1/generate-ip/dist/generate-ip.min.js"><img height=31 src="https://img.shields.io/github/size/adamlui/js-utils/generate-ip/dist/generate-ip.min.js?branch=generate-ip-2.4.1&label=Minified%20Size&logo=databricks&logoColor=white&labelColor=464646&color=ff69b4&style=for-the-badge"></a>
9
9
  <a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_js-utils:generate-ip/src/generate-ip.js"><img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_js-utils%3Agenerate-ip%2Fsrc%2Fgenerate-ip.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
10
10
  <a href="https://github.com/toolleeo/cli-apps#networking"><img height=31 src="https://img.shields.io/badge/Mentioned_in-Awesome-c4a2bd?logo=awesomelists&logoColor=white&labelColor=464646&style=for-the-badge"></a>
11
11
  <a href="https://www.jsdelivr.com/package/npm/generate-ip?tab=stats"><img height=31 src="https://img.shields.io/jsdelivr/npm/hm/generate-ip?style=for-the-badge&logo=jsdelivr&logoColor=white&label=jsDelivr%20Hits&labelColor=464646&color=49c5d8"></a>
@@ -72,14 +72,14 @@ const { ipv4, ipv6, mac } = require('generate-ip');
72
72
  #### <> HTML script tag:
73
73
 
74
74
  ```html
75
- <script src="https://cdn.jsdelivr.net/npm/generate-ip@2.4.0/dist/generate-ip.min.js"></script>
75
+ <script src="https://cdn.jsdelivr.net/npm/generate-ip@2.4.1/dist/generate-ip.min.js"></script>
76
76
  ```
77
77
 
78
78
  #### ES6:
79
79
 
80
80
  ```js
81
81
  (async () => {
82
- await import('https://cdn.jsdelivr.net/npm/generate-ip@2.4.0/dist/generate-ip.min.js');
82
+ await import('https://cdn.jsdelivr.net/npm/generate-ip@2.4.1/dist/generate-ip.min.js');
83
83
  // Your code here...
84
84
  })();
85
85
  ```
@@ -88,7 +88,7 @@ const { ipv4, ipv6, mac } = require('generate-ip');
88
88
 
89
89
  ```js
90
90
  ...
91
- // @require https://cdn.jsdelivr.net/npm/generate-ip@2.4.0/dist/generate-ip.min.js
91
+ // @require https://cdn.jsdelivr.net/npm/generate-ip@2.4.1/dist/generate-ip.min.js
92
92
  // ==/UserScript==
93
93
 
94
94
  // Your code here...
@@ -96,7 +96,7 @@ const { ipv4, ipv6, mac } = require('generate-ip');
96
96
 
97
97
  <br>
98
98
 
99
- ๐Ÿ“ **Note:** To always import the latest version (not recommended in production!) remove the `@2.4.0` version tag from the jsDelivr URL: `https://cdn.jsdelivr.net/npm/generate-ip/dist/generate-ip.min.js`
99
+ ๐Ÿ“ **Note:** To always import the latest version (not recommended in production!) remove the `@2.4.1` version tag from the jsDelivr URL: `https://cdn.jsdelivr.net/npm/generate-ip/dist/generate-ip.min.js`
100
100
 
101
101
  <br>
102
102
 
@@ -385,7 +385,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
385
385
 
386
386
  ## ๐Ÿ› ๏ธ Related utilities
387
387
 
388
- ### [๐Ÿ”’ generate-pw](../generate-pw) <a href="https://github.com/toolleeo/cli-apps#password-managers"><img height=18 src="https://media.js-utils.com/images/badges/awesome/badge.svg?7b16322"></a>
388
+ ### [๐Ÿ”’ generate-pw](../generate-pw) &nbsp;<a href="https://github.com/toolleeo/cli-apps#password-managers"><img height=18 src="https://media.js-utils.com/images/badges/awesome/badge.svg?7b16322"></a>
389
389
 
390
390
  > Randomly generate, strengthen, and validate cryptographically-secure passwords.
391
391
  <br>[Install](https://docs.generatepw.org/#-installation) /
@@ -394,7 +394,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
394
394
  [CLI usage](https://docs.generatepw.org/#-command-line-usage) /
395
395
  [Discuss](https://github.js-utils.com/discussions)
396
396
 
397
- ### <picture><source media="(prefers-color-scheme: dark)" srcset="https://media.geolocatejs.org/images/icons/wire-globe/white/icon32.png?e735b99"><img height=22 src="https://media.geolocatejs.org/images/icons/wire-globe/black/icon32.png?e735b99"></picture> [geolocate](https://js-utils.com/geolocate)
397
+ ### <picture><source media="(prefers-color-scheme: dark)" srcset="https://media.geolocatejs.org/images/icons/wire-globe/white/icon32.png?e735b99"><img height=22 src="https://media.geolocatejs.org/images/icons/wire-globe/black/icon32.png?e735b99"></picture> [geolocate](https://js-utils.com/geolocate) &nbsp;<a href="https://github.com/toolleeo/cli-apps#networking"><img height=18 src="https://media.js-utils.com/images/badges/awesome/badge.svg?7b16322"></a>
398
398
 
399
399
  > Fetch IP geolocation data from the CLI.
400
400
  <br>[Install](https://docs.geolocatejs.org/#-installation) /
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('child_process').spawnSync('node',
4
+ [require.resolve('generate-ip/dist/cli.min.js'), '--ipv4', ...process.argv.slice(2)],
5
+ { stdio: 'inherit' }
6
+ );
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('child_process').spawnSync('node',
4
+ [require.resolve('generate-ip/dist/cli.min.js'), '--ipv4', ...process.argv.slice(2)],
5
+ { stdio: 'inherit' }
6
+ );
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('child_process').spawnSync('node',
4
+ [require.resolve('generate-ip/dist/cli.min.js'), '--ipv6', ...process.argv.slice(2)],
5
+ { stdio: 'inherit' }
6
+ );
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('child_process').spawnSync('node',
4
+ [require.resolve('generate-ip/dist/cli.min.js'), '--mac', ...process.argv.slice(2)],
5
+ { stdio: 'inherit' }
6
+ );
package/bin/generateip ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('child_process').spawnSync('node',
4
+ [require.resolve('generate-ip/dist/cli.min.js'), '--ipv4', ...process.argv.slice(2)],
5
+ { stdio: 'inherit' }
6
+ );
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('child_process').spawnSync('node',
4
+ [require.resolve('generate-ip/dist/cli.min.js'), '--ipv4', ...process.argv.slice(2)],
5
+ { stdio: 'inherit' }
6
+ );
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('child_process').spawnSync('node',
4
+ [require.resolve('generate-ip/dist/cli.min.js'), '--ipv6', ...process.argv.slice(2)],
5
+ { stdio: 'inherit' }
6
+ );
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('child_process').spawnSync('node',
4
+ [require.resolve('generate-ip/dist/cli.min.js'), '--mac', ...process.argv.slice(2)],
5
+ { stdio: 'inherit' }
6
+ );
package/dist/cli.min.js CHANGED
@@ -4,17 +4,17 @@
4
4
  * Source: https://code.generate-ip.org
5
5
  * Documentation: https://docs.generate-ip.org
6
6
  */
7
- const pkgName="generate-ip",copyright="ยฉ 2024 Adam Lui & contributors under the MIT license.",cmdFormat="generate-ip [options|commands]",srcURL="https://code.generate-ip.org",docURL="https://docs.generate-ip.org/#-command-line-usage";(async()=>{const{ipv4:e,ipv6:o,mac:r}=require(__dirname.match(/src/)?"./generate-ip":"./generate-ip.min"),s=require("fs"),n=require("path"),t=require("child_process")["execSync"],i="",a="",c="";let l="en";if("win32"==process.platform)try{l=t("(Get-Culture).TwoLetterISOLanguageName",{shell:"powershell",encoding:"utf-8"}).trim()}catch(e){}else{var p=process.env;l=(p.LANG||p.LANGUAGE||p.LC_ALL||p.LC_MESSAGES||p.LC_NAME||"en").split(".")[0]}let m={};var d,p=new Promise((t,i)=>{const a="https://cdn.jsdelivr.net/gh/adamlui/js-utils@d334c98338aea71ae784779db3ca53a7d4a5f4e6/generate-ip/_locales/",e=(l?l.replace("-","_"):"en")+"/";let c=a+e+"messages.json",p=0;u(c).then(async function o(e){try{const r=await e.json(),s={};for(const n in r)"object"==typeof r[n]&&"message"in r[n]&&(s[n]=r[n].message);t(s)}catch(e){if(3==++p)return t({});u(c=l.includes("-")&&1==p?c.replace(/([^_]*)_[^/]*(\/.*)/,"$1$2"):a+"en/messages.json").then(o).catch(i)}}).catch(i)});try{m=await p}catch(e){}const f={},g={paramOptions:{qty:/^--?qu?a?n?ti?t?y(?:=.*|$)/},flags:{ipv6mode:/^--?(?:ip)?v?6(?:-?mode)?$/,macMode:/^--?m(?:ac)?(?:-?mode)?$/,quietMode:/^--?q(?:uiet)?(?:-?mode)?$/},infoCmds:{help:/^--?h(?:elp)?$/,version:/^--?ve?r?s?i?o?n?$/}};if(process.argv.forEach(o=>{var e,r,s;o.startsWith("-")&&(e=Object.keys(g.paramOptions).find(e=>g.paramOptions[e].test(o)),s=Object.keys(g.flags).find(e=>g.flags[e].test(o)),r=Object.keys(g.infoCmds).find(e=>g.infoCmds[e].test(o)),s?f[s]=!0:e?(/=.+/.test(o)||(console.error(`
8
- ${a+(m.prefix_error||"ERROR")}: `+`Arg [--${o.replace(/-/g,"")}] `+`${m.error_noEqual||"requires '=' followed by a value"}.${i}`),v(),process.exit(1)),s=o.split("=")[1],f[e]=parseInt(s)||s):r||(console.error(`
7
+ const pkgName="generate-ip",copyright="ยฉ 2024 Adam Lui & contributors under the MIT license.",cmdFormat="generate-ip [options|commands]",srcURL="https://code.generate-ip.org",docURL="https://docs.generate-ip.org/#-command-line-usage";(async()=>{const{ipv4:e,ipv6:o,mac:r}=require(__dirname.match(/src/)?"./generate-ip":"./generate-ip.min"),s=require("fs"),n=require("path"),t=require("child_process")["execSync"],i="",a="",p="";let l="en";if("win32"==process.platform)try{l=t("(Get-Culture).TwoLetterISOLanguageName",{shell:"powershell",encoding:"utf-8"}).trim()}catch(e){}else{var c=process.env;l=(c.LANG||c.LANGUAGE||c.LC_ALL||c.LC_MESSAGES||c.LC_NAME||"en").split(".")[0]}let m={};var d,c=new Promise((t,i)=>{const a="https://cdn.jsdelivr.net/gh/adamlui/js-utils@e98e568ed7596053ad18fffd2efb50b416c386cb/generate-ip/_locales/",e=(l?l.replace("-","_"):"en")+"/";let p=a+e+"messages.json",c=0;u(p).then(async function o(e){try{const r=await e.json(),s={};for(const n in r)"object"==typeof r[n]&&"message"in r[n]&&(s[n]=r[n].message);t(s)}catch(e){if(3==++c)return t({});u(p=l.includes("-")&&1==c?p.replace(/([^_]*)_[^/]*(\/.*)/,"$1$2"):a+"en/messages.json").then(o).catch(i)}}).catch(i)});try{m=await c}catch(e){}const f={},g={paramOptions:{qty:/^--?qu?a?n?ti?t?y(?:=.*|$)/},flags:{ipv6mode:/^--?(?:ip)?v?6(?:-?mode)?$/,macMode:/^--?m(?:ac)?(?:-?mode)?$/,quietMode:/^--?q(?:uiet)?(?:-?mode)?$/},infoCmds:{help:/^--?h(?:elp)?$/,version:/^--?ve?r?s?i?o?n?$/}};if(process.argv.forEach(o=>{var e,r,s;o.startsWith("-")&&(e=Object.keys(g.paramOptions).find(e=>g.paramOptions[e].test(o)),s=Object.keys(g.flags).find(e=>g.flags[e].test(o)),r=Object.keys(g.infoCmds).find(e=>g.infoCmds[e].test(o)),s?f[s]=!0:e?(/=.+/.test(o)||(console.error(`
8
+ ${a+(m.prefix_error||"ERROR")}: `+`Arg [--${o.replace(/-/g,"")}] `+`${m.error_noEqual||"requires '=' followed by a value"}.${i}`),v(),process.exit(1)),s=o.split("=")[1],f[e]=parseInt(s)||s):r||/ipv4/.test(o)||(console.error(`
9
9
  ${a+(m.prefix_error||"ERROR")}: `+`Arg [${o}] ${m.error_notRecognized||"not recognized"}.`),console.info(`
10
10
  ${""+(m.info_validArgs||"Valid arguments are below")}.`),$(["paramOptions","flags","infoCmds"]),process.exit(1)))}),f.qty&&(isNaN(f.qty)||f.qty<1)&&(console.error(`
11
- ${a+(m.prefix_error||"ERROR")}: [qty] `+`${m.error_nonPositiveNum||"argument can only be > 0"}.${i}`),v(),process.exit(1)),process.argv.some(e=>g.infoCmds.help.test(e)))$();else if(process.argv.some(e=>g.infoCmds.version.test(e))){p=t(`npm view ${pkgName} version`).toString().trim()||"none";let e,o=process.cwd();for(;"/"!=o;){var h=n.join(o,"package.json");if(s.existsSync(h)){h=require(h);e=(h.dependencies?.[pkgName]||h.devDependencies?.[pkgName])?.match(/(\d+\.\d+\.\d+)/)[0]||"none";break}o=n.dirname(o)}console.info(`
12
- ${m.prefix_globalVer||"Global version"}: `+p),console.info(`${m.prefix_localVer||"Local version"}: `+e)}else{p={qty:f.qty||1,verbose:!f.quietMode},p=(f.ipv6mode?o:f.macMode?r:e).generate(p);d=`
13
- ${m.info_copying||"Copying to clipboard"}...`,f.quietMode||console.info(d),d=Array.isArray(p)?p.join("\n"):p,"darwin"==process.platform?t(`printf "${d}" | pbcopy`):"linux"==process.platform?t(`printf "${d}" | xclip -selection clipboard`):"win32"==process.platform&&t(`Set-Clipboard -Value "${d}"`,{shell:"powershell"})}function u(s){return new Promise((r,e)=>{var o=s.match(/^([^:]+):\/\//)[1];/^https?$/.test(o)||e(new Error(`${m.error_invalidURL||"Invalid URL"}.`)),require(o).get(s,e=>{let o="";e.on("data",e=>o+=e),e.on("end",()=>r({json:()=>JSON.parse(o)}))}).on("error",e)})}function $(e=["header","usage","paramOptions","flags","infoCmds"]){var o=` ${pkgName}  `;const r={header:["\nโ”œ "+o+(m.appCopyright||copyright),o+(m.prefix_source||"Source")+": "+srcURL],usage:[`
14
- ${c}o ${m.helpSection_usage||"Usage"}:`," ยป "+cmdFormat+i],paramOptions:[`
15
- ${c}o ${m.helpSection_paramOptions||"Parameter options"}:`,` --qty=n ${m.optionDesc_qty||"Generate n IP address(es)"}.`],flags:[`
16
- ${c}o ${m.helpSection_flags||"Boolean options"}:`," -6, --ipv6 Generate IPv6 address."," -m, --mac Generate MAC address.",` -q, --quiet ${m.optionDesc_quiet||"Suppress all logging except errors"}.`],infoCmds:[`
17
- ${c}o ${m.helpSection_infoCmds||"Info commands"}:`," -h, --help "+(m.optionDesc_help||"Display help screen."),` -v, --version ${m.optionDesc_version||"Show version number"}.`]};e.forEach(i=>{r[i]?.forEach(e=>{{var s=/header|usage/.test(i)?1:29;const n=process.stdout.columns||80,t=[],o=e.match(/\S+|\s+/g);let r="";o.forEach(e=>{var o=n-(0==t.length?0:s);r.length+"| ".length+e.length>o&&(t.push(0==t.length?r:r.trimStart()),r=""),r+=e}),t.push(0==t.length?r:r.trimStart()),t.forEach((e,o)=>console.info("| "+(0==o?e:" ".repeat(s)+e)))}})}),console.info(`
18
- ${m.info_moreHelp||"For more help"}, ${m.info_visit||"visit"}: `+c+docURL+i)}function v(){console.info(`
11
+ ${a+(m.prefix_error||"ERROR")}: [qty] `+`${m.error_nonPositiveNum||"argument can only be > 0"}.${i}`),v(),process.exit(1)),process.argv.some(e=>g.infoCmds.help.test(e)))$();else if(process.argv.some(e=>g.infoCmds.version.test(e))){c=t(`npm view ${pkgName} version`).toString().trim()||"none";let e,o=process.cwd();for(;"/"!=o;){var h=n.join(o,"package.json");if(s.existsSync(h)){h=require(h);e=(h.dependencies?.[pkgName]||h.devDependencies?.[pkgName])?.match(/(\d+\.\d+\.\d+)/)[0]||"none";break}o=n.dirname(o)}console.info(`
12
+ ${m.prefix_globalVer||"Global version"}: `+c),console.info(`${m.prefix_localVer||"Local version"}: `+e)}else{c={qty:f.qty||1,verbose:!f.quietMode},c=(f.ipv6mode?o:f.macMode?r:e).generate(c);d=`
13
+ ${m.info_copying||"Copying to clipboard"}...`,f.quietMode||console.info(d),d=Array.isArray(c)?c.join("\n"):c,"darwin"==process.platform?t(`printf "${d}" | pbcopy`):"linux"==process.platform?t(`printf "${d}" | xclip -selection clipboard`):"win32"==process.platform&&t(`Set-Clipboard -Value "${d}"`,{shell:"powershell"})}function u(s){return new Promise((r,e)=>{var o=s.match(/^([^:]+):\/\//)[1];/^https?$/.test(o)||e(new Error(`${m.error_invalidURL||"Invalid URL"}.`)),require(o).get(s,e=>{let o="";e.on("data",e=>o+=e),e.on("end",()=>r({json:()=>JSON.parse(o)}))}).on("error",e)})}function $(e=["header","usage","paramOptions","flags","infoCmds"]){var o=` ${pkgName}  `;const r={header:["\nโ”œ "+o+(m.appCopyright||copyright),o+(m.prefix_source||"Source")+": "+srcURL],usage:[`
14
+ ${p}o ${m.helpSection_usage||"Usage"}:`," ยป "+cmdFormat+i],paramOptions:[`
15
+ ${p}o ${m.helpSection_paramOptions||"Parameter options"}:`,` --qty=n ${m.optionDesc_qty||"Generate n IP address(es)"}.`],flags:[`
16
+ ${p}o ${m.helpSection_flags||"Boolean options"}:`," -6, --ipv6 Generate IPv6 address."," -m, --mac Generate MAC address.",` -q, --quiet ${m.optionDesc_quiet||"Suppress all logging except errors"}.`],infoCmds:[`
17
+ ${p}o ${m.helpSection_infoCmds||"Info commands"}:`," -h, --help "+(m.optionDesc_help||"Display help screen."),` -v, --version ${m.optionDesc_version||"Show version number"}.`]};e.forEach(i=>{r[i]?.forEach(e=>{{var s=/header|usage/.test(i)?1:29;const n=process.stdout.columns||80,t=[],o=e.match(/\S+|\s+/g);let r="";o.forEach(e=>{var o=n-(0==t.length?0:s);r.length+"| ".length+e.length>o&&(t.push(0==t.length?r:r.trimStart()),r=""),r+=e}),t.push(0==t.length?r:r.trimStart()),t.forEach((e,o)=>console.info("| "+(0==o?e:" ".repeat(s)+e)))}})}),console.info(`
18
+ ${m.info_moreHelp||"For more help"}, ${m.info_visit||"visit"}: `+p+docURL+i)}function v(){console.info(`
19
19
  ${m.info_moreHelp||"For more help"},`+` ${m.info_type||"type"} 'generate-ip --help'`+` ${m.info_or||"or"} ${m.info_visit||"visit"}
20
- `+c+docURL+i)}})();
20
+ `+p+docURL+i)}})();
package/docs/README.md CHANGED
@@ -3,9 +3,9 @@
3
3
  ### Randomly generate, format, and validate IPv4 + IPv6 + MAC addresses.
4
4
 
5
5
  <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>
6
- <a href="https://github.com/adamlui/js-utils/releases/tag/generate-ip-2.4.0"><img height=31 src="https://img.shields.io/badge/Latest_Build-2.4.0-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
6
+ <a href="https://github.com/adamlui/js-utils/releases/tag/generate-ip-2.4.1"><img height=31 src="https://img.shields.io/badge/Latest_Build-2.4.1-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
7
7
  <a href="https://www.npmjs.com/package/generate-ip?activeTab=code"><img height=31 src="https://img.shields.io/npm/unpacked-size/generate-ip?style=for-the-badge&logo=ebox&logoColor=white&labelColor=464646&color=blue"></a>
8
- <a href="https://github.com/adamlui/js-utils/blob/generate-ip-2.4.0/generate-ip/dist/generate-ip.min.js"><img height=31 src="https://img.shields.io/github/size/adamlui/js-utils/generate-ip/dist/generate-ip.min.js?branch=generate-ip-2.4.0&label=Minified%20Size&logo=databricks&logoColor=white&labelColor=464646&color=ff69b4&style=for-the-badge"></a>
8
+ <a href="https://github.com/adamlui/js-utils/blob/generate-ip-2.4.1/generate-ip/dist/generate-ip.min.js"><img height=31 src="https://img.shields.io/github/size/adamlui/js-utils/generate-ip/dist/generate-ip.min.js?branch=generate-ip-2.4.1&label=Minified%20Size&logo=databricks&logoColor=white&labelColor=464646&color=ff69b4&style=for-the-badge"></a>
9
9
  <a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_js-utils:generate-ip/src/generate-ip.js"><img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_js-utils%3Agenerate-ip%2Fsrc%2Fgenerate-ip.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
10
10
  <a href="https://github.com/toolleeo/cli-apps#networking"><img height=31 src="https://img.shields.io/badge/Mentioned_in-Awesome-c4a2bd?logo=awesomelists&logoColor=white&labelColor=464646&style=for-the-badge"></a>
11
11
  <a href="https://www.jsdelivr.com/package/npm/generate-ip?tab=stats"><img height=31 src="https://img.shields.io/jsdelivr/npm/hm/generate-ip?style=for-the-badge&logo=jsdelivr&logoColor=white&label=jsDelivr%20Hits&labelColor=464646&color=49c5d8"></a>
@@ -72,14 +72,14 @@ const { ipv4, ipv6, mac } = require('generate-ip');
72
72
  #### <> HTML script tag:
73
73
 
74
74
  ```html
75
- <script src="https://cdn.jsdelivr.net/npm/generate-ip@2.4.0/dist/generate-ip.min.js"></script>
75
+ <script src="https://cdn.jsdelivr.net/npm/generate-ip@2.4.1/dist/generate-ip.min.js"></script>
76
76
  ```
77
77
 
78
78
  #### ES6:
79
79
 
80
80
  ```js
81
81
  (async () => {
82
- await import('https://cdn.jsdelivr.net/npm/generate-ip@2.4.0/dist/generate-ip.min.js');
82
+ await import('https://cdn.jsdelivr.net/npm/generate-ip@2.4.1/dist/generate-ip.min.js');
83
83
  // Your code here...
84
84
  })();
85
85
  ```
@@ -88,7 +88,7 @@ const { ipv4, ipv6, mac } = require('generate-ip');
88
88
 
89
89
  ```js
90
90
  ...
91
- // @require https://cdn.jsdelivr.net/npm/generate-ip@2.4.0/dist/generate-ip.min.js
91
+ // @require https://cdn.jsdelivr.net/npm/generate-ip@2.4.1/dist/generate-ip.min.js
92
92
  // ==/UserScript==
93
93
 
94
94
  // Your code here...
@@ -96,7 +96,7 @@ const { ipv4, ipv6, mac } = require('generate-ip');
96
96
 
97
97
  <br>
98
98
 
99
- ๐Ÿ“ **Note:** To always import the latest version (not recommended in production!) remove the `@2.4.0` version tag from the jsDelivr URL: `https://cdn.jsdelivr.net/npm/generate-ip/dist/generate-ip.min.js`
99
+ ๐Ÿ“ **Note:** To always import the latest version (not recommended in production!) remove the `@2.4.1` version tag from the jsDelivr URL: `https://cdn.jsdelivr.net/npm/generate-ip/dist/generate-ip.min.js`
100
100
 
101
101
  <br>
102
102
 
@@ -385,7 +385,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
385
385
 
386
386
  ## ๐Ÿ› ๏ธ Related utilities
387
387
 
388
- ### [๐Ÿ”’ generate-pw](../generate-pw) <a href="https://github.com/toolleeo/cli-apps#password-managers"><img height=18 src="https://media.js-utils.com/images/badges/awesome/badge.svg?7b16322"></a>
388
+ ### [๐Ÿ”’ generate-pw](../generate-pw) &nbsp;<a href="https://github.com/toolleeo/cli-apps#password-managers"><img height=18 src="https://media.js-utils.com/images/badges/awesome/badge.svg?7b16322"></a>
389
389
 
390
390
  > Randomly generate, strengthen, and validate cryptographically-secure passwords.
391
391
  <br>[Install](https://docs.generatepw.org/#-installation) /
@@ -394,7 +394,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
394
394
  [CLI usage](https://docs.generatepw.org/#-command-line-usage) /
395
395
  [Discuss](https://github.js-utils.com/discussions)
396
396
 
397
- ### <picture><source media="(prefers-color-scheme: dark)" srcset="https://media.geolocatejs.org/images/icons/wire-globe/white/icon32.png?e735b99"><img height=22 src="https://media.geolocatejs.org/images/icons/wire-globe/black/icon32.png?e735b99"></picture> [geolocate](https://js-utils.com/geolocate)
397
+ ### <picture><source media="(prefers-color-scheme: dark)" srcset="https://media.geolocatejs.org/images/icons/wire-globe/white/icon32.png?e735b99"><img height=22 src="https://media.geolocatejs.org/images/icons/wire-globe/black/icon32.png?e735b99"></picture> [geolocate](https://js-utils.com/geolocate) &nbsp;<a href="https://github.com/toolleeo/cli-apps#networking"><img height=18 src="https://media.js-utils.com/images/badges/awesome/badge.svg?7b16322"></a>
398
398
 
399
399
  > Fetch IP geolocation data from the CLI.
400
400
  <br>[Install](https://docs.geolocatejs.org/#-installation) /
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generate-ip",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "description": "Randomly generate, format, and validate IPv4 + IPv6 + MAC addresses.",
5
5
  "author": {
6
6
  "name": "Adam Lui",
@@ -14,17 +14,8 @@
14
14
  "dist",
15
15
  "docs"
16
16
  ],
17
- "bin": {
18
- "generateip": "dist/cli.min.js",
19
- "generate-ip": "dist/cli.min.js",
20
- "generateipv4": "dist/cli.min.js",
21
- "generate-ipv4": "dist/cli.min.js",
22
- "generateipv6": "dist/cli.min.js --ipv6",
23
- "generate-ipv6": "dist/cli.min.js --ipv6",
24
- "generatemac": "dist/cli.min.js --mac",
25
- "generate-mac": "dist/cli.min.js --mac"
26
- },
27
17
  "directories": {
18
+ "bin": "./bin",
28
19
  "lib": "./dist",
29
20
  "doc": "./docs"
30
21
  },