id-core

1.0.0-alpha1 • Public • Published

iD-core - core data types from iDEditor

build status npm version

ALPHA: see TODO

Overview

This packages up iD Editor core OSM data types and Graph as an npm package to require() in your own projects. Included:

Usage

Needs to be instantiated with presets **subject to change see TODO.

npm install id-core
var presets = {
    categories: {},
    defaults: {},
    fields: {},
    presets: {}
};
 
var iDCore = require('id-core');
 
var myNode = new iDCore.Node();

Why

According to https://github.com/openstreetmap/iD/blob/master/ARCHITECTURE.md#core

[iD] eventually aims to be a reusable, modular library to kickstart other JavaScript-based tools for OpenStreetMap.

The OSM data model is complex and hard to implement. iD is not published on npm and importing the whole iD project is excessive for a JavaScript based tool for OpenStreetMap. At Digital Democracy we are building tools on top of OSM, and borrowing from iD gives us a head start.

How

iD does not use a commonJS module structure, so it's not as simple as requireing what is needed. We use Smash to concatenate just what is needed from d3 and iD editor to make things work. To rebuild from iD source files:

make clean && make

Tests

npm install
npm test

Uses tests directly from iD to test exported objects.

TODO

  • iD-core needs to be instantiated with presets, since the core types depend on them being set. We currently export the uninstantiated object though, which is needed for tests to work, but that means we have no access to the instantiated presets object.
  • Needs documentation beyond https://github.com/openstreetmap/iD/blob/master/ARCHITECTURE.md#core
  • iD.locale has no tests yet. It is adapted from iD/js/lib/locale.js which polutes the global namespace, which we don't want. We can writed our own or wait for iD/#890.

License

iD-core is available under the WTFPL, though obviously, if you want to dual-license any contributions that's cool. It includes d3js, which BSD-licensed.

Package Sidebar

Install

npm i id-core

Weekly Downloads

2

Version

1.0.0-alpha1

License

WTFPL

Last publish

Collaborators

  • gmaclennan