Skip to content

Latest commit

 

History

History
52 lines (38 loc) · 2.29 KB

File metadata and controls

52 lines (38 loc) · 2.29 KB

AASA Validator

Validate Apple App Site Association (AASA) files for iOS Universal Links - from the browser, a server, or your own backend.

This is the open-source tool only. It ships the validation engine, an embeddable UI, and a deployable backend. It deliberately contains no marketing/page content - drop it into your own site and supply your own surrounding copy.

Why a backend is needed

Browsers cannot fetch another domain's AASA file (cross-origin requests are blocked by CORS), so the actual fetch has to happen server-side. The embeddable UI calls a small backend that fetches the file, runs validation, and returns structured results. This repo ships that backend for both Cloudflare Workers and Node.

Packages

Package What it is
@linkforty/aasa-core Runtime-agnostic validation engine + types (zero deps)
@linkforty/aasa-worker Cloudflare Worker reference backend
@linkforty/aasa-node Node/Express reference backend
@linkforty/aasa-widget <aasa-validator> web component (any site)
@linkforty/aasa-react Native React component (Next/SSR-safe)

Quick start

Pick how you want to consume it:

  • Embed in plain HTML → deploy a backend, then drop the web component.
  • Embed in React/Next → deploy a backend, then use the React component.
  • Just call the API → deploy the Worker or Node backend and GET /validate?domain=example.com.
  • Use the engine directly in your own server → install @linkforty/aasa-core and call fetchAndValidate(domain).

See each package's README for copy-paste snippets, and examples/ for runnable demos.

Development

pnpm install
pnpm test        # run the test suite (heaviest coverage in core)
pnpm typecheck
pnpm lint
pnpm build

Contributing

See CONTRIBUTING.md. Licensed under MIT.