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

@geoalgeria/aviation

v1.0.0

Published

Algeria's 33 civil airports — official names, ICAO (OACI) codes, addresses, phones, websites, coordinates, and wilaya linkage. Sourced from ANAC (anac.dz). JSON, CSV, GeoJSON, TypeScript.

Readme

@geoalgeria/aviation

Every civil airport in Algeria — as data you can install.

npm npm downloads License: MIT

33 civil airports across Algeria — with official names, ICAO (OACI) codes, postal addresses, phone numbers, websites, GPS coordinates, and wilaya linkage. Sourced from ANAC (the Autorité Nationale de l'Aviation Civile), shipped as JSON, CSV, and GeoJSON. Part of GeoAlgeria.

npm install @geoalgeria/aviation
import aviation from "@geoalgeria/aviation";

const all = aviation.airports();                 // 33
const algiers = aviation.airportByIcao("DAAG");  // Houari Boumediene
const inOran = aviation.airportsByWilaya(31);     // airports in wilaya 31

// Everything has lat/lng — distance-sort, map, or nearest-airport in a few lines.

What you can build

  • Nearest-airport lookups — coordinates on every record, ready for distance sorting.
  • ICAO ↔ airport resolution — map flight-data ICAO codes to names, contacts, and location.
  • Travel & logistics — match a wilaya or a point to its serving airport.
  • Maps — drop-in GeoJSON point layer for the whole civil-airport network.

What's inside

| Dataset | Count | Notes | | --- | --- | --- | | Civil airports | 33 | official name, ICAO code, address, phone, website, coordinates |

Spanning 31 wilayas, every airport geocoded. wilaya_code is linked against the geoalgeria 69-wilaya model.

Formats

The npm package ships the JSON (importable directly):

import airports from "@geoalgeria/aviation/data/airports.json" with { type: "json" };
// or via CDN, no install:
// https://cdn.jsdelivr.net/npm/@geoalgeria/aviation/data/airports.json

The loaders and record shapes are fully typed — TypeScript definitions ship in the package:

import aviation, { type Airport } from "@geoalgeria/aviation";
const airports: Airport[] = aviation.airports();

CSV and GeoJSON are in the repo under data/ and bundled in every GitHub Release:

data/
  airports.json            # 33 airports (array)
  metadata.json            # source, counts, generated_at
  csv/airports.csv         # repo + Release bundle (not in npm tarball)
  geojson/airports.geojson # Point features (all 33 are geocoded)

Record shape

{
  "id": "daag",
  "name": "Aéroport d’Alger – Houari Boumediene",
  "icao": "DAAG",
  "iata": null,
  "address": "Alger BP 164 DAR EL BEIDA",
  "phone": "+21323199230",
  "website": "https://www.aeroportalger.dz/",
  "wilaya_code": "16",
  "lat": 36.69951171485545,
  "lng": 3.210846808533331,
  "source": "https://www.anac.dz/en/carte-des-aeroports-3/"
}

id is the ICAO code lowercased. icao always matches DA__. iata is null — ANAC publishes only ICAO codes (the slot is reserved for later enrichment). wilaya_code is zero-padded to two digits and joins GeoAlgeria's wilayas; a few records may have a null phone where ANAC lists none.

Need the administrative divisions too?

If you also need wilayas, dairas, and communes to join against, use the main geoalgeria package — it ships the full 69-wilaya division dataset that wilaya_code here links to. Use @geoalgeria/aviation when you only need airport data.

Source

Data comes from ANAC — Autorité Nationale de l'Aviation Civile, via the public airports map (https://www.anac.dz/en/carte-des-aeroports-3/). Run npm run fetch to regenerate every output from the live map; the build follows the map's iframe so an ANAC version bump doesn't break it, and it fails loudly if the airport count or ICAO format changes. wilaya_code is resolved by nearest commune centroid from the geoalgeria dataset (the flagship ships centroids, not boundary polygons).

License & attribution

Code is MIT. The underlying data is © ANAC, redistributed for reference and to power GeoAlgeria. Verify against ANAC for authoritative, real-time information.