Spaces:
Running
Running
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) { | |
// eslint-disable-next-line no-console | |
if (console && console.warn) { | |
// 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' | |
) | |
} | |
} | |
function creator(...args) { | |
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 = stringify | |
postcss.parse = parse | |
postcss.fromJSON = fromJSON | |
postcss.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 = CssSyntaxError | |
postcss.Declaration = Declaration | |
postcss.Container = Container | |
postcss.Processor = Processor | |
postcss.Document = Document | |
postcss.Comment = Comment | |
postcss.Warning = Warning | |
postcss.AtRule = AtRule | |
postcss.Result = Result | |
postcss.Input = Input | |
postcss.Rule = Rule | |
postcss.Root = Root | |
postcss.Node = Node | |
LazyResult.registerPostcss(postcss) | |
module.exports = postcss | |
postcss.default = postcss | |