Langkau ke kandungan

Binaan & CI ​

Cara pustaka dibina, disahkan dan diedarkan.

Rantaian alat ​

AlatVersiTujuan
Webpack^5.107Pembungkusan berkas, pelayan pembangunan
Babel^7.24Transpilasi untuk chrome/edge 89, firefox 90, safari 13.1
Jest^29Ujian unit (jsdom + jest-canvas-mock)
ESLint9Lint, tiada amaran dibenarkan
Prettier3Pemformatan
Playwright1.56.1Semakan integrasi Chromium (CI)
VitePress^1.6Laman dokumentasi ini

Sumber menggunakan JavaScript biasa (ES2022, modul CommonJS) — tiada TypeScript dalam projek.

Output berkas ​

Binaan webpack dikawal oleh persekitaran. Ia menghasilkan senangstart-xr.js (pembangunan) atau senangstart-xr.min.js (pengeluaran) bersama peta sumber, dan menyalin Outfit-Regular.ttf di sebelah berkas melalui plugin tersuai BundledFont.

SkripOutput
npm run distdist/ — berkas pengeluaran dan pembangunan
npm run dist-mindist/senangstart-xr.min.js sahaja
npm run dist-devdist/senangstart-xr.js sahaja
npm run dist-exampleBerkas pembangunan examples/js/
npm run dist-example-minBerkas pengeluaran examples/js/
npm run dist:alldist/ dan examples/js/, kedua-dua varian

Binaan pengeluaran menggunakan peta sumber tersembunyi; binaan pembangunan menggunakan eval-source-map.

Pembangunan setempat ​

bash
npm start

webpack-dev-server menyediakan folder examples/ di http://localhost:8080, dengan adegan pameran pada akar.

Skrip pengesahan ​

SkripPerkara yang disemak
npm run check:buildSalinan berkas, peta sumber dan fon dalam dist/ dan examples/js/ disegerakkan (perbandingan hash)
npm run check:packagenpm pack diikuti pemasangan pengguna yang ketat dengan aframe@1.8.0; kegagalan pemasangan menggagalkan semakan
npm run check:browserPelaksana integrasi Playwright untuk scripts/fixtures/aframe.html
npm run audit:prodnpm audit untuk kebergantungan pengeluaran sahaja
npm run lintESLint untuk src/, tests/, scripts/ dengan --max-warnings=0

Ujian ​

bash
npm test          # single run
npm run test:watch

Suite terdiri daripada 14 suite Jest / 108 ujian yang merangkumi widget, tingkah laku papan kekunci, peluncur, susun atur flex, kemas kini langsung, penyuntingan asli, keadaan dinyahaktifkan, kursor, bevelbox, widget bulatan, teks dan fon, panel berbucu bulat serta pembantu SXR.

Ujian keselarasan dokumentasi ​

tests/docs-drift.test.js memastikan dokumentasi tidak menyimpang daripada kod. Ia memuatkan komponen sebenar, kemudian menghuraikan halaman dokumentasi dan memastikan bahawa:

  1. setiap komponen dalam jadual gambaran keseluruhan mendaftarkan primitif yang didokumenkan
  2. setiap sifat yang didokumenkan mempunyai pemetaan primitif sepadan
  3. setiap nilai lalai yang didokumenkan sepadan dengan skema komponen

Ujian membaca jadual komponen daripada halaman di bawah docs/components/ dan gambaran keseluruhan daripada docs/components/index.md. Jika anda mengubah nilai lalai skema, kemas kini halaman dokumentasi dalam komit yang sama atau CI akan gagal.

CI ​

Saluran GitHub Actions (Node 20) menjalankan:

  1. lint → jest → binaan → semakan binaan → tarball/pemasangan pengguna → npm audit
  2. matriks pelayar Chromium enam tugas — A-Frame 1.7.0, 1.7.1, 1.8.0 × berkas pembangunan/pengeluaran

Tangkapan skrin dan bilangan sumber dimuat naik sebagai artifak. Pelaksana pelayar memerlukan Playwright dan pemasangan Chromium; kewujudannya tidak membuktikan keputusan lulus — lihat AUDIT.md untuk syarat keluaran semasa.

Laman dokumentasi ​

Laman ini dibina dengan VitePress:

bash
npm run docs:dev      # local dev server with hot reload
npm run docs:build    # static build to docs/.vitepress/dist
npm run docs:preview  # preview the built site

Output binaan diterbitkan ke GitHub Pages oleh .github/workflows/docs.yml.

Status keluaran ​

Lihat AUDIT.md untuk syarat keluaran semasa dan batasan yang diketahui. Penerbitan dan penggunaan dilakukan secara manual.

Lesen ​

MIT © Bookklik Technologies