Commit 1d14f898 authored by Christophe Benz's avatar Christophe Benz

First commit

parents
node_modules
# Table schema to Markdown
Generate Markdown documentation from a [table schema](https://frictionlessdata.io/specs/table-schema/) JSON file.
## Dependencies
```bash
npm install
```
## Usage
Given a table schema named `schema.json` (e.g. [this one](https://git.opendatafrance.net/scdl/subventions/blob/master/schema.json)):
```bash
node index.js --locale=fr /path/to/schema.json templates/fr/index.hbs
```
const fs = require("fs");
const path = require("path");
const argv = require("minimist")(process.argv.slice(2));
const areIntlLocalesSupported = require("intl-locales-supported");
const handlebars = require("handlebars");
const { get } = require("lodash");
const { Schema } = require("tableschema");
const translations = require("./translations.json");
// Load handlebars-helpers.
require("handlebars-helpers")({ handlebars });
function setupIntlPolyfill(localesMyAppSupports) {
if (global.Intl) {
// Determine if the built-in `Intl` has the locale data we need.
if (!areIntlLocalesSupported(localesMyAppSupports)) {
// `Intl` exists, but it doesn't have the data we need, so load the
// polyfill and patch the constructors we need with the polyfill's.
var IntlPolyfill = require("intl");
Intl.NumberFormat = IntlPolyfill.NumberFormat;
Intl.DateTimeFormat = IntlPolyfill.DateTimeFormat;
}
} else {
// No `Intl`, so use and load the polyfill.
global.Intl = require("intl");
}
}
const defaultLocale = "en-US";
const locale = argv.locale || defaultLocale;
setupIntlPolyfill([locale]);
// Load handlebars-intl after applying Intl polyfill.
const HandlebarsIntl = require("handlebars-intl");
HandlebarsIntl.registerWith(handlebars);
function transformField(field) {
const format = get(
translations.format,
`${locale}.${field.format}`,
field.format
);
const type = get(translations.type, `${locale}.${field.type}`, field.type);
return { ...field, format, type };
}
function transformSchema(schema, locale) {
const fields = schema.fields.map(transformField);
return { ...schema, fields };
}
async function main() {
// Process file arguments.
const schemaFilePath = path.resolve(argv._[0]);
const templateFilePath = path.resolve(argv._[1]);
let schema = await Schema.load(schemaFilePath, { strict: true });
let schemaJson = require(schemaFilePath);
schema = { ...schemaJson, ...schema.descriptor };
schema = transformSchema(schema, locale);
const templateSource = fs.readFileSync(templateFilePath).toString();
// Register partials.
const partialsDir = path.resolve(templateFilePath, "..", "partials");
fs.readdirSync(partialsDir).forEach(partialFileName => {
const partialFilePath = path.resolve(partialsDir, partialFileName);
const partialSource = fs.readFileSync(partialFilePath).toString();
const partialName = path.basename(
partialFilePath,
path.extname(partialFilePath)
);
handlebars.registerPartial(partialName, partialSource);
});
const template = handlebars.compile(templateSource);
const intlData = { locales: locale };
const output = template(schema, { data: { intl: intlData } });
console.log(output);
}
main().catch(error => {
console.error(error);
process.exit(1);
});
{
"name": "table-schema-to-markdown",
"version": "0.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"ansi-bgblack": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bgblack/-/ansi-bgblack-0.1.1.tgz",
"integrity": "sha1-poulAHiHcBtqr74/oNrf36juPKI=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-bgblue": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bgblue/-/ansi-bgblue-0.1.1.tgz",
"integrity": "sha1-Z73ATtybm1J4lp2hlt6j11yMNhM=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-bgcyan": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bgcyan/-/ansi-bgcyan-0.1.1.tgz",
"integrity": "sha1-WEiUJWAL3p9VBwaN2Wnr/bUP52g=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-bggreen": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bggreen/-/ansi-bggreen-0.1.1.tgz",
"integrity": "sha1-TjGRJIUplD9DIelr8THRwTgWr0k=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-bgmagenta": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bgmagenta/-/ansi-bgmagenta-0.1.1.tgz",
"integrity": "sha1-myhDLAduqpmUGGcqPvvhk5HCx6E=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-bgred": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bgred/-/ansi-bgred-0.1.1.tgz",
"integrity": "sha1-p2+Sg4OCukMpCmwXeEJPmE1vEEE=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-bgwhite": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bgwhite/-/ansi-bgwhite-0.1.1.tgz",
"integrity": "sha1-ZQRlE3elim7OzQMxmU5IAljhG6g=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-bgyellow": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bgyellow/-/ansi-bgyellow-0.1.1.tgz",
"integrity": "sha1-w/4usIzUdmSAKeaHTRWgs49h1E8=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-black": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-black/-/ansi-black-0.1.1.tgz",
"integrity": "sha1-9hheiJNgslRaHsUMC/Bj/EMDJFM=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-blue": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-blue/-/ansi-blue-0.1.1.tgz",
"integrity": "sha1-FbgEmQ6S/JyoxUds6PaZd3wh7b8=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-bold": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-bold/-/ansi-bold-0.1.1.tgz",
"integrity": "sha1-PmOVCvWswq4uZw5vZ96xFdGl9QU=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-colors": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-0.2.0.tgz",
"integrity": "sha1-csMd4qDZoszQysMMyYI+6y9kNLU=",
"requires": {
"ansi-bgblack": "^0.1.1",
"ansi-bgblue": "^0.1.1",
"ansi-bgcyan": "^0.1.1",
"ansi-bggreen": "^0.1.1",
"ansi-bgmagenta": "^0.1.1",
"ansi-bgred": "^0.1.1",
"ansi-bgwhite": "^0.1.1",
"ansi-bgyellow": "^0.1.1",
"ansi-black": "^0.1.1",
"ansi-blue": "^0.1.1",
"ansi-bold": "^0.1.1",
"ansi-cyan": "^0.1.1",
"ansi-dim": "^0.1.1",
"ansi-gray": "^0.1.1",
"ansi-green": "^0.1.1",
"ansi-grey": "^0.1.1",
"ansi-hidden": "^0.1.1",
"ansi-inverse": "^0.1.1",
"ansi-italic": "^0.1.1",
"ansi-magenta": "^0.1.1",
"ansi-red": "^0.1.1",
"ansi-reset": "^0.1.1",
"ansi-strikethrough": "^0.1.1",
"ansi-underline": "^0.1.1",
"ansi-white": "^0.1.1",
"ansi-yellow": "^0.1.1",
"lazy-cache": "^2.0.1"
}
},
"ansi-cyan": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
"integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-dim": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-dim/-/ansi-dim-0.1.1.tgz",
"integrity": "sha1-QN5MYDqoCG2Oeoa4/5mNXDbu/Ww=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-gray": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
"integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-green": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-green/-/ansi-green-0.1.1.tgz",
"integrity": "sha1-il2al55FjVfEDjNYCzc5C44Q0Pc=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-grey": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-grey/-/ansi-grey-0.1.1.tgz",
"integrity": "sha1-WdmLasK6GfilF5jphT+6eDOaM8E=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-hidden": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-hidden/-/ansi-hidden-0.1.1.tgz",
"integrity": "sha1-7WpMSY0rt8uyidvyqNHcyFZ/rg8=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-inverse": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-inverse/-/ansi-inverse-0.1.1.tgz",
"integrity": "sha1-tq9Fgm/oJr+1KKbHmIV5Q1XM0mk=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-italic": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-italic/-/ansi-italic-0.1.1.tgz",
"integrity": "sha1-EEdDRj9iXBQqA2c5z4XtpoiYbyM=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-magenta": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-magenta/-/ansi-magenta-0.1.1.tgz",
"integrity": "sha1-BjtboW+z8j4c/aKwfAqJ3hHkMK4=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-red": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
"integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-reset": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-reset/-/ansi-reset-0.1.1.tgz",
"integrity": "sha1-5+cSksPH3c1NYu9KbHwFmAkRw7c=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-strikethrough": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-strikethrough/-/ansi-strikethrough-0.1.1.tgz",
"integrity": "sha1-2Eh3FAss/wfRyT685pkE9oiF5Wg=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-underline": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-underline/-/ansi-underline-0.1.1.tgz",
"integrity": "sha1-38kg9Ml7WXfqFi34/7mIMIqqcaQ=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-white": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-white/-/ansi-white-0.1.1.tgz",
"integrity": "sha1-nHe3wZPF7pkuYBHTbsTJIbRXiUQ=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-wrap": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
"integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768="
},
"ansi-yellow": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-yellow/-/ansi-yellow-0.1.1.tgz",
"integrity": "sha1-y5NW8vRscy8OMZnmEClVp32oPB0=",
"requires": {
"ansi-wrap": "0.1.0"
}
},
"any-promise": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz",
"integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic="
},
"argparse": {
"version": "0.1.16",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
"integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
"requires": {
"underscore": "~1.7.0",
"underscore.string": "~2.4.0"
}
},
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
},
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
},
"array-sort": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/array-sort/-/array-sort-0.1.4.tgz",
"integrity": "sha512-BNcM+RXxndPxiZ2rd76k6nyQLRZr2/B/sdi8pQ+Joafr5AH279L40dfokSUTp8O+AaqYjXWhblBWa2st2nc4fQ==",
"requires": {
"default-compare": "^1.0.0",
"get-value": "^2.0.6",
"kind-of": "^5.0.2"
},
"dependencies": {
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
}
}
},
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
},
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
},
"async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
"integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
"requires": {
"lodash": "^4.17.11"
}
},
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
"autolinker": {
"version": "0.15.3",
"resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.15.3.tgz",
"integrity": "sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI="
},
"axios": {
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz",
"integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=",
"requires": {
"follow-redirects": "^1.2.5",
"is-buffer": "^1.1.5"
}
},
"babel-runtime": {
"version": "5.8.38",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz",
"integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=",
"requires": {
"core-js": "^1.0.0"
}
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"base": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"requires": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
"component-emitter": "^1.2.1",
"define-property": "^1.0.0",
"isobject": "^3.0.1",
"mixin-deep": "^1.2.0",
"pascalcase": "^0.1.1"
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"braces": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"requires": {
"arr-flatten": "^1.1.0",
"array-unique": "^0.3.2",
"extend-shallow": "^2.0.1",
"fill-range": "^4.0.0",
"isobject": "^3.0.1",
"repeat-element": "^1.1.2",
"snapdragon": "^0.8.1",
"snapdragon-node": "^2.0.1",
"split-string": "^3.0.2",
"to-regex": "^3.0.1"
}
},
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"requires": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
"get-value": "^2.0.6",
"has-value": "^1.0.0",
"isobject": "^3.0.1",
"set-value": "^2.0.0",
"to-object-path": "^0.3.0",
"union-value": "^1.0.0",
"unset-value": "^1.0.0"
}
},
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"requires": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
"isobject": "^3.0.0",
"static-extend": "^0.1.1"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
"collection-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"requires": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
}
},
"commander": {
"version": "2.17.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
"optional": true
},
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
"core-js": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
},
"create-frame": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/create-frame/-/create-frame-1.0.0.tgz",
"integrity": "sha1-i5XyaR4ySbYIBEPjPQutn49pdao=",
"requires": {
"define-property": "^0.2.5",
"extend-shallow": "^2.0.1",
"isobject": "^3.0.0",
"lazy-cache": "^2.0.2"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
"csv": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/csv/-/csv-1.2.1.tgz",
"integrity": "sha1-UjHt/BxxUlEuxFeBB2p6l/9SXAw=",
"requires": {
"csv-generate": "^1.1.2",
"csv-parse": "^1.3.3",
"csv-stringify": "^1.1.2",
"stream-transform": "^0.2.2"
}
},
"csv-generate": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-1.1.2.tgz",
"integrity": "sha1-7GsA7a7W5ZrZwgWC9MNk4osUYkA="
},
"csv-parse": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-1.3.3.tgz",
"integrity": "sha1-0c/YdDwvhJoKuy/VRNtWaV0ZpJA="
},
"csv-sniffer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/csv-sniffer/-/csv-sniffer-0.1.1.tgz",
"integrity": "sha1-1kEBdygARhV2e23Oic4gdu+w8Lc="
},
"csv-stringify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-1.1.2.tgz",
"integrity": "sha1-d6QVJlgbzjOA8SsA18W7rHDIK1g=",
"requires": {
"lodash.get": "~4.4.2"
}
},
"d3-time": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/d3-time/-/d3-time-0.2.6.tgz",
"integrity": "sha1-WHVT6eqeBVRi1BnHqpTpR3vhXLA="
},
"d3-time-format": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-0.3.2.tgz",
"integrity": "sha1-nDDpCkB4+T+sFeJ7IBaGVIjAB8E=",
"requires": {
"d3-time": "~0.2.0"
}
},
"date.js": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/date.js/-/date.js-0.3.3.tgz",
"integrity": "sha512-HgigOS3h3k6HnW011nAb43c5xx5rBXk8P2v/WIT9Zv4koIaVXiH2BURguI78VVp+5Qc076T7OR378JViCnZtBw==",
"requires": {
"debug": "~3.1.0"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
}
}
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
"default-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
"integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==",
"requires": {
"kind-of": "^5.0.2"
},
"dependencies": {
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
}
}
},
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"requires": {
"is-descriptor": "^1.0.0"
},
"dependencies": {
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
"integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0="
},
"error-symbol": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/error-symbol/-/error-symbol-0.1.0.tgz",
"integrity": "sha1-Ck2uN9YA0VopukU9jvkg8YRDM/Y="