+++ /dev/null
-/* @flow */
-"use strict";
-const _ = require("lodash");
-const augmentConfig = require("./augmentConfig");
-const cosmiconfig = require("cosmiconfig");
-const createStylelintResult = require("./createStylelintResult");
-const getConfigForFile = require("./getConfigForFile");
-const getPostcssResult = require("./getPostcssResult");
-const isPathIgnored = require("./isPathIgnored");
-const lintSource = require("./lintSource");
-
-// The stylelint "internal API" is passed among functions
-// so that methods on a stylelint instance can invoke
-// each other while sharing options and caches
-module.exports = function(
- options /*: stylelint$options*/
-) /*: stylelint$internalApi*/ {
- options = options || {};
- const stylelint /*: Object*/ = { _options: options };
-
- // Two separate explorers so they can each have their own transform
- // function whose results are cached by cosmiconfig
- stylelint._fullExplorer = cosmiconfig("stylelint", {
- argv: false,
- rcExtensions: true,
- transform: _.partial(augmentConfig.augmentConfigFull, stylelint)
- });
- stylelint._extendExplorer = cosmiconfig(null, {
- argv: false,
- transform: _.partial(augmentConfig.augmentConfigExtended, stylelint)
- });
-
- stylelint._specifiedConfigCache = new Map();
- stylelint._postcssResultCache = new Map();
- stylelint._createStylelintResult = _.partial(
- createStylelintResult,
- stylelint
- );
- stylelint._getPostcssResult = _.partial(getPostcssResult, stylelint);
- stylelint._lintSource = _.partial(lintSource, stylelint);
-
- stylelint.getConfigForFile = _.partial(getConfigForFile, stylelint);
- stylelint.isPathIgnored = _.partial(isPathIgnored, stylelint);
-
- return stylelint;
-};