1. find-unused-sass-variables
A small tool to find unused Sass variables
find-unused-sass-variables
Package: find-unused-sass-variables
Created by: XhmikosR
Last modified: Tue, 02 Apr 2024 06:21:46 GMT
Version: 6.0.0
License: MIT
Downloads: 177,779
Repository: https://github.com/XhmikosR/find-unused-sass-variables

Install

npm install find-unused-sass-variables
yarn add find-unused-sass-variables

find-unused-sass-variables

npm version
Build Status

A simple tool to check for unused Sass variables in a directory.

Install

 npm install find-unused-sass-variables --save-dev

Usage

 find-unused-sass-variables folder [, folder2...] --ignore "$my-var,$my-second-var" -e scss -e css --ignoreFiles file-with-unused-vars.scss
# or
fusv folder [, folder2...] --ignore "$my-var,$my-second-var" -e scss -e css --ignoreFiles file-with-unused-vars.scss

API

 import { findAsync, find } from 'find-unused-sass-variables';

// 'directory' is a folder
const unused = find('directory');
// Array of unused variables
console.log(unused.unused);
// Array<{ name: string, line: string, file: string }>
/*
[
  {
    name = '$foo';
    file = 'file where this variable can be found';
    line = 'line of file';
  },
  {
    ....
  }
]
*/
// Total number of variables in the files
console.log(unused.total);
 // Ignoring variables
const ignoredVars = ['$my-var', '$my-second-var'];
const unused = find('directory', { ignore: ignoredVars });
 // Ignoring files
const ignoreFiles = ['./file-with-unused-vars.scss', '**/_variables.scss'];
const unused = fusv.find('directory', { ignoreFiles });
 // Specifying file extensions
const unused = find('directory', { fileExtensions: ['css','scss']});
 // Asynchronous usage
let unused = await findAsync('directory');

// or like a Promise
unused = findAsync('directory').then(result => {
  console.log(unused.unused);
});

find(dir, options)

  • dir: string
  • options: optional options Object

Returns an object with unused and total. unused has the array of unused variables and total has the sum of all variables in the files (unused and used ones).

findAsync(dir, options)

Returns a Promise which resolves result; returns the same as find(dir, options).

options.ignore

Array of strings of the variables to ignore, e.g. ['$my-var', '$my-second-var']

options.ignoreFiles

Array of strings of files to ignore, e.g. ['./file-with-unused-vars.scss', '**/_variables.scss'].

options.fileExtensions

Array of file extensions to search for unused variables in. e.g. ['scss']

Disable & enable

Disable or enable fusv with the fusv-disable and fusv-enable comments:

 $used-variable-1: #666;

// fusv-disable
$unused-variable: #coffee;
// fusv-enable

$used-variable-2: #ace;

Notes

  • The tool's logic is pretty "dumb"; if you use the same name for a variable in different files or namespaces,
    then it won't distinguish between them.
  • The tool only looks for .scss files by default, but you can optionally specify the file extension.

License

MIT

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin