Skip to content

Commit 998887c

Browse files
authored
feat: replace picocolors with ansis (#665)
1 parent c9a36bc commit 998887c

8 files changed

+29
-23
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
"@typescript-eslint/eslint-plugin": "^8.23.0",
102102
"@typescript-eslint/parser": "^8.23.0",
103103
"@vitest/eslint-plugin": "^1.1.27",
104+
"ansis": "^3.12.0",
104105
"eslint-config-flat-gitignore": "^2.0.0",
105106
"eslint-flat-config-utils": "^2.0.1",
106107
"eslint-merge-processors": "^2.0.0",
@@ -123,7 +124,6 @@
123124
"jsonc-eslint-parser": "^2.4.0",
124125
"local-pkg": "^1.0.0",
125126
"parse-gitignore": "^2.0.0",
126-
"picocolors": "^1.1.1",
127127
"toml-eslint-parser": "^0.10.0",
128128
"vue-eslint-parser": "^9.4.3",
129129
"yaml-eslint-parser": "^1.2.3",

pnpm-lock.yaml

+9-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/cli/constants.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { ExtraLibrariesOption, FrameworkOption, PromItem } from './types'
22

3-
import c from 'picocolors'
3+
import c from 'ansis'
44
import pkgJson from '../../package.json'
55

66
export { pkgJson }

src/cli/index.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import process from 'node:process'
22

33
import * as p from '@clack/prompts'
4-
import c from 'picocolors'
4+
import c from 'ansis'
55
import yargs from 'yargs'
66
import { hideBin } from 'yargs/helpers'
77

@@ -10,7 +10,7 @@ import { run } from './run'
1010

1111
function header(): void {
1212
console.log('\n')
13-
p.intro(`${c.green(`@antfu/eslint-config `)}${c.dim(`v${pkgJson.version}`)}`)
13+
p.intro(`${c.green`@antfu/eslint-config `}${c.dim`v${pkgJson.version}`}`)
1414
}
1515

1616
const instance = yargs(hideBin(process.argv))
@@ -43,8 +43,8 @@ const instance = yargs(hideBin(process.argv))
4343
await run(args)
4444
}
4545
catch (error) {
46-
p.log.error(c.inverse(c.red(' Failed to migrate ')))
47-
p.log.error(c.red(`✘ ${String(error)}`))
46+
p.log.error(c.inverse.red(' Failed to migrate '))
47+
p.log.error(c.red`✘ ${String(error)}`)
4848
process.exit(1)
4949
}
5050
},

src/cli/run.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import fs from 'node:fs'
55
import path from 'node:path'
66
import process from 'node:process'
77
import * as p from '@clack/prompts'
8-
import c from 'picocolors'
8+
import c from 'ansis'
99

1010
import { extra, extraOptions, frameworkOptions, frameworks } from './constants'
1111
import { updateEslintFiles } from './stages/update-eslint-files'
@@ -35,7 +35,7 @@ export async function run(options: CliRunOptions = {}): Promise<void> {
3535
const argExtra = <ExtraLibrariesOption[]>options.extra?.map(m => m.trim())
3636

3737
if (fs.existsSync(path.join(process.cwd(), 'eslint.config.js'))) {
38-
p.log.warn(c.yellow(`eslint.config.js already exists, migration wizard exited.`))
38+
p.log.warn(c.yellow`eslint.config.js already exists, migration wizard exited.`)
3939
return process.exit(1)
4040
}
4141

@@ -115,6 +115,6 @@ export async function run(options: CliRunOptions = {}): Promise<void> {
115115
await updateEslintFiles(result)
116116
await updateVscodeSettings(result)
117117

118-
p.log.success(c.green(`Setup completed`))
118+
p.log.success(c.green`Setup completed`)
119119
p.outro(`Now you can update the dependencies by run ${c.blue('pnpm install')} and run ${c.blue('eslint . --fix')}\n`)
120120
}

src/cli/stages/update-eslint-files.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import fsp from 'node:fs/promises'
55
import path from 'node:path'
66
import process from 'node:process'
77
import * as p from '@clack/prompts'
8+
import c from 'ansis'
89
// @ts-expect-error missing types
910
import parse from 'parse-gitignore'
10-
import c from 'picocolors'
1111

1212
import { getEslintConfigContent } from '../utils'
1313

@@ -24,7 +24,7 @@ export async function updateEslintFiles(result: PromptResult): Promise<void> {
2424

2525
const eslintIgnores: string[] = []
2626
if (fs.existsSync(pathESLintIgnore)) {
27-
p.log.step(c.cyan(`Migrating existing .eslintignore`))
27+
p.log.step(c.cyan`Migrating existing .eslintignore`)
2828
const content = await fsp.readFile(pathESLintIgnore, 'utf-8')
2929
const parsed = parse(content)
3030
const globs = parsed.globs()
@@ -57,7 +57,7 @@ export async function updateEslintFiles(result: PromptResult): Promise<void> {
5757
const eslintConfigContent: string = getEslintConfigContent(mainConfig, additionalConfig)
5858

5959
await fsp.writeFile(pathFlatConfig, eslintConfigContent)
60-
p.log.success(c.green(`Created ${configFileName}`))
60+
p.log.success(c.green`Created ${configFileName}`)
6161

6262
const files = fs.readdirSync(cwd)
6363
const legacyConfig: string[] = []
@@ -67,5 +67,5 @@ export async function updateEslintFiles(result: PromptResult): Promise<void> {
6767
})
6868

6969
if (legacyConfig.length)
70-
p.note(`${c.dim(legacyConfig.join(', '))}`, 'You can now remove those files manually')
70+
p.note(c.dim(legacyConfig.join(', ')), 'You can now remove those files manually')
7171
}

src/cli/stages/update-package-json.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import path from 'node:path'
55
import process from 'node:process'
66
import * as p from '@clack/prompts'
77

8-
import c from 'picocolors'
8+
import c from 'ansis'
99

1010
import { dependenciesMap, pkgJson } from '../constants'
1111

@@ -14,7 +14,7 @@ export async function updatePackageJson(result: PromptResult): Promise<void> {
1414

1515
const pathPackageJSON = path.join(cwd, 'package.json')
1616

17-
p.log.step(c.cyan(`Bumping @antfu/eslint-config to v${pkgJson.version}`))
17+
p.log.step(c.cyan`Bumping @antfu/eslint-config to v${pkgJson.version}`)
1818

1919
const pkgContent = await fsp.readFile(pathPackageJSON, 'utf-8')
2020
const pkg: Record<string, any> = JSON.parse(pkgContent)
@@ -66,8 +66,8 @@ export async function updatePackageJson(result: PromptResult): Promise<void> {
6666
}
6767

6868
if (addedPackages.length)
69-
p.note(`${c.dim(addedPackages.join(', '))}`, 'Added packages')
69+
p.note(c.dim(addedPackages.join(', ')), 'Added packages')
7070

7171
await fsp.writeFile(pathPackageJSON, JSON.stringify(pkg, null, 2))
72-
p.log.success(c.green(`Changes wrote to package.json`))
72+
p.log.success(c.green`Changes wrote to package.json`)
7373
}

src/cli/stages/update-vscode-settings.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import path from 'node:path'
66
import process from 'node:process'
77
import * as p from '@clack/prompts'
88

9-
import c from 'picocolors'
9+
import { green } from 'ansis'
1010

1111
import { vscodeSettingsString } from '../constants'
1212

@@ -24,7 +24,7 @@ export async function updateVscodeSettings(result: PromptResult): Promise<void>
2424

2525
if (!fs.existsSync(settingsPath)) {
2626
await fsp.writeFile(settingsPath, `{${vscodeSettingsString}}\n`, 'utf-8')
27-
p.log.success(c.green(`Created .vscode/settings.json`))
27+
p.log.success(green`Created .vscode/settings.json`)
2828
}
2929
else {
3030
let settingsContent = await fsp.readFile(settingsPath, 'utf8')
@@ -34,6 +34,6 @@ export async function updateVscodeSettings(result: PromptResult): Promise<void>
3434
settingsContent += `${vscodeSettingsString}}\n`
3535

3636
await fsp.writeFile(settingsPath, settingsContent, 'utf-8')
37-
p.log.success(c.green(`Updated .vscode/settings.json`))
37+
p.log.success(green`Updated .vscode/settings.json`)
3838
}
3939
}

0 commit comments

Comments
 (0)