About workleap-web-configs
workleap-web-configs is Workleap's shared configuration library for web tooling, intended for teams building web apps and libraries. It provides extensible defaults for linting, type checking, browser targets, and bundling.
Key features
- 01Shared ESLint configurations
- 02TypeScript type-checking configs
- 03Stylelint and Browserslist configs
- 04Rsbuild and Rslib bundler configs
- 05Extendable and overridable defaults
Use cases
- 01Configure linting for a web app
- 02Set type checking for a library
- 03Define browser targets for an app
- 04Configure Rsbuild or Rslib builds
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ workleap/ wl-web-configs --skill workleap-web-configsAfter installing, type/workleap-web-configsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/ci.mdeslint.mdrsbuild.mdrslib.mdstylelint.mdtypescript.mdDetails
From the project READMEwl-web-configs
Workleap's shared configuration library for web tooling. Provides pre-configured packages for ESLint, TypeScript, Rsbuild, Rslib, Stylelint, and Browserslist.
Philosophy
- No lock-in: Default configurations can always be extended or overridden
- By project type: Configurations are composed internally and offered per project type for simplicity
- ESM/ESNext by default: Targets modern JavaScript environments
- Distributed via NPM: Easy to adopt new features by bumping package versions
Supported Tools (Active)
| Tool | Package | Purpose |
|---|---|---|
| Browserslist | @workleap/browserslist-config | Browser targets for apps |
| ESLint | @workleap/eslint-configs | Code linting |
| Stylelint | @workleap/stylelint-configs | CSS linting |
| TypeScript | @workleap/typescript-configs | Type checking (linting only) |
| Rsbuild | @workleap/rsbuild-configs | Web application bundling |
| Rslib | @workleap/rslib-configs | Library bundling |
In maintenance mode (do not recommend): PostCSS, SWC, webpack, tsup
Quick Reference
Which Configuration to Use?
| Project Type | ESLint | TypeScript | Bundler |
|---|---|---|---|
| Web app with React | defineWebApplicationConfig | web-application.json | @workleap/rsbuild-configs |
| React library | defineReactLibraryConfig | library.json | @workleap/rslib-configs |
| TypeScript library (no React) | defineTypeScriptLibraryConfig | library.json | @workleap/rslib-configs |
| Monorepo workspace root | defineMonorepoWorkspaceConfig | monorepo-workspace.json | N/A |
Browserslist (Apps Only)
pnpm add -D @workleap/browserslist-config browserslist
# .browserslistrc
extends @workleap/browserslist-config
Only for projects emitting application bundles. Libraries should not include Browserslist — the consuming application's Browserslist controls the final output targets.
To add custom browser targets while still using the shared config:
# .browserslistrc
extends @workleap/browserslist-config
IE 11
last 2 OperaMobile 12.1 versions
Reference Guide
For comprehensive setup guides, options, and examples, read the appropriate reference file:
- ESLint — references/eslint.md: Installation,
define*Configfunctions, rule categories, customization, VS Code integration, and migrating from ESLint 8 - TypeScript — references/typescript.md: Config files by project type, compiler option overrides, path mappings, CLI scripts, and migrating to
tsgo - Rsbuild — references/rsbuild.md: Dev/build/Storybook configs, predefined options, transformers, Turborepo setup, and migrating from webpack
- Rslib — references/rslib.md: Library build/dev/Storybook configs, bundleless vs bundle, transformers, type declarations, and migrating from tsup
- Stylelint — references/stylelint.md: Installation,
.stylelintrc.jsonsetup, Prettier integration, and VS Code settings - CI — references/ci.md: GitHub Actions workflows for polyrepo and Turborepo solutions, including Turborepo caching and PR filters
Critical Rules
- Stick to documented APIs — these packages are thin wrappers, and undocumented options won't be passed through to the underlying tool
- Avoid maintenance-mode packages — PostCSS, SWC, webpack, and tsup configs won't receive new features; recommend the active alternatives (Rsbuild, Rslib, Stylelint) instead
- ESM by default — all configs target ESM/ESNext because Workleap's toolchain assumes modern JavaScript environments
- Browserslist for apps only — libraries omit Browserslist because the consuming application's config controls the final output targets
- TypeScript for linting — the shared TypeScript configs focus on type-checking; bundlers handle transpilation, so don't mix concerns