콘텐츠로 이동

보고서 생성기

v1.8.0 버전부터, Biome CLI는 --reporter 인수를 받아 터미널에서 진단 및 요약을 어떻게 출력할지 변경할 수 있습니다.

Terminal window
biome check --reporter=summary
reporter/parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
i 다음 파일에 구문 분석 오류가 있습니다.
- index.css
reporter/format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
i 다음 파일들을 형식화해야 합니다.
- index.css
- index.ts
- main.ts
reporter/violations ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
i 일부 린트 규칙 또는 도움 조치에서 위반 사항을 보고했습니다.
규칙 이름 진단 수
lint/correctness/noUnknownFunction 14 (2 개의 오류, 12 개의 경고, 0 개의 정보)
lint/suspicious/noImplicitAnyLet 16 (12 개의 오류, 4 개의 경고, 0 개의 정보)
lint/suspicious/noDoubleEquals 8 (8 개의 오류, 0 개의 경고, 0 개의 정보)
assist/source/organizeImports 2 (2 개의 오류, 0 개의 경고, 0 개의 정보)
lint/suspicious/noRedeclare 12 (12 개의 오류, 0 개의 경고, 0 개의 정보)
lint/suspicious/noDebugger 8 (8 개의 오류, 0 개의 경고, 0 개의 정보)

요약과 진단 내용을 JSON 형식으로 출력합니다.

Terminal window
biome ci --reporter=json

--reporter=json과 동일하게 요약과 진단 내용을 JSON 형식으로 출력하며, 현재 설정된 JSON 형식 옵션(설정 파일 또는 기본값)을 사용해 출력을 형식화합니다.

Terminal window
biome ci --reporter=json-pretty

GitHub 워크플로우에서 이 보고서 생성기를 사용합니다. 적절히 설정된 PR 워크플로우에서는 각각의 info/경고/오류 메시지마다 GitHub이 메시지를 출력합니다.

Terminal window
biome ci --reporter=github
::error title=lint/suspicious/noDoubleEquals,file=main.ts,line=4,endLine=4,col=3,endColumn=5::=== 대신 ==를 사용하지 마세요
::error title=lint/suspicious/noDebugger,file=main.ts,line=6,endLine=6,col=1,endColumn=9::디버거 문장의 사용은 예상치 못한 경우입니다.
::error title=lint/nursery/noEvolvingAny,file=main.ts,line=8,endLine=8,col=5,endColumn=6::이 변수의 타입은 암묵적으로 진화할 수 없으며, 잠재적인 'any' 타입을 유발할 수 있습니다.
Terminal window
biome check --reporter=junit
<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="Biome" tests="16" failures="16" errors="20" time="<TIME>">
<testsuite name="main.ts" tests="1" disabled="0" errors="0" failures="1" package="org.biome">
<testcase name="org.biome.lint.suspicious.noDoubleEquals" line="4" column="3">
<failure message="=== 대신 ==를 사용하지 마세요. ==는 `null`과 비교할 때만 허용됩니다.">줄 3, 열 2, === 대신 ==를 사용하지 마세요. ==는 `null`과 비교할 때만 허용됩니다.</failure>
</testcase>
</testsuite>
<testsuite name="main.ts" tests="1" disabled="0" errors="0" failures="1" package="org.biome">
<testcase name="org.biome.lint.suspicious.noDebugger" line="6" column="1">
<failure message="디버거 문장의 사용은 예상치 못한 경우입니다.">줄 5, 열 0, 디버거 문장의 사용은 예상치 못한 경우입니다.</failure>
</testcase>
</testsuite>
<testsuite name="main.ts" tests="1" disabled="0" errors="0" failures="1" package="org.biome">
<testcase name="org.biome.lint.nursery.noEvolvingAny" line="8" column="5">
<failure message="이 변수의 타입은 암묵적으로 진화할 수 없으며, 잠재적인 'any' 타입을 유발할 수 있습니다.">줄 7, 열 4, 이 변수의 타입은 암묵적으로 진화할 수 없으며, 잠재적인 'any' 타입을 유발할 수 있습니다.</failure>
</testcase>
</testsuite>
</testsuites>
Terminal window
biome check --reporter=gitlab
[
{
"description": "이 중 일부 가져오기가 사용되지 않습니다.",
"check_name": "lint/correctness/noUnusedImports",
"fingerprint": "15587197597897976171",
"severity": "major",
"location": {
"path": "index.ts",
"lines": {
"begin": 2
}
}
},
{
"description": "이 변수 'f'는 사용되지 않습니다.",
"check_name": "lint/correctness/noUnusedVariables",
"fingerprint": "11560602666260894730",
"severity": "major",
"location": {
"path": "index.ts",
"lines": {
"begin": 14
}
}
},
{
"description": "==를 사용하면 타입 강제 변환에 의존하는 경우 안전하지 않을 수 있습니다.",
"check_name": "lint/suspicious/noDoubleEquals",
"fingerprint": "9497329216962766751",
"severity": "critical",
"location": {
"path": "index.ts",
"lines": {
"begin": 6
}
}
}
]

이 보고서 생성기를 사용하여 Checkstyle 형식을 따르는 진단을 출력합니다.

Terminal window
biome check --reporter=checkstyle
<?xml version="1.0" encoding="utf-8"?>
<checkstyle version="4.3">
<file name="index.ts">
<error line="1" column="8" severity="warning" message="이 가져오기가 사용되지 않습니다." source="lint/correctness/noUnusedImports" />
<error line="2" column="10" severity="warning" message="이 중 일부 가져오기가 사용되지 않습니다." source="lint/correctness/noUnusedImports" />
<error line="8" column="5" severity="warning" message="이 변수 'f'는 사용되지 않습니다." source="lint/correctness/noUnusedVariables" />
<error line="9" column="7" severity="warning" message="이 변수 'f'는 사용되지 않습니다." source="lint/correctness/noUnusedVariables" />
<error line="1" column="1" severity="error" message="import와 export가 정렬되어 있지 않습니다." source="assist/source/organizeImports" />
<error line="4" column="3" severity="error" message="타입 강제 변환에 의존하는 경우 == 사용은 안전하지 않을 수 있습니다." source="lint/suspicious/noDoubleEquals" />
<error line="6" column="1" severity="error" message="디버거 문장의 사용은 예상치 못한 경우입니다." source="lint/suspicious/noDebugger" />
<error line="8" column="5" severity="error" message="이 변수는 암묵적으로 'any' 타입을 가집니다." source="lint/suspicious/noImplicitAnyLet" />
<error line="9" column="7" severity="error" message="이 변수는 암묵적으로 'any' 타입을 가집니다." source="lint/suspicious/noImplicitAnyLet" />
<error line="2" column="10" severity="error" message="'z'를 다시 선언해서는 안 됩니다. 삭제하거나 이름을 바꾸세요." source="lint/suspicious/noRedeclare" />
<error line="9" column="7" severity="error" message="'f'를 다시 선언해서는 안 됩니다. 삭제하거나 이름을 바꾸세요." source="lint/suspicious/noRedeclare" />
<error line="0" column="0" severity="error" message="포맷터는 다음 내용을 출력했을 것입니다:" source="format" />
</file>
<file name="main.ts">
<error line="1" column="8" severity="warning" message="이 가져오기가 사용되지 않습니다." source="lint/correctness/noUnusedImports" />
<error line="2" column="10" severity="warning" message="이 중 일부 가져오기가 사용되지 않습니다." source="lint/correctness/noUnusedImports" />
<error line="8" column="5" severity="warning" message="이 변수 'f'는 사용되지 않습니다." source="lint/correctness/noUnusedVariables" />
<error line="9" column="7" severity="warning" message="이 변수 'f'는 사용되지 않습니다." source="lint/correctness/noUnusedVariables" />
<error line="1" column="1" severity="error" message="import와 export가 정렬되어 있지 않습니다." source="assist/source/organizeImports" />
<error line="4" column="3" severity="error" message="타입 강제 변환에 의존하는 경우 == 사용은 안전하지 않을 수 있습니다." source="lint/suspicious/noDoubleEquals" />
<error line="6" column="1" severity="error" message="디버거 문장의 사용은 예상치 못한 경우입니다." source="lint/suspicious/noDebugger" />
<error line="8" column="5" severity="error" message="이 변수는 암묵적으로 'any' 타입을 가집니다." source="lint/suspicious/noImplicitAnyLet" />
<error line="9" column="7" severity="error" message="이 변수는 암묵적으로 'any' 타입을 가집니다." source="lint/suspicious/noImplicitAnyLet" />
<error line="2" column="10" severity="error" message="'z'를 다시 선언해서는 안 됩니다. 삭제하거나 이름을 바꾸세요." source="lint/suspicious/noRedeclare" />
<error line="9" column="7" severity="error" message="'f'를 다시 선언해서는 안 됩니다. 삭제하거나 이름을 바꾸세요." source="lint/suspicious/noRedeclare" />
<error line="0" column="0" severity="error" message="포맷터는 다음 내용을 출력했을 것입니다:" source="format" />
</file>
</checkstyle>

이 보고서 생성기를 사용하여 RDJSON 형식을 따르는 진단을 출력합니다.

Terminal window
biome check --reporter=rdjson
{
"source": {
"name": "Biome",
"url": "https://biomejs.dev"
},
"diagnostics": [
{
"code": {
"url": "https://biomejs.dev/linter/rules/no-unused-imports",
"value": "lint/correctness/noUnusedImports"
},
"location": {
"path": "index.ts",
"range": {
"end": {
"column": 11,
"line": 0
},
"start": {
"column": 7,
"line": 0
}
}
},
"message": "이 가져오기가 사용되지 않습니다."
},
{
"code": {
"url": "https://biomejs.dev/linter/rules/no-unused-imports",
"value": "lint/correctness/noUnusedImports"
},
"location": {
"path": "index.ts",
"range": {
"end": {
"column": 10,
"line": 1
},
"start": {
"column": 9,
"line": 1
}
}
},
"message": "이 중 일부 가져오기가 사용되지 않습니다."
}
]
}

이 보고서 생성기를 사용하여 SARIF 형식을 따르는 진단을 출력합니다.

Terminal window
biome check --reporter=sarif
{
"$schema": "https://json.schemastore.org/sarif-2.1.0.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "Biome",
"informationUri": "https://biomejs.dev",
"rules": [
{
"id": "lint/correctness/noUnusedImports",
"shortDescription": {
"text": "사용되지 않는 가져오기를 금지합니다."
},
"helpUri": "https://biomejs.dev/linter/rules/no-unused-imports"
}
]
}
},
"results": [
{
"ruleId": "lint/correctness/noUnusedImports",
"level": "warning",
"message": {
"text": "이 가져오기가 사용되지 않습니다."
},
"locations": [
{
"physicalLocation": {
"artifactLocation": {
"uri": "index.ts"
},
"region": {
"startLine": 1,
"startColumn": 8,
"endLine": 1,
"endColumn": 12
}
}
}
]
}
]
}
]
}