본문으로 건너뛰기

의존 패키지

이 도구가 쓰는 외부 패키지와, 그것이 무엇을 하는지.

문서 목록으로


변환기 — src/Tabbit.csproj

패키지버전무엇에
Sylvan.Data.Excel0.5.8엑셀 워크북을 스트리밍으로 읽습니다. 시트를 행 단위로 흘려 읽으므로 워크북을 객체 모델로 펼치지 않습니다 (설계와 실측)
Google.Apis.Sheets.v41.75.0.4178구글 스프레드시트를 읽습니다
Scriban7.2.6코드 생성 템플릿 엔진. src/templates/*.sbn이 모든 언어의 산출물을 만듭니다
Microsoft.CodeAnalysis.CSharp5.6.0검증 규칙 .cs 파일을 변환 중에 컴파일합니다. "Output": "assembly"의 C# 어셈블리 산출도 여기서 나옵니다 (검증)
Newtonsoft.Json13.0.4recipe 파싱과 JSON 익스포트
CommandLineParser2.9.1명령줄 옵션
Serilog4.4.0로그. 싱크는 Serilog.Sinks.Console 6.1.1 · Serilog.Sinks.File 7.0.0

데이터베이스 적재

파일 대신 데이터베이스로 내보낼 때만 쓰입니다 (내보내기).

패키지버전대상
MySqlConnector2.6.1MySQL — 히스토리 저장소도 같은 드라이버입니다
Npgsql10.0.3PostgreSQL
MongoDB.Driver3.10.0MongoDB
StackExchange.Redis3.0.17Redis

계약 어셈블리 — src/Contract

검증 규칙이 대고 컴파일되는 Tabbit.Validation.dll입니다. 여기 있는 것이 곧 규칙이 쓸 수 있는 것이므로 목록이 짧은 것 자체가 설계입니다 (근거).

패키지버전
Newtonsoft.Json13.0.4

생성된 코드의 의존

의존은 억제하지만 금지하지 않습니다. 기본은 각 언어의 표준 라이브러리이고, 직접 구현이 성능에서 크게 불리한 자리는 플랫폼이나 외부 패키지가 이미 가진 것을 씁니다. 판단 기준은 v104에 적어 둔 것과 같습니다 — 「그 언어에서 바이트 단위 루프가 수 MB를 감당하는가」.

외부 패키지가 필요한 자리는 아래뿐이고, 전부 기본값에서는 만나지 않습니다.

언어무엇언제어디에 적히나
RustureqWriteUpdater를 켤 때생성되는 Cargo.toml
C · C++libcurlWriteUpdater를 켤 때링크 플래그
Swiftswift-cryptoMAC을 검증할 때, 애플 플랫폼이 아닐 때생성되는 Package.swift(WriteManifest) 또는 소비자의 매니페스트. 애플 플랫폼에서는 OS의 CryptoKit이 대신하므로 받지 않고, 없는 빌드에서도 리더는 컴파일되고 파일도 읽힙니다 — 안 되는 것은 검증 하나이고 그때 무엇을 넣어야 하는지 함께 출력합니다 (설치 절차)
Pythoncryptography암호화된 파일을 읽을 때pip install cryptography. import가 그 함수 안에 있어서 암호화를 쓰지 않는 프로젝트는 도달하지 않고, 없으면 무엇을 설치해야 하는지 함께 출력하고 실패합니다
Lua동봉된 C 소스 (tabbit/native/tabbit_native.c)암호화·MAC·업데이터를 쓸 때패키지가 아니라 산출물에 함께 나오는 소스 한 파일입니다 — 호스트의 빌드에 넣거나 공유 라이브러리로 컴파일합니다. require가 암호 경로 안에 있어서 평문만 읽는 프로젝트는 도달하지 않고, 없으면 무엇을 빌드해야 하는지 함께 출력하고 실패합니다 (빌드 절차)

표준 라이브러리로 해결되는 자리는 의존이 아니므로 위에 없습니다 — Java·Kotlin의 javax.crypto, Ruby의 openssl, PHP의 ext-openssl이 그렇습니다 (암호 구현 방침).

저장소 안에서만 쓰는 것

배포본에 들어가지 않습니다.

패키지버전어디
NPOI2.8.0.xlsx씁니다test/fixtures/tools/FixtureGen과 샘플의 생성기들. 변환기는 더 이상 NPOI로 읽지 않습니다
SkiaSharp3.119.2NPOI의 스트리밍 작성기가 컬럼 폭을 재는 경로에서 요구합니다. 샘플 생성기는 시트 하나가 여섯 자리 행이라 그 작성기를 씁니다
xunit2.9.2테스트. 러너는 xunit.runner.visualstudio 2.8.2, 호스트는 Microsoft.NET.Test.Sdk 17.11.1
System.Security.Cryptography.Xml10.0.10테스트와 픽스처 도구, 그리고 샘플 생성기. NPOI 자신의 의존이 가리키는 버전에 남은 권고를 지나쳐 고정한 것입니다

이 문서는 .csprojPackageReference와 일치해야 합니다. 손으로 맞추는 목록은 실제와 어긋나게 됩니다 — 한 번은 없어진 의존이 여기 남아 있었습니다 — 그래서 어긋나면 스위트가 실패합니다 (DependencyDocTests). 참조하는데 여기 없는 것, 여기 있는데 아무도 참조하지 않는 것, 그리고 버전이 다른 것을 각각 봅니다.