Penggunaan Istanbul dalam kod sumber tRPC

Susan Sarandon
Lepaskan: 2024-11-01 17:40:02
asal
804 orang telah melayarinya

Dalam artikel ini, kami menganalisis penggunaan Istanbul dalam kod sumber tRPC. Saya jumpa komen ini — istanbul abaikan jika. Ini membayangkan bahawa tRPC menggunakan Istanbul.js, alat yang menjadikan liputan ujian JavaScript mudah.

Yang ini mengambil sedikit masa untuk saya mengetahui bahawa repositori tRPC menggunakan @vitest/coverage-istanbul, pada mulanya saya ingin melihat sama ada terdapat sebarang skrip yang berkaitan dengan ujian yang ditakrifkan dalam pakej/klien tetapi tiada.

Selepas mencari istanbul merentasi pangkalan kod, ketika itulah saya melihat perkataan Istanbul dalam vitest.config.ts skrip ujian ditakrifkan dalam package.json peringkat akar.

"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",
Salin selepas log masuk

Di bawah ialah objek liputan yang dipilih daripada 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/**',
 ],
},
Salin selepas log masuk

Vitest menyokong penyedia lain juga, ia adalah 'v8'. Secara lalai, pembekal ditetapkan kepada v8.

Mari apa yang berlaku apabila skrip ujian dijalankan:

skrip ujian:

"test": "turbo codegen-tests && conc -c \"green,blue\" \"vitest run\" \"pnpm -F tests test-run:tsc\"",
Salin selepas log masuk

tRPC menggunakan Turbo. Turbo ialah sistem pengikat dan binaan tambahan yang dioptimumkan untuk JavaScript dan TypeScript, ditulis dalam Rust.

ujian kodgen turbo:

codegen-tests ialah perintah yang ditakrifkan dalam turbo.json dan apabila anda menjalankan ini, ia melaksanakan skrip ujian codegen yang ditakrifkan dalam pakej. Ini ialah persediaan monorepo.

skrip codegen dalam pakej:

- client/package.json

- next/package.json

- react-query/package.json

- pelayan/pakej.json

conc -c

conc ialah alias pendek untuk serentak. Daftar keluar serentak.

Di bawah ialah contoh penggunaan serentak.

concurrently "command1 arg" "command2 arg"
(or)
conc "command1 arg" "command2 arg"
Salin selepas log masuk

tRPC menggunakan arahan di bawah ini:

conc -c \"green,blue\" \"vitest run\" \"pnpm -F tests test-run:tsc\"
Salin selepas log masuk

Tentang kami:

Di Thinkthroo, kami mengkaji projek sumber terbuka yang besar dan menyediakan panduan seni bina. Kami telah membangunkan Komponen resubale, dibina dengan tailwind, yang boleh anda gunakan dalam projek anda. Kami menawarkan perkhidmatan pembangunan Next.js, React dan Node.

Tempah mesyuarat dengan kami untuk membincangkan projek anda.

Istanbul usage in tRPC source code

Istanbul usage in tRPC source code

Rujukan:

  1. https://github.com/trpc/trpc/blob/next/packages/client/src/links/httpBatchLink.ts#L91C12-L91C30

  2. https://github.com/gotwarlost/istanbul

  3. https://istanbul.js.org/

  4. https://github.com/istanbuljs

  5. https://github.com/trpc/trpc/blob/d603d860a3aeb12bbf6e836abd8c5a30c7b5d7a5/vitest.config.ts#L45

Atas ialah kandungan terperinci Penggunaan Istanbul dalam kod sumber tRPC. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!