diff --git a/.gitignore b/.gitignore index 7c8d21db11500..9c617d29ea25d 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ test/**/public .gatsby-context.js .DS_Store public/ +node_modules/ diff --git a/examples/image-gallery/gatsby-node.js b/examples/image-gallery/gatsby-node.js index 2f7b9adbe5c2f..92a052ee34d72 100644 --- a/examples/image-gallery/gatsby-node.js +++ b/examples/image-gallery/gatsby-node.js @@ -5,7 +5,7 @@ import path from 'path' exports.createPages = ({ graphql }) => ( new Promise((resolve, reject) => { const pages = [] - const imagePage = path.resolve('templates/image-page.js') + const imagePage = path.resolve('pages/image-page.js') graphql(` { allImages(first: 1000) { diff --git a/examples/image-gallery/pages/image-page.js b/examples/image-gallery/pages/image-page.js index c36b1e0a4a47a..bbeb70eb60c03 100644 --- a/examples/image-gallery/pages/image-page.js +++ b/examples/image-gallery/pages/image-page.js @@ -10,7 +10,6 @@ class ImagePage extends React.Component { } render () { - console.log(this.props) const {regular, retina, micro} = this.props.data.image return (
diff --git a/examples/image-gallery/pages/index.js b/examples/image-gallery/pages/index.js index 046fb309d9b47..166991b0ce3e6 100644 --- a/examples/image-gallery/pages/index.js +++ b/examples/image-gallery/pages/index.js @@ -3,7 +3,6 @@ import {rhythm} from 'utils/typography' import Link from 'react-router/lib/Link' const ImageIndex = (props) => { - console.log(props) return (
{props.data.allImages.edges.map((edge) => { @@ -40,12 +39,12 @@ query allImages { edges { node { path - regular: image(width: 290) { + regular: image(height: 290, width: 387) { src height width } - retina: image(width: 580) { + retina: image(height: 580, width: 794) { src } } diff --git a/examples/image-gallery/yarn.lock b/examples/image-gallery/yarn.lock index 8add8894f4d2b..7e4d0c2db59e8 100644 --- a/examples/image-gallery/yarn.lock +++ b/examples/image-gallery/yarn.lock @@ -40,39 +40,18 @@ acorn-globals@^1.0.4: dependencies: acorn "^2.1.0" -acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" - acorn@^2.1.0, acorn@^2.4.0: version "2.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" -acorn@^3.0.0, acorn@^3.0.4: +acorn@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1" - after@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" -ajv-keywords@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" - -ajv@^4.7.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.8.0.tgz#011df5c4a08edb29574a477269afb15a6f97abe5" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -96,10 +75,6 @@ ammo@1.x.x: boom "2.x.x" hoek "2.x.x" -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - ansi-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" @@ -167,16 +142,6 @@ array-iterate@^1.0.0: dependencies: has "^1.0.1" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" @@ -223,7 +188,7 @@ async@^0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" -async@^1.3.0, async@^1.4.0, async@^1.5.0, async@1.5.2: +async@^1.3.0, async@^1.4.0, async@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -1046,7 +1011,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird, bluebird@^3.0.0, bluebird@^3.0.5, bluebird@^3.3.4: +bluebird@^3.0.0, bluebird@^3.0.5, bluebird@^3.3.4: version "3.4.6" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" @@ -1172,7 +1137,7 @@ buffer@^4.3.0, buffer@^4.9.0: ieee754 "^1.1.4" isarray "^1.0.0" -builtin-modules@^1.0.0, builtin-modules@^1.1.1: +builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1193,16 +1158,6 @@ call@2.x.x: boom "2.x.x" hoek "2.x.x" -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -1334,10 +1289,6 @@ cipher-base@^1.0.0, cipher-base@^1.0.1: dependencies: inherits "^2.0.1" -circular-json@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" - cjsx-loader@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cjsx-loader/-/cjsx-loader-3.0.0.tgz#06dca52af2af649a8c0539c17990f633adc6dd8f" @@ -1351,16 +1302,6 @@ clap@^1.0.9: dependencies: chalk "^1.1.3" -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-width@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" - cliui@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" @@ -1381,10 +1322,6 @@ clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - coa@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz#7f959346cfc8719e3f7233cd6852854a7c67d8a3" @@ -1415,12 +1352,6 @@ collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.2.tgz#9c463fb9c6d190d2dcae21a356a01bcae9eeef6d" -collections@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/collections/-/collections-0.2.2.tgz#1f23026b2ef36f927eecc901e99c5f0d48fa334e" - dependencies: - weak-map "1.0.0" - color-convert@^0.5.3, color-convert@0.5.x: version "0.5.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" @@ -1524,7 +1455,7 @@ common-tags@0.1.1: dependencies: babel-runtime "^6.6.1" -compass-vertical-rhythm@^1.2.1, compass-vertical-rhythm@^1.3.0: +compass-vertical-rhythm@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/compass-vertical-rhythm/-/compass-vertical-rhythm-1.3.1.tgz#6047ffd8b20b2dcba93698e90a34570662893488" dependencies: @@ -1553,14 +1484,6 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.6: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - connect-history-api-fallback@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" @@ -1587,10 +1510,6 @@ constants-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2" -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - content-disposition@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" @@ -1837,10 +1756,6 @@ d@1: dependencies: es5-ext "^0.10.9" -damerau-levenshtein@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz#ae4f4ce0b62acae10ff63a01bb08f652f5213af2" - dashdash@^1.12.0: version "1.14.0" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141" @@ -1862,7 +1777,7 @@ dateformat@1.0.11: get-stdin "*" meow "*" -debug@^2.1.1, debug@^2.2.0, debug@~2.2.0, debug@2.2.0: +debug@^2.1.1, debug@^2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -1898,18 +1813,6 @@ defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1967,20 +1870,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -doctrine@^1.2.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@1.3.x: - version "1.3.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - dom-helpers@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-2.4.0.tgz#9bb4b245f637367b1fa670274272aa28fe06c367" @@ -2041,10 +1930,6 @@ ejs@^2.3.4: version "2.5.2" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.2.tgz#21444ba09386f0c65b6eafb96a3d51bcb3be80d1" -element-resize-event@^2.0.0: - version "2.0.7" - resolved "https://registry.yarnpkg.com/element-resize-event/-/element-resize-event-2.0.7.tgz#8b63953715967cd2241620245573e79e684e07b0" - elliptic@^6.0.0: version "6.3.2" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.2.tgz#e4c81e0829cf0a65ab70e998b8232723b5c1bc48" @@ -2119,7 +2004,7 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" -es5-ext@^0.10.12, es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@^0.10.9, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: +es5-ext@^0.10.12, es5-ext@^0.10.7, es5-ext@^0.10.9, es5-ext@~0.10.11, es5-ext@~0.10.2: version "0.10.12" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" dependencies: @@ -2134,32 +2019,11 @@ es6-iterator@2: es5-ext "^0.10.7" es6-symbol "3" -es6-map@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-set "~0.1.3" - es6-symbol "~3.1.0" - event-emitter "~0.3.4" - es6-promise@^3.0.2: version "3.3.1" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" -es6-set@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-symbol "3" - event-emitter "~0.3.4" - -es6-symbol@^3.0.2, es6-symbol@~3.1, es6-symbol@~3.1.0, es6-symbol@3: +es6-symbol@^3.0.2, es6-symbol@~3.1, es6-symbol@3: version "3.1.0" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" dependencies: @@ -2173,20 +2037,11 @@ es6-template-strings@^2.0.0: es5-ext "^0.10.12" esniff "^1.1" -es6-weak-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" - dependencies: - d "^0.1.1" - es5-ext "^0.10.8" - es6-iterator "2" - es6-symbol "3" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -2201,108 +2056,6 @@ escodegen@^1.6.1: optionalDependencies: source-map "~0.2.0" -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-config-airbnb-base@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-8.0.0.tgz#c5e958a469ab8af76aff068b43d784e5afe74ca7" - -eslint-config-airbnb@^12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-12.0.0.tgz#ab282b756a25f03d04ac264c24d673a08a803270" - dependencies: - eslint-config-airbnb-base "^8.0.0" - -eslint-import-resolver-node@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" - dependencies: - debug "^2.2.0" - object-assign "^4.0.1" - resolve "^1.1.6" - -eslint-module-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-1.0.0.tgz#c4a57fd3a53efd8426cc2d5550aadab9bbd05fd0" - dependencies: - debug "2.2.0" - pkg-dir "^1.0.0" - -eslint-plugin-import@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.0.1.tgz#dcfe96357d476b3f822570d42c29bec66f5d9c5c" - dependencies: - builtin-modules "^1.1.1" - contains-path "^0.1.0" - debug "^2.2.0" - doctrine "1.3.x" - eslint-import-resolver-node "^0.2.0" - eslint-module-utils "^1.0.0" - has "^1.0.1" - lodash.cond "^4.3.0" - minimatch "^3.0.3" - pkg-up "^1.0.0" - -eslint-plugin-jsx-a11y@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz#4e35cb71b8a7db702ac415c806eb8e8d9ea6c65d" - dependencies: - damerau-levenshtein "^1.0.0" - jsx-ast-utils "^1.0.0" - object-assign "^4.0.1" - -eslint-plugin-react@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.4.1.tgz#7d1aade747db15892f71eee1fea4addf97bcfa2b" - dependencies: - doctrine "^1.2.2" - jsx-ast-utils "^1.3.1" - -eslint@^3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.8.1.tgz#7d02db44cd5aaf4fa7aa489e1f083baa454342ba" - dependencies: - chalk "^1.1.3" - concat-stream "^1.4.6" - debug "^2.1.1" - doctrine "^1.2.2" - escope "^3.6.0" - espree "^3.3.1" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.2.0" - ignore "^3.1.5" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.6.0" - strip-bom "^3.0.0" - strip-json-comments "~1.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - esniff@^1.1: version "1.1.0" resolved "https://registry.yarnpkg.com/esniff/-/esniff-1.1.0.tgz#c66849229f91464dede2e0d40201ed6abf65f2ac" @@ -2310,36 +2063,14 @@ esniff@^1.1: d "1" es5-ext "^0.10.12" -espree@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" - dependencies: - acorn "^4.0.1" - acorn-jsx "^3.0.0" - esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -esrecurse@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" - dependencies: - estraverse "~4.1.0" - object-assign "^4.0.1" - estraverse@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -estraverse@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" - esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -2354,13 +2085,6 @@ eval@^0.1.0: dependencies: require-like ">= 0.1.1" -event-emitter@~0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" - dependencies: - d "~0.1.1" - es5-ext "~0.10.7" - eventemitter3@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" @@ -2402,10 +2126,6 @@ execspawn@^1.0.1: dependencies: util-extend "^1.0.1" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -2531,20 +2251,6 @@ fbjs@0.1.0-alpha.10: promise "^7.0.3" whatwg-fetch "^0.9.0" -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - file-loader@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.9.0.tgz#1d2daddd424ce6d1b07cfe3f79731bed3617ab42" @@ -2623,15 +2329,6 @@ flagged-respawn@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" -flat-cache@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff" - dependencies: - circular-json "^0.3.0" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" - flatten@^1.0.2, flatten@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" @@ -2858,18 +2555,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -gh-pages@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-0.11.0.tgz#93313c6dcbfc74d426bc89a29ebff6420acc3c1b" - dependencies: - async "1.5.2" - commander "2.9.0" - globby "^4.0.0" - graceful-fs "4.1.2" - q "1.4.1" - q-io "1.13.2" - wrench "1.5.8" - ghreleases@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/ghreleases/-/ghreleases-1.0.5.tgz#a20f8194074311e19d84ccba7a6e08c4b434fd80" @@ -2969,40 +2654,10 @@ globals@^8.3.0: version "8.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-8.18.0.tgz#93d4a62bdcac38cfafafc47d6b034768cb0ffcb4" -globals@^9.2.0: - version "9.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d" - -globby@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^6.0.1" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6: version "4.1.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" -graceful-fs@4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.2.tgz#fe2239b7574972e67e41f808823f9bfa4a991e37" - "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -3306,10 +2961,6 @@ ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" -ignore@^3.1.5: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" - immutable@^3.7.6: version "3.8.1" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" @@ -3362,24 +3013,6 @@ ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - interpret@^0.6.4: version "0.6.6" resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" @@ -3510,7 +3143,7 @@ is-hexadecimal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.0.tgz#5c459771d2af9a2e3952781fd54fcb1bcfe4113c" -is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: +is-my-json-valid@^2.12.4: version "2.15.0" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" dependencies: @@ -3525,22 +3158,6 @@ is-number@^2.0.2, is-number@^2.1.0: dependencies: kind-of "^3.0.2" -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -3563,12 +3180,6 @@ is-relative@^0.2.1: dependencies: is-unc-path "^0.1.1" -is-resolvable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" - dependencies: - tryit "^1.0.1" - is-stream@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3714,7 +3325,7 @@ js-tokens@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" -js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@~3.6.1: +js-yaml@^3.4.6, js-yaml@~3.6.1: version "3.6.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" dependencies: @@ -3761,12 +3372,6 @@ json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -3789,10 +3394,6 @@ jsonfile@^2.1.0: optionalDependencies: graceful-fs "^4.1.6" -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - jsonist@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/jsonist/-/jsonist-1.2.0.tgz#da7555a5da1002d53ba30c3f0e05a2808fb82f34" @@ -3881,13 +3482,6 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.3.6" -jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.2.tgz#dff658782705352111f9865d40471bc4a955961e" - dependencies: - acorn-jsx "^3.0.1" - object-assign "^4.1.0" - kebab-case@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/kebab-case/-/kebab-case-1.0.0.tgz#3f9e4990adcad0c686c0e701f7645868f75f91eb" @@ -3972,7 +3566,7 @@ levelup@~1.3.0: semver "~5.1.0" xtend "~4.0.0" -levn@^0.3.0, levn@~0.3.0: +levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" dependencies: @@ -4025,7 +3619,7 @@ loader-utils@^0.2.11, loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^ json5 "^0.5.0" object-assign "^4.0.1" -lodash, lodash@^4.0.0, lodash@^4.1.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.1, lodash@^4.16.2, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1: +lodash, lodash@^4.1.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.1, lodash@^4.16.2, lodash@^4.2.0, lodash@^4.5.1, lodash@^4.6.1: version "4.16.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127" @@ -4036,10 +3630,6 @@ lodash._createcompounder@^3.0.0: lodash.deburr "^3.0.0" lodash.words "^3.0.0" -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -4062,10 +3652,6 @@ lodash.camelcase@^3.0.1: dependencies: lodash._createcompounder "^3.0.0" -lodash.cond@^4.3.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" - lodash.deburr@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-3.2.0.tgz#6da8f54334a366a7cf4c4c76ef8d80aa1b365ed5" @@ -4076,14 +3662,6 @@ lodash.indexof@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/lodash.indexof/-/lodash.indexof-4.0.5.tgz#53714adc2cddd6ed87638f893aa9b6c24e31ef3c" -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - lodash.isempty@^4.2.1: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" @@ -4100,14 +3678,6 @@ lodash.isstring@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" -lodash.keys@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - lodash.mapvalues@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" @@ -4364,7 +3934,7 @@ mime-types@^2.1.11, mime-types@~2.1.11, mime-types@~2.1.7: dependencies: mime-db "~1.24.0" -mime@^1.2.11, mime@^1.3.4, mime@1.3.4: +mime@^1.3.4, mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" @@ -4372,10 +3942,6 @@ mime@1.2.x: version "1.2.11" resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10" -mimeparse@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/mimeparse/-/mimeparse-0.1.4.tgz#dafb02752370fd226093ae3152c271af01ac254a" - mimos@2.x.x: version "2.0.2" resolved "https://registry.yarnpkg.com/mimos/-/mimos-2.0.2.tgz#c3241717e75b95992be787ac7dd6db1a9b539b1e" @@ -4393,7 +3959,7 @@ minimalistic-assert@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, "minimatch@2 || 3", minimatch@3: +minimatch@^3.0.0, minimatch@^3.0.2, "minimatch@2 || 3", minimatch@3: version "3.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" dependencies: @@ -4431,18 +3997,10 @@ ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - nan@^2.3.0, nan@~2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - ncp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" @@ -4772,10 +4330,6 @@ onecolor@~2.4.0: version "2.4.2" resolved "https://registry.yarnpkg.com/onecolor/-/onecolor-2.4.2.tgz#a53ec3ff171c3446016dd5210d1a1b544bf7d874" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - open@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" @@ -4794,7 +4348,7 @@ optimist@~0.6.0, optimist@~0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -optionator@^0.8.1, optionator@^0.8.2: +optionator@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" dependencies: @@ -4929,10 +4483,6 @@ path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - path-root-regex@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" @@ -4969,14 +4519,6 @@ peekaboo@1.x.x: version "1.0.0" resolved "https://registry.yarnpkg.com/peekaboo/-/peekaboo-1.0.0.tgz#c0db2926ad654d2ca01f7ca650ab4591a764fc42" -performance-now@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.1.4.tgz#360b642f073ff8c2a693b3c38d7ccbc17b53183b" - -performance-now@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - pez@1.x.x: version "1.0.0" resolved "https://registry.yarnpkg.com/pez/-/pez-1.0.0.tgz#844318a5ce7092eeddffa295e18079ac779fa018" @@ -5018,12 +4560,6 @@ pkg-conf@^1.1.2: object-assign "^4.0.1" symbol "^0.2.1" -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - dependencies: - find-up "^1.0.0" - pkg-resolve@^0.1.7: version "0.1.14" resolved "https://registry.yarnpkg.com/pkg-resolve/-/pkg-resolve-0.1.14.tgz#329b2e76ccbb372e22e6a3a41cb30ab0457836ba" @@ -5031,12 +4567,6 @@ pkg-resolve@^0.1.7: jspm "^0.17.0-beta.13" resolve "^1.1.7" -pkg-up@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" - dependencies: - find-up "^1.0.0" - pleeease-filters@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pleeease-filters/-/pleeease-filters-3.0.0.tgz#35a4d4c2086413eabc2ce17aaa2ec29054e3075c" @@ -5044,10 +4574,6 @@ pleeease-filters@^3.0.0: onecolor "~2.4.0" postcss "^5.0.4" -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" - postcss-apply@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/postcss-apply/-/postcss-apply-0.3.0.tgz#a2f37c5bdfa881e4c15f4f245ec0cd96dd2e70d5" @@ -5548,10 +5074,6 @@ process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - promise@^7.0.3, promise@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" @@ -5615,25 +5137,10 @@ punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" -q-io@1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/q-io/-/q-io-1.13.2.tgz#eea130d481ddb5e1aa1bc5a66855f7391d06f003" - dependencies: - collections "^0.2.0" - mime "^1.2.11" - mimeparse "^0.1.4" - q "^1.0.1" - qs "^1.2.1" - url2 "^0.0.0" - -q@^1.0.1, q@^1.1.2, q@1.4.1: +q@^1.1.2: version "1.4.1" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" -qs@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88" - qs@~6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" @@ -5671,18 +5178,6 @@ querystringify@0.0.x: version "0.0.4" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" -raf@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/raf/-/raf-2.0.4.tgz#4993e453ea5275bf6ef07a163bdfe9a23233b623" - dependencies: - performance-now "~0.1.3" - -raf@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.3.0.tgz#93845eeffc773f8129039f677f80a36044eee2c3" - dependencies: - performance-now "~0.2.0" - randomatic@^1.1.3: version "1.1.5" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" @@ -5711,33 +5206,20 @@ rc@^1.0.3, rc@^1.1.0, rc@~1.1.0: minimist "^1.2.0" strip-json-comments "~1.0.4" -react-component-width-mixin@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/react-component-width-mixin/-/react-component-width-mixin-2.0.0.tgz#9612806299ccf3de2304f8d40fb02e7c14d2a131" - dependencies: - element-resize-event "^2.0.0" - react-deep-force-update@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.0.1.tgz#4f7f6c12c3e7de42f345992a3c518236fa1ecad3" -react-document-title, react-document-title@^2.0.1: +react-document-title@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/react-document-title/-/react-document-title-2.0.2.tgz#1e42b672d300f8f90d8d05544b0d71f0ca7860aa" dependencies: react-side-effect "^1.0.2" -react-dom@^15.3.0, react-dom@^15.3.2: +react-dom@^15.3.2: version "15.3.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.3.2.tgz#c46b0aa5380d7b838e7a59c4a7beff2ed315531f" -react-headroom@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/react-headroom/-/react-headroom-2.1.3.tgz#43271ea76649853a7c9992c570e07544354a9d43" - dependencies: - raf "^3.3.0" - shallowequal "^0.2.2" - react-hot-loader@^3.0.0-beta.5: version "3.0.0-beta.6" resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-3.0.0-beta.6.tgz#463fac0bfc8b63a8385258af20c91636abce75f4" @@ -5749,26 +5231,12 @@ react-hot-loader@^3.0.0-beta.5: redbox-react "^1.2.5" source-map "^0.4.4" -react-page-width@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/react-page-width/-/react-page-width-1.0.1.tgz#264e5bffe3cd2a7d7a9ee9bb800df6333aaac990" - dependencies: - raf "^2.0.4" - react-proxy@^3.0.0-alpha.0: version "3.0.0-alpha.1" resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz#4400426bcfa80caa6724c7755695315209fa4b07" dependencies: lodash "^4.6.1" -react-responsive-grid@^0.3.3: - version "0.3.4" - resolved "https://registry.yarnpkg.com/react-responsive-grid/-/react-responsive-grid-0.3.4.tgz#c94fda1469f36a41e3fc23f63bb6e50f5e866523" - dependencies: - object-assign "^4.0.1" - react-component-width-mixin "^2.0.0" - react-page-width "^1.0.1" - react-router-scroll@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/react-router-scroll/-/react-router-scroll-0.3.2.tgz#ba8b1d01b3681dc5a68d72865d35c10e84065e52" @@ -5777,7 +5245,7 @@ react-router-scroll@^0.3.2: scroll-behavior "^0.8.0" warning "^3.0.0" -react-router@^2.6.1, react-router@^2.8.1: +react-router@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-2.8.1.tgz#73e9491f6ceb316d0f779829081863e378ee4ed7" dependencies: @@ -5797,7 +5265,7 @@ react-typography@^0.14.0: version "0.14.0" resolved "https://registry.yarnpkg.com/react-typography/-/react-typography-0.14.0.tgz#5aa1a5ce2402b943a36d6cbfb5e758344d9d135d" -react@^15.3.0, react@^15.3.2: +react@^15.3.2: version "15.3.2" resolved "https://registry.yarnpkg.com/react/-/react-15.3.2.tgz#a7bccd2fee8af126b0317e222c28d1d54528d09e" dependencies: @@ -5856,7 +5324,7 @@ readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2. isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@~2.0.0, readable-stream@~2.0.5: +readable-stream@~2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" dependencies: @@ -5885,14 +5353,6 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -6088,13 +5548,6 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -require-uncached@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.2.tgz#67dad3b733089e77030124678a459589faf6a7ec" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - requires-port@1.0.x, requires-port@1.x.x: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -6106,10 +5559,6 @@ resolve-dir@^0.1.0: expand-tilde "^1.2.2" global-modules "^0.2.3" -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - resolve-from@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" @@ -6118,13 +5567,6 @@ resolve@^1.1.6, resolve@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - retry@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.0.tgz#649e15ca408422d98318161935e7f7d652d435dd" @@ -6173,16 +5615,6 @@ rsvp@^3.0.13, rsvp@^3.0.18: version "3.3.3" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.3.3.tgz#34633caaf8bc66ceff4be3c2e1dffd032538a813" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - sane@^1.3.3: version "1.4.1" resolved "https://registry.yarnpkg.com/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" @@ -6290,20 +5722,10 @@ sha.js@2.2.6: version "2.2.6" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" -shallowequal@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e" - dependencies: - lodash.keys "^3.1.2" - shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" - shelljs@^0.7.0: version "0.7.4" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.4.tgz#b8f04b3a74ddfafea22acf98e0be45ded53d59c8" @@ -6350,10 +5772,6 @@ slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" @@ -6555,17 +5973,13 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" dependencies: get-stdin "^4.0.1" -strip-json-comments@~1.0.1, strip-json-comments@~1.0.4: +strip-json-comments@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" @@ -6646,17 +6060,6 @@ systemjs@^0.19.39, systemjs@0.19.39: dependencies: when "^3.7.5" -table@^3.7.8: - version "3.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.0.tgz#252166c7f3286684a9d561b0f3a8929caf3a997b" - dependencies: - ajv "^4.7.0" - ajv-keywords "^1.0.0" - chalk "^1.1.1" - lodash "^4.0.0" - slice-ansi "0.0.4" - string-width "^1.0.1" - tapable@^0.1.8, tapable@~0.1.8: version "0.1.10" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" @@ -6703,14 +6106,6 @@ tcomb@^3.2.13: version "3.2.15" resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-3.2.15.tgz#09e40f447976d1d9c07ff465b8377342a8fe67e1" -text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - through2@~0.6.3: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" @@ -6798,10 +6193,6 @@ trough@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.0.tgz#6bdedfe7f2aa49a6f3c432257687555957f342fd" -tryit@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.2.tgz#c196b0073e6b1c595d93c9c830855b7acc32a453" - tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -6827,26 +6218,10 @@ type-is@~1.6.13: media-typer "0.3.0" mime-types "~2.1.11" -typedarray@~0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -typography-breakpoint-constants@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/typography-breakpoint-constants/-/typography-breakpoint-constants-0.14.0.tgz#dbfef844095b78cfc1d0088a2fa83e91f442aa13" - typography-normalize@^0.14.0: version "0.14.0" resolved "https://registry.yarnpkg.com/typography-normalize/-/typography-normalize-0.14.0.tgz#1d77c1fe2aaf4a51b3673c4c85c85a65a2d4b573" -typography-theme-alton@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/typography-theme-alton/-/typography-theme-alton-0.14.0.tgz#5f7a60a122bb710b5c4735fe116473d39201afeb" - dependencies: - compass-vertical-rhythm "^1.2.1" - gray-percentage "^2.0.0" - typography-breakpoint-constants "^0.14.0" - typography@^0.14.0: version "0.14.0" resolved "https://registry.yarnpkg.com/typography/-/typography-0.14.0.tgz#852883f5405eeb2a2fe0ba95723b379b49c2fb87" @@ -7026,20 +6401,10 @@ url@~0.11.0: punycode "1.3.2" querystring "0.2.0" -url2@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/url2/-/url2-0.0.0.tgz#4eaabd1d5c3ac90d62ab4485c998422865a04b1a" - user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -7148,10 +6513,6 @@ watchpack@^0.2.1: chokidar "^1.0.0" graceful-fs "^4.1.2" -weak-map@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.0.tgz#b66e56a9df0bd25a76bbf1b514db129080614a37" - webidl-conversions@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506" @@ -7347,16 +6708,6 @@ wreck@6.x.x: boom "2.x.x" hoek "2.x.x" -wrench@1.5.8: - version "1.5.8" - resolved "https://registry.yarnpkg.com/wrench/-/wrench-1.5.8.tgz#7a31c97f7869246d76c5cf2f5c977a1c4c8e5ab5" - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - dependencies: - mkdirp "^0.5.1" - x-is-string@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" diff --git a/lib/intermediate-representation-dir/app.js b/lib/intermediate-representation-dir/app.js index 8691f60aef41c..1eeccfdc19d60 100644 --- a/lib/intermediate-representation-dir/app.js +++ b/lib/intermediate-representation-dir/app.js @@ -7,14 +7,13 @@ import ReactDOM from 'react-dom' import { AppContainer as HotContainer } from 'react-hot-loader' const rootElement = document.getElementById(`react-mount`) + let Root = require('./root') if (Root.default) { Root = Root.default } -// Let site, plugins wrap the site e.g. for Redux. -const WrappedRoot = apiRunner('wrapRootComponent', { Root: Root }, Root) ReactDOM.render( - + , rootElement ) @@ -23,11 +22,9 @@ if (module.hot) { module.hot.accept(`./root`, () => { let NextRoot = require('./root') if (NextRoot.default) { NextRoot = NextRoot.default } - // Let site, plugins wrap the site e.g. for Redux. - const WrappedRoot = apiRunner('wrapRootComponent', { Root: NextRoot }, NextRoot) ReactDOM.render( - + , rootElement ) diff --git a/lib/intermediate-representation-dir/root.js b/lib/intermediate-representation-dir/root.js index ee4cdf1dd6ab9..61b22d8cfbf86 100644 --- a/lib/intermediate-representation-dir/root.js +++ b/lib/intermediate-representation-dir/root.js @@ -30,4 +30,7 @@ const Root = () => ( /> ) -export default Root +// Let site, plugins wrap the site e.g. for Redux. +const WrappedRoot = apiRunner('wrapRootComponent', { Root: Root }, Root) + +export default WrappedRoot diff --git a/lib/schema/images-schema.js b/lib/schema/images-schema.js new file mode 100644 index 0000000000000..cb97fdcf52ad0 --- /dev/null +++ b/lib/schema/images-schema.js @@ -0,0 +1,201 @@ +import exiftool from 'node-exiftool' +import glob from 'glob' +import Promise from 'bluebird' +import _ from 'lodash' +import moment from 'moment' +import qs from 'querystring' +import { + GraphQLObjectType, + GraphQLString, + GraphQLInt, + GraphQLBoolean, + GraphQLNonNull, +} from 'graphql' +import { + connectionFromArray, + connectionArgs, + connectionDefinitions, +} from 'graphql-relay' +import sharp from 'sharp' +import md5File from 'md5-file' +import MarkdownIt from 'markdown-it' +import parseFilepath from 'parse-filepath' + +const md = new MarkdownIt({ + html: true, + typographer: true, +}) + +//import inferGraphQLType from './infer-graphql-type' + +const ep = new exiftool.ExiftoolProcess(`/usr/local/bin/exiftool`) +const isOpen = ep.open() + +module.exports = (directory) => { + return new Promise((resolve, reject) => { + isOpen + .catch((err) => reject(err)) + .then(() => { + glob(`${directory}/**/?(*.png|*.jpg|*.jpeg)`, (err, files) => { + Promise.all(files.map((file) => ep.readMetadata(file))) + .then((results) => { + const cleanedResults = _.filter(results, (result) => result.error === null) + let mappedResults = cleanedResults.map((result) => result.data[0]) + mappedResults = mappedResults.map((image) => { + // Set path from FileName + const parsedPath = parseFilepath(image.FileName) + image.path = `/` + _.kebabCase(`${parsedPath.dir}/${parsedPath.name}`) + `/` + // Render description as markdown (if set). + if (image.Description) { + image.Description = md.render(image.Description.replace(/
/g, '\n')) + } + return image + }) + const ImageType = new GraphQLObjectType({ + name: `Image`, + fields: { + SourceFile: { type: GraphQLString }, + FileName: { type: GraphQLString }, + FileSize: { type: GraphQLString }, + FileType: { type: GraphQLString }, + ImageWidth: { type: GraphQLInt }, + ImageHeight: { type: GraphQLInt }, + Caption: { type: GraphQLString }, + Description: { type: GraphQLString }, + path: { type: GraphQLString }, + Date: { + type: GraphQLString, + args: { + formatString: { + type: GraphQLString, + }, + }, + resolve ({ Date }, { formatString }) { + if (formatString) { + return moment(Date, 'YYYY:MM:DD HH:mm:ssZ').format(formatString) + } else { + return Date + } + }, + }, + image: { + type: new GraphQLObjectType({ + name: `ImageSrc`, + fields: { + src: { type: GraphQLString }, + width: { type: GraphQLInt }, + height: { type: GraphQLInt }, + }, + }), + args: { + width: { + type: GraphQLInt, + defaultValue: 400, + }, + height: { + type: GraphQLInt, + }, + quality: { + type: GraphQLInt, + defaultValue: 50, + }, + grayscale: { + type: GraphQLBoolean, + defaultValue: false, + }, + base64: { + type: GraphQLBoolean, + defaultValue: false, + }, + }, + resolve (file, args) { + return new Promise((resolve) => { + md5File(file.SourceFile, (err, hash) => { + const imgSrc = `/images/${hash}-${qs.stringify(args)}.${file.FileTypeExtension}` + const filePath = `${process.cwd()}/public${imgSrc}` + let transformer = sharp(file.SourceFile) + .resize(args.width, args.height) + .quality(args.quality) + .progressive() + + // grayscale + if (args.grayscale) { + transformer = transformer.grayscale() + } + + // rotate + if (args.rotate) { + transformer = transformer.rotate(args.rotate) + } else { + // Rotate according to the EXIF Orientation tag. + transformer = transformer.rotate() + } + + if (args.base64) { + transformer.toBuffer((err, data) => { + resolve({ + src: data.toString(`base64`), + width: args.width, + }) + }) + } else { + transformer + .toFile(filePath) + .then((metadata) => { + metadata.src = imgSrc + resolve(metadata) + }) + } + }) + }) + }, + }, + }, + }) + + const { connectionType: imageConnection } = + connectionDefinitions( + { + nodeType: ImageType, + connectionFields: () => ({ + totalCount: { + type: GraphQLInt, + }, + }), + } + ) + + return resolve({ + image: { + type: ImageType, + args: { + path: { + type: new GraphQLNonNull(GraphQLString), + description: `URL path to image`, + }, + }, + resolve (root, args) { + return _.find(mappedResults, (page) => page.path === args.path) + }, + }, + allImages: { + type: imageConnection, + description: `Images`, + args: { + ...connectionArgs, + }, + resolve (something, args) { + const result = connectionFromArray( + mappedResults, + args + ) + result.totalCount = mappedResults.length + return result + }, + }, + }) + }) + }) + }) + }) +} diff --git a/lib/schema/index.js b/lib/schema/index.js index 213d04c20914f..da8ffadc197c5 100644 --- a/lib/schema/index.js +++ b/lib/schema/index.js @@ -11,6 +11,8 @@ import { siteDB } from '../utils/globals' import markdownSchema from './markdown' import siteSchema from './site-schema' import apiRunnerNode from '../utils/api-runner-node' +import imagesSchema from './images-schema' +import pdfSchema from './pdf' module.exports = async () => { const config = siteDB().get(`config`) @@ -19,6 +21,8 @@ module.exports = async () => { Promise.all([ markdownSchema(path.resolve(config.sources)), siteSchema(), + imagesSchema(path.resolve(config.sources)), + pdfSchema(path.resolve(config.sources)), ]) .catch((error) => { console.log(`error in booting schema`, error) diff --git a/lib/schema/infer-graphql-type.js b/lib/schema/infer-graphql-type.js index c74df8369a36e..8343cc34b5e5a 100644 --- a/lib/schema/infer-graphql-type.js +++ b/lib/schema/infer-graphql-type.js @@ -1,20 +1,15 @@ import { - graphql, - GraphQLSchema, - GraphQLNonNull, GraphQLObjectType, - GraphQLScalarType, GraphQLBoolean, GraphQLString, GraphQLFloat, - GraphQLID, GraphQLInt, GraphQLList, } from 'graphql' -const getGraphQLType = (key, value) => { +const inferGraphQLType = (key, value) => { if (Array.isArray(value)) { - const headType = getGraphQLType(``, value[0]) + const headType = inferGraphQLType(``, value[0]) return new GraphQLList(headType) } @@ -35,11 +30,12 @@ const getGraphQLType = (key, value) => { case `object`: return GraphQLObjectType case `number`: - return value % 1 == 0 + return value % 1 === 0 ? GraphQLInt : GraphQLFloat + default: + return null } - return null } -module.exports = getGraphQLType +module.exports = inferGraphQLType diff --git a/lib/schema/pdf.js b/lib/schema/pdf.js new file mode 100644 index 0000000000000..133d125570572 --- /dev/null +++ b/lib/schema/pdf.js @@ -0,0 +1,113 @@ +import exiftool from 'node-exiftool' +import glob from 'glob' +import Promise from 'bluebird' +import _ from 'lodash' +import moment from 'moment' +import { + GraphQLObjectType, + GraphQLString, + GraphQLInt, +} from 'graphql' +import { + connectionFromArray, + connectionArgs, + connectionDefinitions, +} from 'graphql-relay' +import MarkdownIt from 'markdown-it' + +const md = new MarkdownIt({ + html: true, + typographer: true, +}) + +//import inferGraphQLType from './infer-graphql-type' + +const ep = new exiftool.ExiftoolProcess(`/usr/local/bin/exiftool`) +const isOpen = ep.open() + +module.exports = (directory) => { + return new Promise((resolve, reject) => { + isOpen + .catch((err) => reject(err)) + .then(() => { + glob(`${directory}/**/?(*.pdf)`, (err, files) => { + Promise.all(files.map((file) => ep.readMetadata(file))) + .then((results) => { + const cleanedResults = _.filter(results, (result) => result.error === null) + let mappedResults = cleanedResults.map((result) => result.data[0]) + mappedResults = mappedResults.map((pdf) => { + if (pdf.Description) { + pdf.Description = md.render(pdf.Description.replace(/
/g, '\n')) + } + return pdf + }) + console.log(mappedResults[0]) + //console.log(mappedResults) + //const mergedObject = _.merge(...mappedResults) + //_.each(mergedObject, (v, k) => { + //console.log(k, v) + ////console.log(inferGraphQLType(k, v).name) + //}) + const PdfType = new GraphQLObjectType({ + name: `Pdf`, + fields: { + SourceFile: { type: GraphQLString }, + FileName: { type: GraphQLString }, + FileSize: { type: GraphQLString }, + FileType: { type: GraphQLString }, + Caption: { type: GraphQLString }, + Description: { type: GraphQLString }, + Date: { + type: GraphQLString, + args: { + formatString: { + type: GraphQLString, + }, + }, + resolve ({ Date }, { formatString }) { + if (formatString) { + return moment(Date, 'YYYY:MM:DD HH:mm:ssZ').format(formatString) + } else { + return Date + } + }, + }, + ImgSrc: { type: GraphQLString }, + }, + }) + + const { connectionType: imageConnection } = + connectionDefinitions( + { + nodeType: PdfType, + connectionFields: () => ({ + totalCount: { + type: GraphQLInt, + }, + }), + } + ) + + return resolve({ + allPdfs: { + type: imageConnection, + description: `Pdfs`, + args: { + ...connectionArgs, + }, + resolve (something, args) { + const result = connectionFromArray( + mappedResults, + args + ) + result.totalCount = mappedResults.length + return result + }, + }, + }) + }) + }) + }) + }) +} + diff --git a/lib/utils/develop.js b/lib/utils/develop.js index 0446fb660d617..935d619dd4863 100644 --- a/lib/utils/develop.js +++ b/lib/utils/develop.js @@ -134,7 +134,7 @@ function startServer (program) { path: `/{path*}`, handler: { directory: { - path: `${program.directory}/pages`, + path: `${program.directory}/public`, listing: false, index: false, }, @@ -149,31 +149,32 @@ function startServer (program) { const negotiator = new Negotiator(request.raw.req) // Try to map the url path to match an actual path of a file on disk. - const parsed = parsePath(request.path) - const page = pagesDB().get(parsed.dirname) - - let absolutePath = `${program.directory}/pages` - let path - if (page) { - path = `/${parsePath(page.component).dirname}/${parsed.basename}` - absolutePath += `/${parsePath(page.component).dirname}/${parsed.basename}` - } else { - path = request.path - absolutePath += request.path - } - let isFile = false - try { - isFile = fs.lstatSync(absolutePath).isFile() - } catch (e) { - // Ignore. - } + //const parsed = parsePath(request.path) + //const page = pagesDB().get(parsed.dirname) + + //let absolutePath = `${program.directory}/pages` + //let path + //if (page) { + //path = `/${parsePath(page.component).dirname}/${parsed.basename}` + //absolutePath += `/${parsePath(page.component).dirname}/${parsed.basename}` + //} else { + //path = request.path + //absolutePath += request.path + //} + //let isFile = false + //try { + //isFile = fs.lstatSync(absolutePath).isFile() + //} catch (e) { + //// Ignore. + //} // If the path matches a file, return that. - if (isFile) { - request.setUrl(path) - reply.continue() + //if (isFile) { + //request.setUrl(path) + //reply.continue() // Let people load the bundle.js directly. - } else if (request.path === `/bundle.js`) { + //} else if (request.path === `/bundle.js`) { + if (request.path === `/bundle.js`) { reply.continue() } else if (negotiator.mediaType() === `text/html`) { request.setUrl(`/html${request.path}`) diff --git a/lib/utils/query-runner.js b/lib/utils/query-runner.js index 3cb657109c74f..a81c3152faafc 100644 --- a/lib/utils/query-runner.js +++ b/lib/utils/query-runner.js @@ -13,6 +13,8 @@ import glob from 'glob' import { pagesDB, siteDB, programDB } from './globals' import { layoutComponentChunkName, pathChunkName } from './js-chunk-names' +const pascalCase = _.flow(_.camelCase, _.upperFirst) + const hashStr = function (str) { let hash = 5381, i = str.length @@ -41,16 +43,7 @@ const writeChildRoutes = () => { return (` { ${pathStr} - component: (props) => { - let Component = require('${page.component}') - if (Component.default) { - Component = Component.default - } - const data = require('./json/${page.resultHash}.json') - return ( - - ) - }, + component: ${page.internalComponentName}, }, `) } @@ -77,7 +70,7 @@ const writeChildRoutes = () => { Component = Component.default } require.ensure([], (require) => { - const data = require('./json/${page.resultHash}.json') + const data = require('./json/${page.jsonName}') cb(null, () => ) }, '${pathName}') }, '${layoutName}') @@ -167,9 +160,44 @@ const writeChildRoutes = () => { // Close out object. rootRoute += `]}` splitRootRoute += `]}` + const componentsStr = [...pagesDB().values()].map((page) => { + return ( + `class ${page.internalComponentName} extends React.Component { + render () { + let Component = require('${page.component}') + if (Component.default) { + Component = Component.default + } + const data = require('./json/${page.jsonName}') + return + } + }`) + }).join("\n") childRoutes = ` import React from 'react' + + /** + * Warning from React Router, caused by react-hot-loader. + * The warning can be safely ignored, so filter it from the console. + * Otherwise you'll see it every time something changes. + * See https://github.com/gaearon/react-hot-loader/issues/298 + */ + if (module.hot) { + const isString = require('lodash/isString') + + const orgError = console.error; + console.error = (...args) => { + if (args && args.length === 1 && isString(args[0]) && args[0].indexOf('You cannot change ;') > -1) { + // React route changed + } else { + // Log the error as normally + orgError.apply(console, args); + } + }; + } + + ${componentsStr} const rootRoute = ${rootRoute} module.exports = rootRoute` splitChildRoutes = ` @@ -283,20 +311,22 @@ const q = queue(({ file, graphql, directory }, callback) => { // Combine the result with the pathInfo. const clonedResult = { ...result } result.pathContext = pathInfo - const resultHash = hashStr(JSON.stringify(clonedResult)) // Add result to page object. const page = pagesDB().get(pathInfo.path) - page.resultHash = resultHash + let jsonName = `${_.kebabCase(pathInfo.path)}.json` + let internalComponentName = `Component${pascalCase(pathInfo.path)}` + if (jsonName === `.json`) { + jsonName = `index.json` + internalComponentName = 'ComponentIndex' + } + page.jsonName = jsonName + page.internalComponentName = internalComponentName pagesDB(pagesDB().set(page.path, page)) // Save result to file. const resultJSON = JSON.stringify(clonedResult, null, 4) - let fileName = `${_.kebabCase(pathInfo.path)}.js` - if (fileName === `.js`) { - fileName = `index.js` - } - fs.writeFileSync(`${directory}/.intermediate-representation/json/${resultHash}.json`, resultJSON) + fs.writeFileSync(`${directory}/.intermediate-representation/json/${jsonName}`, resultJSON) return null }) diff --git a/lib/utils/webpack.config.js b/lib/utils/webpack.config.js index 218df30d256a2..6be94a95070c1 100644 --- a/lib/utils/webpack.config.js +++ b/lib/utils/webpack.config.js @@ -110,6 +110,7 @@ module.exports = (program, directory, suppliedStage, webpackPort = 1500, pages = __PREFIX_LINKS__: program.prefixLinks, __LINK_PREFIX__: JSON.stringify(siteDB().get(`config`).linkPrefix), }), + new webpack.NamedModulesPlugin(), new HardSourceWebpackPlugin({ cacheDirectory: `${process.cwd()}/.cache/[confighash]`, recordsPath: `${process.cwd()}/.cache/[confighash]/records.json`, diff --git a/package.json b/package.json index b03f89af36603..2b752a8b88be2 100644 --- a/package.json +++ b/package.json @@ -17,17 +17,18 @@ }, "dependencies": { "async": "^2.1.2", - "babel-core": "^6.14.0", - "babel-loader": "^6.2.5", + "babel-core": "^6.18.0", + "babel-loader": "^6.2.7", "babel-plugin-add-module-exports": "^0.2.1", "babel-plugin-transform-async-to-generator": "^6.8.0", "babel-plugin-transform-object-assign": "^6.8.0", "babel-plugin-transform-react-jsx-source": "^6.9.0", "babel-plugin-transform-runtime": "^6.15.0", - "babel-preset-es2015": "^6.14.0", + "babel-preset-es2015": "^6.18.0", "babel-preset-react": "^6.11.1", "babel-preset-stage-0": "^6.5.0", - "babel-runtime": "^6.11.6", + "babel-runtime": "^6.18.0", + "babel-traverse": "^6.18.0", "bluebird": "^3.4.6", "boom": "^2.7.2", "bundle-loader": "^0.5.4", @@ -39,7 +40,8 @@ "commander": "^2.9.0", "css-loader": "^0.25.0", "debug": "^2.2.0", - "detect-port": "^1.0.1", + "detect-port": "^1.0.5", + "eslint-plugin-import": "^1.16.0", "excerpt-html": "^1.1.1", "extract-text-webpack-plugin": "^1.0.1", "file-loader": "^0.9.0", @@ -58,12 +60,13 @@ "json-loader": "^0.5.2", "json5": "^0.5.0", "loader-utils": "^0.2.16", - "lodash": "^4.16.1", + "lodash": "^4.16.5", "markdown-it": "^7.0.1", "mkdirp": "^0.5.1", - "moment": "^2.15.0", + "moment": "^2.15.2", "negotiator": "^0.6.1", "node-cjsx": "^2.0.0", + "node-exiftool": "^2.0.0", "node-libs-browser": "^1.0.0", "null-loader": "^0.1.1", "object-assign": "^4.1.0", @@ -81,47 +84,48 @@ "react": "^15.3.2", "react-document-title": "^2.0.1", "react-dom": "^15.3.2", - "react-hot-loader": "^3.0.0-beta.5", + "react-hot-loader": "^3.0.0-beta.6", "react-router": "^2.8.1", - "react-router-scroll": "^0.3.2", - "remark": "^6.0.1", + "react-router-scroll": "^0.3.3", + "remark": "^6.2.0", "remark-html": "^5.0.1", - "remark-parse": "^2.0.2", + "remark-parse": "^2.2.0", "sanitize-html": "^1.13.0", + "sharp": "^0.16.2", "slash": "^1.0.0", - "static-site-generator-webpack-plugin": "^3.0.0", + "static-site-generator-webpack-plugin": "^3.1.0", "style-loader": "^0.13.0", "tcomb": "^3.2.13", "toml": "^2.2.2", - "tracer": "^0.8.3", + "tracer": "^0.8.7", "unist-util-select": "^1.5.0", "url-loader": "^0.5.7", - "webpack": "^1.13.2", + "webpack": "^1.13.3", "webpack-configurator": "^0.3.0", "webpack-dev-server": "^1.16.1", "webpack-md5-hash": "0.0.5", "webpack-require": "0.0.16", - "webpack-stats-plugin": "^0.1.3", + "webpack-stats-plugin": "^0.1.4", "webpack-validator": "^2.2.7", "yaml-js": "^0.1.4" }, "devDependencies": { "ava": "^0.16.0", "ava-http": "^0.2.1", - "babel-cli": "^6.14.0", - "babel-eslint": "^7.0.0", + "babel-cli": "^6.18.0", + "babel-eslint": "^7.1.0", "babel-plugin-lodash": "^3.2.9", - "babel-plugin-transform-flow-strip-types": "^6.14.0", - "babel-register": "^6.14.0", + "babel-plugin-transform-flow-strip-types": "^6.18.0", + "babel-register": "^6.18.0", "cheerio": "^0.22.0", - "eslint": "^3.8.1", + "eslint": "^3.9.1", "eslint-config-airbnb": "^12.0.0", "eslint-plugin-flow-vars": "^0.5.0", - "eslint-plugin-flowtype": "^2.18.2", + "eslint-plugin-flowtype": "^2.25.0", "eslint-plugin-import": "^2.0.1", "eslint-plugin-jsx-a11y": "^2.2.2", "eslint-plugin-react": "^6.3.0", - "flow-bin": "^0.33.0", + "flow-bin": "^0.34.0", "iflow-debug": "^1.0.15", "iflow-lodash": "^1.1.24", "iflow-react-router": "^1.1.17", diff --git a/yarn.lock b/yarn.lock index 637beee59441f..f596479773f8e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -243,11 +243,11 @@ async@^1.3.0, async@^1.4.0, async@^1.4.2, async@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.0.1.tgz#b709cc0280a9c36f09f4536be823c838a9049e25" +async@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.2.tgz#612a4ab45ef42a70cde806bad86ee6db047e8385" dependencies: - lodash "^4.8.0" + lodash "^4.14.0" async@~0.2.6: version "0.2.10" @@ -1774,7 +1774,7 @@ color@^0.10.1: color-convert "^0.5.3" color-string "^0.3.0" -color@^0.11.0: +color@^0.11.0, color@^0.11.3: version "0.11.3" resolved "https://registry.yarnpkg.com/color/-/color-0.11.3.tgz#4bad1d0d52499dd00dbd6f0868442467e49394e6" dependencies: @@ -2233,12 +2233,6 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" -deep-strict-equal@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz#4a078147a8ab57f6a0d4f5547243cd22f44eb4e4" - dependencies: - core-assert "^0.2.0" - default-require-extensions@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" @@ -2450,12 +2444,6 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "~1.3.0" -enhance-visitors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/enhance-visitors/-/enhance-visitors-1.0.0.tgz#aa945d05da465672a1ebd38fee2ed3da8518e95a" - dependencies: - lodash "^4.13.1" - enhanced-resolve@~0.9.0: version "0.9.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" @@ -2617,19 +2605,6 @@ eslint-module-utils@^1.0.0: debug "2.2.0" pkg-dir "^1.0.0" -eslint-plugin-ava@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-ava/-/eslint-plugin-ava-3.1.0.tgz#964b1254a0e22f2c8144b85d6e50e662654cd341" - dependencies: - arrify "^1.0.1" - deep-strict-equal "^0.2.0" - enhance-visitors "^1.0.0" - espree "^3.1.3" - espurify "^1.5.0" - multimatch "^2.1.0" - pkg-up "^1.0.0" - req-all "^0.1.0" - eslint-plugin-flow-vars@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/eslint-plugin-flow-vars/-/eslint-plugin-flow-vars-0.5.0.tgz#a7fb78fd873c86e0e5839df3b3c90d47bc68c6d2" @@ -2670,9 +2645,9 @@ eslint-plugin-react@^6.3.0: doctrine "^1.2.2" jsx-ast-utils "^1.3.1" -eslint@^3.5.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.7.1.tgz#7faa84599e0fea422f04bc32db49054051a3f11a" +eslint@^3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.8.1.tgz#7d02db44cd5aaf4fa7aa489e1f083baa454342ba" dependencies: chalk "^1.1.3" concat-stream "^1.4.6" @@ -2696,7 +2671,7 @@ eslint@^3.5.0: lodash "^4.0.0" mkdirp "^0.5.0" natural-compare "^1.4.0" - optionator "^0.8.1" + optionator "^0.8.2" path-is-inside "^1.0.1" pluralize "^1.2.1" progress "^1.1.8" @@ -2724,7 +2699,7 @@ espower-location-detector@^0.1.1: source-map "^0.5.0" xtend "^4.0.0" -espree@^3.1.3, espree@^3.3.1: +espree@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" dependencies: @@ -2735,7 +2710,7 @@ esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -espurify@^1.5.0, espurify@^1.6.0: +espurify@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.0.tgz#6cb993582d9422bd6f2d4b258aadb14833f394f0" dependencies: @@ -4153,9 +4128,9 @@ joi@^8.4.2: moment "2.x.x" topo "2.x.x" -joi@^9.0.4: - version "9.1.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-9.1.0.tgz#ddad93811592b0f9ae7603fe82c4b63e5bb49e40" +joi@^9.1.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-9.2.0.tgz#3385ac790192130cbe230e802ec02c9215bbfeda" dependencies: hoek "4.x.x" isemail "2.x.x" @@ -4682,7 +4657,7 @@ lodash.words@^3.0.0: dependencies: lodash._root "^3.0.0" -lodash@^4.0.0, lodash@^4.1.0, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.16.1, lodash@^4.16.2, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.5.1, lodash@^4.6.1, lodash@^4.8.0: +lodash@^4.0.0, lodash@^4.1.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.1, lodash@^4.16.2, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.5.1, lodash@^4.6.1: version "4.16.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127" @@ -4985,7 +4960,7 @@ mute-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" -nan@^2.3.0: +nan@^2.3.0, nan@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" @@ -5023,6 +4998,10 @@ node-cjsx@^2.0.0: coffee-react-transform "^4.0.0" coffee-script "^1.9.1" +node-exiftool: + version "2.0.0" + resolved "https://registry.yarnpkg.com/node-exiftool/-/node-exiftool-2.0.0.tgz#ba0c0c522d15f706390df2146ded9b66840a86ea" + node-fetch@^1.0.1: version "1.6.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" @@ -5401,7 +5380,7 @@ option-chain@^0.1.0: dependencies: object-assign "^4.0.1" -optionator@^0.8.1: +optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" dependencies: @@ -6654,7 +6633,7 @@ remark-html@^5.0.1: mdast-util-to-hast "^1.0.0" xtend "^4.0.1" -remark-parse@^2.0.0, remark-parse@^2.0.1: +remark-parse@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-2.0.1.tgz#6d436c47e53ce689038f1291fc2fbac9524acc9d" dependencies: @@ -6675,6 +6654,27 @@ remark-parse@^2.0.0, remark-parse@^2.0.1: vfile-location "^2.0.0" xtend "^4.0.1" +remark-parse@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-2.0.2.tgz#6abe266a166b14065901647ccc77f9b1826148e2" + dependencies: + collapse-white-space "^1.0.2" + has "^1.0.1" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^1.0.2" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^1.0.0" + vfile-location "^2.0.0" + xtend "^4.0.1" + remark-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-2.0.0.tgz#ef20c38b5b99800eab98eddf62490a2cc8b85b51" @@ -6727,10 +6727,6 @@ replace-ext@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" -req-all@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/req-all/-/req-all-0.1.0.tgz#130051e2ace58a02eacbfc9d448577a736a9273a" - request-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-2.0.1.tgz#acbd47b725e39372ede3174cf29c38d9ecf2b30d" @@ -6739,7 +6735,7 @@ request-promise@^2.0.0: lodash "^4.5.0" request "^2.34" -request@^2.34, request@^2.55.0, request@^2.58.0, request@^2.65.0, request@^2.67.0, request@^2.74.0, request@2, request@2.x: +request@^2.34, request@^2.55.0, request@^2.58.0, request@^2.65.0, request@^2.67.0, request@^2.74.0, request@^2.75.0, request@2, request@2.x: version "2.75.0" resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93" dependencies: @@ -7005,6 +7001,17 @@ sha.js@2.2.6: version "2.2.6" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" +sharp@^0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.16.1.tgz#fc1dfd929240d0586de1507b6274f6410bb35291" + dependencies: + bluebird "^3.4.6" + color "^0.11.3" + nan "^2.4.0" + request "^2.75.0" + semver "^5.3.0" + tar "^2.2.1" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" @@ -7439,7 +7446,7 @@ tar-stream@^1.1.2, tar-stream@^1.2.1: readable-stream "^2.0.0" xtend "^4.0.0" -tar@^2.0.0, tar@~2.2.0, tar@~2.2.1: +tar@^2.0.0, tar@^2.2.1, tar@~2.2.0, tar@~2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: