
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
mass-extinction
Advanced tools
a minimal, customizable, CSS reset for tailwind
philosophy, usage, options, FAQ
https://github.com/MathGeniusJodie/mass-extinction
https://www.npmjs.com/package/mass-extinction
in tailwind.config.js
module.exports = {
plugins: [require("mass-extinction")],
corePlugins: {
preflight: false,
},
};
in your css
@tailwind base;
theme: {
extinguish: {
legacy: true,
boxSizing: false, // "unset" "content-box" "border-box" "inherit"
layout: false,
borderColor: false,
font: true,
pseudoElements: false,
placeholders: false,
images: true,
forms: false,
lists: false,
forElements(element,spec){}
}
}
old browser support (currently only for ie11), doesn't use the unset keyword and changes default styles that are different from other browsers (currently <pre>, <code> and <samp> not inheriting font-size)
* {
contain: layout;
}
avoids performance footguns (recommended)
false by default because it's tricky to get consistent styling cross-browser as safari and edge don't support this feature yet, this also breaks the tailwind typography plugin
border-color: inherit, allows setting a default border color like in preflight
makes all elements inherit font
true by default to match normalize.css but for content-focused websites, you probably don't want form elements to inherit font
add reset styles to ::before and ::after
false by default since the tailwindcss workflow rarely uses pseudoelements
pseudoelements should be avoided in general since content belongs in html and there doesn't exist a way to hide purely presentational pseudoelement content from screen readers
must be enabled for the tailwind typography plugin to work
unset placeholder opacity (mostly for firefox)
unset image height (makes images keep aspect ratio)
removes inconsistent styling in mobile safari
this setting is false by default because if you want consistent styles for form controls it's recommended you use a more complete library like https://github.com/tailwindlabs/tailwindcss-forms that will make this reset redundant
unstyle <ul> and <ol> elements
this setting is false by default because in most cases you can just use role=list on a <div> if you want an unstyled list
function that returns css rules
first argument is the element name as a string
second argument is an object containing the properties of the element according to the html spec (currently just contentModel and display) see the spec.js file for more details
example:
// make flex the default display property for elements that accept flow content
(element, spec) => {
const rules = {};
if (
spec.contentModel == "flow" && spec.display == "block"
) {
rules[element] = {
display: "flex",
flexDirection: "column",
};
}
return rules;
}
main{display: block} for ie?if you want to support ie, put role=main on a <div>
fieldsets should be avoided https://bugs.chromium.org/p/chromium/issues/detail?id=375693, use role=group on a <div> instead
display:none to <template> elements for ie?if you want to support ie, use script tags instead
cursor:pointer on buttons?because that's not the semantics that operating systems use
FAQs
minimal, customizable, CSS reset for tailwind
The npm package mass-extinction receives a total of 0 weekly downloads. As such, mass-extinction popularity was classified as not popular.
We found that mass-extinction 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.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.