Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignoreUnknown": false,
"includes": [
"**",
"!packages/create-package/**",
"!packages/cypress-ct-ui5-webc/**",
"!packages/cypress-internal/**",
"!packages/icons-business-suite/**",
"!packages/icons-tnt/**",
"!packages/theming/**",
"!packages/tools/**",
"!packages/website/**",
"!packages/localization/**"
]
},
"formatter": {
"enabled": true,
"indentStyle": "tab"
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"complexity": {
"noExtraBooleanCast": "error",
"noVoid": "error"
},
"style": {
"noYodaExpression": "error",
"useBlockStatements": "error",
"noNestedTernary": "error",
"useImportType": "error",
"noNonNullAssertion": "off"
},
"suspicious": {
"noAlert": "error",
"noConsole": "error",
"noSparseArray": "error",
"noEmptyBlockStatements": "off",
"noExplicitAny": "off",
"noEmptyInterface": "off"
}
}
},
"javascript": {
"formatter": {
"quoteStyle": "double"
}
},
"assist": {
"enabled": true,
"actions": {
"source": {
"organizeImports": "on"
}
}
},
"overrides": [
{
"includes": ["**/*.css"],
"formatter": { "enabled": false },
"linter": { "enabled": false }
}
]
}
41 changes: 41 additions & 0 deletions eslint-biome-gaps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# ESLint Rules Without Biome Equivalent

The following rules from `packages/tools/components-package/eslint.js` have no direct equivalent in Biome v2 and are not enforced after the ESLint → Biome migration.

## Base Rules

| ESLint Rule | Notes |
|---|---|
| `no-caller` | Disallows `arguments.caller`/`arguments.callee` — no Biome equivalent |
| `no-extend-native` | Disallows extending native prototypes — no Biome equivalent |
| `no-iterator` | Disallows `__iterator__` property — no Biome equivalent |
| `no-labels` | Disallows labeled statements — no Biome equivalent |
| `no-lone-blocks` | Disallows unnecessary block statements — no Biome equivalent |
| `no-new-func` | Disallows `new Function()` — no Biome equivalent |
| `no-new-wrappers` | Disallows `new String/Number/Boolean` — no Biome equivalent |
| `no-use-before-define` | Disallows use before declaration — no Biome equivalent |
| `no-array-constructor` | Disallows `new Array()` — no Biome equivalent |
| `no-new-object` | Disallows `new Object()` — no Biome equivalent |
| `camelcase` | Enforces camelCase naming — no Biome equivalent |
| `no-undef` | `correctness/noUndeclaredVariables` exists but excluded — too noisy without type info |
| `import/extensions: always` | Requires file extensions on imports — no Biome equivalent |
| `import/consistent-type-specifier-style` | Covered partially by `useImportType` but not identical |

## TypeScript Override Rules (set to "off" in ESLint — rules that don't exist in Biome)

| ESLint Rule | Notes |
|---|---|
| `@typescript-eslint/no-unsafe-member-access` | No Biome equivalent |
| `@typescript-eslint/no-floating-promises` | No Biome equivalent |
| `@typescript-eslint/no-unsafe-assignment` | No Biome equivalent |
| `@typescript-eslint/ban-ts-comment` | No Biome equivalent (`noBannedTypes` is unrelated) |
| `@typescript-eslint/no-unsafe-call` | No Biome equivalent |
| `@typescript-eslint/unbound-method` | No Biome equivalent |
| `@typescript-eslint/no-misused-promises` | No Biome equivalent |
| `lines-between-class-members` | Formatter/style rule — no Biome equivalent |

## Custom Plugin Rules

| ESLint Rule | Notes |
|---|---|
| `jsx-no-leaked-values/jsx-no-leaked-values` | Custom plugin for JSX leaked values — no Biome equivalent |
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
"ci:test:prepare": "yarn workspace @ui5/cypress-ct-ui5-webc build && yarn workspace @ui5/cypress-internal build",
"ci:releasebuild": "npm-run-all --sequential generate ts generateProd generateAPI",
"ci:lint": "npm-run-all --sequential generate lint",

"ci:testbuild": "npm-run-all --sequential generate ts generateProd bundle ci:test:prepare",
"ci:deploy": "DEPLOY=true yarn ci:testbuild && yarn generateAPI && yarn workspace @ui5/webcomponents-website ci:build",
"ci:deploy:nightly": "DEPLOY_NIGHTLY=true yarn ci:testbuild && yarn generateAPI && yarn workspace @ui5/webcomponents-website ci:build:nightly",
Expand All @@ -58,15 +59,15 @@
"ci:test:fiori": "yarn workspace @ui5/webcomponents-fiori test:ssr && yarn workspace @ui5/webcomponents-fiori test:cypress",
"ci:test:compat": "yarn workspace @ui5/webcomponents-compat test:ssr && yarn workspace @ui5/webcomponents-compat test:cypress",
"ci:test:ai": "yarn workspace @ui5/webcomponents-ai test:ssr && yarn workspace @ui5/webcomponents-ai test",
"lint": "yarn workspaces foreach --all --parallel run lint",
"lint:scope": "yarn workspaces foreach --all --parallel run lint:scope",
"lint": "biome check .",
"link-all": "yarn workspaces foreach --all --parallel run link",
"unlink-all": "yarn workspaces foreach --all --parallel run unlink",
"prepare": "husky install",
"husky:commit-msg": "commitlint -e",
"husky:pre-push": "npm-run-all --sequential husky:commit-msg"
},
"devDependencies": {
"@biomejs/biome": "2.4.15",
"@commitlint/cli": "^16.2.3",
"@commitlint/config-conventional": "^16.2.1",
"@semantic-release/github": "^11.0.0",
Expand Down
13 changes: 0 additions & 13 deletions packages/ai/.eslintignore

This file was deleted.

10 changes: 0 additions & 10 deletions packages/ai/.eslintrc.cjs

This file was deleted.

22 changes: 22 additions & 0 deletions packages/ai/biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
"root": false,
"extends": ["../../biome.json"],
"files": {
"includes": [
"**",
"!target/**",
"!dist/**",
"!src/generated/**",
"!cypress/**",
"!lib/**",
"!test/**",
"!bundle.*.js",
"!rollup.config*.js",
"!postcss.config.cjs",
"!cypress.config.js",
"!package-scripts.cjs",
"!.eslintrc.cjs"
]
}
}
2 changes: 1 addition & 1 deletion packages/ai/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
],
"scripts": {
"clean": "wc-dev clean",
"lint": "wc-dev lint",
"lint": "",
"lint:scope": "wc-dev scope.lint",
"start": "wc-dev start",
"build": "wc-dev build",
Expand Down
24 changes: 0 additions & 24 deletions packages/base/.eslintignore

This file was deleted.

10 changes: 0 additions & 10 deletions packages/base/.eslintrc.cjs

This file was deleted.

32 changes: 32 additions & 0 deletions packages/base/biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
"root": false,
"extends": ["../../biome.json"],
"files": {
"includes": [
"**",
"!test/**",
"!lib/**",
"!dist/**",
"!src/generated/**",
"!src/thirdparty/**",
"!cypress/**",
"!bundle.esm.js",
"!bundle.es5.js",
"!rollup.config*.js",
"!cypress.config.js",
"!postcss.config.cjs",
"!package-scripts.cjs",
"!.eslintrc.cjs",
"!src/renderer/directives/style-map.js",
"!src/util/metaUrl.js",
"!src/ssr-dom*",
"!index.js",
"!src/jsx-runtime.ts",
"!src/jsx-dev-runtime.ts",
"!jsx-runtime.d.ts",
"!jsx-dev-runtime.d.ts",
"!jsx-utils.ts"
]
}
}
2 changes: 1 addition & 1 deletion packages/base/package-scripts.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const scripts = {
"generated": `ui5nps-script "${LIB}/rimraf/rimraf.js src/generated`,
"dist": `ui5nps-script "${LIB}/rimraf/rimraf.js dist`,
},
lint: `ui5nps-script "${LIB}/eslint/eslint.js"`,
lint: ``,
generate: "ui5nps clean build.i18n integrate copy generateAssetParameters generateVersionInfo generateStyles generateFontFace build.jsonImports",
prepare: "ui5nps clean build.i18n integrate copy generateAssetParameters generateVersionInfo generateStyles generateFontFace typescript integrate.no-remaining-require build.jsonImports",
typescript: "tsc -b",
Expand Down
2 changes: 1 addition & 1 deletion packages/base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"types": "./dist",
"scripts": {
"clean": "wc-dev clean",
"lint": "wc-dev lint",
"lint": "",
"start": "wc-dev start",
"build": "wc-dev build",
"generate": "wc-dev generate",
Expand Down
13 changes: 0 additions & 13 deletions packages/compat/.eslintignore

This file was deleted.

3 changes: 0 additions & 3 deletions packages/compat/.eslintrc.cjs

This file was deleted.

22 changes: 22 additions & 0 deletions packages/compat/biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
"root": false,
"extends": ["../../biome.json"],
"files": {
"includes": [
"**",
"!target/**",
"!dist/**",
"!src/generated/**",
"!cypress/**",
"!lib/**",
"!test/**",
"!bundle.*.js",
"!rollup.config*.js",
"!postcss.config.cjs",
"!cypress.config.js",
"!package-scripts.cjs",
"!.eslintrc.cjs"
]
}
}
2 changes: 1 addition & 1 deletion packages/compat/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
],
"scripts": {
"clean": "wc-dev clean",
"lint": "wc-dev lint",
"lint": "",
"lint:scope": "wc-dev scope.lint",
"start": "wc-dev start",
"build": "wc-dev build",
Expand Down
14 changes: 0 additions & 14 deletions packages/fiori/.eslintignore

This file was deleted.

10 changes: 0 additions & 10 deletions packages/fiori/.eslintrc.cjs

This file was deleted.

23 changes: 23 additions & 0 deletions packages/fiori/biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
"root": false,
"extends": ["../../biome.json"],
"files": {
"includes": [
"**",
"!target/**",
"!dist/**",
"!src/generated/**",
"!cypress/**",
"!lib/**",
"!test/**",
"!bundle.*.js",
"!rollup.config*.js",
"!cypress.config.js",
"!postcss.config.cjs",
"!package-scripts.cjs",
"!src/illustrations/js-imports/illustrations.js",
"!.eslintrc.cjs"
]
}
}
2 changes: 1 addition & 1 deletion packages/fiori/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
},
"scripts": {
"clean": "wc-dev clean",
"lint": "wc-dev lint",
"lint": "",
"lint:scope": "wc-dev scope.lint",
"start": "wc-dev start",
"watch": "wc-dev watch",
Expand Down
Loading
Loading