TypeScript libraries for building aviation applications - airspace geometry, weather parsing, flight planning, aircraft registry lookup, and more.
| Package | Description |
|---|---|
@squawk/types |
Shared type definitions used across all packages |
@squawk/units |
Aviation-aware unit conversion and formatting utilities |
@squawk/geo |
Geospatial utilities: great-circle distance, bearing, midpoint, point-in-polygon |
@squawk/flight-math |
Aviation flight computer calculations (E6B wind triangle, altitude, airspeed) |
@squawk/icao-registry |
ICAO hex to N-number and aircraft info lookup with FAA parsing utilities |
@squawk/icao-registry-data |
Pre-processed FAA ReleasableAircraft snapshot for use with @squawk/icao-registry |
@squawk/airspace |
Point-in-airspace queries for Class B/C/D/E and Special Use Airspace |
@squawk/airspace-data |
Pre-processed FAA NASR airspace GeoJSON snapshot for use with @squawk/airspace |
@squawk/airports |
Airport queries by identifier, location, or name/city search |
@squawk/airport-data |
Pre-processed FAA NASR airport snapshot with runways, frequencies, and ILS data |
@squawk/navaids |
Navaid queries by identifier, frequency, type, location, or name search |
@squawk/navaid-data |
Pre-processed FAA NASR navaid snapshot for use with @squawk/navaids |
@squawk/fixes |
Fix/waypoint queries by identifier, location, or identifier search |
@squawk/fix-data |
Pre-processed FAA NASR fix/waypoint snapshot for use with @squawk/fixes |
@squawk/airways |
Airway lookup, traversal, and expansion by designation, fix, or search |
@squawk/airway-data |
Pre-processed FAA NASR airway snapshot for use with @squawk/airways |
@squawk/procedures |
Instrument procedure lookup and expansion for SIDs, STARs, and IAPs (CIFP) |
@squawk/procedure-data |
Pre-processed FAA CIFP procedure snapshot for use with @squawk/procedures |
@squawk/flightplan |
Flight plan route string parsing and resolution using composed resolvers |
@squawk/weather |
Parse raw aviation weather strings (METAR, SPECI, TAF, SIGMET, AIRMET, PIREP) |
@squawk/notams |
Parse raw ICAO-format NOTAM strings into structured objects |
@squawk/mcp |
Model Context Protocol server exposing the squawk libraries as tools for LLMs |
npm install
npm run build # build all packages
npm run test # run all tests
npm run lint # lint all packages
npm run docs # generate documentation
The tools/ directory contains the build pipelines that produce the data packages from raw FAA source files. They are not published to npm but are fully usable if you want to rebuild data from a newer FAA cycle or customize the pipeline. Most tools accept a NASR subscription .zip or extracted directory via --local and write their output to the corresponding data package. The ICAO registry tool parses the FAA ReleasableAircraft database; the procedure tool parses the FAA CIFP (ARINC 424) zip. See npm run build:data -- --help for the orchestrator that runs them all.
| Tool | Description |
|---|---|
build-airspace-data |
Processes FAA NASR shapefiles and AIXM XML into airspace GeoJSON |
build-icao-registry-data |
Processes FAA ReleasableAircraft into ICAO registry JSON |
build-airport-data |
Processes FAA NASR airport, runway, frequency, and ILS CSVs into JSON |
build-navaid-data |
Processes FAA NASR NAV_BASE.csv into navaid JSON |
build-fix-data |
Processes FAA NASR FIX CSVs into fix/waypoint JSON |
build-airway-data |
Processes FAA NASR AWY.txt and ATS.txt into airway JSON |
build-procedure-data |
Processes FAA CIFP into SID / STAR / IAP procedure JSON |