Skip to content

Getting Started

Requirements

  • Node.js 24 or later
  • pnpm (or npm/yarn)

Installing from GitHub Packages

Packages are published to the GitHub Package Registry under the @studnicky scope. Add the registry to your .npmrc:

@studnicky:registry=https://npm.pkg.github.com

Then install the packages you need:

bash
pnpm add @studnicky/geo-resolver @studnicky/spatial

Minimal usage example

typescript
import { GeoResolver } from '@studnicky/geo-resolver';

// GeoResolver: the top-level entry point. Accepts { address }, { ip },
// { lat, lon }, or { phone } and returns a fused result.
const resolver = GeoResolver.create();

const byCoords = await resolver.resolve({ lat: 40.7128, lon: -74.006 });
byCoords.resolvedGeo.country;   // 'US'
byCoords.geoContext.timezone;   // 'America/New_York'

Spatial primitives

typescript
import { pointInPolygon } from '@studnicky/spatial';

const outer = [[0, 0], [4, 0], [4, 4], [0, 4], [0, 0]];
pointInPolygon(1, 1, [outer]); // true

Next steps

  • Architecture: grid systems, data layers, and source adapters in depth
  • Packages: all packages with API examples