@wayofdev/browserslist-config v4.0.0
Shareable Browserslist Config
📄 About
Shareable configuration for Browserslist — a popular library for defining the target browsers for your projects.
It helps you maintain consistency across different projects and ensures that your projects support the same set of browsers. This configuration can be used by any project, not just projects from wayofdev.
→ Purpose
The purpose of this package is to provide a single, consistent configuration for all your projects, saving you time and reducing the risk of errors. Specifically, it achieves this goal by:
- Eliminating the need to define the target browsers in each project
- Providing a pre-defined set of widely used target browsers
- Making it easy to update the target browsers across all your projects when needed
Overall, Browserslist Config helps maintain a high-quality user experience for your users, regardless of which browsers they use.
💿 Installation
To use @wayofdev/browserslist-config in your JavaScript projects within a mono-repository, follow the steps below:
Install the package in each
appand/orpackagewithin the mono-repository using your preferred package manager. For example, withpnpm:$ pnpm add \ --filter="my-first-app" \ -D browserslist @wayofdev/browserslist-configHere,
--filterspecifies the target package or app where the dependencies should be installed. Replace"my-first-app"with the name of your target package or app.This will install both
browserslistand@wayofdev/browserslist-configpackages as development dependencies in your target package or app.Within your monorepo, you should have a structure with directories for your apps and packages.
. ├── package.json (root) ├── apps │ └── my-first-app │ ├── .browserslistrc │ ├── package.json │ └── ... (other app files) └── packages └── my-first-package ├── .browserslistrc ├── package.json └── ... (other package files)To configure the
.browserslistrcfile, include the following line:extends @wayofdev/browserslist-configThis extends the
@wayofdev/browserslist-configconfiguration and uses its pre-defined browser support ranges.(Optional) For each package or app in your mono-repository that needs to use the
browserslistpackage, add abrowserslistfield in thepackage.jsonfile with the desired browser support ranges. Thepackage.jsonfile is located in either the./packages/[package-name]or./apps/[app-name]directory.For example:
{ "browserslist": [ "extends @wayofdev/browserslist-config" ] }
→ Scripts
Adding the following script to your root package.json file makes it easier to run the browserslist command in your mono-repository:
pnpm pkg set scripts.lint:browsers="browserslist"For npm users, replace pnpm with npm in the above command.
This script allows you to run the browserslist command by simply typing pnpm run lint:browsers (or npm run lint:browsers for npm users) in the terminal.
🤝 License
🧱 Credits and Useful Resources
Based on:
Examples:
🙆🏼♂️ Author Information
This repository was created in 2023 by lotyp / wayofdev.
🙌 Want to Contribute?
Thank you for considering contributing to the wayofdev community! We are open to all kinds of contributions. If you want to:
- 🤔 Suggest a feature
- 🐛 Report an issue
- 📖 Improve documentation
- 👨💻 Contribute to the code
You are more than welcome. Before contributing, kindly check our guidelines.