.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / prettier-stylelint / src / utils.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/prettier-stylelint/src/utils.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/prettier-stylelint/src/utils.js
new file mode 100644 (file)
index 0000000..1d0c113
--- /dev/null
@@ -0,0 +1,46 @@
+'use strict';
+
+const fs = require('fs');
+const path = require('path');
+const debug = require('debug')('prettier-stylelint:utils');
+const ignore = require('ignore');
+
+exports.arrify = function(val) {
+    if (val === null || val === undefined) {
+        return [];
+    }
+
+    return Array.isArray(val) ? val : [val];
+};
+
+exports.ignore = function(paths, options) {
+    const ignorer = ignore();
+    const gitignore = path.resolve(options.cwd, '.gitignore');
+    const prettierignore = path.resolve(options.cwd, '.prettierignore');
+
+    try {
+        ignorer.add(fs.readFileSync(gitignore, 'utf8').toString());
+    } catch (err) {
+        debug('.gitignore error', err.message);
+    }
+
+    try {
+        ignorer.add(fs.readFileSync(prettierignore, 'utf8').toString());
+    } catch (err) {
+        debug('.prettierignore error', err.message);
+    }
+
+    paths = ignorer.filter(paths);
+
+    // Filter out unwanted file extensions
+    // For silly users that don't specify an extension in the glob pattern
+    if (paths.length > 0) {
+        paths = paths.filter((filePath) => {
+            const ext = path.extname(filePath).replace('.', '');
+
+            return options.extensions.indexOf(ext) !== -1;
+        });
+    }
+
+    return paths;
+};