Update dependency @uswds/uswds to v3.0.0 - autoclosed
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
@uswds/uswds | 3.0.0-beta.4 -> 3.0.0 |
Release Notes
uswds/uswds
v3.0.0
USWDS 3.0: A more modular design system, incrementally
USWDS 3.0 is an important major design system update that's easy to apply to an existing USWDS 2 project. USWDS 3.0 allows teams to update their projects to modern Sass syntax, improve performance, and reduce the size of project CSS. Where USWDS 2.0 introduced a new design language and changed the way we built our components from the ground up, USWDS 3.0 adds important incremental improvements without fundamentally changing how the design system works.
For most USWDS 2 projects, migrating to USWDS 3.0 should only require changing a few lines of project code. We've developed this new version to be a simple, straightforward migration. We want teams to start using USWDS 3.0, and we'll be there to help you do it.
For migration assistance, start with our USWDS 3.0 Migration Guide →
If you have any questions or feedback let us know at the USWDS Public Slack, GitHub Discussions, or uswds@gsa.gov.
If you aren't a member of the USWDS Public Slack, sign up here by "Joining a TTS Chat Room" — then select "U.S. Web Design System" as your chat topic.
What's new in USWDS 3.0?
USWDS 3.0 takes a modular, component-centered approach to the design system. We've rebuilt our codebase with a component focus so teams can more effectively integrate the design system incrementally and use only the USWDS components needed in their projects.
Update to modern Sass syntax
USWDS 3.0 stylesheets use the most modern version of the Sass module syntax. The Sass language that we use to write our stylesheets updated its syntax in 2020 and the old syntax (using @import
) is now deprecated. Sass will no longer support the old syntax starting in October 2022. We want teams to use source code with reliable support throughout the life of their project, and USWDS 3.0 allows teams to migrate to Sass modules and maintain support.
Read more about the Sass module syntax →
Improve performance and reduce the size of your project CSS
Unbundle the design system with USWDS 3.0. Using USWDS 3.0 with Sass module syntax allows teams to unbundle their implementations of USWDS and use only the components and code that they need on their project. Depending on your project, this could mean significant reduction of CSS code you ship. This means faster load times, better scores in performance evaluation tools, and a better developer experience.
Read more about USWDS Packages →
Simplify your project settings
USWDS is a highly customizable design system, but that doesn't mean that our settings files need to be long and complicated. Starting in USWDS 3.0, projects will use settings files that include only the settings you've changed in your project. This means fewer project settings to manage, and a clearer vision of your project's customizations.
Read more about USWDS settings →
Stay up-to-date with minimal hassle
We want teams to benefit from the most current version of USWDS. Many projects should be able to migrate from USWDS 2 to USWDS 3.0 in about an hour or less. This new version makes no markup or style changes from USWDS 2.13.3. If you already use USWDS 2.13.0 or later, you should be able to update to USWDS 3.0 in a matter of minutes. Additionally, the under-the-hood changes we're introducing in USWDS 3.0 will make it easier to stay up-to-date with USWDS over time. An incremental update now will make subsequent updates simpler as well.
Support changes in USWDS 3.0
As we move forward to USWDS 3.0 and beyond, we're making some changes to the browsers and functionality our design system supports, consistent with our 2% support threshold and modern development practices.
No longer explicitly support IE11
IE11 has fallen below our 2% support threshold as monitored by analytics.usa.gov. While we have not removed any existing IE11 support from our codebase, we may make changes and add functionality that no longer supports IE11 as we move forward. When we do make any changes like this, we'll be sure to note it in our release notes.
USWDS browser support (2% rule) →
See current analytics from analytics.usa.gov →
Support some Javascript-required functionality
We believe that JavaScript-disabled environments fall below our 2% support threshold, and that we may require JavaScript for some design system functionality. While we have not made any changes to our codebase that affect how we use JavaScript with our components, we may make changes that require JavaScript for some functionality as we move forward. When we do make any changes like this, we'll be sure to note it in our release notes.
Support USWDS 2 with maintenance and security patches for one year
In addition to supporting active development on USWDS 3, we will continue to support the USWDS 2 branch for one year of maintenance and security patches (until April 2023). The current LTS version of USWDS 2 is USWDS 2.13.3.
Long-term support of version 2.x →
Dependencies and security
Dependency | Old | New
--- | --- | ---
@babel/core
| — | 7.16.7
@babel/preset-env
| 7.15.8
| 7.16.7
@chanzuckerberg/axe-storybook-testing
| — | 5.0.0
@frctl/fractal
| 1.5.11
| removed
@frctl/nunjucks
| 2.0.13
| removed
@storybook/addon-a11y
| — | 6.4.18
@storybook/addon-actions
| — | 6.4.18
@storybook/addon-essentials
| — | 6.4.18
@storybook/addon-links
| — | 6.4.18
@storybook/addon-postcss
| — | 2.0.0
@storybook/builder-webpack5
| — | 6.4.18
@storybook/html
| — | 6.4.18
@storybook/manager-webpack5
| — | 6.4.18
@types/node
| 16.11.6
| 16.11.19
@whitespace/storybook-addon-html
| — | 5.0.0
autoprefixer
| 10.3.7
| 10.4.1
babel-loader
| — | 8.2.2
chrome-launcher
| 0.15.0
| removed
chrome-remote-interface
| 0.31.0
| removed
css-loader
| — | 6.2.0
eslint-plugin-import
| 2.25.2
| 2.25.4
extract-loader
| — | 5.1.0
file-loader
| — | 6.2.0
gulp-filter
| 7.0.0
| removed
gulp-replace
| 1.1.1
| 1.1.3
gulp-sass
| — | 5.1.0
html-webpack-plugin
| — | 5.4.0
lodash.merge
| — | 4.6.2
node-notifier
| 10.0.0
| removed
nswatch
| 0.2.0
| removed
nyc
| 15.1.0
| removed
path
| — | 0.12.7
postcss
| 8.3.11
| 8.4.0
resemblejs
| 4.0.0
| removed
sass
| 1.43.4
| 1.45.2
sass-loader
| — | 12.1.0
snyk
| 1.746.0
| 1.817.0
storybook-addon-html-document
| — | 1.0.1
style-loader
| — | 3.3.0
twig-html-loader
| — | 0.1.9
twigjs-loader
| — | 1.0.2
webpack
| — | 5.58.1
webpack-cli
| — | 4.9.1
yargs
| 17.2.1
| removed
0
vulnerabilities in regular dependencies (dependencies for USWDS projects installed with npm install @​uswds/uswds
)
Internal only: 2 low, 9 moderate, 30 high
vulnerabilities in devDependencies (development dependencies)
Release package SHA-256 hash: a98c4b4fc5974f5e335c2fc9d9a0416c236dd73e53dac62c0cc0031adfa5bb03
v3.0.0-beta.5
What's new in 3.0.0 Beta 5
This release builds on Beta 4 and is up-to-date with USWDS 2.13.3. This is probably the last Beta release before USWDS 3.0.0.
Fixed bug where Sass placeholders caused compile errors. We replaced table-related placeholders with mixins to prevent compile errors related to Sass Modules and placeholders.
Fix bug in Identifier links. Fixes a bug in identifier links that could show the wrong link color when the usa-link
package is included after usa-identifier
.
$output-all-utilities
setting which overrides all utilities settings and outputs all utilities. Instead, we're using a utility module uselist, defined in a new $output-these-utilities
setting. The default for $output-these-utilities
is default
— which outputs all utilities. Otherwise, you can pass a list of utility modules, and the utility builder will output only those utilities.
For example, the following settings will output only the background-color
, color
, display
, margin
, and padding
. It also shows how you can further customize the color
utility with custom settings and palettes.
@​use "uswds-core" with (
$output-these-utilities:(
"background-color",
"color"
"display",
"margin",
"padding",
),
$color-settings: (
"output": true
"responsive": false
"active": false
"focus": false
"hover": false
"visited": false
),
$color-palettes: (
"palette-color-theme"
),
);
Utility module names
add-aspect add-list-reset align-items align-self background-color border border-color border-radius border-style border-width bottom box-shadow circle clearfix color cursor display flex flex-direction flex-wrap float font font-family font-feature font-style font-weight height justify-content left letter-spacing line-height margin max-height max-width measure min-height min-width opacity order outline outline-color overflow padding pin position right square text-align text-decoration text-decoration-color text-indent text-transform top vertical-align whitespace width z-index
usa-[component-name]
, like usa-accordion
.
Type | Old | New | Example
--- | --- | --- | ---
JS (all; backward compatibility) | ./src/js/components
| ./src/js/components
| @uswds/uswds/src/js/components
JS (all) | ./src/js/components
| ./js
| @uswds/uswds/js
JS (component) | ./src/js/components/*
| ./js/*
| @uswds/uswds/js/usa-accordion
CSS (compiled) | ./css/*
| ./css/*
| @uswds/uswds/css/uswds.min.css
Sass (compiled) | ./scss/*
| ./scss/*
| @uswds/uswds/scss/usa-accordion
Images | ./img/*
| ./img/*
| @uswds/uswds/img/usa-icons/add.svg
Images | ./fonts/*
| ./fonts/*
| @uswds/uswds/fonts/public-sans
Packages
usa-accordion usa-alert usa-banner usa-breadcrumb usa-button usa-button-group usa-card usa-character-count usa-checkbox usa-checklist usa-collection usa-combo-box usa-content usa-dark-background usa-date-picker usa-date-range-picker usa-display usa-embed-container usa-error-message usa-fieldset usa-file-input usa-footer usa-form usa-form-group usa-graphic-list usa-header usa-hero usa-hint usa-icon usa-icon-list usa-identifier usa-input usa-input-prefix-suffix usa-intro usa-label usa-layout-docs usa-layout-grid usa-legend usa-link usa-list usa-media-block usa-memorable-date usa-modal usa-nav usa-pagination usa-paragraph usa-process-list usa-prose usa-radio usa-range usa-search usa-section usa-select usa-sidenav usa-site-alert usa-site-title usa-skipnav usa-step-indicator usa-summary-box usa-table usa-tag usa-textarea usa-time-picker usa-tooltip usa-validation uswds uswds-elements uswds-fonts uswds-form-controls uswds-global uswds-helpers uswds-typography uswds-utilities
Updating from stable or previous betas
Install on your project with npm install --save @​uswds/uswds
Security
Package updates
We're now pinning our dependencies to exact version to be more intentional about which dependency versions we support.
Dependency name | Old | New
--- | --- | ---
express
| 4.17.2 | removed
lodash.debounce
| 4.0.7 | removed
lodash.merge
| 4.6.2 | moved to dev dependencies
browser-sync
| 2.27.3 | removed
chrome-launcher
| 0.15.0 | removed
chrome-remote-interface
| 0.31.0 | removed
gulp-filter
| 7.0.0 | removed
gulp-run-command
| 0.0.10 | removed
raw-loader
| 4.0.2 | removed
twig-loader
| 0.5.5 | removed
url-loader
| 4.1.1 | removed
NOTE: We're now releasing the binary as a tarball created from npm pack
for consistency with the npm-distributed release.
0 vulnerabilities in regular dependencies (dependencies for USWDS projects installed with npm install uswds
)
Internal only: 41 vulnerabilities (2 low, 9 moderate, 30 high)
in devDependencies (development dependencies)
Release TGZ SHA-256 hash: 827982ca2b6da828aa3d49eb189e42e27d4fb705385d38ee411e09ece55bf5ac
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.