import { Processor } from "https://deno.land/x/postcss@8.4.16/lib/postcss.js";
Contains plugins to process CSS. Create one Processor
instance,
initialize its plugins, and then use that instance on numerous CSS files.
const processor = postcss([autoprefixer, postcssNested])
processor.process(css1).then(result => console.log(result.css))
processor.process(css2).then(result => console.log(result.css))
Constructors
new
Processor(plugins?: AcceptedPlugin[])Properties
plugins: (Plugin | Transformer | TransformCallback)[]
Plugins added to this processor.
const processor = postcss([autoprefixer, postcssNested])
processor.plugins.length //=> 2
Methods
process(css: , options?: ProcessOptions): LazyResult | NoWorkResult
Parses source CSS and returns a LazyResult
Promise proxy.
Because some plugins can be asynchronous it doesn’t make
any transformations. Transformations will be applied
in the LazyResult
methods.
processor.process(css, { from: 'a.css', to: 'a.out.css' })
.then(result => {
console.log(result.css)
})
use(plugin: AcceptedPlugin): this
Adds a plugin to be used as a CSS processor.
PostCSS plugin can be in 4 formats:
- A plugin in
Plugin
format. - A plugin creator function with
pluginCreator.postcss = true
. PostCSS will call this function without argument to get plugin. - A function. PostCSS will pass the function a @{link Root}
as the first argument and current
Result
instance as the second. - Another
Processor
instance. PostCSS will copy plugins from that instance into this one.
Plugins can also be added by passing them as arguments when creating
a postcss
instance (see [postcss(plugins)
]).
Asynchronous plugins should return a Promise
instance.
const processor = postcss()
.use(autoprefixer)
.use(postcssNested)