npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@clickin/xapi-conformance

v0.2.6

Published

XPLATFORM/Nexacro wire protocol 적합성 검증 runner

Readme

xapi-conformance

XPLATFORM/Nexacro Dataset의 XML, JSON, SSV 및 바이너리 wire 형식을 검증하는 언어 중립 conformance 벡터와 HTTP 계약입니다.

구현체는 작은 HTTP 서비스를 노출합니다. Runner는 실제 wire payload를 전송하고 결과를 언어 중립 canonical 표현과 비교합니다. 의미 비교 대상인 XML/JSON은 바이트 단위로 비교하지 않고 decode 및 normalize한 뒤 비교합니다. 정확한 출력이 계약인 벡터는 wire bytes를 그대로 비교합니다.

계약

필수 endpoint:

  • GET /capabilities
  • POST /decode
  • POST /encode
  • POST /roundtrip

전체 wire 계약은 protocol/README.md에 정의되어 있습니다.

npm 또는 pnpm으로 실행

npm 패키지에는 플랫폼별 runner 실행 파일이 포함되어 있습니다. 설치 과정에서 코드를 내려받거나 컴파일하지 않으며 install/postinstall script도 사용하지 않습니다.

지원 대상:

  • macOS arm64, x64
  • Linux arm64, x64
  • Windows arm64, x64

Node.js wrapper가 process.platform과 process.arch에 맞는 실행 파일을 선택합니다.

pnpm dlx @clickin/xapi-conformance -url http://127.0.0.1:8787
npx @clickin/xapi-conformance -url http://127.0.0.1:8787

Wrapper는 runner의 모든 flag를 그대로 전달합니다. 기본적으로 패키지에 포함된 벡터를 사용하며 -vectors로 다른 벡터 디렉터리를 지정할 수 있습니다.

저장소에서 검증 실행

CI와 동일한 검증:

go test ./...
go run ./cmd/xapi-validate -vectors vectors
go run ./cmd/xapi-runner -command 'go run ./cmd/xapi-reference stdio' \
  -json results.json -junit results.xml

HTTP adapter를 직접 실행하는 방법:

go run ./cmd/xapi-reference
go run ./cmd/xapi-runner -url http://127.0.0.1:8787

Runner는 -profile, -operation, -parallel, -timeout, -filter를 지원합니다. 벡터의 expectation 종류에 따라 canonical JSON 또는 정확한 wire 출력을 비교합니다.

지원 범위

다음 wire profile을 검증합니다.

  • Nexacro Dataset JSON 1.0
  • Nexacro/XPLATFORM XML 4000
  • Nexacro/XPLATFORM SSV
  • Nexacro/XPLATFORM PlatformBinary 5000
  • 모든 profile과 조합 가능한 PlatformZlib transport

Scalar 및 내부 wire type, lexical 변환, null/missing/empty, parameter, Dataset, constant, 모든 row state, original/removed row, saveType, 순서 변경, optional-field powerset, BLOB/FILE, 비정상 입력, 자원 제한, strict/compatibility 정책을 포함합니다.

대형 종합 fixture는 회귀 검증용으로만 유지합니다. 조합 완전성은 독립적인 per-mask 벡터로 검증합니다. 세부 범위는 docs/matrix.md, 실행 결과는 docs/audit-findings.md를 참고하십시오.

Fixture 출처

일부 fixture와 assertion은 Clickin의 xapi-js, xplatform-xml, xapi 저장소에서 가져옵니다. 가져온 항목은 원본 저장소, commit, path, license 정보를 유지합니다. 자세한 내용은 sources/README.md와 sources/ATTRIBUTIONS.md에 있습니다.