CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
postcss.js102 linesDownload Raw Back to lib
1'use strict'2 3let AtRule = require('./at-rule')4let Comment = require('./comment')5let Container = require('./container')6let CssSyntaxError = require('./css-syntax-error')7let Declaration = require('./declaration')8let Document = require('./document')9let fromJSON = require('./fromJSON')10let Input = require('./input')11let LazyResult = require('./lazy-result')12let list = require('./list')13let Node = require('./node')14let parse = require('./parse')15let Processor = require('./processor')16let Result = require('./result.js')17let Root = require('./root')18let Rule = require('./rule')19let stringify = require('./stringify')20let Warning = require('./warning')21 22function postcss(...plugins) {23  if (plugins.length === 1 && Array.isArray(plugins[0])) {24    plugins = plugins[0]25  }26  return new Processor(plugins)27}28 29postcss.plugin = function plugin(name, initializer) {30  let warningPrinted = false31  function creator(...args) {32    // eslint-disable-next-line no-console33    if (console && console.warn && !warningPrinted) {34      warningPrinted = true35      // eslint-disable-next-line no-console36      console.warn(37        name +38          ': postcss.plugin was deprecated. Migration guide:\n' +39          'https://evilmartians.com/chronicles/postcss-8-plugin-migration'40      )41      if (process.env.LANG && process.env.LANG.startsWith('cn')) {42        /* c8 ignore next 7 */43        // eslint-disable-next-line no-console44        console.warn(45          name +46            ': 里面 postcss.plugin 被弃用. 迁移指南:\n' +47            'https://www.w3ctech.com/topic/2226'48        )49      }50    }51    let transformer = initializer(...args)52    transformer.postcssPlugin = name53    transformer.postcssVersion = new Processor().version54    return transformer55  }56 57  let cache58  Object.defineProperty(creator, 'postcss', {59    get() {60      if (!cache) cache = creator()61      return cache62    }63  })64 65  creator.process = function (css, processOpts, pluginOpts) {66    return postcss([creator(pluginOpts)]).process(css, processOpts)67  }68 69  return creator70}71 72postcss.stringify = stringify73postcss.parse = parse74postcss.fromJSON = fromJSON75postcss.list = list76 77postcss.comment = defaults => new Comment(defaults)78postcss.atRule = defaults => new AtRule(defaults)79postcss.decl = defaults => new Declaration(defaults)80postcss.rule = defaults => new Rule(defaults)81postcss.root = defaults => new Root(defaults)82postcss.document = defaults => new Document(defaults)83 84postcss.CssSyntaxError = CssSyntaxError85postcss.Declaration = Declaration86postcss.Container = Container87postcss.Processor = Processor88postcss.Document = Document89postcss.Comment = Comment90postcss.Warning = Warning91postcss.AtRule = AtRule92postcss.Result = Result93postcss.Input = Input94postcss.Rule = Rule95postcss.Root = Root96postcss.Node = Node97 98LazyResult.registerPostcss(postcss)99 100module.exports = postcss101postcss.default = postcss102