Skip to content

Commit 2660ec9

Browse files
luarmrnikitabelonogovrobot-ci-heartex
authored
refactor: echo 27: Introducing biome (#5759)
Introducing biome ### PR fulfills these requirements - [ ] Commit message(s) and PR title follows the format `[fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made` ex. `fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors` - [ ] Tests for the changes have been added/updated (for bug fixes/features) - [ ] Docs have been added/updated (for bug fixes/features) - [ ] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.) - [ ] Self-reviewed and ran all changes on a local instance (for bug fixes/features) #### Change has impacts in these area(s) _(check all that apply)_ - [ ] Product design - [ ] Backend (Database) - [ ] Backend (API) - [ ] Frontend ### Describe the reason for change _(link to issue, supportive screenshots etc.)_ #### What does this fix? _(if this is a bug fix)_ #### What is the new behavior? _(if this is a breaking or feature change)_ #### What is the current behavior? _(if this is a breaking or feature change)_ #### What libraries were added/updated? _(list all with version changes)_ #### Does this change affect performance? _(if so describe the impacts positive or negative)_ #### Does this change affect security? _(if so describe the impacts positive or negative)_ #### What alternative approaches were there? _(briefly list any if applicable)_ #### What feature flags were used to cover this change? _(briefly list any if applicable)_ ### Does this PR introduce a breaking change? _(check only one)_ - [ ] Yes, and covered entirely by feature flag(s) - [ ] Yes, and covered partially by feature flag(s) - [ ] No - [ ] Not sure (briefly explain the situation below) ### What level of testing was included in the change? _(check all that apply)_ - [ ] e2e - [ ] integration - [ ] unit ### Which logical domain(s) does this change affect? _(for bug fixes/features, be as precise as possible. ex. Authentication, Annotation History, Review Stream etc.)_ --------- Co-authored-by: Raul Martin <[email protected]> Co-authored-by: Nikita Belonogov <[email protected]> Co-authored-by: robot-ci-heartex <[email protected]>
1 parent a0b30e9 commit 2660ec9

File tree

1,121 files changed

+59865
-61631
lines changed

Some content is hidden

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

1,121 files changed

+59865
-61631
lines changed

.github/workflows/biome.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: "biome"
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
head_sha:
7+
required: true
8+
type: string
9+
10+
env:
11+
NODE: "18"
12+
FRONTEND_MONOREPO_DIR: "web"
13+
14+
jobs:
15+
main:
16+
name: "biomejs"
17+
runs-on: ubuntu-latest
18+
timeout-minutes: 20
19+
steps:
20+
- uses: hmarr/[email protected]
21+
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
with:
25+
ref: ${{ inputs.head_sha }}
26+
27+
- name: Setup frontend environment
28+
uses: ./.github/actions/setup-frontend-environment
29+
with:
30+
node-version: "${{ env.NODE }}"
31+
directory: "${{ env.FRONTEND_MONOREPO_DIR }}"
32+
33+
- name: Run biome
34+
working-directory: ${{ env.FRONTEND_MONOREPO_DIR }}
35+
run: |
36+
yarn biome check .

.github/workflows/cicd_pipeline.yml

+10
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,15 @@ jobs:
118118
with:
119119
head_sha: ${{ github.event.pull_request.head.sha || github.event.after }}
120120

121+
biome:
122+
name: "Linter"
123+
needs:
124+
- changed_files
125+
if: needs.changed_files.outputs.frontend == 'true'
126+
uses: ./.github/workflows/biome.yml
127+
with:
128+
head_sha: ${{ github.event.pull_request.head.sha || github.event.after }}
129+
121130
build-frontend:
122131
name: "Build"
123132
needs:
@@ -443,6 +452,7 @@ jobs:
443452
- bandit
444453
- ruff
445454
- blue
455+
- biome
446456
- pytest
447457
- migrations
448458
- build-docker

.pre-commit-config.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,9 @@ repos:
1010
hooks:
1111
- id: blue
1212
args: [ --check, --diff, --color ]
13+
- repo: https://github.com/biomejs/pre-commit
14+
rev: "v0.1.0"
15+
hooks:
16+
- id: biome-check
17+
args: [--config-path, ./web]
18+
additional_dependencies: ["@biomejs/[email protected]"]

.pre-commit-dev.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,9 @@ repos:
99
rev: v0.9.1
1010
hooks:
1111
- id: blue
12+
- repo: https://github.com/biomejs/pre-commit
13+
rev: "v0.1.0"
14+
hooks:
15+
- id: biome-check
16+
args: [--config-path, ./web]
17+
additional_dependencies: ["@biomejs/[email protected]"]

docs/source/tags/paragraphs.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -75,19 +75,19 @@ Paragraphs with audio
7575
layout="dialogue" textKey="text" nameKey="author"
7676
showPlayer="true"
7777
/>
78-
78+
7979
<Choices name="choices" toName="paragraphs" choice="multiple">
8080
<Choice value="Good quality"/>
8181
<Choice value="Fast speech"/>
82-
</Choices>
82+
</Choices>
8383
</View>
8484

85-
<!-- {"data": {
85+
<!-- {"data": {
8686
"para": [
8787
{"text": "test 1", "author": "A", "start": 0.0, "end": 1.0},
8888
{"text": "test 2", "author": "B", "start": 1.0, "end": 2.0},
8989
{"text": "test 3", "author": "A", "start": 2.0, "end": 3.0}
90-
],
90+
],
9191
"audio": "/static/samples/game.wav"
9292
}}
9393
-->

docs/source/tags/text.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ meta_description: Customize Label Studio with the Text tag to annotate text for
77
---
88

99
The `Text` tag shows text that can be labeled. Use to display any type of text on the labeling interface.
10-
You can use `<Style>.htx-text{ white-space: pre-wrap; }</Style>` to preserve all spaces in the text, otherwise spaces are trimmed when displayed and saved in the results.
10+
You can use `<Style>.htx-text{ white-space: pre-wrap; }</Style>` to preserve all spaces in the text, otherwise spaces are trimmed when displayed and saved in the results.
1111
Every space in the text sample is counted when calculating result offsets, for example for NER labeling tasks.
1212

1313
Use with the following data types: text.

web/apps/labelstudio/jest.config.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/* eslint-disable */
22
export default {
3-
displayName: 'labelstudio',
4-
preset: '../../jest.preset.js',
3+
displayName: "labelstudio",
4+
preset: "../../jest.preset.js",
55
transform: {
6-
'^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': '@nx/react/plugins/jest',
7-
'^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/react/babel'] }],
6+
"^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": "@nx/react/plugins/jest",
7+
"^.+\\.[tj]sx?$": ["babel-jest", { presets: ["@nx/react/babel"] }],
88
},
9-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
10-
coverageDirectory: '../../coverage/apps/labelstudio',
9+
moduleFileExtensions: ["ts", "tsx", "js", "jsx"],
10+
coverageDirectory: "../../coverage/apps/labelstudio",
1111
};

web/apps/labelstudio/src/app/App.jsx

+32-30
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
/* global Sentry */
22

3-
import { createBrowserHistory } from 'history';
4-
import React from 'react';
5-
import { render } from 'react-dom';
6-
import { Router } from 'react-router-dom';
3+
import { createBrowserHistory } from "history";
4+
import React from "react";
5+
import { render } from "react-dom";
6+
import { Router } from "react-router-dom";
77
import { initSentry } from "../config/Sentry";
8-
import { ApiProvider } from '../providers/ApiProvider';
9-
import { AppStoreProvider } from '../providers/AppStoreProvider';
10-
import { ConfigProvider } from '../providers/ConfigProvider';
11-
import { LibraryProvider } from '../providers/LibraryProvider';
12-
import { MultiProvider } from '../providers/MultiProvider';
13-
import { ProjectProvider } from '../providers/ProjectProvider';
14-
import { RoutesProvider } from '../providers/RoutesProvider';
8+
import { ApiProvider } from "../providers/ApiProvider";
9+
import { AppStoreProvider } from "../providers/AppStoreProvider";
10+
import { ConfigProvider } from "../providers/ConfigProvider";
11+
import { LibraryProvider } from "../providers/LibraryProvider";
12+
import { MultiProvider } from "../providers/MultiProvider";
13+
import { ProjectProvider } from "../providers/ProjectProvider";
14+
import { RoutesProvider } from "../providers/RoutesProvider";
1515
import { DRAFT_GUARD_KEY, DraftGuard, draftGuardCallback } from "../components/DraftGuard/DraftGuard";
16-
import './App.styl';
17-
import { AsyncPage } from './AsyncPage/AsyncPage';
18-
import ErrorBoundary from './ErrorBoundary';
19-
import { RootPage } from './RootPage';
20-
import { FF_OPTIC_2, isFF } from '../utils/feature-flags';
21-
import { ToastProvider, ToastViewport } from '../components/Toast/Toast';
16+
import "./App.styl";
17+
import { AsyncPage } from "./AsyncPage/AsyncPage";
18+
import ErrorBoundary from "./ErrorBoundary";
19+
import { RootPage } from "./RootPage";
20+
import { FF_OPTIC_2, isFF } from "../utils/feature-flags";
21+
import { ToastProvider, ToastViewport } from "../components/Toast/Toast";
2222

2323
const baseURL = new URL(APP_SETTINGS.hostname || location.origin);
2424

@@ -54,18 +54,20 @@ const App = ({ content }) => {
5454
return (
5555
<ErrorBoundary>
5656
<Router history={browserHistory}>
57-
<MultiProvider providers={[
58-
<AppStoreProvider key="app-store"/>,
59-
<ApiProvider key="api"/>,
60-
<ConfigProvider key="config"/>,
61-
<LibraryProvider key="lsf" libraries={libraries}/>,
62-
<RoutesProvider key="rotes"/>,
63-
<ProjectProvider key="project"/>,
64-
<ToastProvider key="toast"/>,
65-
]}>
57+
<MultiProvider
58+
providers={[
59+
<AppStoreProvider key="app-store" />,
60+
<ApiProvider key="api" />,
61+
<ConfigProvider key="config" />,
62+
<LibraryProvider key="lsf" libraries={libraries} />,
63+
<RoutesProvider key="rotes" />,
64+
<ProjectProvider key="project" />,
65+
<ToastProvider key="toast" />,
66+
]}
67+
>
6668
<AsyncPage>
6769
<DraftGuard />
68-
<RootPage content={content}/>
70+
<RootPage content={content} />
6971
<ToastViewport />
7072
</AsyncPage>
7173
</MultiProvider>
@@ -74,7 +76,7 @@ const App = ({ content }) => {
7476
);
7577
};
7678

77-
const root = document.querySelector('.app-wrapper');
78-
const content = document.querySelector('#main-content');
79+
const root = document.querySelector(".app-wrapper");
80+
const content = document.querySelector("#main-content");
7981

80-
render(<App content={content.innerHTML}/>, root);
82+
render(<App content={content.innerHTML} />, root);

0 commit comments

Comments
 (0)