이 글에서는 tRPC 소스코드의 이스탄불 사용법을 분석합니다. 이 댓글을 찾았습니다. 이스탄불은 무시하세요. 이는 tRPC가 JavaScript 테스트 범위를 단순하게 만드는 도구인 Istanbul.js를 사용한다는 것을 암시합니다.
tRPC 저장소가 @vitest/coverage-istanbul을 사용한다는 것을 알아내는 데 시간이 좀 걸렸습니다. 처음에는 패키지/클라이언트에 정의된 테스트와 관련된 스크립트가 있는지 확인하려고 했지만 아무것도 없었습니다.
코드베이스 전체에서 istanbul을 검색한 후 vitest.config.ts 테스트 스크립트에서 Istanbul 단어가 루트 수준의 package.json에 정의되어 있는 것을 보았습니다.
"test": "turbo codegen-tests && conc -c \"green,blue\" \"vitest run\" \"pnpm -F tests test-run:tsc\"", "test-ci": "turbo codegen-tests && conc \"CI=true vitest run - coverage\" \"pnpm -F tests test-run:tsc\"", "test-watch": "vitest",
아래는 vitest.config.ts에서 선택한 적용 범위 개체입니다.
coverage: { provider: 'istanbul', include: ['**/src/**'], exclude: [ '**/www/**', '**/examples/**', // skip codecov for experimental features // FIXME: delete me once they're stable '**/next/src/app-dir/**', '**/server/src/adapters/next-app-dir/**', ], },
Vitest는 'v8'이라는 다른 공급자도 지원합니다. 기본적으로 공급자는 v8로 설정됩니다.
테스트 스크립트가 실행되면 어떤 일이 발생하는지 살펴보겠습니다.
"test": "turbo codegen-tests && conc -c \"green,blue\" \"vitest run\" \"pnpm -F tests test-run:tsc\"",
tRPC는 터보를 사용합니다. Turbo는 Rust로 작성된 JavaScript 및 TypeScript에 최적화된 증분 번들러 및 빌드 시스템입니다.
codegen-tests는 Turbo.json에 정의된 명령으로, 이를 실행하면 패키지에 정의된 codegen-tests 스크립트가 실행됩니다. 모노레포 설정입니다.
패키지의 codegen 스크립트:
- 클라이언트/패키지.json
- 다음/package.json
- 반응 쿼리/package.json
- 서버/패키지.json
conc는 동시성의 약칭입니다. 동시에 결제하세요.
아래는 동시 사용 예시입니다.
concurrently "command1 arg" "command2 arg" (or) conc "command1 arg" "command2 arg"
tRPC는 아래 명령을 사용합니다.
conc -c \"green,blue\" \"vitest run\" \"pnpm -F tests test-run:tsc\"
Thinkthroo에서는 대규모 오픈소스 프로젝트를 연구하고 아키텍처 가이드를 제공합니다. 우리는 귀하의 프로젝트에서 사용할 수 있는 tailwind로 구축된 resubale 구성 요소를 개발했습니다. Next.js, React, Node 개발 서비스를 제공합니다.
귀하의 프로젝트에 대해 논의하려면 회의를 예약하세요.
https://github.com/trpc/trpc/blob/next/packages/client/src/links/httpBatchLink.ts#L91C12-L91C30
https://github.com/gotwarlost/istanbul
https://istanbul.js.org/
https://github.com/istanbuljs
https://github.com/trpc/trpc/blob/d603d860a3aeb12bbf6e836abd8c5a30c7b5d7a5/vitest.config.ts#L45
위 내용은 tRPC 소스 코드의 이스탄불 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!