
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
sass-proptypes
Advanced tools
Inspired by React's PropTypes validation, Sass PropTypes helps you validate required arguments for your Sass mixins. For example, imagine you've written a mixin that compiles buttons. The mixin accepts one of several $style arguments:
@mixin button($style: default) {
@if $style == 'default' {
// Default button styles
}
@if $style == 'primary' {
// Primary button styles
}
@if $style == 'negative' {
// Negative button styles
}
@if $style == 'positive' {
// Positive button styles
}
}
The mixin works well so long as you pass in a valid $style argument (one of default, primary, negative, or positive). But what happens if you accidentally pass in a invalid argument, like brand or even a misspelling like positve? Well, nothing. You'll just lose some time debugging your compiled CSS.
This where Sass propTypes steps in. If you make a mistake and pass in a invalid argument, PropTypes will throw a warning in the console.
Simply include the propTypes mixin in the mixin you wish to validate. For the example above:
@mixin button($style: default) {
$propTypes: default, primary, negaive, positive;
@include propTypes($style, $propTypes);
...
}
The propTypes mixin accepts two arguments:
$prop the mixin argument you wish to validate.$propType a list of valid arguments.If you were to pass in an invalid argument, the console will provide a helpful warning, with a stack trace that tells you exactly where to look:
WARNING: prmary must be one of default, primary, positive, negative
on line 5 of src/stylesheets/library/_proptypes.scss
from line 43 of src/stylesheets/library/_buttons.scss
from line 40 of src/stylesheets/buttons/_base.scss
Sass propTypes is available on Bower...
$ bower install sass-proptypes
...and NPM...
$ npm install sass-proptypes
Got an idea to make this better? PRs welcome.
FAQs
Argument validation for your Sass mixins
We found that sass-proptypes 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
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.