Skip to content

Commit 3885480

Browse files
committed
feat: add biome
1 parent 469219b commit 3885480

280 files changed

Lines changed: 1341 additions & 2892 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

.eslintrc

Lines changed: 0 additions & 14 deletions
This file was deleted.

biome.json

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
3+
"vcs": {
4+
"enabled": true,
5+
"clientKind": "git",
6+
"useIgnoreFile": true
7+
},
8+
"files": {
9+
"includes": [
10+
"./src/**",
11+
"./test/**",
12+
"./specs/**",
13+
"./gen/**"
14+
]
15+
},
16+
"formatter": {
17+
"enabled": false,
18+
"indentStyle": "space",
19+
"indentWidth": 2,
20+
"lineWidth": 150
21+
},
22+
"linter": {
23+
"enabled": true,
24+
"rules": {
25+
"recommended": true,
26+
"suspicious": {
27+
"noAssignInExpressions": "off",
28+
"noExplicitAny": "off"
29+
},
30+
"style": {
31+
"useTemplate": "off"
32+
}
33+
}
34+
},
35+
"javascript": {
36+
"formatter": {
37+
"quoteStyle": "single",
38+
"semicolons": "asNeeded"
39+
}
40+
},
41+
"assist": {
42+
"enabled": true,
43+
"actions": {
44+
"source": {
45+
"organizeImports": "on"
46+
}
47+
}
48+
}
49+
}

gen/generator.ts

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
/* eslint-disable no-console, no-eval */
2-
import fs from 'fs'
3-
import snakeCase from 'lodash.snakecase'
1+
import { execSync } from 'node:child_process'
2+
import fs from 'node:fs'
43
import { join } from 'node:path'
54
import { clSchema } from '@commercelayer/cli-core'
5+
import snakeCase from 'lodash.snakecase'
66

77
const Inflector = require('inflector-js')
88

@@ -17,17 +17,17 @@ const clean = () => {
1717

1818
// Clean triggers dir
1919
const triggers = fs.readdirSync(TRIGGERS_DIR)
20-
triggers.forEach(f => fs.unlinkSync(join(TRIGGERS_DIR, f)))
20+
triggers.forEach(f => { fs.unlinkSync(join(TRIGGERS_DIR, f)) })
2121
console.log('Deleted trigger files')
2222

2323
// Clean commands dir
2424
const files = fs.readdirSync(COMMANDS_DIR)
25-
files.forEach(f => fs.rmSync(join(COMMANDS_DIR, f), { recursive: true, force: true }))
25+
files.forEach(f => { fs.rmSync(join(COMMANDS_DIR, f), { recursive: true, force: true }) })
2626
console.log('Deleted command files')
2727

2828
// Clean specs dir
2929
const specs = fs.readdirSync(SPECS_DIR)
30-
specs.forEach(f => fs.rmSync(join(SPECS_DIR, f), { recursive: true, force: true }))
30+
specs.forEach(f => { fs.rmSync(join(SPECS_DIR, f), { recursive: true, force: true }) })
3131
console.log('Deleted spec files')
3232

3333
}
@@ -90,8 +90,10 @@ const updateTriggers = async (): Promise<{ [k: string]: any }> => {
9090

9191
fs.writeFileSync(join(TRIGGERS_DIR, `${resType}.ts`), triggers, { encoding: 'utf-8' })
9292

93+
// biome-ignore lint/security/noGlobalEval: left for compatibility with old linter
9394
generatedTriggers[r] = eval(`({${actionsObject}})`)
9495

96+
9597
console.log(`Updated ${r} triggers`)
9698

9799
})
@@ -110,6 +112,16 @@ const FLAG_VALUE_STR = `value: Flags.string({
110112
}),`
111113

112114

115+
function formatCode(sourcePath: string): void {
116+
try {
117+
console.log(`- Formatting source code: ${sourcePath}`)
118+
execSync(`pnpm biome check --write ${sourcePath}`, { encoding: "utf-8" })
119+
} catch (error) {
120+
console.error("Formatter error:", error)
121+
}
122+
}
123+
124+
113125
const generate = async () => {
114126

115127
console.log('Cleaning folders ...')
@@ -183,6 +195,10 @@ const generate = async () => {
183195
.then(() => console.log('Order commands generation completed.'))
184196
*/
185197

198+
formatCode(COMMANDS_DIR)
199+
formatCode(SPECS_DIR)
200+
formatCode(TRIGGERS_DIR)
201+
186202
}
187203

188204

package.json

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,43 +42,42 @@
4242
"topicSeparator": ":"
4343
},
4444
"scripts": {
45-
"postpack": "rm -f oclif.manifest.json",
46-
"posttest": "eslint . --ext .ts --config .eslintrc",
4745
"build": "rm -rf lib && tsc -b",
48-
"prepack": "pnpm generate && pnpm build && oclif manifest && pnpm readme",
46+
"prepack": "pnpm build && oclif manifest && pnpm readme",
47+
"postpack": "rm -f oclif.manifest.json",
4948
"test": "nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"",
49+
"posttest": "pnpm lint",
5050
"readme": "cl-cli-dev readme --plugin --bin=commercelayer && git add README.md",
5151
"generate": "tsx gen/generator.ts",
52-
"lint": "eslint src --ext .ts --config .eslintrc",
53-
"lint:fix": "eslint src --fix",
54-
"release": "pnpm upgrade && pnpm generate && pnpm prepack && pnpm postpack"
52+
"lint": "biome check --enforce-assist=true",
53+
"check": "biome check --enforce-assist=true --write",
54+
"release": "pnpm upgrade && pnpm generate && pnpm lint && pnpm prepack && pnpm postpack"
5555
},
5656
"types": "lib/index.d.ts",
5757
"devDependencies": {
58+
"@biomejs/biome": "2.4.8",
5859
"@commercelayer/cli-dev": "^3.0.13",
59-
"@commercelayer/eslint-config-ts": "^1.4.5",
60-
"@oclif/plugin-help": "^6.2.37",
60+
"@oclif/plugin-help": "^6.2.40",
6161
"@oclif/test": "^3.2.15",
6262
"@semantic-release/changelog": "^6.0.3",
6363
"@semantic-release/git": "^10.0.1",
6464
"@types/chai": "^4.3.20",
6565
"@types/inquirer": "^8.2.12",
6666
"@types/lodash.snakecase": "^4.1.9",
6767
"@types/mocha": "^10.0.10",
68-
"@types/node": "^22.19.15",
68+
"@types/node": "^25.5.0",
6969
"chai": "^4.5.0",
70-
"eslint": "^8.57.1",
7170
"inflector-js": "^1.0.1",
7271
"lodash.snakecase": "^4.1.1",
73-
"mocha": "^10.8.2",
72+
"mocha": "^11.7.5",
7473
"nyc": "^15.1.0",
75-
"oclif": "^4.22.87",
76-
"semantic-release": "^24.2.9",
74+
"oclif": "^4.22.96",
75+
"semantic-release": "^25.0.3",
7776
"tsx": "^4.21.0",
78-
"typescript": "5.5.4"
77+
"typescript": "^6.0.2"
7978
},
8079
"dependencies": {
81-
"@commercelayer/cli-core": "beta",
80+
"@commercelayer/cli-core": "^5.10.8",
8281
"@commercelayer/sdk": "^6.55.0",
8382
"@oclif/core": "^3.27.0",
8483
"inquirer": "^8.2.7",

0 commit comments

Comments
 (0)