Skip to content

Commit

Permalink
feat: rewrite browserslist cli for new command builder
Browse files Browse the repository at this point in the history
  • Loading branch information
rellafella committed Feb 14, 2025
1 parent 3841f56 commit 864d058
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 31 deletions.
1 change: 0 additions & 1 deletion packages/browserslist-config/index.cjs

This file was deleted.

21 changes: 16 additions & 5 deletions packages/browserslist-config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"url": "[email protected]:envsa/shared-config.git",
"directory": "packages/browserslist-config"
},
"homepage": "https://github.com/envsa/shared-config/packages/browserslist-config",
"bugs": {
"url": "https://github.com/envsa/shared-config/issues",
"email": "[email protected]"
Expand All @@ -23,25 +24,35 @@
"pnpm": ">=10.0.0"
},
"bin": {
"browserslist-config": "bin/cli.js"
"envsa-browserslist": "bin/cli.js"
},
"main": "./index.cjs",
"main": "./dist/index.cjs",
"types": "./dist/index.d.ts",
"files": [
"bin/*",
"dist/*"
],
"keywords": [
"shared-config",
"browserslist-config",
"browserslist",
"cli"
"cli",
"envsa",
"envsa-browserslist"
],
"scripts": {
"build": "../../scripts/build.ts && mdat readme",
"build": "tsc && ../../scripts/build.ts && mv './dist/index.js' './dist/index.cjs'",
"cli": "node ./bin/cli.js",
"prepublishOnly": "pnpm run build"
},
"dependencies": {
"@pinojs/json-colorizer": "^4.0.0",
"browserslist": "^4.24.4",
"cosmiconfig": "^9.0.0",
"execa": "^9.5.2",
"fs-extra": "^11.2.0"
"find-workspaces": "^0.3.1",
"fs-extra": "^11.2.0",
"prettier": "^3.5.0"
},
"publishConfig": {
"access": "public"
Expand Down
18 changes: 0 additions & 18 deletions packages/browserslist-config/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,24 +55,6 @@ or use the cli

<!-- cli-help {cliCommand: "browserslist-config"} -->

#### Subcommand: `browserslist-config --init`

Browserslist configuration for @envsa/shared-config.

Usage:

```txt
browserslist-config --init
```

| Option | Description |
| ------------------- | --------------------------------------- |
| `--init`<br>`-i` | Add browserslist key to `package.json`. |
| `--help`<br>`-h` | Print this help info. |
| `--version`<br>`-v` | Print the package version. |

<!-- /cli-help -->

<!-- license -->

## License
Expand Down
10 changes: 3 additions & 7 deletions packages/browserslist-config/src/cli.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#!/usr/bin/env node
import { buildCommands } from '$root/src/command-builder.ts';
import { buildCommands } from '../../../src/command-builder.js';
import { commandDefinition } from './command.js';

await buildCommands('browserslist-config', '[Browserslist]', 'white', {
init: {
command: 'pnpm',
defaultArguments: ['pkg', 'set', 'browserslist[0]=extends @envsa/browserslist-config'],
},
});
await buildCommands(commandDefinition);
20 changes: 20 additions & 0 deletions packages/browserslist-config/src/command.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { CommandDefinition } from '../../../src/command-builder';

export const commandDefinition: CommandDefinition = {
commands: {
init: {
commands: [
{
name: 'pnpm',
optionFlags: ['pkg', 'set', 'browserslist[0]=extends @envsa/browserslist-config'],
},
],
locationOptionFlag: true,
},
},
description: "Envsa's Browserslist shared configuration tool.",
logColor: 'white',
logPrefix: 'Browserslist',
name: 'envsa-browserslist',
order: 7,
};
7 changes: 7 additions & 0 deletions packages/browserslist-config/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { type Config } from 'browserslist';

const config: Config = {
defaults: ['> 0.5% in AU', 'last 3 years', 'iOS >= 7', 'ie >= 11'],
};

export default config;
13 changes: 13 additions & 0 deletions packages/browserslist-config/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"module": "CommonJS",
"moduleResolution": "node10",
"resolveJsonModule": false,
"allowImportingTsExtensions": false,
"declaration": true,
"noEmit": false,
"outDir": "dist"
},
"include": ["./src/index.ts"]
}

0 comments on commit 864d058

Please sign in to comment.