Socket
Socket
Sign inDemoInstall

@mapbox/bundle-fairy

Package Overview
Dependencies
71
Maintainers
108
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @mapbox/bundle-fairy

Check if ZIP is a bundle and extract


Version published
Weekly downloads
3
Maintainers
108
Created
Weekly downloads
 

Changelog

Source

0.1.0

  • Add a --dirname option to extract, which outputs just the directory instead of a comma-separated list of files within the directory

Readme

Source

bundle-fairy

Build Status

Detect bundles of geometry.

What is a bundle?

A bundle is a compressed (zipped .zip) directory containing either:

  • A collection of GeoJSON files relating back to their original source, plus correlating index files if needed (produced by Mapnik).
  • A single CSV/GeoJSON file, plus its correlating index file (produced by Mapnik).

Bunldes are used as an in-between format for two cases:

  1. GPX/KML sources converted to GeoJSON. Each GeoJSON file represents an individual layer from the original GPX/KML source. Additionally, depending on the size of each new GeoJSON layer, Mapnik will produce an index file per layer to help optimize tile copying.
  2. Large GeoJSON or CSV files with a correlating index file to help optimize tile copying.

A brief specification

A bundle MUST include:

  • a .zip extension
  • at least one geo file (.geojson or .csv)

A bundle MAY include:

  • one or more spatial index files (.index)
  • a metadata.json file, which is exactly the output of mapnik-omnivore
  • nested directories of files (infinite depth)
  • for GPX/KML sources, an archived copy of the original file

A bundle MAY NOT include:

  • Two different types of geo files (i.e. a .geojson AND a .csv)
  • Any geo file formats other than geojson or csv

Install

npm install @mapbox/bundle-fairy

Usage

Require

var fairy = require('@mapbox/bundle-fairy');
check if a file is a bundle, isBundle()
fairy.isBundle('./path/to/file.zip', function(err, isbundle) {
  if (err) throw err;
  console.log(isbundle); // true! or false :(
});
extract a bundle, extract()
fairy.extract('./path/to/file.zip', function(err, result) {
  if (err) throw err;
  console.log(result); // comma separated list of files within the bundle
});

You can pass in the dirname option to just get the full directory path back:

fairy.extract('./path/to/file.zip', { dirname: true }, function(err, result) {
  if (err) throw err;
  console.log(result); // /User/waka/files/tmp-bundle
});

CLI Usage

Check if is bundle

$ bundle-fairy isbundle <zipfile>

Extract bundle

$ bundle-fairy extract <zipfile>
$ bundle-fairy extract <zipfile> --dirname # returns just directory name

Test

npm test

¯\_(ツ)_/¯

FAQs

Last updated on 02 Feb 2017

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc