You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict'
let AtRule = require('./at-rule')let Comment = require('./comment')let Container = require('./container')let CssSyntaxError = require('./css-syntax-error')let Declaration = require('./declaration')let Document = require('./document')let fromJSON = require('./fromJSON')let Input = require('./input')let LazyResult = require('./lazy-result')let list = require('./list')let Node = require('./node')let parse = require('./parse')let Processor = require('./processor')let Result = require('./result.js')let Root = require('./root')let Rule = require('./rule')let stringify = require('./stringify')let Warning = require('./warning')
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 = list
postcss.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 = Node
LazyResult.registerPostcss(postcss)
module.exports = postcsspostcss.default = postcss
|