Przejdź do głównej zawartości

Współtworzenie

  1. Utwórz fork i sklonuj

    Terminal window
    git clone https://github.com/sqrcz/numerik-js.git
    cd numerik-js
  2. Zainstaluj zależności

    Terminal window
    pnpm install
  3. Uruchom zestaw testów

    Terminal window
    pnpm test
Polecenie Opis
pnpm test Zestaw testów Vitest
pnpm test:watch Vitest w trybie obserwowania
pnpm test:cover Vitest z pokryciem kodu
pnpm typecheck tsc --noEmit
pnpm lint Sprawdzenie lint + formatowania Biome
pnpm lint:fix Lint + formatowanie Biome — automatyczna naprawa
pnpm build Kompilacja do dist/
pnpm check typecheck + lint + test po kolei

Uruchom pnpm check przed otwarciem PR, aby wykryć wszystkie problemy lokalnie.

Dodanie nowego identyfikatora wymaga zmian w kilku miejscach — PR-y bez któregokolwiek z tych elementów nie zostaną scalone:

  • Utwórz src/value-objects/NewIdentifier.ts (implementuje IdentifierInterface)
  • Utwórz src/identifiers/NewIdentifierIdentifier.ts (implementuje ValidatorInterface i ParserInterface; przyjmuje strict: boolean = true)
  • Dodaj nowe przypadki ValidationFailureReason, jeśli identyfikator wprowadza nowe typy błędów
  • Dodaj wpis do src/Numerik.ts i wyeksportuj go z src/index.ts
  • Dodaj schematy Zod w src/zod/index.ts
  • Dodaj tests/new-identifier.test.ts
  • Dodaj stronę identyfikatora w docs/src/content/docs/identifiers/ i docs/src/content/docs/pl/identifiers/
  • Zaktualizuj CHANGELOG.md
Typ Wzorzec Przykład
Funkcja feat/<krótka-nazwa> feat/passport-identifier
Poprawka fix/<krótka-nazwa> fix/pesel-century-calc
Porządki chore/<krótka-nazwa> chore/update-dependencies

Używaj Conventional Commits:

feat: add PassportIdentifier
fix: correct PESEL century calculation for 2000s
docs: update REGON algorithm description
test: add NIP fixtures for invalid tax office codes
chore: bump vitest to 4.x
refactor: extract checksum calculation to dedicated method
  1. Zrób fork repozytorium i utwórz gałąź od main.
  2. Dodaj testy dla każdego nowego zachowania — wszystkie testy muszą przechodzić.
  3. Upewnij się, że pnpm check przechodzi.
  4. Otwórz PR względem main i w pełni wypełnij szablon.

Użyj szablonu Bug Report na GitHub.

Prosimy nie otwierać publicznego zgłoszenia. Zgłoś przez prywatny system zgłoszeń GitHub. Zobacz SECURITY.md.