
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
postcss-apply
Advanced tools
PostCSS plugin enabling custom property sets references
Refer to postcss-custom-properties for DOMless limitations.
Spec (editor's draft): https://tabatkins.github.io/specs/css-apply-rule
Browser support: https://www.chromestatus.com/feature/5753701012602880
:warning: The @apply rule and custom property sets most likely won't get any more support from browser vendors as the spec is yet considered deprecated and alternative solutions are being discussed.
Refer to following links for more infos:
npm install postcss-apply --save-dev
const fs = require('fs');
const postcss = require('postcss');
const apply = require('postcss-apply');
const input = fs.readFileSync('input.css', 'utf8');
postcss()
.use(apply)
.process(input)
.then((result) => {
fs.writeFileSync('output.css', result.css);
});
/* input */
:root {
--toolbar-theme: {
background-color: rebeccapurple;
color: white;
border: 1px solid green;
};
}
.Toolbar {
@apply --toolbar-theme;
}
/* output */
.Toolbar {
background-color: rebeccapurple;
color: white;
border: 1px solid green;
}
const themes = {
/* Set names won't be transformed, just `--` will be prepended. */
'toolbar-theme': {
/* Declaration properties can either be camel or kebab case. */
backgroundColor: 'rebeccapurple',
color: 'white',
border: '1px solid green',
},
};
[...]
postcss().use(apply({ sets: themes }))
[...]
/* input */
.Toolbar {
@apply --toolbar-theme;
}
/* output */
.Toolbar {
background-color: rebeccapurple;
color: white;
border: 1px solid green;
}
preservetype: Boolean
default: false
Allows for keeping resolved declarations and @apply rules alongside.
setstype: { [customPropertyName: string]: Object | string }
default: {}
Allows you to pass an object or string of custom property sets for :root.
These definitions will be prepended, in such overridden by the one declared in CSS if they share the same name.
The keys are automatically prefixed with the CSS -- to make it easier to share sets in your codebase.
postcss-apply is unlicensed.
FAQs
PostCSS plugin enabling custom properties sets references
The npm package postcss-apply receives a total of 137,060 weekly downloads. As such, postcss-apply popularity was classified as popular.
We found that postcss-apply demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.