Mapsight is a framework for building web applications with OpenLayers and React.
| Package | Description |
|---|---|
βοΈ core |
Mapsight Core (Redux Store) The core of Mapsight, providing the Redux store and the core architecture (controllers, base actions, redux devtools). |
π₯οΈ ui |
Default UI (React) The default UI and component library with maps, lists, filters, switchers, etc. Mapsight UI allows you to compose your own UI from the provided components or use a default UI with some configuration and customizations. |
π¨ traffic-style |
Default style package (icons and vector styles) The default style package with icons and vector styles, tailored for traffic applications, but also provides a set of general POI styles and icons, suitable for various use cases. |
βοΈ vector-style-compiler |
CSS β OL StyleFunction compiler The vector style compiler is a tool that converts a subset of CSS styles into a multi-layer cached efficient OpenLayers style function, letting you style based on zoom, feature properties, environment, and more. It also allows you to freely add more geometries based on the base features to build complex vector objects. |
π¦ vite-host-embed |
Host embed Vite plugin Lib-mode post-build finalize, HTML snippet markers ( snippetSources), dev deploy-path aliases, snippet preview. |
π¦ vite-count-aggregator-embed |
Count-aggregator CMS Vite plugin App-shell post-build finalize β assets-only deploy tree + paste-ready snippet for @mapsight/count-aggregator-ui. |
π lib-ol |
OpenLayers utilities This package contains utilities for working with OpenLayers. |
βοΈ lib-redux |
Redux utilities This package contains utilities for working with Redux. |
βοΈ lib-js |
JavaScript utilities (Deprecated) This package contains utilities for working with JavaScript. |
π count-aggregator-api |
Count aggregator API client OpenAPI contract, Zod schemas, and typed HTTP client for Mapsight count-aggregator station metadata and aggregated count data. |
π count-aggregator-ui |
Count aggregator UI (React) Embeddable wizard, time-series charts, and export links. CMS app-shell embed via vite-count-aggregator-embed. |
| Application | Description |
|---|---|
π§βπ¨ vector-editor |
Vector editor for creating and editing vector features exported as GeoJSON. |
π‘ showcase |
Mapsight ecosystem showcase β UI demo, icon catalog, and runtime icons. |
Copy-out host integration templates under starters/ β semver @mapsight/* pins only; not published as a
monorepo unit. See starters/README.md.
| Starter | Status | Description |
|---|---|---|
mapsight-host-starter |
Beta | Host embed build (browserEmbed + paste-ready snippet). |
mapsight-next-starter |
WIP | Next.js App Router copy-out template. |
mapsight-vite-spa-starter |
WIP | Minimal Vite + React Router SPA copy-out template. |
Start at docs/README.md for role-based paths, architecture, integration guides,
and getting started. The private workspace section applies only
to maintainers with a private checkout.
| Topic | Document |
|---|---|
| Hub | docs/README.md |
| Getting started | docs/getting-started.md |
| Host embed starter | starters/mapsight-host-starter |
| Ecosystem & deployment | docs/architecture/ECOSYSTEM.md |
| Principles & scope | docs/architecture/PRINCIPLES.md |
| Decisions | docs/architecture/decisions/README.md |
| Current vs target | docs/architecture/CURRENT_VS_TARGET.md |
| Redux runtime | packages/core/docs/REDUX_ARCHITECTURE.md |
| Redux actions | packages/core/docs/ACTION_GUIDE.md |
| Licensing | docs/LICENSING.md |
Mapsight is open source, but some development still happens outside this tree. The monorepo reserves workspace paths for
that (private/apps/*, private/packages/* in pnpm-workspace.yaml) without publishing
anything under private/ here.
To prevent accidental leaks, this repository enforces checks locally and in CI:
- Git hooks:
.husky/pre-commit,.husky/pre-push - Script:
scripts/check-no-private-leak.mtsβpnpm run check:no-private-leak,pnpm run typecheck:scripts - CI:
no-private-leakjob in.github/workflows/ci.yml
Please do not open pull requests that remove or weaken these guards.
# Install with pnpm
pnpm install
# Run all tests & checks
pnpm test
pnpm lint
pnpm typecheck
pnpm format:check
# Watch mode
pnpm watch
# Build everything
pnpm build
# Build single package
pnpm --filter @mapsight/vector-style-compiler buildMapsight is published as source-available software while OSI license approval is
pending. npm packages are marked UNLICENSED until an approved open-source
license is in place.
To discuss use, redistribution, or licensing, contact contact@open-mapsight.org.
To report a security vulnerability, see the Open Mapsight security policy or email security@open-mapsight.org.