| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | 'use strict'let CssSyntaxError = require('./css-syntax-error')let Declaration = require('./declaration')let LazyResult = require('./lazy-result')let Container = require('./container')let Processor = require('./processor')let stringify = require('./stringify')let fromJSON = require('./fromJSON')let Document = require('./document')let Warning = require('./warning')let Comment = require('./comment')let AtRule = require('./at-rule')let Result = require('./result.js')let Input = require('./input')let parse = require('./parse')let list = require('./list')let Rule = require('./rule')let Root = require('./root')let Node = require('./node')function postcss(...plugins) {  if (plugins.length === 1 && Array.isArray(plugins[0])) {    plugins = plugins[0]  }  return new Processor(plugins)}postcss.plugin = function plugin(name, initializer) {  let warningPrinted = false  function creator(...args) {    // eslint-disable-next-line no-console    if (console && console.warn && !warningPrinted) {      warningPrinted = true      // eslint-disable-next-line no-console      console.warn(        name +          ': postcss.plugin was deprecated. Migration guide:\n' +          'https://evilmartians.com/chronicles/postcss-8-plugin-migration'      )      if (process.env.LANG && process.env.LANG.startsWith('cn')) {        /* c8 ignore next 7 */        // eslint-disable-next-line no-console        console.warn(          name +            ': 里面 postcss.plugin 被弃用. 迁移指南:\n' +            'https://www.w3ctech.com/topic/2226'        )      }    }    let transformer = initializer(...args)    transformer.postcssPlugin = name    transformer.postcssVersion = new Processor().version    return transformer  }  let cache  Object.defineProperty(creator, 'postcss', {    get() {      if (!cache) cache = creator()      return cache    }  })  creator.process = function (css, processOpts, pluginOpts) {    return postcss([creator(pluginOpts)]).process(css, processOpts)  }  return creator}postcss.stringify = stringifypostcss.parse = parsepostcss.fromJSON = fromJSONpostcss.list = listpostcss.comment = defaults => new Comment(defaults)postcss.atRule = defaults => new AtRule(defaults)postcss.decl = defaults => new Declaration(defaults)postcss.rule = defaults => new Rule(defaults)postcss.root = defaults => new Root(defaults)postcss.document = defaults => new Document(defaults)postcss.CssSyntaxError = CssSyntaxErrorpostcss.Declaration = Declarationpostcss.Container = Containerpostcss.Processor = Processorpostcss.Document = Documentpostcss.Comment = Commentpostcss.Warning = Warningpostcss.AtRule = AtRulepostcss.Result = Resultpostcss.Input = Inputpostcss.Rule = Rulepostcss.Root = Rootpostcss.Node = NodeLazyResult.registerPostcss(postcss)module.exports = postcsspostcss.default = postcss
 |