From 9bf53461c4e27693be3ec8a584dbb216cc14d530 Mon Sep 17 00:00:00 2001 From: jwildfire Date: Thu, 1 Mar 2018 11:27:03 -0800 Subject: [PATCH 01/19] partial example refactor. #81 --- .gitignore | 1 + .../package.json | 15 + package-lock.json | 3587 +++++++++++++++++ package.json | 13 +- scripts/buildExample/indexStub.html | 63 +- scripts/buildExample/makeExampleIndex.js | 2 +- scripts/parseExamples.js | 116 +- util/web/data/examples.js | 716 +--- 8 files changed, 3669 insertions(+), 844 deletions(-) create mode 100644 examples/0007-simple-barchart-webcharts/package.json create mode 100644 package-lock.json diff --git a/.gitignore b/.gitignore index afa3b67..fe97174 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,6 @@ *.RData *.Ruserdata *.svn +*.DS_Store node_modules local diff --git a/examples/0007-simple-barchart-webcharts/package.json b/examples/0007-simple-barchart-webcharts/package.json new file mode 100644 index 0000000..1f91fd2 --- /dev/null +++ b/examples/0007-simple-barchart-webcharts/package.json @@ -0,0 +1,15 @@ +{ + "homepage":"./example.html", + "main": "simpleBarChart.js", + "name": "simple-barchart-webcharts", + "version": "1.0.0", + "description": "This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.", + "author": "Rho, Inc.", + "license": "MIT", + "keywords":["javascript","interactive","bar chart"], + "dependencies": { + "d3": "~3", + "webcharts":"~1" + }, + "dataDependecies":["./OlympicMedals2012.csv"] +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..990f101 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3587 @@ +{ + "name": "viz-library", + "version": "0.6.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + }, + "acorn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz", + "integrity": "sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==", + "dev": true + }, + "acorn-globals": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz", + "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==", + "dev": true, + "requires": { + "acorn": "5.5.0" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "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==", + "dev": true, + "optional": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true, + "optional": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "babel-cli": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", + "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-polyfill": "6.26.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "chokidar": "1.7.0", + "commander": "2.14.1", + "convert-source-map": "1.5.1", + "fs-readdir-recursive": "1.1.0", + "glob": "7.1.2", + "lodash": "4.17.5", + "output-file-sync": "1.1.2", + "path-is-absolute": "1.0.1", + "slash": "1.0.0", + "source-map": "0.5.7", + "v8flags": "2.1.1" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-external-helpers": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", + "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-preset-es2015-rollup": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-es2015-rollup/-/babel-preset-es2015-rollup-1.2.0.tgz", + "integrity": "sha1-/u34A0bgH6ItTeFecs3hzvxZv2c=", + "dev": true, + "requires": { + "babel-plugin-external-helpers": "6.22.0", + "babel-preset-es2015": "6.24.1", + "modify-babel-preset": "2.1.1" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "home-or-tmp": "2.0.0", + "lodash": "4.17.5", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.5" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.3", + "lodash": "4.17.5" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "bignumber.js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", + "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true, + "optional": true + }, + "bmp-js": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", + "integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=", + "dev": true + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "optional": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "browser-process-hrtime": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz", + "integrity": "sha1-Ql1opY00R/AqBKqJQYf86K+Le44=", + "dev": true + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "optional": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "content-type-parser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "cssom": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", + "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, + "requires": { + "cssom": "0.3.2" + } + }, + "csvtojson": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/csvtojson/-/csvtojson-1.1.9.tgz", + "integrity": "sha1-5kGucve8L6P5qvEn4CH8iUR8HNE=", + "dev": true, + "requires": { + "lodash": "4.17.5", + "strip-bom": "1.0.0" + } + }, + "d3": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", + "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "4.0.2" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "estree-walker": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "optional": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "optional": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "optional": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "for-each": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", + "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", + "dev": true, + "requires": { + "is-function": "1.0.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "optional": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "optional": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.9.2", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "optional": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dev": true, + "requires": { + "min-document": "2.19.0", + "process": "0.5.2" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "1.0.3" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "invariant": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", + "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "ip-regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", + "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true, + "optional": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "optional": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "optional": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true, + "optional": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true, + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "optional": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jimp": { + "version": "0.2.28", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz", + "integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=", + "dev": true, + "requires": { + "bignumber.js": "2.4.0", + "bmp-js": "0.0.3", + "es6-promise": "3.3.1", + "exif-parser": "0.1.12", + "file-type": "3.9.0", + "jpeg-js": "0.2.0", + "load-bmfont": "1.3.0", + "mime": "1.6.0", + "mkdirp": "0.5.1", + "pixelmatch": "4.0.2", + "pngjs": "3.3.2", + "read-chunk": "1.0.1", + "request": "2.83.0", + "stream-to-buffer": "0.1.0", + "tinycolor2": "1.4.1", + "url-regex": "3.2.0" + } + }, + "jpeg-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", + "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsdom": { + "version": "11.6.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.6.2.tgz", + "integrity": "sha512-pAeZhpbSlUp5yQcS6cBQJwkbzmv4tWFaYxHbFVSxzXefqjvtRA851Z5N2P+TguVG9YeUDcgb8pdeVQRJh0XR3Q==", + "dev": true, + "requires": { + "abab": "1.0.4", + "acorn": "5.5.0", + "acorn-globals": "4.1.0", + "array-equal": "1.0.0", + "browser-process-hrtime": "0.1.2", + "content-type-parser": "1.0.2", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "domexception": "1.0.1", + "escodegen": "1.9.1", + "html-encoding-sniffer": "1.0.2", + "left-pad": "1.2.0", + "nwmatcher": "1.4.3", + "parse5": "4.0.0", + "pn": "1.1.0", + "request": "2.83.0", + "request-promise-native": "1.0.5", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.4", + "w3c-hr-time": "1.0.1", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.3", + "whatwg-url": "6.4.0", + "ws": "4.1.0", + "xml-name-validator": "3.0.0" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "left-pad": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.2.0.tgz", + "integrity": "sha1-0wpzxrggHY99jnlWupYWCHpo4O4=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "load-bmfont": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.3.0.tgz", + "integrity": "sha1-u358cQ3mvK/LE8s7jIHgwBMey8k=", + "dev": true, + "requires": { + "buffer-equal": "0.0.1", + "mime": "1.6.0", + "parse-bmfont-ascii": "1.0.6", + "parse-bmfont-binary": "1.0.6", + "parse-bmfont-xml": "1.1.3", + "xhr": "2.4.1", + "xtend": "4.0.1" + } + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "0.1.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "modify-babel-preset": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/modify-babel-preset/-/modify-babel-preset-2.1.1.tgz", + "integrity": "sha1-LTGQFi7mL7Z6qjMlwkLwJjIuu6w=", + "dev": true, + "requires": { + "require-relative": "0.8.7" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "nan": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz", + "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==", + "dev": true, + "optional": true + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwmatcher": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", + "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "optional": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "object-assign": "4.1.1" + } + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=", + "dev": true + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=", + "dev": true + }, + "parse-bmfont-xml": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.3.tgz", + "integrity": "sha1-1rZqNxr9OcUAfZ8O6yYqTyzOe3w=", + "dev": true, + "requires": { + "xml-parse-from-string": "1.0.1", + "xml2js": "0.4.19" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "optional": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-headers": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "dev": true, + "requires": { + "for-each": "0.3.2", + "trim": "0.0.1" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "dev": true, + "requires": { + "pngjs": "3.3.2" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "pngjs": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.2.tgz", + "integrity": "sha512-bVNd3LMXRzdo6s4ehr4XW2wFMu9cb40nPgHEjSSppm8/++Xc+g0b2QQb+SeDesgfANXbjydOr1or9YQ+pcCZPQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true, + "optional": true + }, + "prettier": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.11.1.tgz", + "integrity": "sha512-T/KD65Ot0PB97xTrG8afQ46x3oiVhnfGjGESSI9NWYcG92+OUPZKkwHqGWXH2t9jK1crnQjubECW0FuOth+hxw==", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true, + "optional": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "optional": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "read-chunk": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", + "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=", + "dev": true + }, + "readable-stream": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", + "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.4", + "set-immediate-shim": "1.0.1" + } + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "optional": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "optional": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "dev": true, + "requires": { + "lodash": "4.17.5" + } + }, + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "dev": true, + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "1.1.1", + "tough-cookie": "2.3.4" + } + }, + "require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", + "dev": true + }, + "rollup": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz", + "integrity": "sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "minimist": "1.2.0", + "source-map-support": "0.3.3" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "source-map-support": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", + "integrity": "sha1-NJAJd9W6PwfHdX7nLnO7GptTdU8=", + "dev": true, + "requires": { + "source-map": "0.1.32" + } + } + } + }, + "rollup-plugin-babel": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-2.7.1.tgz", + "integrity": "sha1-FlKBl7D5OKFTb0RoPHqT1XMYL1c=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "object-assign": "4.1.1", + "rollup-pluginutils": "1.5.2" + } + }, + "rollup-pluginutils": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", + "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "dev": true, + "requires": { + "estree-walker": "0.2.1", + "minimatch": "3.0.4" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true, + "optional": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-to": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", + "integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=", + "dev": true + }, + "stream-to-buffer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", + "integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=", + "dev": true, + "requires": { + "stream-to": "0.2.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", + "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", + "dev": true, + "requires": { + "first-chunk-stream": "1.0.0", + "is-utf8": "0.2.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "dev": true + } + } + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "url-regex": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", + "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", + "dev": true, + "requires": { + "ip-regex": "1.0.3" + } + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "optional": true + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "1.1.1" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "0.1.2" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", + "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.19" + } + }, + "whatwg-url": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.4.0.tgz", + "integrity": "sha512-Z0CVh/YE217Foyb488eo+iBv+r7eAQ0wSTyApi9n06jhcA3z6Nidg/EGvl0UFkg7kMdKxfBzzr+o9JF+cevgMg==", + "dev": true, + "requires": { + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.1" + } + }, + "xhr": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.1.tgz", + "integrity": "sha512-pAIU5vBr9Hiy5cpFIbPnwf0C18ZF86DBsZKrlsf87N5De/JbA6RJ83UP/cv+aljl4S40iRVMqP4pr4sF9Dnj0A==", + "dev": true, + "requires": { + "global": "4.3.2", + "is-function": "1.0.1", + "parse-headers": "2.0.1", + "xtend": "4.0.1" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=", + "dev": true + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dev": true, + "requires": { + "sax": "1.2.4", + "xmlbuilder": "9.0.7" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } +} diff --git a/package.json b/package.json index d7aff6c..3a89057 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,12 @@ "description": "Examples of statistical graphics created at Rho", "main": "./index.html", "scripts": { - "build":"npm run scrape-all && npm run build-web", + "build": "npm run scrape-all && npm run build-web", "build-web": "npm run format && rollup -c ./scripts/rollup.config.js | babel > ./util/web/build/vizLibrary.js", "format": "prettier --write \"./scripts/**/*.js\" && prettier --write \"./util/**/*.js\"", - "scrape-all":"npm run scrape-examples && npm run scrape-dataFiles", - "scrape-examples":"node ./scripts/parseExamples", - "scrape-dataFiles":"node ./scripts/buildDataList/parseDataFiles.js", + "scrape-all": "npm run scrape-examples && npm run scrape-dataFiles", + "scrape-examples": "node ./scripts/parseExamples", + "scrape-dataFiles": "node ./scripts/buildDataList/parseDataFiles.js", "test": "node ./testing/test.js" }, "author": "Rho, Inc.", @@ -19,11 +19,12 @@ }, "devDependencies": { "jimp": "^0.2.27", + "jsdom": "~11", "babel-cli": "^6.5.1", "babel-preset-es2015-rollup": "^1.1.1", "rollup": "^0.25.3", "rollup-plugin-babel": "^2.3.9", - "csvtojson":"~1", - "prettier":"~1" + "csvtojson": "~1", + "prettier": "~1" } } diff --git a/scripts/buildExample/indexStub.html b/scripts/buildExample/indexStub.html index a0c391f..34535e2 100644 --- a/scripts/buildExample/indexStub.html +++ b/scripts/buildExample/indexStub.html @@ -1,52 +1,29 @@ - + - - - - - -
- - 🏠 - - -

- -
-
-
- -
+
+ + + +
+
- diff --git a/scripts/buildExample/makeExampleIndex.js b/scripts/buildExample/makeExampleIndex.js index d07df19..8f51b9c 100644 --- a/scripts/buildExample/makeExampleIndex.js +++ b/scripts/buildExample/makeExampleIndex.js @@ -33,7 +33,7 @@ exports.makeExampleIndex = function(ex) { var fs = require("fs"), d3 = require("d3"), jsdom = require("jsdom"), - showdown = require("showdown"); + //showdown = require("showdown"); var stub = fs .readFileSync("./scripts/buildExample/indexStub.html") diff --git a/scripts/parseExamples.js b/scripts/parseExamples.js index 8405699..07a26b4 100644 --- a/scripts/parseExamples.js +++ b/scripts/parseExamples.js @@ -14,95 +14,62 @@ var examples = fs return { dir: f }; }); -//regex expressions to look for in readme -var chartAttributes = [ - { value: "title", regex: /^\*\*Title:\*\*/ }, - { value: "languages", regex: /^\*\*Languages:\*\*/ }, - { value: "libraries", regex: /^\*\*Libraries:\*\*/ }, - { value: "description", regex: /^\*\*Description:\*\*/ }, - { value: "data", regex: /^\*\*Data:\*\*/ }, - { value: "code", regex: /^\*\*Code:\*\*/ }, - { value: "results", regex: /^\*\*Results:\*\*/ }, - { value: "tags", regex: /^\*\*Tags:\*\*/ } -]; - +/* parse each example */ examples.forEach(function(ex) { - ////get list of files//// + /**************************** + *** File/path management + *****************************/ ex.files = fs.readdirSync(exampleRoot + "/" + ex.dir).filter(function(f) { return f.charAt(0) != "."; }); ////get paths of required files//// ex.paths = {}; + ex.paths.root = exampleRoot + "/" + ex.dir + "/"; //root path + ex.paths.index = "index.html"; + ex.paths.thumb = "thumb.png"; - //root path - ex.paths.root = exampleRoot + "/" + ex.dir + "/"; + /**************************** + *** Pull package.json into an object, do some error checking and create index.html + *****************************/ - //readme.md - var readmeN = ex.files + var packageN = ex.files .map(function(f) { return f.toLowerCase(); }) - .indexOf("readme.md"); - ex.paths.readme = readmeN > -1 ? ex.files[readmeN] : null; - - //index.html - ex.paths.index = "index.html"; - - //thumb.png - ex.paths.thumb = "thumb.png"; - - //get readme.md text - ex.readme = {}; + .indexOf("package.json"); - //Pull in the raw readme data and look for attributes - if (ex.paths.readme) { + ex.paths.package = packageN > -1 ? ex.files[packageN] : null; + if (ex.paths.package) { var lines = fs - .readFileSync(ex.paths.root + ex.paths.readme, "utf8") + .readFileSync(ex.paths.root + ex.paths.package, "utf8") .toString() - .split("\n"); - - //look for chart attributes in the readme - chartAttributes.forEach(function(c) { - var attrMatch = lines.filter(function(line) { - return c.regex.test(line); - }); - ex[c.value] = - attrMatch.length == 1 - ? attrMatch[0].match(/([^(**)]+$)/)[0].trim() - : null; - }); - - //parse langauges and libraries to arrays - ex.langages = ex.languages.split(",").map(d => d.trim()); - ex.libraries = ex.libraries.split(",").map(d => d.trim()); - } - - // - ////get paths of data and code//// - ex.paths.data = ex.data; - ex.paths.code = ex.code; - - //example - var webExampleN = ex.files - .map(function(f) { - return f.toLowerCase(); + ex.package = JSON.parse(lines) + + //make sure that required fields are found + var requiredProperties = ["homepage","main","name","version"] + requiredProperties.forEach(function(p){ + if(!ex.package[p]){ + console.error("ERROR: Can't create index.html "+ex.paths.root+" since `"+p+"` is missing in package.json." ) + return + } }) - .indexOf("example.html"); - var imgExampleN = ex.files - .map(function(f) { - return f.toLowerCase(); - }) - .indexOf("example.png"); + //make sure that main isn't set to index.html + if(ex.package["main"].toLowerCase() == "index.html"){ + console.error("ERROR: Can't create index.html "+ex.paths.root+" since `main` is set to index.html." ) + return + } - ex.paths.example = ex.results - ? ex.results - : webExampleN > -1 - ? ex.files[webExampleN] - : imgExampleN > -1 ? ex.files[imgExampleN] : null; + //create index.html for the example + makeindex.makeExampleIndex(ex) + }else{ + console.error("ERROR: Can't create index.html "+ex.paths.root+" since no package.json was found." ) + } - //Make thumbnails + /**************************** + *** Make thumbnails + *****************************/ var imgs = ex.files .map(function(f) { return f.toLowerCase(); @@ -128,15 +95,6 @@ examples.forEach(function(ex) { .write(thumbFile); // save }); } - - //Make example pages (unless readme says not to) - var makeIndexRegex = /(\[comment\]: <> \(---NO AUTO INDEX---\))/; - var makeIndexLines = lines.filter(function(line) { - return makeIndexRegex.test(line); - }); - ex.makeIndex = makeIndexLines.length == 0; - - if (ex.makeIndex) makeindex.makeExampleIndex(ex); }); //write examples to disk diff --git a/util/web/data/examples.js b/util/web/data/examples.js index cd1cfb9..1c0c160 100644 --- a/util/web/data/examples.js +++ b/util/web/data/examples.js @@ -1,715 +1 @@ -var examples = [ - { - dir: "0001-density-lattice", - files: [ - "0001-density-lattice.png", - "0001-density-lattice.R", - "0001-density-lattice_thumb.png", - "index.html", - "README.md", - "thumb.png" - ], - paths: { - root: "./examples/0001-density-lattice/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/ChickWeight.csv", - code: "0001-density-lattice.R", - example: "0001-density-lattice.png" - }, - readme: {}, - title: "Density Plot", - languages: "R", - libraries: ["lattice"], - description: - "Customized density plot created using lattice combining paneling, grouping, custom annotations and some simple data manipulation.", - data: "../../data/ChickWeight.csv", - code: "0001-density-lattice.R", - results: "0001-density-lattice.png", - tags: "density plot, lattice, r, groups, means, annotated, faceted", - langages: ["R"], - makeIndex: true - }, - { - dir: "0002-dotplot-ggplot", - files: [ - "0002-dotplot-ggplot.png", - "0002-dotplot-ggplot.R", - "index.html", - "README.md", - "thumb.png" - ], - paths: { - root: "./examples/0002-dotplot-ggplot/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/discrete_scores.csv", - code: "0002-dotplot-ggplot.R", - example: "0002-dotplot-ggplot.png" - }, - readme: {}, - title: "Stacked Dot Plot #1", - languages: "R", - libraries: ["ggplot2"], - description: - "Stacked dot plot created using ggplot2 combining paneling, custom annotations and some simple data manipulation.", - data: "../../data/discrete_scores.csv", - code: "0002-dotplot-ggplot.R", - results: "0002-dotplot-ggplot.png", - tags: - "dotplot, r, ggplot2, facet, median, highlight, stack points, discrete", - langages: ["R"], - makeIndex: true - }, - { - dir: "0003-dotplot-lattice", - files: [ - "0003-dotplot-lattice.png", - "0003-dotplot-lattice.R", - "0003-dotplot-lattice_tags.txt", - "index.html", - "README.md", - "thumb.png" - ], - paths: { - root: "./examples/0003-dotplot-lattice/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/discrete_scores.csv", - code: "0003-dotplot-lattice.R", - example: "0003-dotplot-lattice.png" - }, - readme: {}, - title: "Stacked Dot Plot #2", - languages: "R", - libraries: ["lattice"], - description: - 'Stacked dot plot created using ggplot2 combining paneling, custom annotations and simple data manipulation. Similar to this example made with lattice.', - data: "../../data/discrete_scores.csv", - code: "0003-dotplot-lattice.R", - results: "0003-dotplot-lattice.png", - tags: - "dotplot, r, lattice, facet, median, highlight, stack points, discrete", - langages: ["R"], - makeIndex: true - }, - { - dir: "0004-pirateplot-yarrr", - files: [ - "0004-pirateplot-yarrr.png", - "0004-pirateplot-yarrr.R", - "0004-pirateplot-yarrr_tags.txt", - "index.html", - "README.md", - "thumb.png" - ], - paths: { - root: "./examples/0004-pirateplot-yarrr/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: - "https://vincentarelbundock.github.io/Rdatasets/csv/datasets/chickwts.csv", - code: "0004-pirateplot-yarrr.R", - example: "0004-pirateplot-yarrr.png" - }, - readme: {}, - title: "Pirate plot using Yarrr", - languages: "R", - libraries: ["yarrr"], - description: - "Combines a box-and-whisker plot with overlaid density plots to show clear comparisons of distributions across groups; a good choice for displaying the relationship between 1 or two categorical independent variables, and one continuous dependent variable.", - data: - "https://vincentarelbundock.github.io/Rdatasets/csv/datasets/chickwts.csv", - code: "0004-pirateplot-yarrr.R", - results: "0004-pirateplot-yarrr.png", - tags: "pirateplot, boxplot, density plot, violin plot", - langages: ["R"], - makeIndex: true - }, - { - dir: "0005-unemploy-mvtsplot", - files: [ - "0005-unemploy-mvtsplot.png", - "0005-unemploy-mvtsplot.R", - "blsunemployment.csv", - "index.html", - "README.md", - "thumb.png" - ], - paths: { - root: "./examples/0005-unemploy-mvtsplot/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "Precipitations.csv", - code: "0005-unemploy-mvtsplot.R", - example: "0005-unemploy-mvtsplot.png" - }, - readme: {}, - title: "Unemployment Trends with a Multivariate Time Series", - languages: "R", - libraries: ["mvtsplot"], - description: - "Mutivariate time series plot using MVTSPLOT package and Unemployment data", - data: "Precipitations.csv", - code: "0005-unemploy-mvtsplot.R", - results: "0005-unemploy-mvtsplot.png", - tags: "multivariate, time series, heatmap, monthly", - langages: ["R"], - makeIndex: true - }, - { - dir: "0006-precip-levelplot-lattice", - files: [ - "0006-precip-levelplot-lattice.png", - "0006-precip-levelplot-lattice.R", - "index.html", - "Precipitations.csv", - "README.md", - "thumb.png" - ], - paths: { - root: "./examples/0006-precip-levelplot-lattice/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "blsunemployment.csv", - code: "0006-precip-levelplot-lattice.R", - example: "0006-precip-levelplot-lattice.png" - }, - readme: {}, - title: "Orderered Precipitation Heatmap", - languages: "R", - libraries: ["lattice"], - description: - "Heatmap with ordered columns and rows using monthly precipitation data", - data: "blsunemployment.csv", - code: "0006-precip-levelplot-lattice.R", - results: "0006-precip-levelplot-lattice.png", - tags: "Ordered, heatmap, annotation", - langages: ["R"], - makeIndex: true - }, - { - dir: "0007-simple-barchart-webcharts", - files: [ - "example.html", - "index.html", - "OlympicMedals2012.csv", - "README.md", - "simpleBarChart.js", - "thumb.png" - ], - paths: { - root: "./examples/0007-simple-barchart-webcharts/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "OlympicMedals2012.csv", - code: "simpleBarChart.js", - example: "example.html" - }, - readme: {}, - title: "Simple Interactive Bar Chart", - languages: "javascript", - libraries: ["webcharts"], - description: - "This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.", - data: "OlympicMedals2012.csv", - code: "simpleBarChart.js", - results: null, - tags: "interactive, bar chart", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0008-safetyExplorer-default", - files: [ - "ae-table", - "ae-timelines", - "chart.html", - "index.html", - "README.md", - "safety-histogram", - "safety-outlier-explorer", - "safety-results-over-time", - "safety-shift-plot", - "safetyExplorer.css", - "thumb.png", - "timeline.png" - ], - paths: { - root: "./examples/0008-safetyExplorer-default/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/safetyData/", - code: "ae-table/index.html", - example: "ae-table/index.html" - }, - readme: {}, - title: "Safety Explorer - Default Configuration", - languages: "javascript", - libraries: [ - "webcharts", - "safety-histogram", - "safety-results-over-time", - "safety-shift-plot", - "safety-outlier-explorer", - "ae-timeline", - "ae-explorer" - ], - description: - "The safety explorer is a collection of interactive graphics visualizing adverse event, lab, and vital sign data captured in clinical trials. This instance demonstrates each graphic with default settings.", - data: "../../data/safetyData/", - code: "ae-table/index.html", - results: "ae-table/index.html", - tags: "interactive, webcharts, adverse events, safety explorer", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0009-web-codebook-demo", - files: [ - "example.html", - "GitHub-Mark-32px.png", - "index.html", - "README.md", - "screen.PNG", - "thumb.PNG", - "webCodebookDemo.js" - ], - paths: { - root: "./examples/0009-web-codebook-demo/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/safetyData/", - code: "webCodebookDemo.js", - example: "example.html" - }, - readme: {}, - title: "Web Codebook Demo", - languages: "javascript", - libraries: ["web-codebook"], - description: - "Demonstration of the web-based data summaries using web-codebook.", - data: "../../data/safetyData/", - code: "webCodebookDemo.js", - results: "example.html", - tags: "interactive, codebook", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0010-spike-histogram", - files: [ - "example.html", - "index.html", - "paneledSpikeHistogram.js", - "README.md", - "spikeHistogram.js", - "thumb.png" - ], - paths: { - root: "./examples/0010-spike-histogram/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/safetyData/", - code: "paneledSpikeHistogram.js", - example: "example.html" - }, - readme: {}, - title: "Spike Histogram Demo", - languages: "javascript", - libraries: ["spike-histogram"], - description: - "Demonstration of a web-based spike histogram with paneling capability and modals.", - data: "../../data/safetyData/", - code: "paneledSpikeHistogram.js", - results: "example.html", - tags: "interactive, histogram, spike", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0011-safetyExplorer-queries", - files: [ - "ae-table", - "ae-timelines", - "chart.html", - "index.html", - "README.md", - "safety-histogram", - "safety-outlier-explorer", - "safety-results-over-time", - "safety-shift-plot", - "safetyExplorer.css", - "screenshot.png", - "thumb.png" - ], - paths: { - root: "./examples/0011-safetyExplorer-queries/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/safetyData-queries/", - code: "ae-table/index.html", - example: "ae-table/index.html" - }, - readme: {}, - title: "Safety Explorer with Query Data", - languages: "javascript", - libraries: [ - "webcharts", - "safety-histogram", - "safety-results-over-time", - "safety-shift-plot", - "safety-outlier-explorer", - "ae-timeline", - "ae-explorer" - ], - description: - "The safety explorer is a collection of interactive graphics visualizing adverse event, lab, and vital sign data captured in clinical trials. This instance demonstrates customized versions of each graphic including added filters and/or highlights for query data.", - data: "../../data/safetyData-queries/", - code: "ae-table/index.html", - results: "ae-table/index.html", - tags: "interactive, webcharts, adverse events, safety explorer, queries", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0012-web-codebook-explorer", - files: [ - "example.html", - "GitHub-Mark-32px.png", - "index.html", - "README.md", - "screen.png", - "thumb.png" - ], - paths: { - root: "./examples/0012-web-codebook-explorer/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/safetyData/", - code: "example.html", - example: "example.html" - }, - readme: {}, - title: "Web Codebook Explorer", - languages: "javascript", - libraries: ["web-codebook"], - description: - "Demonstration of the web-based data summaries using web-codebook.", - data: "../../data/safetyData/", - code: "example.html", - results: "example.html", - tags: "interactive, codebook", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0013-query-overview", - files: [ - "example.html", - "GitHub-Mark-32px.png", - "index.html", - "README.md", - "screen.png", - "thumb.png", - "webCodebookExplorer.js" - ], - paths: { - root: "./examples/0013-query-overview/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/queries/queries.csv", - code: "example.html", - example: "example.html" - }, - readme: {}, - title: "Query Overview", - languages: "javascript", - libraries: ["query-overview"], - description: - "Explorer clinical trial query data using the query-overview library.", - data: "../../data/queries/queries.csv", - code: "example.html", - results: "example.html", - tags: "interactive, queries", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0015-safety-explorer-single-page", - files: [ - "example.html", - "index.html", - "README.md", - "Screenshot.png", - "thumb.png" - ], - paths: { - root: "./examples/0015-safety-explorer-single-page/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/safetyData-queries/", - code: "example.html", - example: "example.html" - }, - readme: {}, - title: "Safety Explorer Suite - Single Page", - languages: "javascript", - libraries: [ - "safety-explorer-suite", - "webcharts", - "safety-histogram", - "safety-results-over-time", - "safety-shift-plot", - "safety-outlier-explorer", - "ae-timeline", - "ae-explorer" - ], - description: - "Example of the safety explorer suite, a simple framework combining 6 interactive safety charts in to a single page.", - data: "../../data/safetyData-queries/", - code: "example.html", - results: "example.html", - tags: "interactive, queries", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0016-safety-outlier-explorer-hys-law", - files: [ - "example.html", - "hy.csv", - "index.html", - "README.md", - "screen.png", - "thumb.png" - ], - paths: { - root: "./examples/0016-safety-outlier-explorer-hys-law/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "hy.csv", - code: "example.html", - example: "example.html" - }, - readme: {}, - title: "Safety Outlier Explorer - Hy's Law", - languages: "javascript", - libraries: ["webcharts", "safety-outlier-explorer"], - description: - "Example of the safety outlier explorer chart for a small mock study where a single participant meets the criteria for Hy's law.", - data: "hy.csv", - code: "example.html", - results: "example.html", - tags: "interactive, queries", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0017-population-explorer", - files: [ - "example.html", - "index.html", - "primary_outcome_determination_24NOV.csv", - "README.md", - "screen.png", - "thumb.png" - ], - paths: { - root: "./examples/0017-population-explorer/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "primary_outcome_determination_24NOV.csv", - code: "example.html", - example: "example.html" - }, - readme: {}, - title: "Population Explorer for LEAP and LEAP-ON", - languages: "javascript", - libraries: ["population explorer"], - description: - "Example of the population explorer graphic using public data from the LEAP and LEAP-on Clinical Trials.", - data: "primary_outcome_determination_24NOV.csv", - code: "example.html", - results: "example.html", - tags: "interactive, data explorer", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0018-scatter-plot-matrix", - files: [ - "example.html", - "index.html", - "index.js", - "README.md", - "scatterPlotMatrix.js", - "screen.png", - "thumb.png" - ], - paths: { - root: "./examples/0018-scatter-plot-matrix/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: - "../../data/iris.csv, ../../data/safetyData/VS.csv, ../0016-safety-outlier-explorer-hys-law/hy.csv", - code: "index.js", - example: "example.html" - }, - readme: {}, - title: "Interactive Scatter Plot Lattice with Vital Signs Data", - languages: "javascript", - libraries: ["scatterPlotMatrix"], - description: - "A paneled series of scatter plots plotting every measure against every other measure", - data: - "../../data/iris.csv, ../../data/safetyData/VS.csv, ../0016-safety-outlier-explorer-hys-law/hy.csv", - code: "index.js", - results: "example.html", - tags: "interactive, scatter plot, lattice, matrix, bivariate", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0019-paneled-outlier-explorer", - files: [ - "example.html", - "index.html", - "README.md", - "screen.png", - "thumb.png" - ], - paths: { - root: "./examples/0019-paneled-outlier-explorer/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/safetyData/ADBDS.csv", - code: "example.html", - example: "example.html" - }, - readme: {}, - title: "Brushable paneled outlier explorer", - languages: "javascript", - libraries: ["webCharts"], - description: - "Example of the a brushable paneled outlier explorer that allows brushing of lines and points", - data: "../../data/safetyData/ADBDS.csv", - code: "example.html", - results: "example.html", - tags: "interactive, outlier explorer, brushable, paneled", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0020-webcharts-table", - files: [ - "example.html", - "index.html", - "README.md", - "Screen Shot 2017-09-19 at 8.12.29 AM.png", - "simpleTable.js", - "thumb.png", - "xlsx.full.min.js" - ], - paths: { - root: "./examples/0020-webcharts-table/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "elements.csv", - code: "simpleTable.js", - example: "example.html" - }, - readme: {}, - title: "Webcharts Table", - languages: "javascript", - libraries: ["webcharts"], - description: - "This is a simple listing of elemental data. Created using the improved table functionality in webcharts v1.9.0", - data: "elements.csv", - code: "simpleTable.js", - results: null, - tags: "interactive, table", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0021-webcharts-destroy-table", - files: [ - "example.html", - "index.html", - "README.md", - "Screen Shot 2017-09-21 at 8.25.55 AM.png", - "thumb.png" - ], - paths: { - root: "./examples/0021-webcharts-destroy-table/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "elements.csv", - code: "example.html", - example: "example.html" - }, - readme: {}, - title: "Destroy a Webcharts Table", - languages: "javascript", - libraries: ["webcharts"], - description: ".", - data: "elements.csv", - code: "example.html", - results: null, - tags: "interactive, table, destroy", - langages: ["javascript"], - makeIndex: true - }, - { - dir: "0022-clinical-timelines", - files: [ - "example.html", - "GitHub-Mark-32px.png", - "index.html", - "README.md", - "screen.png", - "thumb.png" - ], - paths: { - root: "./examples/0022-clinical-timelines/", - readme: "README.md", - index: "index.html", - thumb: "thumb.png", - data: "../../data/safetyData/ADTIMELINES.csv", - code: "example.html", - example: "example.html" - }, - readme: {}, - title: "Clinical Timelines", - languages: "javascript", - libraries: ["clinical-timelines"], - description: "Explorer clinical timelines by participant", - data: "../../data/safetyData/ADTIMELINES.csv", - code: "example.html", - results: "example.html", - tags: "interactive, timelines, clinical trials", - langages: ["javascript"], - makeIndex: true - } -]; +var examples =[{"dir":"0001-density-lattice","files":["0001-density-lattice.R","0001-density-lattice.png","0001-density-lattice_thumb.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0001-density-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0002-dotplot-ggplot","files":["0002-dotplot-ggplot.R","0002-dotplot-ggplot.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0002-dotplot-ggplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0003-dotplot-lattice","files":["0003-dotplot-lattice.R","0003-dotplot-lattice.png","0003-dotplot-lattice_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0003-dotplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0004-pirateplot-yarrr","files":["0004-pirateplot-yarrr.R","0004-pirateplot-yarrr.png","0004-pirateplot-yarrr_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0004-pirateplot-yarrr/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0005-unemploy-mvtsplot","files":["0005-unemploy-mvtsplot.R","0005-unemploy-mvtsplot.png","README.md","blsunemployment.csv","index.html","thumb.png"],"paths":{"root":"./examples/0005-unemploy-mvtsplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0006-precip-levelplot-lattice","files":["0006-precip-levelplot-lattice.R","0006-precip-levelplot-lattice.png","Precipitations.csv","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0006-precip-levelplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0007-simple-barchart-webcharts","files":["OlympicMedals2012.csv","README.md","example.html","index.html","package.json","simpleBarChart.js","thumb.png"],"paths":{"root":"./examples/0007-simple-barchart-webcharts/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"./example.html","main":"simpleBarChart.js","name":"simple-barchart-webcharts","version":"1.0.0","description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","bar chart"],"dependencies":{"d3":"~3","webcharts":"~1"},"dataDependecies":["./OlympicMedals2012.csv"]}},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file From ae81f4baecf94b7048c31e8e26f7e4944ebe7e04 Mon Sep 17 00:00:00 2001 From: jwildfire Date: Sun, 4 Mar 2018 02:20:26 -0800 Subject: [PATCH 02/19] basic refactor infrastructure complete. #81 --- .../example.html | 5 +- .../0007-simple-barchart-webcharts/index.html | 81 +++---- .../package.json | 5 +- .../simpleBarChart.js | 2 +- scripts/buildExample/exampleHeaderStub.html | 28 +++ scripts/buildExample/indexStub.html | 20 -- scripts/buildExample/makeExampleIndex.js | 217 ++++++------------ util/web/css/examples.css | 137 +++++------ util/web/css/viz-library.css | 12 + util/web/data/examples.js | 2 +- 10 files changed, 215 insertions(+), 294 deletions(-) create mode 100644 scripts/buildExample/exampleHeaderStub.html diff --git a/examples/0007-simple-barchart-webcharts/example.html b/examples/0007-simple-barchart-webcharts/example.html index c7f1126..72d3a39 100644 --- a/examples/0007-simple-barchart-webcharts/example.html +++ b/examples/0007-simple-barchart-webcharts/example.html @@ -8,7 +8,8 @@ - + +
- \ No newline at end of file + diff --git a/examples/0007-simple-barchart-webcharts/index.html b/examples/0007-simple-barchart-webcharts/index.html index af537e9..c42e6f8 100644 --- a/examples/0007-simple-barchart-webcharts/index.html +++ b/examples/0007-simple-barchart-webcharts/index.html @@ -1,52 +1,43 @@ - - Simple Interactive Bar Chart - - - - - - - +Webcharts - Simple Bar Chart + - -
- - 🏠 - - -

Simple Interactive Bar Chart

- -
This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.View README.md.
-
-
- -
-
+ - + + + +
+ +
    +
  • +
  • Graphics
  • +
  • Example
  • +
  • Simple Barchart Webcharts
  • +
  • +
+ + +
- d3.select(".viz-example-details .close").on("click",function(){ - d3.select(".viz-example-details").classed("hidden",true) - }) +
- d3.select(".expandDetails").on("click",function(){ - d3.select(".viz-example-details").classed("hidden",false) - }) - + \ No newline at end of file diff --git a/examples/0007-simple-barchart-webcharts/package.json b/examples/0007-simple-barchart-webcharts/package.json index 1f91fd2..32db349 100644 --- a/examples/0007-simple-barchart-webcharts/package.json +++ b/examples/0007-simple-barchart-webcharts/package.json @@ -1,7 +1,8 @@ { - "homepage":"./example.html", + "homepage":"example.html", "main": "simpleBarChart.js", "name": "simple-barchart-webcharts", + "label":"Simple Barchart (webcharts)", "version": "1.0.0", "description": "This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.", "author": "Rho, Inc.", @@ -11,5 +12,5 @@ "d3": "~3", "webcharts":"~1" }, - "dataDependecies":["./OlympicMedals2012.csv"] + "dataDependecies":["OlympicMedals2012.csv"] } diff --git a/examples/0007-simple-barchart-webcharts/simpleBarChart.js b/examples/0007-simple-barchart-webcharts/simpleBarChart.js index 54a148a..f986265 100644 --- a/examples/0007-simple-barchart-webcharts/simpleBarChart.js +++ b/examples/0007-simple-barchart-webcharts/simpleBarChart.js @@ -21,7 +21,7 @@ var settings = { gridlines: "x" }; -var medalChart = webCharts.createChart("body", settings); +var medalChart = webCharts.createChart(".chart", settings); d3.csv("OlympicMedals2012.csv", function(error, data) { //just keep the countries with the 10 most medals diff --git a/scripts/buildExample/exampleHeaderStub.html b/scripts/buildExample/exampleHeaderStub.html new file mode 100644 index 0000000..610c17e --- /dev/null +++ b/scripts/buildExample/exampleHeaderStub.html @@ -0,0 +1,28 @@ +
+ + + + +
diff --git a/scripts/buildExample/indexStub.html b/scripts/buildExample/indexStub.html index 34535e2..825e32c 100644 --- a/scripts/buildExample/indexStub.html +++ b/scripts/buildExample/indexStub.html @@ -3,27 +3,7 @@ - -
- - - -
diff --git a/scripts/buildExample/makeExampleIndex.js b/scripts/buildExample/makeExampleIndex.js index 8f51b9c..7ad3ee1 100644 --- a/scripts/buildExample/makeExampleIndex.js +++ b/scripts/buildExample/makeExampleIndex.js @@ -1,153 +1,88 @@ /* - -Create an index.html file for a given example +This function create an index.html file for a given example Input: an Example Object created by parseExamples.js Output: an index.html file saved in the example folder - */ -/* -var exampleRoot = "./examples" -var sampleExample = { - "dir":"0007-simple-barchart-webcharts", - "files":[ - "OlympicMedals2012.csv", - "README.md", - "example.html", - "simpleBarChart.js", - "thumb.png", - "thumbnail.png" - ], - "readme":{"index":1,"path":"./examples/0007-simple-barchart-webcharts/README.md"}, - "code":{"path":"./examples/0007-simple-barchart-webcharts/simpleBarChart.js"}, - "index":{"path":"./examples/0007-simple-barchart-webcharts/index.html"}, - "title":"Simple Interactive Bar Chart", - "languages":"javascript", - "libraries":"webcharts", - "description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.", - "tags":"interactive, bar chart", - "data":"OlympicMedals2012.csv" -}*/ - exports.makeExampleIndex = function(ex) { var fs = require("fs"), - d3 = require("d3"), - jsdom = require("jsdom"), - //showdown = require("showdown"); - - var stub = fs - .readFileSync("./scripts/buildExample/indexStub.html") - .toString(); - var readme = fs - .readFileSync(ex.paths.root + "/" + ex.paths.readme) - .toString(); - var code = fs.readFileSync(ex.paths.root + "/" + ex.paths.code).toString(); - - // pass the html stub to jsDom - // via https://mango-is.com/blog/engineering/pre-render-d3-js-charts-at-server-side/ - // and https://bl.ocks.org/tomgp/c99a699587b5c5465228 - - jsdom.env({ - html: stub, - features: { QuerySelector: true }, //you need query selector for D3 to work - done: function(err, window) { - window.d3 = d3.select(window.document); //get d3 into the dom - - // page header - window.document.title = ex.title; - - // Add the header - parse the README.md header - var header = window.d3.select(".viz-example-header"); - header.select("h1").text(ex.title); - header.select("div.description").text(ex.description); - - // Add the details - //add sections - var detailVars = [ - "languages", - "libraries", - "tags", - "data", - "results", - "code" - ]; + d3 = require("d3"); + + /**************************************** + *** Load placeholder files + *****************************************/ + var stub = fs + .readFileSync("./scripts/buildExample/indexStub.html") + .toString(); + + var exampleHeaderStub = fs + .readFileSync("./scripts/buildExample/exampleHeaderStub.html") + .toString(); + + /**************************************** + *** Combine the header and the vizualization + *****************************************/ + var exampleExt = ex.package.homepage.split(".").pop(); + console.log(exampleExt.slice(0)) + if (["jpeg","jpg","png"].indexOf(exampleExt.slice(0))>-1){ + //If the visualization is an image, use the stub html as the base for the index page + ex.index = stub + } else if (["html","htm"].indexOf(exampleExt.slice(0))>-1){ + //If the visualization is a webpage, use it as the base for the index page + ex.index = fs + .readFileSync(ex.paths.root + ex.package.homepage) + .toString(); - var detailInfo = header - .select("ul.tags") - .selectAll("li") - .data(detailVars) - .enter() - .append("li"); - - //via http://stackoverflow.com/questions/1026069/how-do-i-make-the-first-letter-of-a-string-uppercase-in-javascript - function capitalizeFirstLetter(string) { - return string.charAt(0).toUpperCase() + string.slice(1); - } - - detailInfo - .append("span") - .attr("class", "label") - .html(d => capitalizeFirstLetter(d) + " ") - .style("font-size", "0.7em") - .style("color", "#aaa") - .attr("padding-right", "0.2em"); - - detailInfo - .append("span") - .html( - d => - d == "data" || d == "results" || d == "code" - ? "" + ex[d] + "" - : ex[d] - ); - - // parse any extra readme content - var detailRegex = /(\[comment\]: <> \(---END OF HEADER---\))[\s\S]*$/; - var detailContent_markdown = readme.match(detailRegex)[0]; - var converter = new showdown.Converter(); - ex.details = converter.makeHtml(detailContent_markdown); - var details = window.d3 - .select(".viz-example-details .detail-content") - .html(ex.details); - if (ex.details) { - header - .select("div.description") - .append("a") - .attr("class", "expandDetails") - .text("View README.md."); - } - - // Show the example - var webExampleContent = - ''; - var staticExampleContent = - '
'; - var exampleExt = ex.paths.example.split(".").pop(); - var exampleContent_html = - exampleExt == "html" ? webExampleContent : staticExampleContent; - - window.d3 - .select("body") - .style("overflow-y", exampleExt == "html" ? "hidden" : null); + } + //console.log(ex.index) + + // add the headerstub immediately after the tag + var insertionPoint = ex.index.search("")+6 + ex.index = ex.index.slice(0,insertionPoint) + exampleHeaderStub + ex.index.slice(insertionPoint) + /**************************************** + *** Add example meta data to the header using JSDOM + *****************************************/ + // pass the html stub to jsDom + // via https://mango-is.com/blog/engineering/pre-render-d3-js-charts-at-server-side/ + // and https://bl.ocks.org/tomgp/c99a699587b5c5465228 + + const jsdom = require("jsdom"); + const { JSDOM } = jsdom; + const dom = new JSDOM(ex.index,{ runScripts: "dangerously" }); + dom.window.d3 = d3.select(dom.window.document); + + //Add meta data about the chart to the header + function toTitleCase(str){ + return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); + } + var cleanName = toTitleCase(ex.package.name.replace(/-/g," ")) + var header = dom.window.d3.select(".vl-ex-header"); + header.select("li.title").html(cleanName) - window.d3.select(".viz-example-chart").html(exampleContent_html); + //Add details about the chart + var details = dom.window.d3.select("div#vl-ex-details"); - /* - // Show the code - parse the code file. - window.d3.select("code").text(code); - */ - //write the index file - console.log("Created example for : " + ex.dir); - fs.writeFileSync( - ex.paths.root + "/" + ex.paths.index, - window.document.documentElement.outerHTML - ); + if(ex.package.dataDependecies.length > 0){ + details.select("li a.vl-ex-data").property("href",ex.package.dataDependecies[0]) + }else{ + details.select("li a.vl-ex-data").remove() } - }); -}; -//makeExampleIndex(sampleExample) + details.select("li a.vl-ex-code").property("href",ex.package.main) + details.select("p.vl-ex-description").html(""+cleanName+" - "+ex.package.description) + details.select("ul.vl-ex-tags").selectAll("li.tag").data(ex.package.keywords) + .enter() + .append("li") + .attr("class","tag") + .text(d=>d) + + console.log(dom.window.document.querySelector("body").outerHTML); // "Hello world" + /***************************************** + *** Output index.html + *****************************************/ + console.log("Created example for : " + ex.dir); + fs.writeFileSync( + ex.paths.root + "/" + ex.paths.index, + dom.window.document.documentElement.outerHTML + ); +}; diff --git a/util/web/css/examples.css b/util/web/css/examples.css index a59b11d..68a7bd4 100644 --- a/util/web/css/examples.css +++ b/util/web/css/examples.css @@ -1,108 +1,81 @@ -.hidden{ - display:none; -} - -body{ - margin:0; - padding:0; -} -.viz-example-header, .viz-example-body{ - padding: 0 1% 0 1%; +/***************************** +** Page header +******************************/ +ul.vl-ex-header { + list-style-type: none; + overflow: hidden; + padding:0; + margin-bottom:0.3em; +} + +ul.vl-ex-header li { + float: left; + height:2.5em; + line-height: 2.5em; + text-align: center; + vertical-align:middle; + font-size:1.1em; } -.viz-example-chart{ - padding: .5% 0 .5% 0 +ul.vl-ex-header li.crumb:after { + padding: 0 0.2em 0 0.2em; + content: ":"; } -div.viz-example-header{ - background: #eee; - border-bottom: 2px solid black; - opacity:0.8; +ul.vl-ex-header li.site a{ + text-decoration: none; + font-weight:bold; + color:black; } - -div.viz-example-header{ - width: 98%; /* Full width */ - height:15%; - overflow-y: scroll; +ul.vl-ex-header li.icon { + vertical-align:middle; + display:inline-block; + padding-left:0; } -.viz-example-header .head{ - height:15% +ul.vl-ex-header li.icon img{ + padding:8; + height:24; + width:24; } -div.viz-example-body{ - height:84%; - width:98%; +ul.vl-ex-header li.info{ + cursor:pointer; + padding-left:0.2em; } -iframe{ - width:98%; - height:98%; -} +/***************************** +** Example Data +******************************/ -div.viz-example-header .home{ - position:absolute; - right:3em; - top:0; +div#vl-ex-details{ + background:#ccc; + border:1px solid #999; + border-radius:.3em; + padding:0.5em; } -span.close{ - position:absolute; - right:1em; - top:2px; - padding:1px; - border:1px solid black; - border-radius: 2px; - width:12px; - height:12px; - font-size:12px; - text-align: center; - vertical-align:middle; - cursor:pointer; -} +p.vl-ex-description{ + margin:0 0 0.3em 0; -div.viz-example-header h1{ - margin:0; - padding:0.1em 0 0.1em 0; } -div.viz-example-header ul.tags { +ul.vl-ex-tags{ margin:0; - padding: 0 0 0.5em 0; + padding:0; } -div.viz-example-header ul.tags li{ +ul.vl-ex-tags li{ display:inline-block; - padding-right:0.5em; -} - -body div.viz-example-header.section a.expandDetails{ - text-decoration:underline; - text-decoration-style: dotted; - color:#999; - cursor:pointer; - padding-left:.3em; -} - -div.viz-example-chart iframe{ - border-width: 0; -} - -div.viz-example-details{ - width:80%; - position:absolute; - left:0; - top:0; - margin:10%; - padding:0 1em 0 1em; - border:1px solid black; - border-radius:0.5em; - background: #eee; - opacity:0.98; + padding: 0.3em 0.5em; + margin:0 0.3em 0 0; + border-radius:0.3em; + border:2px solid black; + background:white; } -div.viz-example-details .wrap{ - position:relative; +ul.vl-ex-tags li.tag{ +background:#ffeda0; } diff --git a/util/web/css/viz-library.css b/util/web/css/viz-library.css index 310a450..0a269d3 100644 --- a/util/web/css/viz-library.css +++ b/util/web/css/viz-library.css @@ -112,6 +112,18 @@ ul.nav-tabs li.active a, ul.nav-tabs li.active:hover a{ color:black; } +ul.nav-tabs li.title{ + background-color:white; + border:0px; + padding-bottom:4px; + #font-size:18px; + vertical-align: middle; +} + +ul.nav-tabs li.title img{ + height:20; + width:20; +} /* Sections */ .section div.instructions { font-size:0.8em; diff --git a/util/web/data/examples.js b/util/web/data/examples.js index 1c0c160..52f218c 100644 --- a/util/web/data/examples.js +++ b/util/web/data/examples.js @@ -1 +1 @@ -var examples =[{"dir":"0001-density-lattice","files":["0001-density-lattice.R","0001-density-lattice.png","0001-density-lattice_thumb.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0001-density-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0002-dotplot-ggplot","files":["0002-dotplot-ggplot.R","0002-dotplot-ggplot.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0002-dotplot-ggplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0003-dotplot-lattice","files":["0003-dotplot-lattice.R","0003-dotplot-lattice.png","0003-dotplot-lattice_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0003-dotplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0004-pirateplot-yarrr","files":["0004-pirateplot-yarrr.R","0004-pirateplot-yarrr.png","0004-pirateplot-yarrr_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0004-pirateplot-yarrr/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0005-unemploy-mvtsplot","files":["0005-unemploy-mvtsplot.R","0005-unemploy-mvtsplot.png","README.md","blsunemployment.csv","index.html","thumb.png"],"paths":{"root":"./examples/0005-unemploy-mvtsplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0006-precip-levelplot-lattice","files":["0006-precip-levelplot-lattice.R","0006-precip-levelplot-lattice.png","Precipitations.csv","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0006-precip-levelplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0007-simple-barchart-webcharts","files":["OlympicMedals2012.csv","README.md","example.html","index.html","package.json","simpleBarChart.js","thumb.png"],"paths":{"root":"./examples/0007-simple-barchart-webcharts/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"./example.html","main":"simpleBarChart.js","name":"simple-barchart-webcharts","version":"1.0.0","description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","bar chart"],"dependencies":{"d3":"~3","webcharts":"~1"},"dataDependecies":["./OlympicMedals2012.csv"]}},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file +var examples =[{"dir":"0001-density-lattice","files":["0001-density-lattice.R","0001-density-lattice.png","0001-density-lattice_thumb.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0001-density-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0002-dotplot-ggplot","files":["0002-dotplot-ggplot.R","0002-dotplot-ggplot.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0002-dotplot-ggplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0003-dotplot-lattice","files":["0003-dotplot-lattice.R","0003-dotplot-lattice.png","0003-dotplot-lattice_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0003-dotplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0004-pirateplot-yarrr","files":["0004-pirateplot-yarrr.R","0004-pirateplot-yarrr.png","0004-pirateplot-yarrr_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0004-pirateplot-yarrr/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0005-unemploy-mvtsplot","files":["0005-unemploy-mvtsplot.R","0005-unemploy-mvtsplot.png","README.md","blsunemployment.csv","index.html","thumb.png"],"paths":{"root":"./examples/0005-unemploy-mvtsplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0006-precip-levelplot-lattice","files":["0006-precip-levelplot-lattice.R","0006-precip-levelplot-lattice.png","Precipitations.csv","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0006-precip-levelplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0007-simple-barchart-webcharts","files":["OlympicMedals2012.csv","README.md","example.html","index.html","package.json","simpleBarChart.js","thumb.png"],"paths":{"root":"./examples/0007-simple-barchart-webcharts/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"simpleBarChart.js","name":"simple-barchart-webcharts","version":"1.0.0","description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","bar chart"],"dependencies":{"d3":"~3","webcharts":"~1"},"dataDependecies":["OlympicMedals2012.csv"]},"index":"\nWebcharts - Simple Bar Chart\n\n\n\n\n\n\n\n\n
\n \n \n
\n

\n\n \n
\n \n
\n\n
\n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file From f4fbedb4e7d52314523bf0e6631694e605a91853 Mon Sep 17 00:00:00 2001 From: jwildfire Date: Sun, 4 Mar 2018 03:09:42 -0800 Subject: [PATCH 03/19] add dependency tags. fix #82 --- .../0007-simple-barchart-webcharts/index.html | 6 +- .../package.json | 2 +- examples/0009-web-codebook-demo/README.md | 17 -- examples/0009-web-codebook-demo/index.html | 85 +++--- examples/0009-web-codebook-demo/package.json | 17 ++ scripts/buildExample/makeExampleIndex.js | 193 ++++++++----- scripts/parseExamples.js | 56 ++-- util/web/build/vizLibrary.js | 4 +- util/web/css/examples.css | 13 +- util/web/data/dataFiles.js | 259 ++++++++++-------- util/web/data/examples.js | 2 +- util/web/src/buildGistList.js | 6 +- util/web/src/buildPubList.js | 15 +- util/web/src/dataPreview.js | 42 +-- 14 files changed, 414 insertions(+), 303 deletions(-) delete mode 100644 examples/0009-web-codebook-demo/README.md create mode 100644 examples/0009-web-codebook-demo/package.json diff --git a/examples/0007-simple-barchart-webcharts/index.html b/examples/0007-simple-barchart-webcharts/index.html index c42e6f8..b5f6d8f 100644 --- a/examples/0007-simple-barchart-webcharts/index.html +++ b/examples/0007-simple-barchart-webcharts/index.html @@ -13,16 +13,16 @@
  • Graphics
  • Example
  • -
  • Simple Barchart Webcharts
  • +
  • Simple Barchart (Webcharts)
  • - - - +Web Codebook - demo + + + + + + + + + - -
    - - 🏠 - - -

    Web Codebook Demo

    - -
    Demonstration of the web-based data summaries using web-codebook.
    -
    -
    - -
    -
    +
    + +
      +
    • +
    • Graphics
    • +
    • Example
    • +
    • Web Codebook Demo
    • +
    • +
    + - /*show/hide events*/ - d3.select(".viz-example-header .close").on("click",function(){ - d3.select(".viz-example-header").classed("hidden",true) - d3.select(".viz-example-details").classed("hidden",true) - d3.select(".viz-example-body").style("height","100%") - }) +
    +
    +
    - d3.select(".viz-example-details .close").on("click",function(){ - d3.select(".viz-example-details").classed("hidden",true) - }) - d3.select(".expandDetails").on("click",function(){ - d3.select(".viz-example-details").classed("hidden",false) - }) - + \ No newline at end of file diff --git a/examples/0009-web-codebook-demo/package.json b/examples/0009-web-codebook-demo/package.json new file mode 100644 index 0000000..c6a08a1 --- /dev/null +++ b/examples/0009-web-codebook-demo/package.json @@ -0,0 +1,17 @@ +{ + "homepage":"example.html", + "main": "webCodebookDemo.js", + "name": "web-codebook-demo", + "label":"Web Codebook Demo", + "version": "1.0.0", + "description": "This page provides a simple demonstration of the web-codebook data summary tool.", + "author": "Rho, Inc.", + "license": "MIT", + "keywords":["javascript","interactive","codebook","data summary"], + "dependencies": { + "d3": "~3", + "webcharts":"~1", + "web-codebook":"~1" + }, + "dataDependecies":["../../data/safetyData/ADAE.csv"] +} diff --git a/scripts/buildExample/makeExampleIndex.js b/scripts/buildExample/makeExampleIndex.js index 7ad3ee1..1f9c5c4 100644 --- a/scripts/buildExample/makeExampleIndex.js +++ b/scripts/buildExample/makeExampleIndex.js @@ -8,81 +8,128 @@ exports.makeExampleIndex = function(ex) { var fs = require("fs"), d3 = require("d3"); - /**************************************** - *** Load placeholder files - *****************************************/ - var stub = fs - .readFileSync("./scripts/buildExample/indexStub.html") - .toString(); - - var exampleHeaderStub = fs - .readFileSync("./scripts/buildExample/exampleHeaderStub.html") - .toString(); - - /**************************************** - *** Combine the header and the vizualization - *****************************************/ - var exampleExt = ex.package.homepage.split(".").pop(); - console.log(exampleExt.slice(0)) - if (["jpeg","jpg","png"].indexOf(exampleExt.slice(0))>-1){ + /**************************************** + *** Load placeholder files + *****************************************/ + var stub = fs + .readFileSync("./scripts/buildExample/indexStub.html") + .toString(); + + var exampleHeaderStub = fs + .readFileSync("./scripts/buildExample/exampleHeaderStub.html") + .toString(); + + /**************************************** + *** Combine the header and the vizualization + *****************************************/ + var exampleExt = ex.package.homepage.split(".").pop(); + console.log(exampleExt.slice(0)); + if (["jpeg", "jpg", "png"].indexOf(exampleExt.slice(0)) > -1) { //If the visualization is an image, use the stub html as the base for the index page - ex.index = stub - } else if (["html","htm"].indexOf(exampleExt.slice(0))>-1){ + ex.index = stub; + } else if (["html", "htm"].indexOf(exampleExt.slice(0)) > -1) { //If the visualization is a webpage, use it as the base for the index page - ex.index = fs - .readFileSync(ex.paths.root + ex.package.homepage) - .toString(); - - } - //console.log(ex.index) - - // add the headerstub immediately after the tag - var insertionPoint = ex.index.search("")+6 - ex.index = ex.index.slice(0,insertionPoint) + exampleHeaderStub + ex.index.slice(insertionPoint) - /**************************************** - *** Add example meta data to the header using JSDOM - *****************************************/ - // pass the html stub to jsDom - // via https://mango-is.com/blog/engineering/pre-render-d3-js-charts-at-server-side/ - // and https://bl.ocks.org/tomgp/c99a699587b5c5465228 - - const jsdom = require("jsdom"); - const { JSDOM } = jsdom; - const dom = new JSDOM(ex.index,{ runScripts: "dangerously" }); - dom.window.d3 = d3.select(dom.window.document); - - //Add meta data about the chart to the header - function toTitleCase(str){ - return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); - } - var cleanName = toTitleCase(ex.package.name.replace(/-/g," ")) - var header = dom.window.d3.select(".vl-ex-header"); - header.select("li.title").html(cleanName) - - //Add details about the chart - var details = dom.window.d3.select("div#vl-ex-details"); - - if(ex.package.dataDependecies.length > 0){ - details.select("li a.vl-ex-data").property("href",ex.package.dataDependecies[0]) - }else{ - details.select("li a.vl-ex-data").remove() - } - - details.select("li a.vl-ex-code").property("href",ex.package.main) - details.select("p.vl-ex-description").html(""+cleanName+" - "+ex.package.description) - details.select("ul.vl-ex-tags").selectAll("li.tag").data(ex.package.keywords) + ex.index = fs.readFileSync(ex.paths.root + ex.package.homepage).toString(); + } + //console.log(ex.index) + + // add the headerstub immediately after the tag + var insertionPoint = ex.index.search("") + 6; + ex.index = + ex.index.slice(0, insertionPoint) + + exampleHeaderStub + + ex.index.slice(insertionPoint); + /**************************************** + *** Add example meta data to the header using JSDOM + *****************************************/ + // pass the html stub to jsDom + // via https://mango-is.com/blog/engineering/pre-render-d3-js-charts-at-server-side/ + // and https://bl.ocks.org/tomgp/c99a699587b5c5465228 + + const jsdom = require("jsdom"); + const { JSDOM } = jsdom; + const dom = new JSDOM(ex.index, { runScripts: "dangerously" }); + dom.window.d3 = d3.select(dom.window.document); + + //Add meta data about the chart to the header + function toTitleCase(str) { + return str.replace(/\w\S*/g, function(txt) { + return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); + }); + } + var cleanName = ex.package.label || ex.package.name; + var header = dom.window.d3.select(".vl-ex-header"); + header.select("li.title").html(cleanName); + + //Add details about the chart + var details = dom.window.d3.select("div#vl-ex-details"); + + if (ex.package.dataDependecies.length > 0) { + details + .select("li a.vl-ex-data") + .property("href", ex.package.dataDependecies[0]); + } else { + details.select("li a.vl-ex-data").remove(); + } + + details.select("li a.vl-ex-code").property("href", ex.package.main); + details + .select("p.vl-ex-description") + .html("" + cleanName + " - " + ex.package.description); + + if(ex.package.dependencies){ + var dependencies = Object.keys(ex.package.dependencies).map(function(m){ + return{ + library:m, + version:ex.package.dependencies[m] + } + }) + + details + .select("ul.vl-ex-tags") + .selectAll("li.dep") + .data(dependencies) + .enter() + .append("li") + .attr("class", "dep") + .text(d => d.library+" "+d.version); + } + + if(ex.package.rDependencies){ + console.log(ex.package.rDependencies) + var rDependencies = Object.keys(ex.package.rDependencies).map(function(m){ + return{ + library:m, + version:ex.package.rDependencies[m] + } + }) + + details + .select("ul.vl-ex-tags") + .selectAll("li.rdep") + .data(rDependencies) + .enter() + .append("li") + .attr("class", "rdep") + .text(d => d.library+" "+d.version); + } + + details + .select("ul.vl-ex-tags") + .selectAll("li.tag") + .data(ex.package.keywords) .enter() .append("li") - .attr("class","tag") - .text(d=>d) - - console.log(dom.window.document.querySelector("body").outerHTML); // "Hello world" - /***************************************** - *** Output index.html - *****************************************/ - console.log("Created example for : " + ex.dir); - fs.writeFileSync( - ex.paths.root + "/" + ex.paths.index, - dom.window.document.documentElement.outerHTML - ); + .attr("class", "tag") + .text(d => d); + + console.log(dom.window.document.querySelector("body").outerHTML); // "Hello world" + /***************************************** + *** Output index.html + *****************************************/ + console.log("Created example for : " + ex.dir); + fs.writeFileSync( + ex.paths.root + "/" + ex.paths.index, + dom.window.document.documentElement.outerHTML + ); }; diff --git a/scripts/parseExamples.js b/scripts/parseExamples.js index 07a26b4..56da623 100644 --- a/scripts/parseExamples.js +++ b/scripts/parseExamples.js @@ -17,21 +17,21 @@ var examples = fs /* parse each example */ examples.forEach(function(ex) { /**************************** - *** File/path management - *****************************/ + *** File/path management + *****************************/ ex.files = fs.readdirSync(exampleRoot + "/" + ex.dir).filter(function(f) { return f.charAt(0) != "."; }); ////get paths of required files//// ex.paths = {}; - ex.paths.root = exampleRoot + "/" + ex.dir + "/"; //root path + ex.paths.root = exampleRoot + "/" + ex.dir + "/"; //root path ex.paths.index = "index.html"; ex.paths.thumb = "thumb.png"; /**************************** - *** Pull package.json into an object, do some error checking and create index.html - *****************************/ + *** Pull package.json into an object, do some error checking and create index.html + *****************************/ var packageN = ex.files .map(function(f) { @@ -43,33 +43,47 @@ examples.forEach(function(ex) { if (ex.paths.package) { var lines = fs .readFileSync(ex.paths.root + ex.paths.package, "utf8") - .toString() - ex.package = JSON.parse(lines) + .toString(); + ex.package = JSON.parse(lines); //make sure that required fields are found - var requiredProperties = ["homepage","main","name","version"] - requiredProperties.forEach(function(p){ - if(!ex.package[p]){ - console.error("ERROR: Can't create index.html "+ex.paths.root+" since `"+p+"` is missing in package.json." ) - return + var requiredProperties = ["homepage", "main", "name", "version"]; + requiredProperties.forEach(function(p) { + if (!ex.package[p]) { + console.error( + "ERROR: Can't create index.html " + + ex.paths.root + + " since `" + + p + + "` is missing in package.json." + ); + return; } - }) + }); //make sure that main isn't set to index.html - if(ex.package["main"].toLowerCase() == "index.html"){ - console.error("ERROR: Can't create index.html "+ex.paths.root+" since `main` is set to index.html." ) - return + if (ex.package["main"].toLowerCase() == "index.html") { + console.error( + "ERROR: Can't create index.html " + + ex.paths.root + + " since `main` is set to index.html." + ); + return; } //create index.html for the example - makeindex.makeExampleIndex(ex) - }else{ - console.error("ERROR: Can't create index.html "+ex.paths.root+" since no package.json was found." ) + makeindex.makeExampleIndex(ex); + } else { + console.error( + "ERROR: Can't create index.html " + + ex.paths.root + + " since no package.json was found." + ); } /**************************** - *** Make thumbnails - *****************************/ + *** Make thumbnails + *****************************/ var imgs = ex.files .map(function(f) { return f.toLowerCase(); diff --git a/util/web/build/vizLibrary.js b/util/web/build/vizLibrary.js index becb9b5..611dc49 100644 --- a/util/web/build/vizLibrary.js +++ b/util/web/build/vizLibrary.js @@ -49,7 +49,7 @@ var vizLibrary = function () { Takes an array of metadata object (see sample input) and a valid css selector (`parentDiv`) and renders divs styled for for the example gallery (see sample output) - Sample Input for `meta`: + Sample Input for `meta`: [ { "id":"0001-density-lattice", @@ -62,7 +62,7 @@ var vizLibrary = function () { }, ... //add more objects here as desired ] - Sample Output rendered to DOM (one per object in meta: + Sample Output rendered to DOM (one per object in meta:
    0001-density-lattice diff --git a/util/web/css/examples.css b/util/web/css/examples.css index 68a7bd4..505b1af 100644 --- a/util/web/css/examples.css +++ b/util/web/css/examples.css @@ -43,9 +43,10 @@ ul.vl-ex-header li.icon img{ ul.vl-ex-header li.info{ cursor:pointer; padding-left:0.2em; + color:blue; + font-size:1em; } - /***************************** ** Example Data ******************************/ @@ -77,5 +78,13 @@ ul.vl-ex-tags li{ } ul.vl-ex-tags li.tag{ -background:#ffeda0; +background:#ffffb3; +} + +ul.vl-ex-tags li.dep{ +background:#bebada; +} + +ul.vl-ex-tags li.rdep{ +background:#80b1d3; } diff --git a/util/web/data/dataFiles.js b/util/web/data/dataFiles.js index 0c83d6e..d76252a 100644 --- a/util/web/data/dataFiles.js +++ b/util/web/data/dataFiles.js @@ -1,14 +1,6 @@ var dataFiles = [ { - local_path: "F:/GitHub/viz-library/data/cars.csv", - filename: "cars.csv", - ext: "csv", - rel_path: "./data/cars.csv", - rows: 32, - cols: 12 - }, - { - local_path: "F:/GitHub/viz-library/data/ChickWeight.csv", + local_path: "/Users/jeremy/Sites/github/viz-library/data/ChickWeight.csv", filename: "ChickWeight.csv", ext: "csv", rel_path: "./data/ChickWeight.csv", @@ -16,15 +8,15 @@ var dataFiles = [ cols: 5 }, { - local_path: "F:/GitHub/viz-library/data/discrete_scores.csv", - filename: "discrete_scores.csv", + local_path: "/Users/jeremy/Sites/github/viz-library/data/cars.csv", + filename: "cars.csv", ext: "csv", - rel_path: "./data/discrete_scores.csv", - rows: 78, - cols: 2 + rel_path: "./data/cars.csv", + rows: 32, + cols: 12 }, { - local_path: "F:/GitHub/viz-library/data/climate_data.csv", + local_path: "/Users/jeremy/Sites/github/viz-library/data/climate_data.csv", filename: "climate_data.csv", ext: "csv", rel_path: "./data/climate_data.csv", @@ -32,7 +24,16 @@ var dataFiles = [ cols: 10 }, { - local_path: "F:/GitHub/viz-library/data/elements.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/discrete_scores.csv", + filename: "discrete_scores.csv", + ext: "csv", + rel_path: "./data/discrete_scores.csv", + rows: 78, + cols: 2 + }, + { + local_path: "/Users/jeremy/Sites/github/viz-library/data/elements.csv", filename: "elements.csv", ext: "csv", rel_path: "./data/elements.csv", @@ -40,7 +41,7 @@ var dataFiles = [ cols: 10 }, { - local_path: "F:/GitHub/viz-library/data/hys_law.csv", + local_path: "/Users/jeremy/Sites/github/viz-library/data/hys_law.csv", filename: "hys_law.csv", ext: "csv", rel_path: "./data/hys_law.csv", @@ -48,7 +49,7 @@ var dataFiles = [ cols: 18 }, { - local_path: "F:/GitHub/viz-library/data/iris.csv", + local_path: "/Users/jeremy/Sites/github/viz-library/data/iris.csv", filename: "iris.csv", ext: "csv", rel_path: "./data/iris.csv", @@ -56,7 +57,34 @@ var dataFiles = [ cols: 5 }, { - local_path: "F:/GitHub/viz-library/data/safetyData-queries/ADAE.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/queries/fields.csv", + filename: "fields.csv", + ext: "csv", + rel_path: "./data/queries/fields.csv", + rows: 55, + cols: 3 + }, + { + local_path: "/Users/jeremy/Sites/github/viz-library/data/queries/forms.csv", + filename: "forms.csv", + ext: "csv", + rel_path: "./data/queries/forms.csv", + rows: 11, + cols: 2 + }, + { + local_path: + "/Users/jeremy/Sites/github/viz-library/data/queries/queries.csv", + filename: "queries.csv", + ext: "csv", + rel_path: "./data/queries/queries.csv", + rows: 5000, + cols: 11 + }, + { + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData-queries/ADAE.csv", filename: "ADAE.csv", ext: "csv", rel_path: "./data/safetyData-queries/ADAE.csv", @@ -64,7 +92,8 @@ var dataFiles = [ cols: 25 }, { - local_path: "F:/GitHub/viz-library/data/safetyData-queries/ADBDS.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData-queries/ADBDS.csv", filename: "ADBDS.csv", ext: "csv", rel_path: "./data/safetyData-queries/ADBDS.csv", @@ -72,15 +101,8 @@ var dataFiles = [ cols: 22 }, { - local_path: "F:/GitHub/viz-library/data/testData/ADTIMELINES_noDays.csv", - filename: "ADTIMELINES_noDays.csv", - ext: "csv", - rel_path: "./data/testData/ADTIMELINES_noDays.csv", - rows: 1067, - cols: 17 - }, - { - local_path: "F:/GitHub/viz-library/data/testData/ADBDS_missingData.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/testData/ADBDS_missingData.csv", filename: "ADBDS_missingData.csv", ext: "csv", rel_path: "./data/testData/ADBDS_missingData.csv", @@ -89,47 +111,34 @@ var dataFiles = [ }, { local_path: - "F:/GitHub/viz-library/data/testData/ADTIMELINES_partialMissing.csv", - filename: "ADTIMELINES_partialMissing.csv", + "/Users/jeremy/Sites/github/viz-library/data/testData/ADTIMELINES_noDays.csv", + filename: "ADTIMELINES_noDays.csv", ext: "csv", - rel_path: "./data/testData/ADTIMELINES_partialMissing.csv", + rel_path: "./data/testData/ADTIMELINES_noDays.csv", rows: 1067, cols: 17 }, { - local_path: "F:/GitHub/viz-library/data/queries/fields.csv", - filename: "fields.csv", - ext: "csv", - rel_path: "./data/queries/fields.csv", - rows: 55, - cols: 3 - }, - { - local_path: "F:/GitHub/viz-library/data/queries/forms.csv", - filename: "forms.csv", - ext: "csv", - rel_path: "./data/queries/forms.csv", - rows: 11, - cols: 2 - }, - { - local_path: "F:/GitHub/viz-library/data/queries/queries.csv", - filename: "queries.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/testData/ADTIMELINES_partialMissing.csv", + filename: "ADTIMELINES_partialMissing.csv", ext: "csv", - rel_path: "./data/queries/queries.csv", - rows: 5000, - cols: 11 + rel_path: "./data/testData/ADTIMELINES_partialMissing.csv", + rows: 1067, + cols: 17 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/ADBDS.csv", - filename: "ADBDS.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/ADAE.csv", + filename: "ADAE.csv", ext: "csv", - rel_path: "./data/safetyData/ADBDS.csv", - rows: 24669, - cols: 20 + rel_path: "./data/safetyData/ADAE.csv", + rows: 392, + cols: 23 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/ADTIMELINES.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/ADTIMELINES.csv", filename: "ADTIMELINES.csv", ext: "csv", rel_path: "./data/safetyData/ADTIMELINES.csv", @@ -137,64 +146,26 @@ var dataFiles = [ cols: 17 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/ADAE.csv", - filename: "ADAE.csv", - ext: "csv", - rel_path: "./data/safetyData/ADAE.csv", - rows: 392, - cols: 23 - }, - { - local_path: "F:/GitHub/viz-library/data/safetyData/ADCM.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/ADCM.csv", filename: "ADCM.csv", ext: "csv", rel_path: "./data/safetyData/ADCM.csv", rows: 337, cols: 22 }, - { - local_path: "F:/GitHub/viz-library/data/safetyData/raw/medications.csv", - filename: "medications.csv", - ext: "csv", - rel_path: "./data/safetyData/raw/medications.csv", - rows: 654, - cols: 3 - }, - { - local_path: "F:/GitHub/viz-library/data/safetyData/raw/adverseEvents.csv", - filename: "adverseEvents.csv", - ext: "csv", - rel_path: "./data/safetyData/raw/adverseEvents.csv", - rows: 765, - cols: 4 - }, - { - local_path: "F:/GitHub/viz-library/data/safetyData/raw/labs.csv", - filename: "labs.csv", - ext: "csv", - rel_path: "./data/safetyData/raw/labs.csv", - rows: 16, - cols: 6 - }, - { - local_path: "F:/GitHub/viz-library/data/safetyData/raw/vitalSigns.csv", - filename: "vitalSigns.csv", - ext: "csv", - rel_path: "./data/safetyData/raw/vitalSigns.csv", - rows: 27, - cols: 7 - }, { local_path: - "F:/GitHub/viz-library/data/safetyData/raw/scheduleOfEvents.csv", - filename: "scheduleOfEvents.csv", + "/Users/jeremy/Sites/github/viz-library/data/safetyData/ADBDS.csv", + filename: "ADBDS.csv", ext: "csv", - rel_path: "./data/safetyData/raw/scheduleOfEvents.csv", - rows: 8, - cols: 4 + rel_path: "./data/safetyData/ADBDS.csv", + rows: 24669, + cols: 20 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/SDTM/AE.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/SDTM/AE.csv", filename: "AE.csv", ext: "csv", rel_path: "./data/safetyData/SDTM/AE.csv", @@ -202,7 +173,8 @@ var dataFiles = [ cols: 14 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/SDTM/CM.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/SDTM/CM.csv", filename: "CM.csv", ext: "csv", rel_path: "./data/safetyData/SDTM/CM.csv", @@ -210,15 +182,17 @@ var dataFiles = [ cols: 13 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/SDTM/LB.csv", - filename: "LB.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/SDTM/DM.csv", + filename: "DM.csv", ext: "csv", - rel_path: "./data/safetyData/SDTM/LB.csv", - rows: 18784, - cols: 11 + rel_path: "./data/safetyData/SDTM/DM.csv", + rows: 150, + cols: 9 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/SDTM/SV.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/SDTM/SV.csv", filename: "SV.csv", ext: "csv", rel_path: "./data/safetyData/SDTM/SV.csv", @@ -226,7 +200,17 @@ var dataFiles = [ cols: 5 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/SDTM/VS.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/SDTM/LB.csv", + filename: "LB.csv", + ext: "csv", + rel_path: "./data/safetyData/SDTM/LB.csv", + rows: 18784, + cols: 11 + }, + { + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/SDTM/VS.csv", filename: "VS.csv", ext: "csv", rel_path: "./data/safetyData/SDTM/VS.csv", @@ -234,11 +218,48 @@ var dataFiles = [ cols: 11 }, { - local_path: "F:/GitHub/viz-library/data/safetyData/SDTM/DM.csv", - filename: "DM.csv", + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/raw/adverseEvents.csv", + filename: "adverseEvents.csv", ext: "csv", - rel_path: "./data/safetyData/SDTM/DM.csv", - rows: 150, - cols: 9 + rel_path: "./data/safetyData/raw/adverseEvents.csv", + rows: 765, + cols: 4 + }, + { + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/raw/labs.csv", + filename: "labs.csv", + ext: "csv", + rel_path: "./data/safetyData/raw/labs.csv", + rows: 16, + cols: 6 + }, + { + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/raw/scheduleOfEvents.csv", + filename: "scheduleOfEvents.csv", + ext: "csv", + rel_path: "./data/safetyData/raw/scheduleOfEvents.csv", + rows: 8, + cols: 4 + }, + { + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/raw/medications.csv", + filename: "medications.csv", + ext: "csv", + rel_path: "./data/safetyData/raw/medications.csv", + rows: 654, + cols: 3 + }, + { + local_path: + "/Users/jeremy/Sites/github/viz-library/data/safetyData/raw/vitalSigns.csv", + filename: "vitalSigns.csv", + ext: "csv", + rel_path: "./data/safetyData/raw/vitalSigns.csv", + rows: 27, + cols: 7 } ]; diff --git a/util/web/data/examples.js b/util/web/data/examples.js index 52f218c..6693d17 100644 --- a/util/web/data/examples.js +++ b/util/web/data/examples.js @@ -1 +1 @@ -var examples =[{"dir":"0001-density-lattice","files":["0001-density-lattice.R","0001-density-lattice.png","0001-density-lattice_thumb.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0001-density-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0002-dotplot-ggplot","files":["0002-dotplot-ggplot.R","0002-dotplot-ggplot.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0002-dotplot-ggplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0003-dotplot-lattice","files":["0003-dotplot-lattice.R","0003-dotplot-lattice.png","0003-dotplot-lattice_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0003-dotplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0004-pirateplot-yarrr","files":["0004-pirateplot-yarrr.R","0004-pirateplot-yarrr.png","0004-pirateplot-yarrr_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0004-pirateplot-yarrr/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0005-unemploy-mvtsplot","files":["0005-unemploy-mvtsplot.R","0005-unemploy-mvtsplot.png","README.md","blsunemployment.csv","index.html","thumb.png"],"paths":{"root":"./examples/0005-unemploy-mvtsplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0006-precip-levelplot-lattice","files":["0006-precip-levelplot-lattice.R","0006-precip-levelplot-lattice.png","Precipitations.csv","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0006-precip-levelplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0007-simple-barchart-webcharts","files":["OlympicMedals2012.csv","README.md","example.html","index.html","package.json","simpleBarChart.js","thumb.png"],"paths":{"root":"./examples/0007-simple-barchart-webcharts/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"simpleBarChart.js","name":"simple-barchart-webcharts","version":"1.0.0","description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","bar chart"],"dependencies":{"d3":"~3","webcharts":"~1"},"dataDependecies":["OlympicMedals2012.csv"]},"index":"\nWebcharts - Simple Bar Chart\n\n\n\n\n\n\n\n\n
    \n \n \n
    \n

    \n\n \n
    \n \n
    \n\n
    \n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file +var examples =[{"dir":"0001-density-lattice","files":["0001-density-lattice.R","0001-density-lattice.png","0001-density-lattice_thumb.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0001-density-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0002-dotplot-ggplot","files":["0002-dotplot-ggplot.R","0002-dotplot-ggplot.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0002-dotplot-ggplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0003-dotplot-lattice","files":["0003-dotplot-lattice.R","0003-dotplot-lattice.png","0003-dotplot-lattice_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0003-dotplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0004-pirateplot-yarrr","files":["0004-pirateplot-yarrr.R","0004-pirateplot-yarrr.png","0004-pirateplot-yarrr_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0004-pirateplot-yarrr/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0005-unemploy-mvtsplot","files":["0005-unemploy-mvtsplot.R","0005-unemploy-mvtsplot.png","README.md","blsunemployment.csv","index.html","thumb.png"],"paths":{"root":"./examples/0005-unemploy-mvtsplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0006-precip-levelplot-lattice","files":["0006-precip-levelplot-lattice.R","0006-precip-levelplot-lattice.png","Precipitations.csv","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0006-precip-levelplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0007-simple-barchart-webcharts","files":["OlympicMedals2012.csv","README.md","example.html","index.html","package.json","simpleBarChart.js","thumb.png"],"paths":{"root":"./examples/0007-simple-barchart-webcharts/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"simpleBarChart.js","name":"simple-barchart-webcharts","label":"Simple Barchart (Webcharts)","version":"1.0.0","description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","bar chart"],"dependencies":{"d3":"~3","webcharts":"~1"},"dataDependecies":["OlympicMedals2012.csv"]},"index":"\nWebcharts - Simple Bar Chart\n\n\n\n\n\n\n\n\n
    \n \n \n
    \n

    \n\n \n
    \n \n
    \n\n
    \n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","package.json","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"webCodebookDemo.js","name":"web-codebook-demo","label":"Web Codebook Demo","version":"1.0.0","description":"This page provides a simple demonstration of the web-codebook data summary tool.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","codebook","data summary"],"dependencies":{"d3":"~3","webcharts":"~1","web-codebook":"~1"},"dataDependecies":["../../data/safetyData/ADAE.csv"]},"index":"\nWeb Codebook - demo\n\n\n\n\n\n\n\n\n\n\n\n
    \n \n \n
    \n

    \n\n \n
    \n \n
    \n\n\t
    \n\t
    \n\t
    \n\n\n\n\n"},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file diff --git a/util/web/src/buildGistList.js b/util/web/src/buildGistList.js index 390ae07..7a40ce9 100644 --- a/util/web/src/buildGistList.js +++ b/util/web/src/buildGistList.js @@ -1,7 +1,11 @@ export default function buildGistList(meta, parentElement) { var parentDiv = d3.select(parentElement); var list = parentDiv.append("ul"); - var items = list.selectAll("li").data(meta).enter().append("li"); + var items = list + .selectAll("li") + .data(meta) + .enter() + .append("li"); //id items diff --git a/util/web/src/buildPubList.js b/util/web/src/buildPubList.js index 5a8be9c..a27292a 100644 --- a/util/web/src/buildPubList.js +++ b/util/web/src/buildPubList.js @@ -15,13 +15,22 @@ export default function buildPubList(meta, parentElement) { var wraps = items.append("div").attr("class", "pub-wrap"); //title - wraps.append("p").attr("class", "title").text(d => d.title); + wraps + .append("p") + .attr("class", "title") + .text(d => d.title); //description - wraps.append("p").attr("class", "description").text(d => d.text); + wraps + .append("p") + .attr("class", "description") + .text(d => d.text); //author - wraps.append("p").attr("class", "author").text(d => d.keyValues[0].value); + wraps + .append("p") + .attr("class", "author") + .text(d => d.keyValues[0].value); //tags function cap1(string) { diff --git a/util/web/src/dataPreview.js b/util/web/src/dataPreview.js index 24e2d23..dfc006e 100644 --- a/util/web/src/dataPreview.js +++ b/util/web/src/dataPreview.js @@ -2,7 +2,11 @@ export default function dataPreview(dataFiles) { var myFiles = d3.select(".file-list"); var tbody = myFiles.append("tbody"); - var rows = tbody.selectAll("tr").data(dataFiles).enter().append("tr"); + var rows = tbody + .selectAll("tr") + .data(dataFiles) + .enter() + .append("tr"); rows .append("td") @@ -14,9 +18,12 @@ export default function dataPreview(dataFiles) { }) .style("cursor", "help"); - rows.append("td").append("small").text(function(d) { - return " " + d.rows + " Rows x " + d.cols + " Cols"; - }); + rows + .append("td") + .append("small") + .text(function(d) { + return " " + d.rows + " Rows x " + d.cols + " Cols"; + }); rows .append("td") @@ -35,18 +42,21 @@ export default function dataPreview(dataFiles) { .select("strong") .text("First 10 rows of " + d.rel_path); - label.append("button").text("Clear Preview").on("click", function() { - rows.classed("selected", false); - d3 - .select(".data-preview") - .select("strong") - .html("Click 🔍 to preview a data set"); - d3 - .select(".data-preview") - .select(".data-table") - .selectAll("*") - .remove(); - }); + label + .append("button") + .text("Clear Preview") + .on("click", function() { + rows.classed("selected", false); + d3 + .select(".data-preview") + .select("strong") + .html("Click 🔍 to preview a data set"); + d3 + .select(".data-preview") + .select(".data-table") + .selectAll("*") + .remove(); + }); d3.csv(d.rel_path, function(error, data) { var sub = data.filter(function(d, i) { From b9bead0747e7b48d530448041fe5c93e80f0499c Mon Sep 17 00:00:00 2001 From: jwildfire Date: Sun, 4 Mar 2018 09:28:20 -0800 Subject: [PATCH 04/19] add repo link. fixes #87 --- .../0007-simple-barchart-webcharts/index.html | 6 ++++-- examples/0009-web-codebook-demo/index.html | 6 ++++-- examples/0009-web-codebook-demo/package.json | 1 + scripts/buildExample/exampleHeaderStub.html | 6 ++++-- scripts/buildExample/makeExampleIndex.js | 14 +++++++++++--- util/web/css/examples.css | 18 ++++++++++++++++++ util/web/data/examples.js | 2 +- 7 files changed, 43 insertions(+), 10 deletions(-) diff --git a/examples/0007-simple-barchart-webcharts/index.html b/examples/0007-simple-barchart-webcharts/index.html index b5f6d8f..ea76020 100644 --- a/examples/0007-simple-barchart-webcharts/index.html +++ b/examples/0007-simple-barchart-webcharts/index.html @@ -8,6 +8,7 @@
    +
    • @@ -20,8 +21,9 @@

      Simple Barchart (Webcharts) - This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.

        -
      • Code
      • -
      • Data
      • +
      • +
      • +
      • d3 ~3
      • webcharts ~1
      • javascript
      • interactive
      • bar chart
    \n\n\n\n
    \n \n \n
    \n

    \n\n \n
    \n \n
    \n\n
    \n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","package.json","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"webCodebookDemo.js","name":"web-codebook-demo","label":"Web Codebook Demo","version":"1.0.0","description":"This page provides a simple demonstration of the web-codebook data summary tool.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","codebook","data summary"],"dependencies":{"d3":"~3","webcharts":"~1","web-codebook":"~1"},"dataDependecies":["../../data/safetyData/ADAE.csv"]},"index":"\nWeb Codebook - demo\n\n\n\n\n\n\n\n\n\n\n\n
    \n \n \n
    \n

    \n\n \n
    \n \n
    \n\n\t
    \n\t
    \n\t
    \n\n\n\n\n"},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file +var examples =[{"dir":"0001-density-lattice","files":["0001-density-lattice.R","0001-density-lattice.png","0001-density-lattice_thumb.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0001-density-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0002-dotplot-ggplot","files":["0002-dotplot-ggplot.R","0002-dotplot-ggplot.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0002-dotplot-ggplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0003-dotplot-lattice","files":["0003-dotplot-lattice.R","0003-dotplot-lattice.png","0003-dotplot-lattice_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0003-dotplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0004-pirateplot-yarrr","files":["0004-pirateplot-yarrr.R","0004-pirateplot-yarrr.png","0004-pirateplot-yarrr_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0004-pirateplot-yarrr/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0005-unemploy-mvtsplot","files":["0005-unemploy-mvtsplot.R","0005-unemploy-mvtsplot.png","README.md","blsunemployment.csv","index.html","thumb.png"],"paths":{"root":"./examples/0005-unemploy-mvtsplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0006-precip-levelplot-lattice","files":["0006-precip-levelplot-lattice.R","0006-precip-levelplot-lattice.png","Precipitations.csv","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0006-precip-levelplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0007-simple-barchart-webcharts","files":["OlympicMedals2012.csv","README.md","example.html","index.html","package.json","simpleBarChart.js","thumb.png"],"paths":{"root":"./examples/0007-simple-barchart-webcharts/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"simpleBarChart.js","name":"simple-barchart-webcharts","label":"Simple Barchart (Webcharts)","version":"1.0.0","description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","bar chart"],"dependencies":{"d3":"~3","webcharts":"~1"},"dataDependecies":["OlympicMedals2012.csv"]},"index":"\nWebcharts - Simple Bar Chart\n\n\n\n\n\n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
    • \n
    • \n
    • \n
    \n
    \n \n
    \n\n
    \n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","example.html","index.html","package.json","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"webCodebookDemo.js","name":"web-codebook-demo","label":"Web Codebook Demo","repository":"github:Rhoinc/web-codebook","version":"1.0.0","description":"This page provides a simple demonstration of the web-codebook data summary tool.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","codebook","data summary"],"dependencies":{"d3":"~3","webcharts":"~1","web-codebook":"~1"},"dataDependecies":["../../data/safetyData/ADAE.csv"]},"index":"\nWeb Codebook - demo\n\n\n\n\n\n\n\n\n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
    • \n
    • \n
    • \n
    \n
    \n \n
    \n\n\t
    \n\t
    \n\t
    \n\n\n\n\n"},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file From 342a00a8312e1322be1db2a92de6a31a62f0095c Mon Sep 17 00:00:00 2001 From: jwildfire Date: Sun, 4 Mar 2018 09:37:48 -0800 Subject: [PATCH 05/19] add links to deps. fixes #86 --- examples/0007-simple-barchart-webcharts/index.html | 4 ++-- examples/0007-simple-barchart-webcharts/package.json | 1 + examples/0009-web-codebook-demo/index.html | 2 +- examples/0009-web-codebook-demo/package.json | 2 +- scripts/buildExample/makeExampleIndex.js | 11 ++++++++--- util/web/css/examples.css | 3 ++- util/web/data/examples.js | 2 +- 7 files changed, 16 insertions(+), 9 deletions(-) diff --git a/examples/0007-simple-barchart-webcharts/index.html b/examples/0007-simple-barchart-webcharts/index.html index ea76020..a77ed2f 100644 --- a/examples/0007-simple-barchart-webcharts/index.html +++ b/examples/0007-simple-barchart-webcharts/index.html @@ -21,10 +21,10 @@

    Simple Barchart (Webcharts) - This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.

      -
    • +
    • -
    • d3 ~3
    • webcharts ~1
    • javascript
    • interactive
    • bar chart
    +
  • d3 ~3
  • webcharts ~1
  • javascript
  • interactive
  • bar chart
  • \n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
    • \n
    • \n
    • \n
    \n
    \n \n
    \n\n
    \n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","example.html","index.html","package.json","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"webCodebookDemo.js","name":"web-codebook-demo","label":"Web Codebook Demo","repository":"github:Rhoinc/web-codebook","version":"1.0.0","description":"This page provides a simple demonstration of the web-codebook data summary tool.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","codebook","data summary"],"dependencies":{"d3":"~3","webcharts":"~1","web-codebook":"~1"},"dataDependecies":["../../data/safetyData/ADAE.csv"]},"index":"\nWeb Codebook - demo\n\n\n\n\n\n\n\n\n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
    • \n
    • \n
    • \n
    \n
    \n \n
    \n\n\t
    \n\t
    \n\t
    \n\n\n\n\n"},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file +var examples =[{"dir":"0001-density-lattice","files":["0001-density-lattice.R","0001-density-lattice.png","0001-density-lattice_thumb.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0001-density-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0002-dotplot-ggplot","files":["0002-dotplot-ggplot.R","0002-dotplot-ggplot.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0002-dotplot-ggplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0003-dotplot-lattice","files":["0003-dotplot-lattice.R","0003-dotplot-lattice.png","0003-dotplot-lattice_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0003-dotplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0004-pirateplot-yarrr","files":["0004-pirateplot-yarrr.R","0004-pirateplot-yarrr.png","0004-pirateplot-yarrr_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0004-pirateplot-yarrr/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0005-unemploy-mvtsplot","files":["0005-unemploy-mvtsplot.R","0005-unemploy-mvtsplot.png","README.md","blsunemployment.csv","index.html","thumb.png"],"paths":{"root":"./examples/0005-unemploy-mvtsplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0006-precip-levelplot-lattice","files":["0006-precip-levelplot-lattice.R","0006-precip-levelplot-lattice.png","Precipitations.csv","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0006-precip-levelplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0007-simple-barchart-webcharts","files":["OlympicMedals2012.csv","README.md","example.html","index.html","package.json","simpleBarChart.js","thumb.png"],"paths":{"root":"./examples/0007-simple-barchart-webcharts/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"simpleBarChart.js","name":"simple-barchart-webcharts","label":"Simple Barchart (Webcharts)","repository":"github:Rhoinc/webcharts","version":"1.0.0","description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","bar chart"],"dependencies":{"d3":"~3","webcharts":"~1"},"dataDependecies":["OlympicMedals2012.csv"]},"index":"\nWebcharts - Simple Bar Chart\n\n\n\n\n\n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
    • \n
    • \n
    • \n
    \n
    \n \n
    \n\n
    \n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","example.html","index.html","package.json","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"webCodebookDemo.js","name":"web-codebook-demo","label":"Web Codebook Demo","repository":"github:Rhoinc/web-codebook","version":"1.0.0","description":"This page provides a simple demonstration of the web-codebook data summary tool.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","codebook","data summary"],"dependencies":{"d3":"~3","webcharts":"~1","webcodebook":"~1"},"dataDependecies":["../../data/safetyData/ADAE.csv"]},"index":"\nWeb Codebook - demo\n\n\n\n\n\n\n\n\n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
    • \n
    • \n
    • \n
    \n
    \n \n
    \n\n\t
    \n\t
    \n\t
    \n\n\n\n\n"},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file From 7709f27d6b84ed8fbf3b36f3e163a278e67a7d50 Mon Sep 17 00:00:00 2001 From: jwildfire Date: Sun, 4 Mar 2018 10:39:17 -0800 Subject: [PATCH 06/19] add link to readme.md. #83 --- .../0007-simple-barchart-webcharts/index.html | 6 +-- examples/0009-web-codebook-demo/index.html | 6 +-- scripts/buildExample/exampleHeaderStub.html | 6 +-- scripts/buildExample/makeExampleIndex.js | 37 +++++++++++++++---- util/web/css/examples.css | 5 +++ util/web/data/examples.js | 2 +- 6 files changed, 39 insertions(+), 23 deletions(-) diff --git a/examples/0007-simple-barchart-webcharts/index.html b/examples/0007-simple-barchart-webcharts/index.html index a77ed2f..5e8821a 100644 --- a/examples/0007-simple-barchart-webcharts/index.html +++ b/examples/0007-simple-barchart-webcharts/index.html @@ -20,11 +20,7 @@ \n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
    • \n
    • \n
    • \n
    \n
    \n \n
    \n\n
    \n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","example.html","index.html","package.json","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"webCodebookDemo.js","name":"web-codebook-demo","label":"Web Codebook Demo","repository":"github:Rhoinc/web-codebook","version":"1.0.0","description":"This page provides a simple demonstration of the web-codebook data summary tool.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","codebook","data summary"],"dependencies":{"d3":"~3","webcharts":"~1","webcodebook":"~1"},"dataDependecies":["../../data/safetyData/ADAE.csv"]},"index":"\nWeb Codebook - demo\n\n\n\n\n\n\n\n\n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
    • \n
    • \n
    • \n
    \n
    \n \n
    \n\n\t
    \n\t
    \n\t
    \n\n\n\n\n"},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file +var examples =[{"dir":"0001-density-lattice","files":["0001-density-lattice.R","0001-density-lattice.png","0001-density-lattice_thumb.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0001-density-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0002-dotplot-ggplot","files":["0002-dotplot-ggplot.R","0002-dotplot-ggplot.png","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0002-dotplot-ggplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0003-dotplot-lattice","files":["0003-dotplot-lattice.R","0003-dotplot-lattice.png","0003-dotplot-lattice_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0003-dotplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0004-pirateplot-yarrr","files":["0004-pirateplot-yarrr.R","0004-pirateplot-yarrr.png","0004-pirateplot-yarrr_tags.txt","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0004-pirateplot-yarrr/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0005-unemploy-mvtsplot","files":["0005-unemploy-mvtsplot.R","0005-unemploy-mvtsplot.png","README.md","blsunemployment.csv","index.html","thumb.png"],"paths":{"root":"./examples/0005-unemploy-mvtsplot/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0006-precip-levelplot-lattice","files":["0006-precip-levelplot-lattice.R","0006-precip-levelplot-lattice.png","Precipitations.csv","README.md","index.html","thumb.png"],"paths":{"root":"./examples/0006-precip-levelplot-lattice/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0007-simple-barchart-webcharts","files":["OlympicMedals2012.csv","README.md","example.html","index.html","package.json","simpleBarChart.js","thumb.png"],"paths":{"root":"./examples/0007-simple-barchart-webcharts/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"simpleBarChart.js","name":"simple-barchart-webcharts","label":"Simple Barchart (Webcharts)","repository":"github:Rhoinc/webcharts","version":"1.0.0","description":"This is a simple bar chart showing counts of medals won by country at the 2012 summer Olympics. Made with Webcharts.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","bar chart"],"dependencies":{"d3":"~3","webcharts":"~1"},"dataDependecies":["OlympicMedals2012.csv"]},"index":"\nWebcharts - Simple Bar Chart\n\n\n\n\n\n\n\n\n
    \n \n \n \n
    \n

    \n\n
      \n
      \n \n
      \n\n
      \n\n\n\n"},{"dir":"0008-safetyExplorer-default","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","thumb.png","timeline.png"],"paths":{"root":"./examples/0008-safetyExplorer-default/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0009-web-codebook-demo","files":["GitHub-Mark-32px.png","example.html","index.html","package.json","screen.png","thumb.png","webCodebookDemo.js"],"paths":{"root":"./examples/0009-web-codebook-demo/","index":"index.html","thumb":"thumb.png","package":"package.json"},"package":{"homepage":"example.html","main":"webCodebookDemo.js","name":"web-codebook-demo","label":"Web Codebook Demo","repository":"github:Rhoinc/web-codebook","version":"1.0.0","description":"This page provides a simple demonstration of the web-codebook data summary tool.","author":"Rho, Inc.","license":"MIT","keywords":["javascript","interactive","codebook","data summary"],"dependencies":{"d3":"~3","webcharts":"~1","webcodebook":"~1"},"dataDependecies":["../../data/safetyData/ADAE.csv"]},"index":"\nWeb Codebook - demo\n\n\n\n\n\n\n\n\n\n\n\n
      \n \n \n \n
      \n

      \n\n
        \n
        \n \n
        \n\n\t
        \n\t
        \n\t
        \n\n\n\n\n"},{"dir":"0010-spike-histogram","files":["README.md","example.html","index.html","paneledSpikeHistogram.js","spikeHistogram.js","thumb.png"],"paths":{"root":"./examples/0010-spike-histogram/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0011-safetyExplorer-queries","files":["README.md","ae-table","ae-timelines","chart.html","index.html","safety-histogram","safety-outlier-explorer","safety-results-over-time","safety-shift-plot","safetyExplorer.css","screenshot.png","thumb.png"],"paths":{"root":"./examples/0011-safetyExplorer-queries/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0012-web-codebook-explorer","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0012-web-codebook-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0013-query-overview","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png","webCodebookExplorer.js"],"paths":{"root":"./examples/0013-query-overview/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0015-safety-explorer-single-page","files":["README.md","Screenshot.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0015-safety-explorer-single-page/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0016-safety-outlier-explorer-hys-law","files":["README.md","example.html","hy.csv","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0016-safety-outlier-explorer-hys-law/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0017-population-explorer","files":["README.md","example.html","index.html","primary_outcome_determination_24NOV.csv","screen.png","thumb.png"],"paths":{"root":"./examples/0017-population-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0018-scatter-plot-matrix","files":["README.md","example.html","index.html","index.js","scatterPlotMatrix.js","screen.png","thumb.png"],"paths":{"root":"./examples/0018-scatter-plot-matrix/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0019-paneled-outlier-explorer","files":["README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0019-paneled-outlier-explorer/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0020-webcharts-table","files":["README.md","Screen Shot 2017-09-19 at 8.12.29 AM.png","example.html","index.html","simpleTable.js","thumb.png","xlsx.full.min.js"],"paths":{"root":"./examples/0020-webcharts-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0021-webcharts-destroy-table","files":["README.md","Screen Shot 2017-09-21 at 8.25.55 AM.png","example.html","index.html","thumb.png"],"paths":{"root":"./examples/0021-webcharts-destroy-table/","index":"index.html","thumb":"thumb.png","package":null}},{"dir":"0022-clinical-timelines","files":["GitHub-Mark-32px.png","README.md","example.html","index.html","screen.png","thumb.png"],"paths":{"root":"./examples/0022-clinical-timelines/","index":"index.html","thumb":"thumb.png","package":null}}] \ No newline at end of file From 2ae4f25a6149ce757255a750cbf442f04e2e6fcf Mon Sep 17 00:00:00 2001 From: jwildfire Date: Sun, 4 Mar 2018 11:04:01 -0800 Subject: [PATCH 07/19] arrows to browse examples. fix #84 --- .../0007-simple-barchart-webcharts/index.html | 2 + examples/0009-web-codebook-demo/index.html | 2 + scripts/buildExample/exampleHeaderStub.html | 2 + scripts/buildExample/makeExampleIndex.js | 24 +++++++-- scripts/parseExamples.js | 2 +- util/web/css/examples.css | 53 +++++++++++++++++-- util/web/data/examples.js | 2 +- 7 files changed, 78 insertions(+), 9 deletions(-) diff --git a/examples/0007-simple-barchart-webcharts/index.html b/examples/0007-simple-barchart-webcharts/index.html index 5e8821a..7dd8e4e 100644 --- a/examples/0007-simple-barchart-webcharts/index.html +++ b/examples/0007-simple-barchart-webcharts/index.html @@ -16,6 +16,8 @@
      • Example
      • Simple Barchart (Webcharts)
      • +
      • +