diff --git a/package.json b/package.json index 74fe61f..a2e1c7b 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "eslint-config", "stylelint-config", "prettier-config", + "browserslist-config", "github-actions", "cspell", "mdat", @@ -51,6 +52,7 @@ "release": "pnpm bumpp -r --commit 'release: %s' --tag 'v%s' && pnpm -r publish --otp $(op read 'op://Personal/NPM/one-time password?attribute=otp')" }, "devDependencies": { + "@envsa/browserslist-config": "workspace:*", "@envsa/cspell-config": "workspace:*", "@envsa/eslint-config": "workspace:*", "@envsa/mdat-config": "workspace:*", diff --git a/packages/browserslist-config/bin/cli.js b/packages/browserslist-config/bin/cli.js new file mode 100755 index 0000000..07ff484 --- /dev/null +++ b/packages/browserslist-config/bin/cli.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +// Placeholder, will be replaced by the actual CLI script during the build process diff --git a/packages/browserslist-config/index.js b/packages/browserslist-config/index.js new file mode 100644 index 0000000..1b5f5c6 --- /dev/null +++ b/packages/browserslist-config/index.js @@ -0,0 +1 @@ +export default ['> 0.5% in AU', 'last 3 years', 'iOS >= 7', 'ie >= 11']; diff --git a/packages/browserslist-config/license.txt b/packages/browserslist-config/license.txt new file mode 100644 index 0000000..4097ab1 --- /dev/null +++ b/packages/browserslist-config/license.txt @@ -0,0 +1,23 @@ +MIT License + +Copyright (c) 2024 Liam Rella + +Based on the MIT-licensed "@kitschpatrol/shared-config" project by Eric Mika + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json new file mode 100644 index 0000000..e685fd0 --- /dev/null +++ b/packages/browserslist-config/package.json @@ -0,0 +1,49 @@ +{ + "name": "@envsa/browserslist-config", + "version": "1.0.0-beta.13", + "type": "module", + "description": "Browserslist configuration for @envsa/shared-config.", + "repository": { + "type": "git", + "url": "git@github.com:envsa/shared-config.git", + "directory": "packages/browserslist-config" + }, + "bugs": { + "url": "https://github.com/envsa/shared-config/issues", + "email": "DEW.ICTWebServices@sa.gov.au" + }, + "author": { + "name": "Liam Rella", + "email": "DEW.ICTWebServices@sa.gov.au", + "url": "https://github.com/rellafella" + }, + "license": "MIT", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "bin": { + "browserslist-config": "bin/cli.js" + }, + "main": "./index.js", + "keywords": [ + "shared-config", + "browserslist-config", + "browserslist", + "cli" + ], + "scripts": { + "build": "../../scripts/build.ts && mdat readme", + "cli": "node ./bin/cli.js", + "prepublishOnly": "pnpm run build" + }, + "dependencies": { + "@pinojs/json-colorizer": "^4.0.0", + "cosmiconfig": "^9.0.0", + "execa": "^8.0.1", + "fs-extra": "^11.2.0" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/browserslist-config/readme.md b/packages/browserslist-config/readme.md new file mode 100644 index 0000000..da9e988 --- /dev/null +++ b/packages/browserslist-config/readme.md @@ -0,0 +1,84 @@ + + + + +# @envsa/browserslist-config + + + + + +[![NPM Package @envsa/browserslist-config](https://img.shields.io/npm/v/@envsa/browserslist-config.svg)](https://npmjs.com/package/@envsa/browserslist-config) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) + + + + + +**Browserslist configuration for @envsa/shared-config.** + + + +## Overview + +It's a shared [Browserslist](https://browsersl.ist) config. + +**See [`@envsa/shared-config`](https://www.npmjs.com/package/@envsa/shared-config) for the recommended single-package approach.** + +## Setup + +To use just this browserslist config in isolation: + +1. Install the `.npmrc` in your project root. This is required for correct PNPM behavior: + + ```sh + pnpm dlx @envsa/repo-config --init + ``` + +2. Add the package: + + ```sh + pnpm add -D @envsa/browserslist-config + ``` + +## Usage + +Integrate with your `package.json` scripts as you see fit, for example: + +```json +"browserslist": ["extends @envsa/browserslist-config"] +``` + +or use the cli + +### CLI + + + +```txt + + Browserslist configuration for @envsa/shared-config. + + Usage + $ browserslist-config --init + + Options + --init, -i Add browserslist key to `package.json`. + --help, -h Print this help info. + --version, -v Print the package version. + +``` + + + +## Credits + +[Eric Mika](https://github.com/kitschpatrol) is the author of the original [@kitschpatrol/shared-config](https://github.com/kitschpatrol/shared-config) project on which this is based. + + + +## License + +[MIT](license.txt) © Liam Rella + + diff --git a/packages/browserslist-config/src/cli.ts b/packages/browserslist-config/src/cli.ts new file mode 100644 index 0000000..5820ea7 --- /dev/null +++ b/packages/browserslist-config/src/cli.ts @@ -0,0 +1,9 @@ +#!/usr/bin/env node +import { buildCommands } from '$root/src/command-builder.ts'; + +await buildCommands('browserslist-config', '[Browserslist]', 'white', { + init: { + command: 'pnpm', + defaultArguments: ['pkg', 'set', 'browserslist[0]=extends @envsa/browserslist-config'], + }, +}); diff --git a/packages/shared-config/package.json b/packages/shared-config/package.json index a0a335f..64ca47f 100644 --- a/packages/shared-config/package.json +++ b/packages/shared-config/package.json @@ -33,6 +33,7 @@ "eslint-config", "stylelint-config", "prettier-config", + "browserslist-config", "github-actions", "cspell", "mdat", @@ -45,6 +46,7 @@ "prepublishOnly": "pnpm run build" }, "dependencies": { + "@envsa/browserslist-config": "workspace:*", "@envsa/cspell-config": "workspace:*", "@envsa/eslint-config": "workspace:*", "@envsa/mdat-config": "workspace:*", diff --git a/packages/shared-config/readme.md b/packages/shared-config/readme.md index c452349..890a81d 100644 --- a/packages/shared-config/readme.md +++ b/packages/shared-config/readme.md @@ -149,8 +149,8 @@ shared-config [ ...] | Option | Argument | Description | | ------------------------ | -------- | ---------------------------------------------------------------- | -| `--check`
`-c` | | Check for and report issues. Same as `shared-config`. | | `--init`
`-i` | | Initialize by copying starter config files to your project root. | +| `--check`
`-c` | | Check for and report issues. Same as `shared-config`. | | `--print-config`
`-p` | `` | Print the effective configuration at a certain path. | | `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--help`
`-h` | | Print this help info. | diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3bbefbc..4de1a02 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: devDependencies: + '@envsa/browserslist-config': + specifier: workspace:* + version: link:packages/browserslist-config '@envsa/cspell-config': specifier: workspace:* version: link:packages/cspell-config @@ -78,6 +81,21 @@ importers: specifier: ~5.5.4 version: 5.5.4 + packages/browserslist-config: + dependencies: + '@pinojs/json-colorizer': + specifier: ^4.0.0 + version: 4.0.0 + cosmiconfig: + specifier: ^9.0.0 + version: 9.0.0(typescript@5.5.4) + execa: + specifier: ^8.0.1 + version: 8.0.1 + fs-extra: + specifier: ^11.2.0 + version: 11.2.0 + packages/cspell-config: dependencies: '@pinojs/json-colorizer': @@ -100,7 +118,7 @@ importers: dependencies: '@cspell/eslint-plugin': specifier: ^8.14.2 - version: 8.14.2(eslint@8.57.0) + version: 8.14.2(eslint@8.57.1) '@eslint/compat': specifier: ^1.1.1 version: 1.1.1 @@ -115,25 +133,25 @@ importers: version: 9.0.0(typescript@5.5.4) eslint: specifier: ^8.0.0 - version: 8.57.0 + version: 8.57.1 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@8.57.1) eslint-import-resolver-alias: specifier: ^1.1.2 - version: 1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)) + version: 1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)) eslint-import-resolver-typescript: specifier: ^3.6.3 - version: 3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0) + version: 3.6.3(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.1) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3) + version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) eslint-plugin-svelte: specifier: ^2.43.0 - version: 2.44.0(eslint@8.57.0)(svelte@4.2.19) + version: 2.44.0(eslint@8.57.1)(svelte@4.2.19) eslint-plugin-unicorn: specifier: ^55.0.0 - version: 55.0.0(eslint@8.57.0) + version: 55.0.0(eslint@8.57.1) execa: specifier: ^8.0.1 version: 8.0.1 @@ -145,7 +163,7 @@ importers: version: 15.9.0 typescript-eslint: specifier: ^8.4.0 - version: 8.5.0(eslint@8.57.0)(typescript@5.5.4) + version: 8.6.0(eslint@8.57.1)(typescript@5.5.4) packages/mdat-config: dependencies: @@ -218,6 +236,9 @@ importers: packages/shared-config: dependencies: + '@envsa/browserslist-config': + specifier: workspace:* + version: link:../browserslist-config '@envsa/cspell-config': specifier: workspace:* version: link:../cspell-config @@ -705,8 +726,8 @@ packages: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@eslint/js@9.10.0': @@ -716,8 +737,8 @@ packages: '@fontsource/inter@5.1.0': resolution: {integrity: sha512-zKZR3kf1G0noIes1frLfOHP5EXVVm0M7sV/l9f/AaYf+M/DId35FO4LkigWjqWYjTJZGgplhdv4cB+ssvCqr5A==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead @@ -850,8 +871,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.5.0': - resolution: {integrity: sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==} + '@typescript-eslint/eslint-plugin@8.6.0': + resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -861,8 +882,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.5.0': - resolution: {integrity: sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==} + '@typescript-eslint/parser@8.6.0': + resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -871,12 +892,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.5.0': - resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==} + '@typescript-eslint/scope-manager@8.6.0': + resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.5.0': - resolution: {integrity: sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==} + '@typescript-eslint/type-utils@8.6.0': + resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -884,12 +905,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.5.0': - resolution: {integrity: sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==} + '@typescript-eslint/types@8.6.0': + resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.5.0': - resolution: {integrity: sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==} + '@typescript-eslint/typescript-estree@8.6.0': + resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -897,14 +918,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.5.0': - resolution: {integrity: sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==} + '@typescript-eslint/utils@8.6.0': + resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.5.0': - resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} + '@typescript-eslint/visitor-keys@8.6.0': + resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -1398,8 +1419,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.23: - resolution: {integrity: sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==} + electron-to-chromium@1.5.24: + resolution: {integrity: sha512-0x0wLCmpdKFCi9ulhvYZebgcPmHTkFVUfU2wzDykadkslKwT4oAmDTHEKLnlrDsMGZe4B+ksn8quZfZjYsBetA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1585,8 +1606,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -1626,8 +1647,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - execa@9.3.1: - resolution: {integrity: sha512-gdhefCCNy/8tpH/2+ajP9IQc14vXchNdd0weyzSJEFURhRMGncQ+zKFxwjAufIewPEJm9BPOaJnvg2UtlH2gPQ==} + execa@9.4.0: + resolution: {integrity: sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==} engines: {node: ^18.19.0 || >=20.5.0} express@4.21.0: @@ -2343,6 +2364,10 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + nypm@0.3.11: resolution: {integrity: sha512-E5GqaAYSnbb6n1qZyik2wjPDZON43FqOJO59+3OkWrnmQtjggrMOVnsyzfjxp/tS6nlYJBA4zRA5jSM2YaadMg==} engines: {node: ^14.16.0 || >=16.10.0} @@ -2677,12 +2702,12 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - puppeteer-core@23.3.0: - resolution: {integrity: sha512-sB2SsVMFs4gKad5OCdv6w5vocvtEUrRl0zQqSyRPbo/cj1Ktbarmhxy02Zyb9R9HrssBcJDZbkrvBnbaesPyYg==} + puppeteer-core@23.3.1: + resolution: {integrity: sha512-m5gTpITEqqpSgAvPUI/Ch9igh5sNJV+BVVbqQMzqirRDVHDCkLGHaydEQZx2NZvSXdwCFrIV///cpSlX/uD0Sg==} engines: {node: '>=18'} - puppeteer@23.3.0: - resolution: {integrity: sha512-e2jY8cdWSUGsrLxqGm3hIbJq/UIk1uOY8XY7SM51leXkH7shrIyE91lK90Q9byX6tte+cyL3HKqlWBEd6TjWTA==} + puppeteer@23.3.1: + resolution: {integrity: sha512-BxkuJyCv46ZKW8KEHiVMHgHEC89jKK9FffReWjbw1IfBUmNx+6JIZyqOtaJeSwyolTdVqqb5fiPiXflKeH3dKQ==} engines: {node: '>=18'} hasBin: true @@ -3135,8 +3160,8 @@ packages: typed-query-selector@2.12.0: resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - typescript-eslint@8.5.0: - resolution: {integrity: sha512-uD+XxEoSIvqtm4KE97etm32Tn5MfaZWgWfMMREStLxR6JzvHkc2Tkj7zhTEK5XmtpTmKHNnG8Sot6qDfhHtR1Q==} + typescript-eslint@8.6.0: + resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -3172,6 +3197,10 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -3515,12 +3544,12 @@ snapshots: dependencies: import-meta-resolve: 4.1.0 - '@cspell/eslint-plugin@8.14.2(eslint@8.57.0)': + '@cspell/eslint-plugin@8.14.2(eslint@8.57.1)': dependencies: '@cspell/cspell-types': 8.14.2 '@cspell/url': 8.14.2 cspell-lib: 8.14.2 - eslint: 8.57.0 + eslint: 8.57.1 synckit: 0.9.1 '@cspell/filetypes@8.14.2': {} @@ -3618,9 +3647,9 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.1': {} @@ -3641,13 +3670,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@8.57.1': {} '@eslint/js@9.10.0': {} '@fontsource/inter@5.1.0': {} - '@humanwhocodes/config-array@0.11.14': + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.7 @@ -3687,7 +3716,7 @@ snapshots: dependencies: '@fontsource/inter': 5.1.0 express: 4.21.0 - puppeteer: 23.3.0(typescript@5.5.4) + puppeteer: 23.3.1(typescript@5.5.4) uint8array-extras: 1.4.0 yargs: 17.7.2 transitivePeerDependencies: @@ -3792,15 +3821,15 @@ snapshots: '@types/node': 20.16.5 optional: true - '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint@8.57.1)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/type-utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.5.0 - eslint: 8.57.0 + '@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/type-utils': 8.6.0(eslint@8.57.1)(typescript@5.5.4) + '@typescript-eslint/utils': 8.6.0(eslint@8.57.1)(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.6.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3810,28 +3839,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.5.0': + '@typescript-eslint/scope-manager@8.6.0': dependencies: - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 - '@typescript-eslint/type-utils@8.5.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.6.0(eslint@8.57.1)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) - '@typescript-eslint/utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.6.0(eslint@8.57.1)(typescript@5.5.4) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -3840,12 +3869,12 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.5.0': {} + '@typescript-eslint/types@8.6.0': {} - '@typescript-eslint/typescript-estree@8.5.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.6.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -3857,20 +3886,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.5.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.6.0(eslint@8.57.1)(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.5.4) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.4) + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.5.0': + '@typescript-eslint/visitor-keys@8.6.0': dependencies: - '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/types': 8.6.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -4066,7 +4095,7 @@ snapshots: browserslist@4.23.3: dependencies: caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.23 + electron-to-chromium: 1.5.24 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -4448,7 +4477,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.23: {} + electron-to-chromium@1.5.24: {} emoji-regex@8.0.0: {} @@ -4591,18 +4620,18 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@8.57.0): + eslint-compat-utils@0.5.1(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 semver: 7.6.3 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)): + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)): dependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) eslint-import-resolver-node@0.3.9: dependencies: @@ -4612,37 +4641,37 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.1 - eslint: 8.57.0 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint: 8.57.1 + eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.11.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.11.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 + '@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.5.4) + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -4651,9 +4680,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -4664,27 +4693,27 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.5.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-config-prettier: 9.1.0(eslint@8.57.1) - eslint-plugin-svelte@2.44.0(eslint@8.57.0)(svelte@4.2.19): + eslint-plugin-svelte@2.44.0(eslint@8.57.1)(svelte@4.2.19): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@jridgewell/sourcemap-codec': 1.5.0 - eslint: 8.57.0 - eslint-compat-utils: 0.5.1(eslint@8.57.0) + eslint: 8.57.1 + eslint-compat-utils: 0.5.1(eslint@8.57.1) esutils: 2.0.3 known-css-properties: 0.34.0 postcss: 8.4.47 @@ -4698,14 +4727,14 @@ snapshots: transitivePeerDependencies: - ts-node - eslint-plugin-unicorn@55.0.0(eslint@8.57.0): + eslint-plugin-unicorn@55.0.0(eslint@8.57.1): dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.38.1 - eslint: 8.57.0 + eslint: 8.57.1 esquery: 1.6.0 globals: 15.9.0 indent-string: 4.0.0 @@ -4725,13 +4754,13 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -4806,7 +4835,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - execa@9.3.1: + execa@9.4.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.3 @@ -4815,7 +4844,7 @@ snapshots: human-signals: 8.0.0 is-plain-obj: 4.1.0 is-stream: 4.0.1 - npm-run-path: 5.3.0 + npm-run-path: 6.0.0 pretty-ms: 9.1.0 signal-exit: 4.1.0 strip-final-newline: 4.0.0 @@ -5413,7 +5442,7 @@ snapshots: '@types/yargs': 17.0.33 cosmiconfig: 9.0.0(typescript@5.5.4) cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4) - execa: 9.3.1 + execa: 9.4.0 globby: 14.0.2 read-pkg: 9.0.1 which: 4.0.0 @@ -5523,6 +5552,11 @@ snapshots: dependencies: path-key: 4.0.0 + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + nypm@0.3.11: dependencies: citty: 0.1.6 @@ -5801,7 +5835,7 @@ snapshots: punycode@2.3.1: {} - puppeteer-core@23.3.0: + puppeteer-core@23.3.1: dependencies: '@puppeteer/browsers': 2.4.0 chromium-bidi: 0.6.5(devtools-protocol@0.0.1330662) @@ -5814,13 +5848,13 @@ snapshots: - supports-color - utf-8-validate - puppeteer@23.3.0(typescript@5.5.4): + puppeteer@23.3.1(typescript@5.5.4): dependencies: '@puppeteer/browsers': 2.4.0 chromium-bidi: 0.6.5(devtools-protocol@0.0.1330662) cosmiconfig: 9.0.0(typescript@5.5.4) devtools-protocol: 0.0.1330662 - puppeteer-core: 23.3.0 + puppeteer-core: 23.3.1 typed-query-selector: 2.12.0 transitivePeerDependencies: - bufferutil @@ -6372,11 +6406,11 @@ snapshots: typed-query-selector@2.12.0: {} - typescript-eslint@8.5.0(eslint@8.57.0)(typescript@5.5.4): + typescript-eslint@8.6.0(eslint@8.57.1)(typescript@5.5.4): dependencies: - '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.5.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.5.4))(eslint@8.57.1)(typescript@5.5.4) + '@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.5.4) + '@typescript-eslint/utils': 8.6.0(eslint@8.57.1)(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -6407,6 +6441,8 @@ snapshots: unicorn-magic@0.1.0: {} + unicorn-magic@0.3.0: {} + universalify@2.0.1: {} unpipe@1.0.0: {} diff --git a/readme.md b/readme.md index c452349..890a81d 100644 --- a/readme.md +++ b/readme.md @@ -149,8 +149,8 @@ shared-config [ ...] | Option | Argument | Description | | ------------------------ | -------- | ---------------------------------------------------------------- | -| `--check`
`-c` | | Check for and report issues. Same as `shared-config`. | | `--init`
`-i` | | Initialize by copying starter config files to your project root. | +| `--check`
`-c` | | Check for and report issues. Same as `shared-config`. | | `--print-config`
`-p` | `` | Print the effective configuration at a certain path. | | `--fix`
`-f` | | Fix all auto-fixable issues, and report the un-fixable. | | `--help`
`-h` | | Print this help info. | diff --git a/src/command-builder.ts b/src/command-builder.ts index 80f210b..e1e8f9b 100644 --- a/src/command-builder.ts +++ b/src/command-builder.ts @@ -73,6 +73,13 @@ function generateHelpText(command: string, options: OptionCommands): string { $ ${command} [ ...] `; + if (command === 'browserslist-config') { + helpText = ` + Usage + $ ${command} --init + `; + } + helpText += '\n Options'; if (Object.keys(options).length > 0) { @@ -80,7 +87,9 @@ function generateHelpText(command: string, options: OptionCommands): string { switch (name) { case 'init': { helpText += - '\n --init, -i Initialize by copying starter config files to your project root.'; + command === 'browserslist-config' + ? '\n --init, -i Add browserslist key to `package.json`.' + : '\n --init, -i Initialize by copying starter config files to your project root.'; break; }