@adamlui/scss-to-css 1.10.22 → 1.10.24

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
@@ -2,8 +2,8 @@
2
2
  <td align="center" width=1000>
3
3
  <h6>
4
4
  <picture>
5
- <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://media.scsstocss.org/images/icons/earth/white/icon32.svg?52b67bc">
6
- <img height=14 src="https://media.scsstocss.org/images/icons/earth/black/icon32.svg?52b67bc">
5
+ <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://assets.scsstocss.org/images/icons/earth/white/icon32.svg?v=7e4a141">
6
+ <img height=14 src="https://assets.scsstocss.org/images/icons/earth/black/icon32.svg?v=7e4a141">
7
7
  </picture>
8
8
  &nbsp;English |
9
9
  <a href="https://github.com/adamlui/scss-to-css/tree/main/node.js/docs/zh-cn#readme">简体中文</a> |
@@ -27,14 +27,20 @@
27
27
 
28
28
  ### Recursively compile all SCSS files into minified CSS.
29
29
 
30
- <a href="https://www.npmjs.com/package/@adamlui/scss-to-css"><img height=31 src="https://img.shields.io/npm/dm/%40adamlui%2Fscss-to-css?logo=npm&color=af68ff&logoColor=white&labelColor=464646&style=for-the-badge"></a>
31
- <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>
32
- <a href="https://github.com/adamlui/js-utils/releases/tag/scss-to-css-1.10.21"><img height=31 src="https://img.shields.io/badge/Latest_Build-1.10.21-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
33
- <a href="https://www.npmjs.com/package/@adamlui/scss-to-css?activeTab=code"><img height=31 src="https://img.shields.io/npm/unpacked-size/%40adamlui%2Fscss-to-css?style=for-the-badge&logo=ebox&logoColor=white&color=blue&labelColor=464646"></a>
34
- <a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_scss-to-css:node.js/src/scss-to-css.js"><img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_scss-to-css%3Anode.js%2Fsrc%2Fscss-to-css.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
35
- <a href="https://github.com/toolleeo/cli-apps#conversion"><img height=31 src="https://img.shields.io/badge/Mentioned_in-Awesome-c4a2bd?logo=awesomelists&logoColor=white&labelColor=464646&style=for-the-badge"></a>
36
-
37
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
30
+ <a href="https://www.npmjs.com/package/@adamlui/scss-to-css">
31
+ <img height=31 src="https://img.shields.io/npm/dm/%40adamlui%2Fscss-to-css?logo=npm&color=af68ff&logoColor=white&labelColor=464646&style=for-the-badge"></a>
32
+ <a href="#%EF%B8%8F-mit-license">
33
+ <img height=31 src="https://img.shields.io/badge/License-MIT-orange.svg?logo=internetarchive&logoColor=white&labelColor=464646&style=for-the-badge"></a>
34
+ <a href="https://github.com/adamlui/js-utils/releases/tag/scss-to-css-1.10.24">
35
+ <img height=31 src="https://img.shields.io/badge/Latest_Build-1.10.24-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
36
+ <a href="https://www.npmjs.com/package/@adamlui/scss-to-css?activeTab=code">
37
+ <img height=31 src="https://img.shields.io/npm/unpacked-size/%40adamlui%2Fscss-to-css?style=for-the-badge&logo=ebox&logoColor=white&color=blue&labelColor=464646"></a>
38
+ <a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_scss-to-css:node.js/src/scss-to-css.js">
39
+ <img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_scss-to-css%3Anode.js%2Fsrc%2Fscss-to-css.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
40
+ <a href="https://github.com/toolleeo/cli-apps#conversion">
41
+ <img height=31 src="https://img.shields.io/badge/Mentioned_in-Awesome-c4a2bd?logo=awesomelists&logoColor=white&labelColor=464646&style=for-the-badge"></a>
42
+
43
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
38
44
 
39
45
  ## ⚡ Installation
40
46
 
@@ -58,9 +64,9 @@ $ npm install @adamlui/scss-to-css
58
64
 
59
65
  <br>
60
66
 
61
- <a href="https://github.com/sponsors/adamlui"><img src="https://media.scsstocss.org/images/banners/sponsor/$10/banner1660x260.png?2cba0ae"></a>
67
+ <a href="https://github.com/sponsors/adamlui"><img src="https://assets.scsstocss.org/images/banners/sponsor/$10/banner1660x260.png?v=2cba0ae"></a>
62
68
 
63
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
69
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
64
70
 
65
71
  ## 💻 Command line usage
66
72
 
@@ -161,7 +167,7 @@ Info commands:
161
167
 
162
168
  <br>
163
169
 
164
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
170
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
165
171
 
166
172
  ## 🔌 API usage
167
173
 
@@ -265,7 +271,7 @@ Name | Type | Desciption
265
271
 
266
272
  <br>
267
273
 
268
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
274
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
269
275
 
270
276
  ## 🏛️ MIT License
271
277
 
@@ -279,7 +285,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
279
285
 
280
286
  <br>
281
287
 
282
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
288
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
283
289
 
284
290
  ## 🛠️ Related utilities
285
291
 
@@ -289,7 +295,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
289
295
  <br>[Download](https://cdn.jsdelivr.net/gh/adamlui/js-utils/img-to-webp/img-to-webp.js) /
290
296
  [Discuss](https://github.js-utils.org/discussions)
291
297
 
292
- ### [</> minify.js](https://minify-js.org) &nbsp;<a href="https://github.com/toolleeo/cli-apps#programming"><img height=18 src="https://media.scsstocss.org/images/badges/awesome/badge.svg?52b67bc"></a>
298
+ ### [</> minify.js](https://minify-js.org) &nbsp;<a href="https://github.com/toolleeo/cli-apps#programming"><img height=18 src="https://assets.scsstocss.org/images/badges/awesome/badge.svg?v=7e4a141"></a>
293
299
 
294
300
  > Recursively minify all JavaScript files.
295
301
  <br>[Install](https://node.minify-js.org/#-installation) /
@@ -300,8 +306,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
300
306
 
301
307
  <br>
302
308
 
303
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
309
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
304
310
 
305
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://media.scsstocss.org/images/icons/home/white/icon32x27.png?52b67bc"><img height=13 src="https://media.scsstocss.org/images/icons/home/dark-gray/icon32x27.png?52b67bc"></picture> <a href="https://js-utils.org">**More JavaScript utilities**</a> /
311
+ <picture><source media="(prefers-color-scheme: dark)" srcset="https://assets.scsstocss.org/images/icons/home/white/icon32x27.png?v=7e4a141"><img height=13 src="https://assets.scsstocss.org/images/icons/home/dark-gray/icon32x27.png?v=7e4a141"></picture> <a href="https://js-utils.org">**More JavaScript utilities**</a> /
306
312
  <a href="https://github.scsstocss.org/discussions">Discuss</a> /
307
313
  <a href="#--scss-to-css">Back to top ↑</a>
package/dist/cli.min.js CHANGED
@@ -4,27 +4,27 @@
4
4
  * Source: https://code.scsstocss.org/node.js
5
5
  * Documentation: https://docs.scsstocss.org/node.js
6
6
  */
7
- const pkgName="@adamlui/scss-to-css",copyright="© 2024 Adam Lui & contributors under the MIT license.",cmdFormat="scss-to-css [inputPath] [outputPath] [options]",srcURL="https://code.scsstocss.org/node.js",docURL="https://docs.scsstocss.org/node.js/#-command-line-usage",scssToCSS=require(__dirname.match(/src/)?"./scss-to-css":"./scss-to-css.min"),fs=require("fs"),path=require("path"),ncp=require("node-clipboardy"),execSync=require("child_process")["execSync"],nc="",br="",by="",bg="",bw="",config={},reArgs={flags:{dryRun:/^--?(?:n|dry-?run)$/,includeDotFolders:/^--?(?:dd?|(?:include-?)?dot-?(?:folder|dir(?:ector(?:y|ie))?)s?=?(?:true|1)?)$/,noSourceMaps:/^--?(?:S|(?:exclude|disable|no)-?so?u?rce?-?maps?|so?u?rce?-?maps?=(?:false|0))$/,noRecursion:/^--?(?:R|(?:disable|no)-?recursi(?:on|ve)|recursi(?:on|ve)=(?:false|0))$/,noMinify:/^--?(?:M|(?:disable|no)-?minif(?:y|ication)|minif(?:y|ication)=(?:false|0))$/,copy:/^--?c(?:opy)?$/,quietMode:/^--?q(?:uiet)?(?:-?mode)?$/},paramOptions:{ignoreFiles:/^--?(?:ignore|skip|exclude)(?:d?-?files?)?(?:=.*|$)/,comment:/^--?comments?(?:=.*|$)/},infoCmds:{help:/^--?h(?:elp)?$/,version:/^--?ve?r?s?i?o?n?$/}};if(process.argv.forEach(s=>{var e,o,n;s.startsWith("-")&&(n=Object.keys(reArgs.flags).find(e=>reArgs.flags[e].test(s)),e=Object.keys(reArgs.paramOptions).find(e=>reArgs.paramOptions[e].test(s)),o=Object.keys(reArgs.infoCmds).find(e=>reArgs.infoCmds[e].test(s)),n?config[n]=!0:e?(/=.+/.test(s)||(console.error(`
8
- ${br}ERROR: Arg [--${s.replace(/-/g,"")}] requires '=' followed by a value.`+nc),printHelpCmdAndDocURL(),process.exit(1)),n=s.split("=")[1],config[e]=parseInt(n)||n):o||(console.error(`
7
+ let pkgName="@adamlui/scss-to-css",copyright="© 2024 Adam Lui & contributors under the MIT license.",cmdFormat="scss-to-css [inputPath] [outputPath] [options]",srcURL="https://code.scsstocss.org/node.js",docURL="https://docs.scsstocss.org/node.js/#-command-line-usage",scssToCSS=require(__dirname.match(/src/)?"./scss-to-css":"./scss-to-css.min"),fs=require("fs"),path=require("path"),ncp=require("node-clipboardy"),execSync=require("child_process").execSync,nc="",br="",by="",bg="",bw="",config={},reArgs={flags:{dryRun:/^--?(?:n|dry-?run)$/,includeDotFolders:/^--?(?:dd?|(?:include-?)?dot-?(?:folder|dir(?:ector(?:y|ie))?)s?=?(?:true|1)?)$/,noSourceMaps:/^--?(?:S|(?:exclude|disable|no)-?so?u?rce?-?maps?|so?u?rce?-?maps?=(?:false|0))$/,noRecursion:/^--?(?:R|(?:disable|no)-?recursi(?:on|ve)|recursi(?:on|ve)=(?:false|0))$/,noMinify:/^--?(?:M|(?:disable|no)-?minif(?:y|ication)|minif(?:y|ication)=(?:false|0))$/,copy:/^--?c(?:opy)?$/,quietMode:/^--?q(?:uiet)?(?:-?mode)?$/},paramOptions:{ignoreFiles:/^--?(?:ignore|skip|exclude)(?:d?-?files?)?(?:=.*|$)/,comment:/^--?comments?(?:=.*|$)/},infoCmds:{help:/^--?h(?:elp)?$/,version:/^--?ve?r?s?i?o?n?$/}};if(process.argv.forEach(s=>{var e,o,i;s.startsWith("-")&&(i=Object.keys(reArgs.flags).find(e=>reArgs.flags[e].test(s)),e=Object.keys(reArgs.paramOptions).find(e=>reArgs.paramOptions[e].test(s)),o=Object.keys(reArgs.infoCmds).find(e=>reArgs.infoCmds[e].test(s)),i?config[i]=!0:e?(/=.+/.test(s)||(console.error(`
8
+ ${br}ERROR: Arg [--${s.replace(/-/g,"")}] requires '=' followed by a value.`+nc),printHelpCmdAndDocURL(),process.exit(1)),i=s.split("=")[1],config[e]=parseInt(i)||i):o||(console.error(`
9
9
  ${br}ERROR: Arg [${s}] not recognized.`+nc),console.info(`
10
- ${by}Valid arguments are below.`+nc),printHelpSections(["flags","paramOptions","infoCmds"]),process.exit(1)))}),process.argv.some(e=>reArgs.infoCmds.help.test(e)))printHelpSections();else if(process.argv.some(e=>reArgs.infoCmds.version.test(e))){const k=execSync(`npm view ${pkgName} version`).toString().trim()||"none";let e,s=process.cwd();for(;"/"!=s;){const n=path.join(s,"package.json");if(fs.existsSync(n)){const o=require(n);e=(o.dependencies?.[pkgName]||o.devDependencies?.[pkgName])?.match(/(\d+\.\d+\.\d+)/)[0]||"none";break}s=path.dirname(s)}console.info(`
11
- Global version: `+k),console.info("Local version: "+e)}else{const[p="",q=""]=process.argv.slice(2).filter(e=>!e.startsWith("-")).map(e=>e.replace(/^\/*/,""));let e=path.resolve(process.cwd(),p);if(p&&!fs.existsSync(e)){const v=e+".scss";fs.existsSync(v)?e=v:(console.error(`
10
+ ${by}Valid arguments are below.`+nc),printHelpSections(["flags","paramOptions","infoCmds"]),process.exit(1)))}),process.argv.some(e=>reArgs.infoCmds.help.test(e)))printHelpSections();else if(process.argv.some(e=>reArgs.infoCmds.version.test(e))){let e=execSync(`npm view ${pkgName} version`).toString().trim()||"none",o,i=process.cwd();for(;"/"!=i;){let s=path.join(i,"package.json");if(fs.existsSync(s)){let e=require(s);o=(e.dependencies?.[pkgName]||e.devDependencies?.[pkgName])?.match(/(\d+\.\d+\.\d+)/)[0]||"none";break}i=path.dirname(i)}console.info(`
11
+ Global version: `+e),console.info("Local version: "+o)}else{let[n="",r=""]=process.argv.slice(2).filter(e=>!e.startsWith("-")).map(e=>e.replace(/^\/*/,"")),s=path.resolve(process.cwd(),n);if(n&&!fs.existsSync(s)){let e=s+".scss";fs.existsSync(e)?s=e:(console.error(`
12
12
  ${br}Error: First argument can only be an existing file or directory.`+`
13
- '${e}' does not exist.`+nc),console.info(`
13
+ '${s}' does not exist.`+nc),console.info(`
14
14
  ${bg}Example valid command:
15
- » scss-to-css . output.min.css`+nc),printHelpCmdAndDocURL(),process.exit(1))}const s=e.endsWith(".scss")&&!fs.statSync(e).isDirectory()?[e]:scssToCSS.findSCSS(e,{recursive:!config.noRecursion,verbose:!config.quietMode,ignoreFiles:(config.ignoreFiles?.split(",")??[]).map(e=>e.trim())});if(config.dryRun)0<s.length?(console.info(`
16
- ${by}SCSS files to be compiled:`+nc),s.forEach(e=>console.info(e))):console.info(by+`
17
- No SCSS files will be compiled.`+nc);else{const y=[],z=s.map(e=>{var s=scssToCSS.compile(e,{verbose:!config.quietMode,minify:!config.noMinify,sourceMaps:!config.noSourceMaps,comment:config.comment?.replace(/\\n/g,"\n")});return s.error&&y.push(e),s}).filter(e=>!e.error);if(0<z?.length){const D=1<z.length?"s":"";printIfNotQuiet(`
18
- ${bg}Compilation complete!`+nc),printIfNotQuiet(bw+z.length+" CSS file"+D+(config.noSourceMaps?"":` + ${z.length} source map`+D)+" generated."+nc)}else printIfNotQuiet(`
19
- ${by}No SCSS files processed.`+nc);0<y.length&&(printIfNotQuiet(`
20
- `+br+y.length+" file"+(1<y.length?"s":"")+" failed to compile:"+nc),y.forEach(e=>printIfNotQuiet(e))),0==z?.length&&process.exit(0),config.copy&&1==z?.length?(console.log(`
21
- `+(bw+z[0].code+nc)),printIfNotQuiet("\nCopying to clipboard..."),ncp.writeSync(z[0].code)):(printIfNotQuiet(`
22
- Writing to file${1<z?.length?"s":""}...`),z?.forEach(({code:e,srcMap:s,srcPath:o})=>{var n=path.join(path.dirname(o),/(?:src|s[ac]ss)$/.test(path.dirname(o))?"../"+(q||"css"):q.endsWith(".css")?path.dirname(q):q||"css"),o=(q.endsWith(".css")&&p.endsWith(".scss")?path.basename(q).replace(/(\.min)?\.css$/,""):path.basename(o,".scss"))+".min.css",o=path.join(n,o);fs.existsSync(n)||fs.mkdirSync(n,{recursive:!0}),fs.writeFileSync(o,e,"utf8"),config.noSourceMaps||fs.writeFileSync(o+".map",JSON.stringify(s),"utf8")}))}}function printHelpSections(e=["header","usage","pathArgs","flags","paramOptions","infoCmds"]){var s=` ${pkgName.replace(/^@[^/]+\//,"")} ${nc} `;const o={header:[`
15
+ » scss-to-css . output.min.css`+nc),printHelpCmdAndDocURL(),process.exit(1))}let e=s.endsWith(".scss")&&!fs.statSync(s).isDirectory()?[s]:scssToCSS.findSCSS(s,{recursive:!config.noRecursion,verbose:!config.quietMode,ignoreFiles:(config.ignoreFiles?.split(",")??[]).map(e=>e.trim())});if(config.dryRun)0<e.length?(console.info(`
16
+ ${by}SCSS files to be compiled:`+nc),e.forEach(e=>console.info(e))):console.info(by+`
17
+ No SCSS files will be compiled.`+nc);else{let o=[],s=e.map(e=>{var s=scssToCSS.compile(e,{verbose:!config.quietMode,minify:!config.noMinify,sourceMaps:!config.noSourceMaps,comment:config.comment?.replace(/\\n/g,"\n")});return s.error&&o.push(e),s}).filter(e=>!e.error);if(0<s?.length){let e=1<s.length?"s":"";printIfNotQuiet(`
18
+ ${bg}Compilation complete!`+nc),printIfNotQuiet(bw+s.length+" CSS file"+e+(config.noSourceMaps?"":` + ${s.length} source map`+e)+" generated."+nc)}else printIfNotQuiet(`
19
+ ${by}No SCSS files processed.`+nc);0<o.length&&(printIfNotQuiet(`
20
+ `+br+o.length+" file"+(1<o.length?"s":"")+" failed to compile:"+nc),o.forEach(e=>printIfNotQuiet(e))),0==s?.length&&process.exit(0),config.copy&&1==s?.length?(console.log(`
21
+ `+(bw+s[0].code+nc)),printIfNotQuiet("\nCopying to clipboard..."),ncp.writeSync(s[0].code)):(printIfNotQuiet(`
22
+ Writing to file${1<s?.length?"s":""}...`),s?.forEach(({code:e,srcMap:s,srcPath:o})=>{var i=path.join(path.dirname(o),/(?:src|s[ac]ss)$/.test(path.dirname(o))?"../"+(r||"css"):r.endsWith(".css")?path.dirname(r):r||"css"),o=(r.endsWith(".css")&&n.endsWith(".scss")?path.basename(r).replace(/(\.min)?\.css$/,""):path.basename(o,".scss"))+".min.css",o=path.join(i,o);fs.existsSync(i)||fs.mkdirSync(i,{recursive:!0}),fs.writeFileSync(o,e,"utf8"),config.noSourceMaps||fs.writeFileSync(o+".map",JSON.stringify(s),"utf8")}))}}function printHelpSections(e=["header","usage","pathArgs","flags","paramOptions","infoCmds"]){var s=` ${pkgName.replace(/^@[^/]+\//,"")} ${nc} `;let o={header:[`
23
23
  ├ `+s+copyright,s+"Source: "+srcURL],usage:[`
24
24
  ${bw}o Usage:`+nc,` ${bw}» `+(bg+cmdFormat+nc)],pathArgs:[`
25
25
  ${bw}o Path arguments:`+nc," [inputPath] Path to SCSS file or directory containing SCSS files to be compiled, relative to the current working directory."," [outputPath] Path to file or directory where CSS + sourcemap files will be stored, relative to original file location (if not provided, css/ is used)."],flags:[`
26
26
  ${bw}o Boolean options:`+nc," -n, --dry-run Don't actually compile the file(s), just show if they will be processed."," -d, --include-dotfolders Include dotfolders in file search."," -S, --no-source-maps Prevent source maps from being generated."," -M, --no-minify Disable minification of output CSS."," -R, --no-recursion Disable recursive file searching."," -c, --copy Copy compiled CSS to clipboard instead of writing to file if single source file is processed."," -q, --quiet Suppress all logging except errors."],paramOptions:[`
27
27
  ${bw}o Parameter options:`+nc,'--ignore-files="file1.scss,file2.scss" Files to exclude from compilation.',"--comment=\"comment\" Prepend header comment to compiled CSS. Separate by line using '\\n'."],infoCmds:[`
28
- ${bw}o Info commands:`+nc," -h, --help Display help screen."," -v, --version Show version number."]};e.forEach(t=>{o[t]?.forEach(e=>{{var n=/header|usage/.test(t)?1:41;const i=process.stdout.columns||80,r=[],s=e.match(/\S+|\s+/g);let o="";s.forEach(e=>{var s=i-(0==r.length?0:n);o.length+"| ".length+e.length>s&&(r.push(0==r.length?o:o.trimStart()),o=""),o+=e}),r.push(0==r.length?o:o.trimStart()),r.forEach((e,s)=>console.info("| "+(0==s?e:" ".repeat(n)+e)))}})}),console.info("\nFor more help, please visit: "+bw+docURL+nc)}function printHelpCmdAndDocURL(){console.info(`
28
+ ${bw}o Info commands:`+nc," -h, --help Display help screen."," -v, --version Show version number."]};e.forEach(t=>{o[t]?.forEach(s=>{{var r=/header|usage/.test(t)?1:41;let o=process.stdout.columns||80,i=[],e=s.match(/\S+|\s+/g),n="";e.forEach(e=>{var s=o-(0==i.length?0:r);n.length+"| ".length+e.length>s&&(i.push(0==i.length?n:n.trimStart()),n=""),n+=e}),i.push(0==i.length?n:n.trimStart()),i.forEach((e,s)=>console.info("| "+(0==s?e:" ".repeat(r)+e)))}})}),console.info("\nFor more help, please visit: "+bw+docURL+nc)}function printHelpCmdAndDocURL(){console.info(`
29
29
  For more help, type 'scss-to-css --help' or visit
30
30
  `+(bw+docURL+nc))}function printIfNotQuiet(e){config.quietMode||console.info(e)}
@@ -4,16 +4,16 @@
4
4
  * Source: https://code.scsstocss.org/node.js
5
5
  * Documentation: https://docs.scsstocss.org/node.js
6
6
  */
7
- const fs=require("fs"),path=require("path"),sass=require("sass");function findSCSS(o,r={}){var e="https://docs.scsstocss.org/node.js/#findscsssearchdir-options",s={recursive:!0,verbose:!0,dotFolders:!1,ignoreFiles:[]};if("string"!=typeof o)console.error("findSCSS() » ERROR: 1st arg <searchDir> must be a string."),console.info("findSCSS() » For more help, please visit "+e);else{var i=path.resolve(process.cwd(),o);if(fs.existsSync(i)){if(validateOptions(r,s,e,"findSCSS('assets/scss', { verbose: false, dotFolders: true })")){r={...s,...r};const n=fs.readdirSync(o),c=[];return r.verbose&&!r.isRecursing&&console.info("findSCSS() » Searching for SCSS files..."),n.forEach(e=>{var s=path.resolve(o,e);fs.statSync(s).isDirectory()&&"node_modules"!=e&&r.recursive&&(r.dotFolders||!e.startsWith("."))?c.push(...findSCSS(s,{...r,isRecursing:!0})):e.endsWith(".scss")&&!r.ignoreFiles.includes(e)?c.push(s):r.verbose&&r.ignoreFiles.includes(e)&&console.info(`findSCSS() » ** ${e} ignored due to [options.ignoreFiles]`)}),r.verbose&&!r.isRecursing&&(console.info("findSCSS() » Search complete! "+(0==c.length?"No":c.length)+` file${1==c.length?"":"s"} found.`),"compile"!=findSCSS.caller.name)&&"undefined"!=typeof window&&console.info("findSCSS() » Check returned array."),r.isRecursing||0<c.length?c:[]}}else console.error("findSCSS() » ERROR: 1st arg <searchDir> must be an existing directory."),console.error(`findSCSS() » ${i} does not exist.`),console.info("findSCSS() » For more help, please visit "+e)}}function compile(e,o={}){var s="https://docs.scsstocss.org/node.js/#compileinput-options",r={recursive:!0,verbose:!0,dotFolders:!1,minify:!0,sourceMaps:!0,ignoreFiles:[],comment:""};if("string"!=typeof e)console.error("compile() » ERROR: 1st arg <input> must be a string."),console.info("compile() » For more help, please visit "+s);else if(validateOptions(o,r,s,"compile('assets/scss', { recursive: false, minify: false })")){const t={style:(o={...r,...o}).minify?"compressed":"expanded",sourceMap:o.sourceMaps};if(fs.existsSync(e)){if(!e.endsWith(".scss"))return s=findSCSS(e,{recursive:o.recursive,verbose:o.verbose,dotFolders:o.dotFolders,ignoreFiles:o.ignoreFiles})?.map(e=>{o.verbose&&console.info(`compile() » ** Compiling ${e}...`);try{var s=sass.compile(e,t);return o.comment&&(s.css=c(s.css,o.comment)),{code:s.css,srcMap:s.sourceMap,srcPath:e,error:void 0}}catch(e){return console.error(`
7
+ let fs=require("fs"),path=require("path"),sass=require("sass");function findSCSS(r,i={}){var e="https://docs.scsstocss.org/node.js/#findscsssearchdir-options",s={recursive:!0,verbose:!0,dotFolders:!1,ignoreFiles:[]};if("string"!=typeof r)console.error("findSCSS() » ERROR: 1st arg <searchDir> must be a string."),console.info("findSCSS() » For more help, please visit "+e);else{var o=path.resolve(process.cwd(),r);if(fs.existsSync(o)){if(validateOptions(i,s,e,"findSCSS('assets/scss', { verbose: false, dotFolders: true })")){i={...s,...i};let e=fs.readdirSync(r),o=[];return i.verbose&&!i.isRecursing&&console.info("findSCSS() » Searching for SCSS files..."),e.forEach(e=>{var s=path.resolve(r,e);fs.statSync(s).isDirectory()&&"node_modules"!=e&&i.recursive&&(i.dotFolders||!e.startsWith("."))?o.push(...findSCSS(s,{...i,isRecursing:!0})):e.endsWith(".scss")&&!i.ignoreFiles.includes(e)?o.push(s):i.verbose&&i.ignoreFiles.includes(e)&&console.info(`findSCSS() » ** ${e} ignored due to [options.ignoreFiles]`)}),i.verbose&&!i.isRecursing&&(console.info("findSCSS() » Search complete! "+(0==o.length?"No":o.length)+` file${1==o.length?"":"s"} found.`),"compile"!=findSCSS.caller.name)&&"undefined"!=typeof window&&console.info("findSCSS() » Check returned array."),i.isRecursing||0<o.length?o:[]}}else console.error("findSCSS() » ERROR: 1st arg <searchDir> must be an existing directory."),console.error(`findSCSS() » ${o} does not exist.`),console.info("findSCSS() » For more help, please visit "+e)}}function compile(e,r={}){var s="https://docs.scsstocss.org/node.js/#compileinput-options",i={recursive:!0,verbose:!0,dotFolders:!1,minify:!0,sourceMaps:!0,ignoreFiles:[],comment:""};if("string"!=typeof e)console.error("compile() » ERROR: 1st arg <input> must be a string."),console.info("compile() » For more help, please visit "+s);else if(validateOptions(r,i,s,"compile('assets/scss', { recursive: false, minify: false })")){let o={style:(r={...i,...r}).minify?"compressed":"expanded",sourceMap:r.sourceMaps};if(fs.existsSync(e)){if(!e.endsWith(".scss"))return s=findSCSS(e,{recursive:r.recursive,verbose:r.verbose,dotFolders:r.dotFolders,ignoreFiles:r.ignoreFiles})?.map(e=>{r.verbose&&console.info(`compile() » ** Compiling ${e}...`);try{var s=sass.compile(e,o);return r.comment&&(s.css=t(s.css,r.comment)),{code:s.css,srcMap:s.sourceMap,srcPath:e,error:void 0}}catch(e){return console.error(`
8
8
  compile() » ERROR: ${e.message}
9
- `),{code:void 0,srcMap:void 0,srcPath:void 0,error:e}}}).filter(e=>!e.error),o.verbose&&(0<s.length&&"undefined"!=typeof window?console.info("compile() » Compilation complete! Check returned object."):console.info("compile() » No SCSS files processed.")),s;o.verbose&&console.info(`compile() » ** Compiling ${e}...`);try{var i=sass.compile(e,t);return o.comment&&(i.css=c(i.css,o.comment)),o.verbose&&"undefined"!=typeof window&&console.info("compile() » Compilation complete! Check returned object."),{code:i.css,srcMap:i.sourceMap,srcPath:path.resolve(process.cwd(),e),error:void 0}}catch(e){return console.error(`
9
+ `),{code:void 0,srcMap:void 0,srcPath:void 0,error:e}}}).filter(e=>!e.error),r.verbose&&(0<s.length&&"undefined"!=typeof window?console.info("compile() » Compilation complete! Check returned object."):console.info("compile() » No SCSS files processed.")),s;r.verbose&&console.info(`compile() » ** Compiling ${e}...`);try{var n=sass.compile(e,o);return r.comment&&(n.css=t(n.css,r.comment)),r.verbose&&"undefined"!=typeof window&&console.info("compile() » Compilation complete! Check returned object."),{code:n.css,srcMap:n.sourceMap,srcPath:path.resolve(process.cwd(),e),error:void 0}}catch(e){return console.error(`
10
10
  compile() » ERROR: ${e.message}
11
- `),{code:void 0,srcMap:void 0,srcPath:void 0,error:e}}}else{o.verbose&&console.info("compile() » ** Compiling passed source code...");try{var n=sass.compileString(e,t);return o.comment&&(n.css=c(n.css,o.comment)),{code:n.css,srcMap:n.sourceMap,srcPath:void 0,error:void 0}}catch(e){return console.error(`
11
+ `),{code:void 0,srcMap:void 0,srcPath:void 0,error:e}}}else{r.verbose&&console.info("compile() » ** Compiling passed source code...");try{var c=sass.compileString(e,o);return r.comment&&(c.css=t(c.css,r.comment)),{code:c.css,srcMap:c.sourceMap,srcPath:void 0,error:void 0}}catch(e){return console.error(`
12
12
  compile() » ERROR: ${e.message}
13
- `),{code:void 0,srcMap:void 0,srcPath:void 0,error:e}}}function c(e,s){var s=s.split("\n").map(e=>" * "+e).join("\n"),o=e.indexOf("#!");return 0<=o?(o=e.indexOf("\n",o)+1,e.slice(0,o)+`/**
13
+ `),{code:void 0,srcMap:void 0,srcPath:void 0,error:e}}}function t(e,s){var s=s.split("\n").map(e=>" * "+e).join("\n"),o=e.indexOf("#!");return 0<=o?(o=e.indexOf("\n",o)+1,e.slice(0,o)+`/**
14
14
  ${s}
15
15
  */
16
16
  `+e.slice(o)):`/**
17
17
  ${s}
18
18
  */
19
- `+e}}}function validateOptions(e,s,o,r){const i=JSON.stringify(s,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'").replace(/\n\s*/g," "),n=Object.keys(s).join(", "),c=Object.keys(s).filter(e=>"boolean"==typeof s[e]),t=Object.keys(s).filter(e=>Number.isInteger(s[e])),l=Object.keys(s).filter(e=>Array.isArray(s[e]));let a="validateOptions() » ";try{a=validateOptions.caller?.name+"() » "}catch(e){}var d=r.split(",").findIndex(e=>e.trim().startsWith("{"))+1,p=(d+=["st","nd","rd"][d-1]||"th",()=>{console.info(`${a}Valid options: [ ${n} ]`),console.info(a+"If omitted, default settings are: "+i)}),f=()=>{console.info(a+"For more help, please visit "+o)};if("object"!=typeof e)return console.error(a+`ERROR: ${"0th"==d?"[O":d+" arg [o"}ptions] can only be an object of key/values.`),console.info(a+"Example valid call: "+r),p(),f(),!1;for(const m in e){if("isRecursing"!=m&&!Object.prototype.hasOwnProperty.call(s,m))return console.error(`${a}ERROR: \`${m}\` is an invalid option.`),p(),f(),!1;if(c.includes(m)&&"boolean"!=typeof e[m])return console.error(`${a}ERROR: [${m}] option can only be \`true\` or \`false\`.`),f(),!1;if(t.includes(m)){if(e[m]=parseInt(e[m],10),isNaN(e[m])||e[m]<1)return console.error(`${a}ERROR: [${m}] option can only be an integer > 0.`),f(),!1}else if(l.includes(m))if("string"!=typeof e[m]||e[m].includes(",")){if(!Array.isArray(e[m]))return console.error(`${a}ERROR: [${m}] option can only be an array.`),f(),!1}else e[m]=[e[m]]}return!0}const stcAliases={compile:["build","Build","Compile","compress","Compress","minify","Minify"],findSCSS:["find","Find","findscss","findScss","Findscss","FindScss","FindSCSS","search","Search"]};module.exports={compile:compile,findSCSS:findSCSS};for(const Z in stcAliases)stcAliases[Z].forEach(e=>module.exports[e]=module.exports[Z]);
19
+ `+e}}}function validateOptions(e,s,o,r){let i=JSON.stringify(s,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'").replace(/\n\s*/g," "),n=Object.keys(s).join(", "),c=Object.keys(s).filter(e=>"boolean"==typeof s[e]),t=Object.keys(s).filter(e=>Number.isInteger(s[e])),l=Object.keys(s).filter(e=>Array.isArray(s[e])),a="validateOptions() » ";try{a=validateOptions.caller?.name+"() » "}catch(e){}var d,p=r.split(",").findIndex(e=>e.trim().startsWith("{"))+1,f=(p+=["st","nd","rd"][p-1]||"th",()=>{console.info(`${a}Valid options: [ ${n} ]`),console.info(a+"If omitted, default settings are: "+i)}),m=()=>{console.info(a+"For more help, please visit "+o)};if("object"!=typeof e)return console.error(a+`ERROR: ${"0th"==p?"[O":p+" arg [o"}ptions] can only be an object of key/values.`),console.info(a+"Example valid call: "+r),f(),m(),!1;for(d in e){if("isRecursing"!=d&&!Object.prototype.hasOwnProperty.call(s,d))return console.error(`${a}ERROR: \`${d}\` is an invalid option.`),f(),m(),!1;if(c.includes(d)&&"boolean"!=typeof e[d])return console.error(`${a}ERROR: [${d}] option can only be \`true\` or \`false\`.`),m(),!1;if(t.includes(d)){if(e[d]=parseInt(e[d],10),isNaN(e[d])||e[d]<1)return console.error(`${a}ERROR: [${d}] option can only be an integer > 0.`),m(),!1}else if(l.includes(d))if("string"!=typeof e[d]||e[d].includes(",")){if(!Array.isArray(e[d]))return console.error(`${a}ERROR: [${d}] option can only be an array.`),m(),!1}else e[d]=[e[d]]}return!0}let stcAliases={compile:["build","Build","Compile","compress","Compress","minify","Minify"],findSCSS:["find","Find","findscss","findScss","Findscss","FindScss","FindSCSS","search","Search"]};module.exports={compile:compile,findSCSS:findSCSS};for(let s in stcAliases)stcAliases[s].forEach(e=>module.exports[e]=module.exports[s]);
package/docs/LICENSE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  <div align="center">
2
2
  <h6>
3
3
  <picture>
4
- <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://media.scsstocss.org/images/icons/earth/white/icon32.svg?52b67bc">
5
- <img height=14 src="https://media.scsstocss.org/images/icons/earth/black/icon32.svg?52b67bc">
4
+ <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://assets.scsstocss.org/images/icons/earth/white/icon32.svg?v=7e4a141">
5
+ <img height=14 src="https://assets.scsstocss.org/images/icons/earth/black/icon32.svg?v=7e4a141">
6
6
  </picture>
7
7
  &nbsp;English |
8
8
  <a href="zh-cn/LICENSE.md">简体中文</a> |
package/docs/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
  <td align="center" width=1000>
3
3
  <h6>
4
4
  <picture>
5
- <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://media.scsstocss.org/images/icons/earth/white/icon32.svg?52b67bc">
6
- <img height=14 src="https://media.scsstocss.org/images/icons/earth/black/icon32.svg?52b67bc">
5
+ <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://assets.scsstocss.org/images/icons/earth/white/icon32.svg?v=7e4a141">
6
+ <img height=14 src="https://assets.scsstocss.org/images/icons/earth/black/icon32.svg?v=7e4a141">
7
7
  </picture>
8
8
  &nbsp;English |
9
9
  <a href="https://github.com/adamlui/scss-to-css/tree/main/node.js/docs/zh-cn#readme">简体中文</a> |
@@ -27,14 +27,20 @@
27
27
 
28
28
  ### Recursively compile all SCSS files into minified CSS.
29
29
 
30
- <a href="https://www.npmjs.com/package/@adamlui/scss-to-css"><img height=31 src="https://img.shields.io/npm/dm/%40adamlui%2Fscss-to-css?logo=npm&color=af68ff&logoColor=white&labelColor=464646&style=for-the-badge"></a>
31
- <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>
32
- <a href="https://github.com/adamlui/js-utils/releases/tag/scss-to-css-1.10.21"><img height=31 src="https://img.shields.io/badge/Latest_Build-1.10.21-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
33
- <a href="https://www.npmjs.com/package/@adamlui/scss-to-css?activeTab=code"><img height=31 src="https://img.shields.io/npm/unpacked-size/%40adamlui%2Fscss-to-css?style=for-the-badge&logo=ebox&logoColor=white&color=blue&labelColor=464646"></a>
34
- <a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_scss-to-css:node.js/src/scss-to-css.js"><img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_scss-to-css%3Anode.js%2Fsrc%2Fscss-to-css.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
35
- <a href="https://github.com/toolleeo/cli-apps#conversion"><img height=31 src="https://img.shields.io/badge/Mentioned_in-Awesome-c4a2bd?logo=awesomelists&logoColor=white&labelColor=464646&style=for-the-badge"></a>
36
-
37
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
30
+ <a href="https://www.npmjs.com/package/@adamlui/scss-to-css">
31
+ <img height=31 src="https://img.shields.io/npm/dm/%40adamlui%2Fscss-to-css?logo=npm&color=af68ff&logoColor=white&labelColor=464646&style=for-the-badge"></a>
32
+ <a href="#%EF%B8%8F-mit-license">
33
+ <img height=31 src="https://img.shields.io/badge/License-MIT-orange.svg?logo=internetarchive&logoColor=white&labelColor=464646&style=for-the-badge"></a>
34
+ <a href="https://github.com/adamlui/js-utils/releases/tag/scss-to-css-1.10.24">
35
+ <img height=31 src="https://img.shields.io/badge/Latest_Build-1.10.24-44cc11.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
36
+ <a href="https://www.npmjs.com/package/@adamlui/scss-to-css?activeTab=code">
37
+ <img height=31 src="https://img.shields.io/npm/unpacked-size/%40adamlui%2Fscss-to-css?style=for-the-badge&logo=ebox&logoColor=white&color=blue&labelColor=464646"></a>
38
+ <a href="https://sonarcloud.io/component_measures?metric=new_vulnerabilities&id=adamlui_scss-to-css:node.js/src/scss-to-css.js">
39
+ <img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3Dadamlui_scss-to-css%3Anode.js%2Fsrc%2Fscss-to-css.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonarcloud&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
40
+ <a href="https://github.com/toolleeo/cli-apps#conversion">
41
+ <img height=31 src="https://img.shields.io/badge/Mentioned_in-Awesome-c4a2bd?logo=awesomelists&logoColor=white&labelColor=464646&style=for-the-badge"></a>
42
+
43
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
38
44
 
39
45
  ## ⚡ Installation
40
46
 
@@ -58,9 +64,9 @@ $ npm install @adamlui/scss-to-css
58
64
 
59
65
  <br>
60
66
 
61
- <a href="https://github.com/sponsors/adamlui"><img src="https://media.scsstocss.org/images/banners/sponsor/$10/banner1660x260.png?2cba0ae"></a>
67
+ <a href="https://github.com/sponsors/adamlui"><img src="https://assets.scsstocss.org/images/banners/sponsor/$10/banner1660x260.png?v=2cba0ae"></a>
62
68
 
63
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
69
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
64
70
 
65
71
  ## 💻 Command line usage
66
72
 
@@ -161,7 +167,7 @@ Info commands:
161
167
 
162
168
  <br>
163
169
 
164
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
170
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
165
171
 
166
172
  ## 🔌 API usage
167
173
 
@@ -265,7 +271,7 @@ Name | Type | Desciption
265
271
 
266
272
  <br>
267
273
 
268
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
274
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
269
275
 
270
276
  ## 🏛️ MIT License
271
277
 
@@ -279,7 +285,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
279
285
 
280
286
  <br>
281
287
 
282
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
288
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
283
289
 
284
290
  ## 🛠️ Related utilities
285
291
 
@@ -289,7 +295,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
289
295
  <br>[Download](https://cdn.jsdelivr.net/gh/adamlui/js-utils/img-to-webp/img-to-webp.js) /
290
296
  [Discuss](https://github.js-utils.org/discussions)
291
297
 
292
- ### [</> minify.js](https://minify-js.org) &nbsp;<a href="https://github.com/toolleeo/cli-apps#programming"><img height=18 src="https://media.scsstocss.org/images/badges/awesome/badge.svg?52b67bc"></a>
298
+ ### [</> minify.js](https://minify-js.org) &nbsp;<a href="https://github.com/toolleeo/cli-apps#programming"><img height=18 src="https://assets.scsstocss.org/images/badges/awesome/badge.svg?v=7e4a141"></a>
293
299
 
294
300
  > Recursively minify all JavaScript files.
295
301
  <br>[Install](https://node.minify-js.org/#-installation) /
@@ -300,8 +306,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
300
306
 
301
307
  <br>
302
308
 
303
- <img height=6px width="100%" src="https://media.scsstocss.org/images/separators/gradient-aqua.png?52b67bc">
309
+ <img height=6px width="100%" src="https://assets.scsstocss.org/images/separators/aqua-gradient.png?v=7e4a141">
304
310
 
305
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://media.scsstocss.org/images/icons/home/white/icon32x27.png?52b67bc"><img height=13 src="https://media.scsstocss.org/images/icons/home/dark-gray/icon32x27.png?52b67bc"></picture> <a href="https://js-utils.org">**More JavaScript utilities**</a> /
311
+ <picture><source media="(prefers-color-scheme: dark)" srcset="https://assets.scsstocss.org/images/icons/home/white/icon32x27.png?v=7e4a141"><img height=13 src="https://assets.scsstocss.org/images/icons/home/dark-gray/icon32x27.png?v=7e4a141"></picture> <a href="https://js-utils.org">**More JavaScript utilities**</a> /
306
312
  <a href="https://github.scsstocss.org/discussions">Discuss</a> /
307
313
  <a href="#--scss-to-css">Back to top ↑</a>
package/docs/SECURITY.md CHANGED
@@ -1,8 +1,8 @@
1
1
  <div align="center">
2
2
  <h6>
3
3
  <picture>
4
- <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://media.scsstocss.org/images/icons/earth/white/icon32.svg?52b67bc">
5
- <img height=14 src="https://media.scsstocss.org/images/icons/earth/black/icon32.svg?52b67bc">
4
+ <source type="image/svg+xml" media="(prefers-color-scheme: dark)" srcset="https://assets.scsstocss.org/images/icons/earth/white/icon32.svg?v=7e4a141">
5
+ <img height=14 src="https://assets.scsstocss.org/images/icons/earth/black/icon32.svg?v=7e4a141">
6
6
  </picture>
7
7
  &nbsp;English |
8
8
  <a href="zh-cn/SECURITY.md">简体中文</a> |
@@ -23,6 +23,4 @@
23
23
 
24
24
  # 🛡️ Security Policy
25
25
 
26
- If you find a vulnerability, please open a [draft security advisory](https://github.scsstocss.org/security/advisories/new).
27
-
28
- Pull requests are also welcome, but for safety reasons, send an email to <adam@kudoai.com> and wait for a response before making it public.
26
+ If you find a vulnerability, please follow the reporting instructions @ https://tidelift.com/security
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adamlui/scss-to-css",
3
- "version": "1.10.22",
3
+ "version": "1.10.24",
4
4
  "description": "Recursively compile all SCSS files into minified CSS",
5
5
  "author": {
6
6
  "name": "Adam Lui",
@@ -37,10 +37,7 @@
37
37
  "build": "bash utils/build.sh",
38
38
  "bump:patch": "bash utils/bump.sh patch",
39
39
  "bump:minor": "bash utils/bump.sh minor",
40
- "bump:major": "bash utils/bump.sh major",
41
- "publish:patch": "bash utils/bump.sh patch --publish",
42
- "publish:minor": "bash utils/bump.sh minor --publish",
43
- "publish:major": "bash utils/bump.sh major --publish"
40
+ "bump:major": "bash utils/bump.sh major"
44
41
  },
45
42
  "repository": {
46
43
  "type": "git",
@@ -61,7 +58,7 @@
61
58
  },
62
59
  "dependencies": {
63
60
  "node-clipboardy": "^1.0.3",
64
- "sass": "^1.83.0"
61
+ "sass": "^1.83.4"
65
62
  },
66
63
  "devDependencies": {
67
64
  "@adamlui/minify.js": "^1.8.5"