![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
@texastribune/queso-ui
Advanced tools
Centralizing styles for product development at The Texas Tribune
This repo contains a library of styles and icons available to import via npm.
Along with the library, we set up a few tools that help document updates. CSS comments are parsed to create a JSON object of documentation. That data is rendered with nunjucks to give us a visual representation of the various components and rule-sets we're building.
Our goal is that as we iterate upon the design of our products, we document everything along the way. This keeps our style docs current and allows for continuous optimization our CSS.
We named it "queso" because we wanted a Texas-esque name and an easy way to refer to it internally. Also as we all know, everything is better with queso 🧀.
yarn add @texastribune/queso-ui --dev
npm install @texastribune/queso-ui --save-dev
directory | description |
---|---|
assets/scss | Various SASS files establishing our CSS framework |
assets/icons | Sets of individual SVG icons used throughout our products |
docs | Tools and templates to statically render documentation, code examples, and usage info for our design system |
When you add a new class, component, scss variable, mixin, etc., you'll want to add a short bit of syntax to enable it to appear in the docs. Use the boilerplate below to get started.
How to document a new CSS class
We use a comment parser along with some extra logic to generate our docs. To add a new section of documentation, add a boilerplate above your CSS rules like the one below:
// Title of Section (root-class-name)
//
// Description {{isWide}} {{isHelper}}
//
// root-class-name-modifier - desc
//
// Markup: 6-components/test/test.html
//
// Styleguide 6.0.1
//
.root-class-name {
}
{{isWide}}
is used to display the demo of each modifier at full width{{isHelper}}
is used to hide main demo and only display modifiers// Deprecated
is used to signify a class to be removed. See Deprecating a CSS class for details.When building CSS dispersed on a variety of platforms, it can be difficult to know where certain style rules should live and what to call them. We use the following guideline to help with those decisions as we scale our framework.
We organize our SCSS files with the inverted triangle approach in mind. We put our own spin on it by adding a typography
and layouts
folder, but the general idea is all the same; increased specificity as you move down the stylesheet.
We closely follow the BEM (Block Element Modifier) class naming convention in our components
folder, but we break BEM rules in other places. This is a deliberate attempt to create a hybrid approach of using BEM when scoped to a component and helper classes when styling globally in a more ad hoc context.
Use namespacing for quick reference of the function of a CSS class. The following key can be used as a guideline for naming your class:
Components
.c-component-name[__<element>|--<-modifier>] {}
Example: c-button
Typography
.t-type-util {}
Example: t-headline
Layout
.l-layout-util {}
Example: l-container
Utilities
.[is|has]-state {}
Example: has-bg-yellow
This system is experimental and under rapid development. Use it in situations where it makes sense for the scope of your task.
Do use this system when...
Don't use this system when...
Make sure you're authenticated for npm publishing.
npm login
- then follow the promptsnpm run release
- There's a bug in the np
publishing tool we use where yarn
commands don't seem to work.FAQs
Asset library of SCSS and SVG files
The npm package @texastribune/queso-ui receives a total of 7 weekly downloads. As such, @texastribune/queso-ui popularity was classified as not popular.
We found that @texastribune/queso-ui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers 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
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.