Sign In

@squawk/airport-data

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package version was removed
This package version has been unpublished, mostly likely due to security reasons
This package has malicious versions linked to the ongoing "Mini Shai-Hulud" supply chain attack.

Affected versions:

0.7.40.7.50.7.6
+2 more
View campaign page

@squawk/airport-data

Pre-processed FAA NASR airport snapshot for use with @squawk/airports

unpublished
Source
npmnpm
Version
0.7.7
Version published
Weekly downloads
29
-25.64%
Maintainers
1
Weekly downloads
 
Created
Source

squawk logo  @squawk/airport-data

MIT License npm TypeScript

Pre-processed snapshot of airport data from the 2026-04-16 FAA NASR cycle. Data only - no query logic, no dependency on @squawk/airports.

Documentation

Part of the @squawk aviation library suite. See all packages on npm.

Coverage

  • All open aviation facilities the FAA publishes: US airports, heliports, seaplane bases, gliderports, ultralight, and balloonports, plus selected Canadian, Mexican, Caribbean, and Pacific facilities that participate in US operations
  • Runway dimensions, surface, condition, lighting, and weight limits
  • Per-runway-end details: heading, displaced thresholds, declared distances (TORA/TODA/ASDA/LDA), approach lighting, VGSI, LAHSO
  • Structured ILS data: system type, identifier, category, localizer frequency and course, glide slope angle and type, DME channel
  • Communication frequencies with usage and sectorization
  • IANA time zone identifier resolved from the facility lat/lon (e.g. America/New_York), ready for direct use with Intl.DateTimeFormat and other standard date/time APIs

Installation

npm install @squawk/airport-data

Usage

import { usBundledAirports } from '@squawk/airport-data';

// Inspect metadata
console.log(usBundledAirports.properties.nasrCycleDate); // YYYY-MM-DD
console.log(usBundledAirports.properties.recordCount);

// Use with @squawk/airports for zero-config airport queries
import { createAirportResolver } from '@squawk/airports';

const resolver = createAirportResolver({ data: usBundledAirports.records });

Consumers who have their own data pipeline can use @squawk/airports alone and pass any compatible Airport array at initialization.

Browser / SPA usage

For browsers, edge runtimes (Cloudflare Workers, Deno Deploy), and any other environment without node:fs, import the async loader from the /browser subpath. It fetches and decompresses the bundled .gz using Web Streams (DecompressionStream) and the global fetch.

import { loadUsBundledAirports } from '@squawk/airport-data/browser';
import { createAirportResolver } from '@squawk/airports/browser';

const dataset = await loadUsBundledAirports();
const resolver = createAirportResolver({ data: dataset.records });

The default URL is resolved relative to this module's import.meta.url, which works under any modern ESM bundler when the package is installed normally.

To host the asset on your own CDN, to use a bundler-resolved (hashed) asset URL, or to override the URL for any other reason, pass an explicit url:

import { loadUsBundledAirports } from '@squawk/airport-data/browser';

const dataset = await loadUsBundledAirports({
  url: 'https://your-cdn.example/airports.json.gz',
});

The loader also accepts a custom fetch implementation, which is useful in tests or in edge environments that need a configured fetcher.

Data format

Each record is a full Airport object from @squawk/types. Key fields:

PropertyTypeDescription
faaIdstringFAA location identifier (e.g. "JFK", "LAX", "3N6")
icaostring or undefinedICAO code when assigned (e.g. "KJFK")
namestringOfficial facility name
facilityTypeFacilityTypeAIRPORT, HELIPORT, SEAPLANE_BASE, etc.
ownershipTypeOwnershipTypePUBLIC or PRIVATE
useTypeFacilityUseTypePUBLIC or PRIVATE
statusFacilityStatusAlways OPEN (closed facilities are excluded)
city, countrystringLocation identifiers
statestring or undefinedTwo-letter code for US facilities, absent for foreign
lat, lonnumberDecimal degrees
timezonestringIANA time zone identifier (e.g. "America/New_York")
elevationFtnumber or undefinedField elevation in feet MSL
magneticVariationDegnumber or undefinedMagnetic variation in degrees
towerTypestring or undefinede.g. "ATCT", "NON-ATCT"
fuelTypesstring or undefinede.g. "100LL,A"
runwaysRunway[]Runway details (see below)
frequenciesAirportFrequency[]Communication frequencies (see below)

Runway

PropertyTypeDescription
idstringDesignator (e.g. "04L/22R")
lengthFtnumber or undefinedLength in feet
widthFtnumber or undefinedWidth in feet
surfaceTypestring or undefinede.g. "CONC", "ASPH", "TURF"
conditionSurfaceConditionEXCELLENT, GOOD, FAIR, POOR, FAILED
lightingRunwayLightingHIGH, MEDIUM, LOW, NONSTANDARD, NONE
endsRunwayEnd[]Per-end details (typically two)

RunwayEnd

PropertyTypeDescription
idstringDesignator (e.g. "04L", "22R")
trueHeadingDegnumber or undefinedTrue heading in degrees
ilsIlsSystem or undefinedStructured ILS data (see below)
toraFt, todaFt, asdaFt, ldaFtnumber or undefinedDeclared distances in feet
displacedThresholdFtnumber or undefinedDisplaced threshold distance in feet
vgsiTypeVgsiTypee.g. PAPI-4L, VASI-2L
approachLightsstring or undefinedApproach lighting system code

IlsSystem

PropertyTypeDescription
systemTypeIlsSystemTypeILS, ILS/DME, LOCALIZER, LOC/DME, LOC/GS, LDA, LDA/DME, SDF, SDF/DME
identifierstring or undefinedFacility identifier (e.g. "I-JFK")
categoryIlsCategory or undefinedApproach category (I, II, III, IIIA, IIIB, IIIC)
localizerFrequencyMhznumber or undefinedLocalizer frequency in MHz (108-112)
localizerMagneticCourseDegnumber or undefinedFront course bearing in magnetic degrees
glideSlopeAngleDegnumber or undefinedGlide slope angle in degrees (typically ~3.0)
glideSlopeTypestring or undefinedGlide slope class (GLIDE SLOPE, GLIDE SLOPE/DME)
dmeChannelstring or undefinedDME channel (e.g. "032X", "046X")

AirportFrequency

PropertyTypeDescription
frequencyMhznumberFrequency in MHz (e.g. 119.1)
usestringPurpose (e.g. "LCL/P", "GND/P", "ATIS")
sectorizationstring or undefinedApplicability (e.g. "RWY 04L/22R")

Data source

All data is derived from the FAA National Airspace System Resource (NASR) 28-day subscription, which is public domain. Airport base data comes from APT_BASE.csv, runway data from APT_RWY.csv and APT_RWY_END.csv, frequencies from FRQ.csv, and ILS data from ILS_BASE.csv, ILS_GS.csv, and ILS_DME.csv. The build pipeline that produces this dataset lives in tools/build-airport-data.

Keywords

aviation

FAQs

Package last updated on 11 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts