Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / prettier-stylelint / src / cli.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/prettier-stylelint/src/cli.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/prettier-stylelint/src/cli.js
new file mode 100644 (file)
index 0000000..5e52535
--- /dev/null
@@ -0,0 +1,138 @@
+#!/usr/bin/env node
+/* eslint-disable import/unambiguous */
+'use strict';
+
+const fs = require('fs');
+const updateNotifier = require('update-notifier');
+const meow = require('meow');
+const globby = require('globby');
+const getStdin = require('get-stdin');
+const pify = require('pify');
+const { arrify, ignore } = require('./utils');
+const { format } = require('./index');
+
+const cli = meow(
+    `
+Usage
+  $ prettier-stylelint [<file|glob> ...]
+
+Options
+  --ignore          Additional paths to ignore  [Can be set multiple times]
+  --extension       Additional extension to lint [Can be set multiple times]
+  --cwd=<dir>       Working directory for files
+  --stdin           Validate/fix code from stdin ('prettier-stylelint -' also works)
+  --write           Edit files in place (DRAGONS AHEAD !!)
+  --quiet -q        Only log std.err
+
+Examples
+  $ prettier-stylelint
+  $ prettier-stylelint index.js
+  $ prettier-stylelint *.js !foo.js
+  $ echo 'a[id="foo"] { content: "x"; }' | prettier-stylelint --stdin
+
+Default pattern when no arguments:
+  **/*.{css,scss,less,sss}
+`,
+    {
+        string: ['_', 'ignore', 'extension', 'cwd'],
+        boolean: ['stdin', 'write'],
+        default: {
+            cwd: process.cwd(),
+            write: false,
+            quiet: false
+        },
+        alias: { q: 'quiet' }
+    }
+);
+
+updateNotifier({ pkg: cli.pkg }).notify();
+
+let input = cli.input;
+const opts = cli.flags;
+const DEFAULT_EXTENSION = ['css', 'scss', 'less', 'sss'];
+const DEFAULT_PATTERN = `**/*.{${DEFAULT_EXTENSION.join(',')}}`;
+const DEFAULT_IGNORE = [
+    '**/node_modules/**',
+    '**/bower_components/**',
+    'flow-typed/**',
+    'coverage/**',
+    '{tmp,temp}/**',
+    '**/*.min.{css,scss,less,sss}',
+    '**/bundle.{css,scss,less,sss}',
+    'fixture{-*,}.{css,scss,less,sss}',
+    'fixture{s,}/**',
+    '{test,tests,spec,__tests__}/fixture{s,}/**',
+    'vendor/**',
+    'dist/**'
+];
+
+const options = {
+    ignore: DEFAULT_IGNORE.concat(arrify(opts.ignore)),
+    extensions: DEFAULT_EXTENSION.concat(arrify(opts.extension)),
+    cwd: opts.cwd,
+    write: opts.write,
+    quiet: opts.quiet
+};
+
+if (input[0] === '-') {
+    opts.stdin = true;
+    input.shift();
+}
+if (opts.stdin) {
+    getStdin()
+        .then(str =>
+            format({
+                filepath: opts.cwd,
+                text: str
+            }).then(source => process.stdout.write(source))
+        )
+        .catch((err) => {
+            console.error(err.stack || err);
+            process.exitCode = 1;
+        });
+} else {
+    const isEmptyPatterns = input.length === 0;
+
+    input = isEmptyPatterns ? [DEFAULT_PATTERN] : arrify(input);
+
+    globby(input, {
+        ignore: options.ignore,
+        nodir: true,
+        cwd: options.cwd
+    })
+        .then((paths) => {
+            paths = ignore(paths, options);
+
+            return Promise.all(
+                paths.map(path =>
+                    format({
+                        text: fs.readFileSync(path, 'utf8'),
+                        filePath: path,
+                        quiet: options.quiet
+                    })
+                        .then((formatted) => {
+                            if (!options.quiet) {
+                                console.log(formatted);
+                            }
+                            if (options.write) {
+                                return pify(fs.writeFile)(path, formatted);
+                            }
+
+                            return formatted;
+                        })
+                        .catch((err) => {
+                            console.error(
+                                `prettier-stylelint [ERROR]: There was an error formatting "${path}"\n`
+                            );
+                            console.error(err.stack || err);
+                            console.error('\n');
+                            process.exitCode = 1;
+                        })
+                )
+            );
+        })
+        .catch((err) => {
+            console.error(err.stack || err);
+            process.exitCode = 1;
+        });
+}