Rumah  >  Artikel  >  hujung hadapan web  >  Penggunaan Istanbul dalam kod sumber tRPC

Penggunaan Istanbul dalam kod sumber tRPC

Susan Sarandon
Susan Sarandonasal
2024-11-01 17:40:02805semak imbas

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",

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/**',
 ],
},

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\"",

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"

tRPC menggunakan arahan di bawah ini:

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

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!

Kenyataan:
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