UNPKG

stylelint

Version:
101 lines (73 loc) 2.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (stylelint) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var cached = stylelint._postcssResultCache.get(options.filePath); if (cached) return Promise.resolve(cached); var getCode = void 0; if (options.code !== undefined) { getCode = Promise.resolve(options.code); } else if (options.filePath) { getCode = readFile(options.filePath); } if (!getCode) { throw new Error("code or filePath required"); } return getCode.then(function (code) { var syntax = stylelint._options.syntax; var fileExtension = _path2.default.extname(options.filePath || ""); if (syntax === "scss" || !syntax && fileExtension === ".scss") { syntax = _postcssScss2.default; } else if (syntax === "less" || !syntax && fileExtension === ".less") { syntax = _postcssLess2.default; } else if (syntax === "sugarss" || !syntax && fileExtension === ".sss") { syntax = _sugarss2.default; } else if (syntax) { throw new Error("You must use a valid syntax option, either: scss, less or sugarss"); } var postcssOptions = { syntax: syntax, from: options.filePath }; var source = options.code ? options.codeFilename : options.filePath; var preProcessedCode = code; if (options.codeProcessors) { options.codeProcessors.forEach(function (codeProcessor) { preProcessedCode = codeProcessor(preProcessedCode, source); }); } return postcssProcessor.process(preProcessedCode, postcssOptions); }).then(function (postcssResult) { stylelint._postcssResultCache.set(options.filePath, postcssResult); return postcssResult; }); }; var _flowDeclarations = require("./flow-declarations"); var _result = require("postcss/lib/result"); var _result2 = _interopRequireDefault(_result); var _fs = require("fs"); var _fs2 = _interopRequireDefault(_fs); var _postcssLess = require("postcss-less"); var _postcssLess2 = _interopRequireDefault(_postcssLess); var _path = require("path"); var _path2 = _interopRequireDefault(_path); var _postcss = require("postcss"); var _postcss2 = _interopRequireDefault(_postcss); var _postcssScss = require("postcss-scss"); var _postcssScss2 = _interopRequireDefault(_postcssScss); var _sugarss = require("sugarss"); var _sugarss2 = _interopRequireDefault(_sugarss); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var postcssProcessor = (0, _postcss2.default)(); function readFile(filePath) { return new Promise(function (resolve, reject) { _fs2.default.readFile(filePath, "utf8", function (err, content) { if (err) { return reject(err); } resolve(content); }); }); }