-
Notifications
You must be signed in to change notification settings - Fork 114
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #8427 from cfpb/ans_browser_support
Add browser-support page to mkdocs and update references
- Loading branch information
Showing
4 changed files
with
69 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
# Browser support | ||
|
||
- We serve JavaScript to any browser that | ||
[supports fetch](https://caniuse.com/fetch). | ||
We use [esbuild](https://github.com/evanw/esbuild) to transpile | ||
and minify our JavaScript. | ||
|
||
- We prefix CSS for [every browser in our browserslist](https://github.com/cfpb/consumerfinance.gov/blob/main/package.json#L18). | ||
We use [autoprefixer](https://github.com/postcss/autoprefixer) to add | ||
vendor-specific prefixes to rules where necessary. | ||
|
||
## Outputting browser support metrics | ||
|
||
Within the root directory, run `npx browserslist` to output the set of browser | ||
targets given to `autoprefixer` (CSS) transpiling. | ||
|
||
!!! note | ||
|
||
A browserslist string is used in `package.json`. | ||
See the | ||
[browserslist docs](https://github.com/browserslist/browserslist#full-list) | ||
for information on this string and the defaults. | ||
|
||
For JavaScript, `esbuild` uses the [`es6`](http://es6-features.org/) target and | ||
our code conditionally includes JavaScript in browsers that | ||
[support fetch](https://caniuse.com/fetch). | ||
|
||
!!! note | ||
|
||
JavaScript may still | ||
be delivered to legacy browsers in the form of our analytics and | ||
related scripts. | ||
|
||
## Current browser support metrics | ||
|
||
Twice per year we aim to updated the browser metrics that are fed into our | ||
browserslist config at | ||
[@cfpb/browserslist-config](https://github.com/cfpb/cfpb-analytics/tree/main/packages/browserslist-config). | ||
|
||
Per the [best practices published by browserslist](https://github.com/browserslist/browserslist?tab=readme-ov-file#best-practices), | ||
we use a 0.2% cutoff with this config for the browsers | ||
that get fed into our build systems. | ||
|
||
However, for what we actively aim to support and test, we use a higher cutoff | ||
of 1%. The current 1% cutoff list is: | ||
|
||
``` | ||
and_chr 123 | ||
chrome 124 | ||
chrome 123 | ||
chrome 122 | ||
chrome 121 | ||
chrome 120 | ||
edge 123 | ||
edge 122 | ||
edge 121 | ||
edge 120 | ||
ios_saf 17.4 | ||
ios_saf 17.3 | ||
ios_saf 17.2 | ||
ios_saf 17.1 | ||
ios_saf 16.6-16.7 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters