├── .babelrc ├── .babelrc.js ├── .flowconfig ├── .gitignore ├── .npmignore ├── README.md ├── __test__ └── fetch-sheet.test.js ├── fetch-sheet.js ├── gatsby-node.js ├── index.js ├── package.json ├── src ├── __test__ │ └── fetch-sheet.test.js ├── fetch-sheet.js └── gatsby-node.js └── yarn-error.log /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "sourceMaps": true, 3 | "presets": [ 4 | "./.babelrc.js" 5 | ], 6 | "ignore": ["dist"], 7 | "env": { 8 | "production": { 9 | "ignore": ["__tests__", "dist"] 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.babelrc.js: -------------------------------------------------------------------------------- 1 | const r = m => require.resolve(m) 2 | 3 | function preset(context, options = {}) { 4 | const { browser = false, debug = false } = options 5 | const { NODE_ENV, BABEL_ENV } = process.env 6 | 7 | const PRODUCTION = (BABEL_ENV || NODE_ENV) === "production" 8 | 9 | const browserConfig = { 10 | useBuiltIns: false, 11 | targets: { 12 | browsers: PRODUCTION 13 | ? [`last 4 versions`, `safari >= 7`, "ie >= 9"] 14 | : [`last 2 versions`, `not ie <= 11`, `not android 4.4.3`], 15 | uglify: PRODUCTION, 16 | }, 17 | } 18 | 19 | const nodeConfig = { 20 | targets: { 21 | node: PRODUCTION ? 4.0 : "current", 22 | }, 23 | } 24 | 25 | return { 26 | presets: [ 27 | [ 28 | r("babel-preset-env"), 29 | Object.assign( 30 | { 31 | loose: true, 32 | debug: !!debug, 33 | useBuiltIns: true, 34 | modules: "commonjs", 35 | }, 36 | browser ? browserConfig : nodeConfig 37 | ), 38 | ], 39 | r("babel-preset-react"), 40 | r("babel-preset-flow"), 41 | ], 42 | plugins: [ 43 | r("babel-plugin-transform-object-rest-spread"), 44 | [ 45 | r("babel-plugin-transform-runtime"), 46 | { 47 | // we are only polyfilling the node environment 48 | // so we need to enable the runtime replacements for the browser preset 49 | polyfill: !!browser, 50 | }, 51 | ], 52 | r(`babel-plugin-transform-flow-strip-types`), 53 | ], 54 | } 55 | } 56 | 57 | module.exports = preset -------------------------------------------------------------------------------- /.flowconfig: -------------------------------------------------------------------------------- 1 | [ignore] 2 | 3 | [include] 4 | 5 | [libs] 6 | 7 | [lints] 8 | 9 | [options] 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependency directory 2 | node_modules 3 | 4 | # Build Path of Test Fixtures 5 | test/**/public 6 | .DS_Store 7 | 8 | # IDE specific 9 | .vscode/ 10 | 11 | # Package managers 12 | yarn.lock 13 | package-lock.json 14 | service-account.json 15 | 16 | 17 | !index.js 18 | yarn.lock 19 | scripts -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | service-account.json 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 19 | .grunt 20 | 21 | # node-waf configuration 22 | .lock-wscript 23 | 24 | # Compiled binary addons (http://nodejs.org/api/addons.html) 25 | build/Release 26 | 27 | # Dependency directory 28 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 29 | node_modules 30 | *.un~ 31 | yarn.lock 32 | src 33 | flow-typed 34 | coverage 35 | decls 36 | examples -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # gatsby-source-google-sheets 2 | 3 | Why go through the hassle of setting up a complicated headless CMS when Google Sheets already has user permissions, revision history, and a powerful UI? 4 | 5 | This source plugin for [Gatsby JS](https://github.com/gatsbyjs/gatsby) will turn any Google Sheets worksheet into a GraphQL type for build-time consumption. 6 | 7 | # How to: 8 | 9 | ## Step 1: set up sheets/permissions 10 | 11 | 1. Create a [Google Service Account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount) and download the credentials file. 12 | 1. Open your google sheet, click "File > Share..." and enter your service account's e-mail address (you can find it in the credentials file). 13 | 14 | 15 | ## Step 2: configure your gatsby project 16 | 17 | Standard source plugin installation. 18 | 19 | ``` 20 | yarn add gatsby-source-google-sheets 21 | 22 | 23 | // gatsby-config.js 24 | // ... 25 | { 26 | resolve: 'gatsby-source-google-sheets', 27 | options: { 28 | spreadsheetId: 'get this from the sheet url', 29 | worksheetTitle: 'ie the name in the worksheet tab', 30 | credentials: require('./path-to-credentials-file.json') 31 | } 32 | }, 33 | // ... 34 | 35 | ``` 36 | 37 | The plugin makes the following conversions before feeding Gatsby nodes: 38 | 1. Numbers are converted to numbers. Sheets formats numbers as comma-delineated strings, so to determine if something is a number, the plugin tests to see if the string (a) is non-empty and (b) is composed only of commas, decimals, and digits: 39 | ``` 40 | if ( 41 | "value".replace(/[,\.\d]/g, "").length === 0 42 | && "value" !== "" 43 | ) { 44 | ...assume value is a number and handle accordingly 45 | } 46 | ``` 47 | 2. "TRUE"/"FALSE" converted to boolean true/false 48 | 3. empty cells ("" in sheets payload) converted to null 49 | 4. Column names are converted to camelcase via lodash _.camelCase() (see note 2 in 'A few notes') 50 | 51 | 52 | A few notes: 53 | 54 | 1. Not tested with cells of data type dates. 55 | 2. Google sheets mangles column names and converts them all to lower case. This plugin will convert them to camelcase, so the best convention here is to name your columns all lowercase with dashes. e.g. instead of "Column Name 1" or "columnName1", prefer "column-name-1"--this last one will be turned into "columnName1" in your GatsbyQL graph. 56 | 57 | # Troubleshooting 58 | 3. If you get the error "No key or keyFile set", make sure you are using a Service Account API key and not a simple API key. 59 | 4. If you get the error "Cannot read property 'worksheets' of undefined", make sure you have shared your spreadsheet with your service account user. -------------------------------------------------------------------------------- /__test__/fetch-sheet.test.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var _extends2 = require("babel-runtime/helpers/extends"); 4 | 5 | var _extends3 = _interopRequireDefault(_extends2); 6 | 7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 8 | 9 | const { cleanRows } = require("../fetch-sheet.js"); 10 | 11 | describe("cleaning rows from GSheets response", () => { 12 | it("removes keys that don't correspond to column names", () => { 13 | const badKeys = ["_xml", "app:edited", "save", "del", "_links"]; 14 | const row = badKeys.reduce((prev, curr) => (0, _extends3.default)({}, prev, { 15 | [curr]: "true" 16 | }), { validKey: "true" }); 17 | const cleaned = cleanRows([row])[0]; 18 | expect(Object.keys(cleaned)).toHaveLength(1); 19 | 20 | expect(Object.keys(cleaned)[0]).toBe("validKey"); 21 | expect(cleaned["validKey"]).toBe("true"); 22 | }); 23 | 24 | it('converts "TRUE" and "FALSE" into actual booleans', () => { 25 | const boolRow = { truthy: "TRUE", falsy: "FALSE" }; 26 | const cleaned = cleanRows([boolRow])[0]; 27 | expect(Object.keys(cleaned)).toEqual(["truthy", "falsy"]); 28 | expect(cleaned["truthy"]).toBe(true); 29 | expect(cleaned["falsy"]).toBe(false); 30 | }); 31 | 32 | it("respects emoji", () => { 33 | const TEST_EMOJI_STRING = "🔑🔑🔑🔑🔑🔑🔑🔑🔑🔑🔑🔑🔑"; 34 | const emojiRow = { emoji: TEST_EMOJI_STRING }; 35 | const cleaned = cleanRows([emojiRow])[0]; 36 | expect(cleaned.emoji).toEqual(TEST_EMOJI_STRING); 37 | }); 38 | it("returns comma-delineated number strings as numbers", () => { 39 | const numRow = { short: "1", long: "123,456,789", decimal: "0.5912", mixed: "123,456.789" }; 40 | const cleaned = cleanRows([numRow])[0]; 41 | expect(Object.values(cleaned)).toEqual([1, 123456789, 0.5912, 123456.789]); 42 | }); 43 | }); -------------------------------------------------------------------------------- /fetch-sheet.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | const GoogleSpreadsheet = require("google-spreadsheet"); 5 | const _ = require("lodash"); 6 | 7 | const getSpreadsheet = (spreadsheetId, credentials) => new Promise((resolve, reject) => { 8 | const doc = new GoogleSpreadsheet(spreadsheetId); 9 | doc.useServiceAccountAuth(credentials, function (err) { 10 | if (err) reject(err);else resolve(doc); 11 | }); 12 | }); 13 | 14 | const getWorksheetByTitle = (spreadsheet, worksheetTitle) => new Promise((resolve, reject) => spreadsheet.getInfo((e, s) => { 15 | if (e) reject(e); 16 | const targetSheet = s.worksheets.find(sheet => sheet.title === worksheetTitle); 17 | if (!targetSheet) { 18 | reject(`Found no worksheet with the title ${worksheetTitle}`); 19 | } 20 | resolve(targetSheet); 21 | })); 22 | 23 | const getRows = (worksheet, options = {}) => new Promise((resolve, reject) => worksheet.getRows(options, (err, rows) => { 24 | if (err) reject(err);else { 25 | resolve(rows); 26 | } 27 | })); 28 | 29 | const cleanRows = rows => rows.map(r => _.chain(r).omit(["_xml", "app:edited", "save", "del", "_links"]).mapKeys((v, k) => _.camelCase(k)).mapValues(val => { 30 | if (val === "") return null; 31 | // sheets apparently leaves commas in some #s depending on formatting 32 | if (val.replace(/[,\.\d]/g, "").length === 0 && val !== "") { 33 | return Number(val.replace(/,/g, "")); 34 | } 35 | if (val === "TRUE") return true; 36 | if (val === "FALSE") return false; 37 | return val; 38 | }).value()); 39 | 40 | const fetchData = async (spreadsheetId, worksheetTitle, credentials) => { 41 | const spreadsheet = await getSpreadsheet(spreadsheetId, credentials); 42 | const worksheet = await getWorksheetByTitle(spreadsheet, worksheetTitle); 43 | const rows = await getRows(worksheet); 44 | return cleanRows(rows); 45 | }; 46 | 47 | exports.cleanRows = cleanRows; 48 | exports.default = fetchData; -------------------------------------------------------------------------------- /gatsby-node.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const fetchSheet = require(`./fetch-sheet.js`).default; 4 | const uuidv5 = require("uuid/v5"); 5 | const _ = require("lodash"); 6 | const crypto = require("crypto"); 7 | const seedConstant = "2972963f-2fcf-4567-9237-c09a2b436541"; 8 | 9 | exports.sourceNodes = async ({ boundActionCreators, getNode, store, cache }, { spreadsheetId, worksheetTitle, credentials }) => { 10 | const { createNode } = boundActionCreators; 11 | console.log("FETCHING SHEET", fetchSheet); 12 | let rows = await fetchSheet(spreadsheetId, worksheetTitle, credentials); 13 | 14 | rows.forEach(r => { 15 | createNode(Object.assign(r, { 16 | id: uuidv5(r.id, uuidv5("gsheet", seedConstant)), 17 | parent: "__SOURCE__", 18 | children: [], 19 | internal: { 20 | type: _.camelCase(`googleSheet ${worksheetTitle} row`), 21 | contentDigest: crypto.createHash("md5").update(JSON.stringify(r)).digest("hex") 22 | } 23 | })); 24 | }); 25 | }; -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // no-op-lo-op -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gatsby-source-google-sheets", 3 | "version": "1.1.1", 4 | "description": "A source plugin for Gatsby that allows reading data from Google Sheets.", 5 | "main": "index.js", 6 | "scripts": { 7 | "build": "babel src --out-dir .", 8 | "watch": "babel -w src --out-dir .", 9 | "prepublish": "npm run prettify && cross-env NODE_ENV=production npm run build", 10 | "prettify": "prettier ./src/** --write", 11 | "test": "jest src/__test__" 12 | }, 13 | "author": "Brandon Paquette ", 14 | "keywords": [ 15 | "gatsby", 16 | "gatsby-plugin", 17 | "gatsby-source-plugin" 18 | ], 19 | "license": "MIT", 20 | "jest": { 21 | "testEnvironment": "node" 22 | }, 23 | "dependencies": { 24 | "flow-bin": "^0.56.0", 25 | "google-spreadsheet": "2.0.3", 26 | "lodash": "^4.17.4", 27 | "uuid": "^3.1.0" 28 | }, 29 | "devDependencies": { 30 | "@babel/core": "^7.0.0-beta.39", 31 | "babel-cli": "^6.26.0", 32 | "babel-plugin-syntax-async-functions": "^6.13.0", 33 | "babel-plugin-transform-flow-strip-types": "^6.22.0", 34 | "babel-plugin-transform-object-rest-spread": "^6.26.0", 35 | "babel-plugin-transform-runtime": "^6.23.0", 36 | "babel-preset-env": "^1.6.1", 37 | "babel-preset-flow": "^6.23.0", 38 | "babel-preset-react": "^6.24.1", 39 | "cross-env": "^5.1.3", 40 | "jest": "^22.4.2", 41 | "prettier": "1.10.2" 42 | }, 43 | "prettier": { 44 | "printWidth": 100, 45 | "parser": "flow" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/__test__/fetch-sheet.test.js: -------------------------------------------------------------------------------- 1 | const { cleanRows, guessColumnsDataTypes } = require("../fetch-sheet.js"); 2 | 3 | describe("cleaning rows from GSheets response", () => { 4 | it("removes keys that don't correspond to column names", () => { 5 | const badKeys = ["_xml", "app:edited", "save", "del", "_links"]; 6 | const row = badKeys.reduce( 7 | (prev, curr) => ({ 8 | ...prev, 9 | [curr]: "true" 10 | }), 11 | { validKey: "true" } 12 | ); 13 | const cleaned = cleanRows([row])[0]; 14 | expect(Object.keys(cleaned)).toHaveLength(1); 15 | 16 | expect(Object.keys(cleaned)[0]).toBe("validKey"); 17 | expect(cleaned["validKey"]).toBe("true"); 18 | }); 19 | 20 | it('converts "TRUE" and "FALSE" into actual booleans', () => { 21 | const boolRow = { truthy: "TRUE", falsy: "FALSE" }; 22 | const cleaned = cleanRows([boolRow])[0]; 23 | expect(Object.keys(cleaned)).toEqual(["truthy", "falsy"]); 24 | expect(cleaned["truthy"]).toBe(true); 25 | expect(cleaned["falsy"]).toBe(false); 26 | }); 27 | 28 | it("respects emoji", () => { 29 | const TEST_EMOJI_STRING = "🔑🔑🔑🔑🔑🔑🔑🔑🔑🔑🔑🔑🔑"; 30 | const emojiRow = { emoji: TEST_EMOJI_STRING }; 31 | const cleaned = cleanRows([emojiRow])[0]; 32 | expect(cleaned.emoji).toEqual(TEST_EMOJI_STRING); 33 | }); 34 | 35 | it("returns comma-delineated number strings as numbers", () => { 36 | const numRow = { short: "1", long: "123,456,789", decimal: "0.5912", mixed: "123,456.789" }; 37 | const cleaned = cleanRows([numRow])[0]; 38 | expect(Object.values(cleaned)).toEqual([1, 123456789, 0.5912, 123456.789]); 39 | }); 40 | 41 | it('parses cells as numbers when all column cells contains numbers only', function () { 42 | const rows = [ 43 | { column: "5" }, 44 | { column: "2" } 45 | ]; 46 | const cleaned = cleanRows(rows); 47 | expect(cleaned[0].column).toBe(5); 48 | expect(cleaned[1].column).toBe(2); 49 | }); 50 | 51 | it('parses all cells in column as strings when data types are mixed in given column', function () { 52 | const rows = [ 53 | { column: "5"}, 54 | { column: "hello" } 55 | ]; 56 | const cleaned = cleanRows(rows); 57 | expect(cleaned[0].column).toBe("5"); 58 | expect(cleaned[1].column).toBe("hello"); 59 | }); 60 | 61 | it('guesses column types', function () { 62 | const rows = [ 63 | { number: "0", string: "something", null: null, boolean: "TRUE" }, 64 | { number: "1", string: "anything", null: null, boolean: "FALSE" }, 65 | { number: "2", string: "nothing", null: null, boolean: null } 66 | ]; 67 | const cleaned = cleanRows(rows); 68 | expect(cleaned.map(row => row.number)).toEqual([0,1,2]); 69 | expect(cleaned.map(row => row.string)).toEqual(["something", "anything", "nothing"]); 70 | expect(cleaned.map(row => row.null)).toEqual([null, null, null]); 71 | expect(cleaned.map(row => row.boolean)).toEqual([true, false, null]); 72 | }); 73 | }); 74 | 75 | describe("guessing column data type based on all cells in column", () => { 76 | it('recognizes type for all same cells', function () { 77 | const rows = [ 78 | { numbers: "1,", strings: "something", nulls: null, booleans: "TRUE" }, 79 | { numbers: "2", strings: "anything", nulls: null, booleans: "FALSE" }, 80 | { numbers: "3,", strings: "nothing", nulls: null, booleans: "TRUE" } 81 | ]; 82 | const guessedTypes = guessColumnsDataTypes(rows); 83 | expect(guessedTypes.numbers).toBe('number'); 84 | expect(guessedTypes.strings).toBe('string'); 85 | expect(guessedTypes.nulls).toBeUndefined(); 86 | expect(guessedTypes.booleans).toBe('boolean'); 87 | }); 88 | 89 | it('ignores null', function () { 90 | const rows = [ 91 | { numbers: "1,", strings: "something", nulls: null, booleans: null }, 92 | { numbers: null, strings: "anything", nulls: null, booleans: "FALSE" }, 93 | { numbers: "3,", strings: null, nulls: null, booleans: "TRUE" } 94 | ]; 95 | const guessedTypes = guessColumnsDataTypes(rows); 96 | expect(guessedTypes.numbers).toBe('number'); 97 | expect(guessedTypes.strings).toBe('string'); 98 | expect(guessedTypes.nulls).toBeUndefined(); 99 | expect(guessedTypes.booleans).toBe('boolean'); 100 | }); 101 | 102 | it('fallbacks to string when types are different', function () { 103 | const rows = [ 104 | { numbers: "1,", strings: "something", nulls: null, booleans: "TRUE" }, 105 | { numbers: "2", strings: "anything", nulls: null, booleans: "FALSE" }, 106 | { numbers: "3/5,", strings: "nothing", nulls: null, booleans: "TRUE" } 107 | ]; 108 | const guessedTypes = guessColumnsDataTypes(rows); 109 | expect(guessedTypes.numbers).toBe('string'); 110 | expect(guessedTypes.strings).toBe('string'); 111 | expect(guessedTypes.nulls).toBeUndefined(); 112 | expect(guessedTypes.booleans).toBe('boolean'); 113 | }); 114 | }); -------------------------------------------------------------------------------- /src/fetch-sheet.js: -------------------------------------------------------------------------------- 1 | // @flow 2 | const GoogleSpreadsheet = require("google-spreadsheet"); 3 | const _ = require("lodash"); 4 | 5 | const getSpreadsheet = (spreadsheetId, credentials) => 6 | new Promise((resolve, reject) => { 7 | const doc = new GoogleSpreadsheet(spreadsheetId); 8 | doc.useServiceAccountAuth(credentials, function(err) { 9 | if (err) reject(err); 10 | else resolve(doc); 11 | }); 12 | }); 13 | 14 | const getWorksheetByTitle = (spreadsheet, worksheetTitle) => 15 | new Promise((resolve, reject) => 16 | spreadsheet.getInfo((e, s) => { 17 | if (e) reject(e); 18 | const targetSheet = s.worksheets.find(sheet => sheet.title === worksheetTitle); 19 | if (!targetSheet) { 20 | reject(`Found no worksheet with the title ${worksheetTitle}`); 21 | } 22 | resolve(targetSheet); 23 | }) 24 | ); 25 | 26 | const getRows = (worksheet, options = {}) => 27 | new Promise((resolve, reject) => 28 | worksheet.getRows(options, (err, rows) => { 29 | if (err) reject(err); 30 | else { 31 | resolve(rows); 32 | } 33 | }) 34 | ); 35 | 36 | const cleanRows = rows => { 37 | const columnTypes = guessColumnsDataTypes(rows); 38 | return rows.map(r => 39 | _.chain(r) 40 | .omit(["_xml", "app:edited", "save", "del", "_links"]) 41 | .mapKeys((v, k) => _.camelCase(k)) 42 | .mapValues((val, key) => { 43 | switch (columnTypes[key]) { 44 | case "number": 45 | return Number(val.replace(/,/g, "")); 46 | case "boolean": 47 | // when column contains null we return null, otherwise check boolean value 48 | return val === null ? null : val === "TRUE"; 49 | default: 50 | return val; 51 | } 52 | }) 53 | .value() 54 | ); 55 | }; 56 | 57 | const guessColumnsDataTypes = rows => 58 | _.flatMap(rows, r => 59 | _.chain(r) 60 | .omit(["_xml", "app:edited", "save", "del", "_links"]) 61 | .mapKeys((v, k) => _.camelCase(k)) 62 | .mapValues(val => { 63 | // try to determine type based on the cell value 64 | if (!val) { 65 | return "null"; 66 | } else if (val.replace(/[,\.\d]/g, "").length === 0) { 67 | // sheets apparently leaves commas in some #s depending on formatting 68 | return "number"; 69 | } else if (val === "TRUE" || val === "FALSE") { 70 | return "boolean"; 71 | } else { 72 | return "string"; 73 | } 74 | }) 75 | .value() 76 | ).reduce((columnTypes, row) => { 77 | _.forEach(row, (type, columnName) => { 78 | // skip nulls, they should have no effect 79 | if (type === 'null') { return; } 80 | 81 | const currentTypeCandidate = columnTypes[columnName]; 82 | if (!currentTypeCandidate) { 83 | // no discovered type yet -> use the one from current item 84 | columnTypes[columnName] = type; 85 | } else if (currentTypeCandidate !== type) { 86 | // previously discovered type is different therefore we fallback to string 87 | columnTypes[columnName] = "string"; 88 | } 89 | }); 90 | return columnTypes; 91 | }, {}) 92 | 93 | const fetchData = async (spreadsheetId, worksheetTitle, credentials) => { 94 | const spreadsheet = await getSpreadsheet(spreadsheetId, credentials); 95 | const worksheet = await getWorksheetByTitle(spreadsheet, worksheetTitle); 96 | const rows = await getRows(worksheet); 97 | return cleanRows(rows); 98 | }; 99 | 100 | export { cleanRows, guessColumnsDataTypes }; 101 | export default fetchData; 102 | -------------------------------------------------------------------------------- /src/gatsby-node.js: -------------------------------------------------------------------------------- 1 | const fetchSheet = require(`./fetch-sheet.js`).default; 2 | const uuidv5 = require("uuid/v5"); 3 | const _ = require("lodash"); 4 | const crypto = require("crypto"); 5 | const seedConstant = "2972963f-2fcf-4567-9237-c09a2b436541"; 6 | 7 | exports.sourceNodes = async ( 8 | { boundActionCreators, getNode, store, cache }, 9 | { spreadsheetId, worksheetTitle, credentials } 10 | ) => { 11 | const { createNode } = boundActionCreators; 12 | console.log("FETCHING SHEET", fetchSheet); 13 | let rows = await fetchSheet(spreadsheetId, worksheetTitle, credentials); 14 | 15 | rows.forEach(r => { 16 | createNode( 17 | Object.assign(r, { 18 | id: uuidv5(r.id, uuidv5("gsheet", seedConstant)), 19 | parent: "__SOURCE__", 20 | children: [], 21 | internal: { 22 | type: _.camelCase(`googleSheet ${worksheetTitle} row`), 23 | contentDigest: crypto 24 | .createHash("md5") 25 | .update(JSON.stringify(r)) 26 | .digest("hex") 27 | } 28 | }) 29 | ); 30 | }); 31 | }; 32 | -------------------------------------------------------------------------------- /yarn-error.log: -------------------------------------------------------------------------------- 1 | Arguments: 2 | /usr/local/bin/node /usr/local/Cellar/yarn/1.3.2/libexec/bin/yarn.js add --dev babel-plugin-syntax-async-functions: ^6.13.0, 3 | 4 | PATH: 5 | /Users/britt/.rvm/gems/ruby-2.2.4/bin:/Users/britt/.rvm/gems/ruby-2.2.4@global/bin:/Users/britt/.rvm/rubies/ruby-2.2.4/bin:/Users/britt/.yarn/bin::/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:~/.rvm/bin:/Users/bcrawford/.rvm/bin:~/workspace/scripts:~/workspace/scripts/local:/Users/bcrawford/node_modules/.bin:/Users/bcrawford/Developer/share/npm/bin:/usr/local/Cellar/node/7.10.0/bin:/usr/local/Cellar/node/7.4.0/bin:/usr/local/heroku/bin:/usr/local/go/bin:/bin/:/Users/britt/bin:/Users/britt/.rvm/bin 6 | 7 | Yarn version: 8 | 1.3.2 9 | 10 | Node version: 11 | 6.11.4 12 | 13 | Platform: 14 | darwin x64 15 | 16 | npm manifest: 17 | { 18 | "name": "gatsby-source-google-sheets", 19 | "version": "1.0.5", 20 | "description": "A source plugin for Gatsby that allows reading data from Google Sheets.", 21 | "main": "index.js", 22 | "scripts": { 23 | "test": "echo \"Error: no test specified\" && exit 1" 24 | }, 25 | "author": "Brandon Paquette ", 26 | "keywords": [ 27 | "gatsby", 28 | "gatsby-plugin", 29 | "gatsby-source-plugin" 30 | ], 31 | "license": "MIT", 32 | "dependencies": { 33 | "flow-bin": "^0.56.0", 34 | "google-spreadsheet": "2.0.3", 35 | "lodash": "^4.17.4", 36 | "uuid": "^3.1.0" 37 | }, 38 | "devDependencies": { 39 | "@babel/preset-env": "^7.0.0-beta.39", 40 | "babel-cli": "^6.26.0", 41 | "babel-plugin-transform-flow-strip-types": "^6.22.0", 42 | "babel-plugin-transform-object-rest-spread": "^6.26.0", 43 | "babel-plugin-transform-runtime": "^6.23.0", 44 | "babel-preset-flow": "^6.23.0", 45 | "babel-preset-react": "^6.24.1", 46 | "cross-env": "^5.1.3" 47 | } 48 | } 49 | 50 | yarn manifest: 51 | No manifest 52 | 53 | Lockfile: 54 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 55 | # yarn lockfile v1 56 | 57 | 58 | "@babel/code-frame@7.0.0-beta.39": 59 | version "7.0.0-beta.39" 60 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.39.tgz#91c90bb65207fc5a55128cb54956ded39e850457" 61 | dependencies: 62 | chalk "^2.0.0" 63 | esutils "^2.0.2" 64 | js-tokens "^3.0.0" 65 | 66 | "@babel/generator@7.0.0-beta.39": 67 | version "7.0.0-beta.39" 68 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.39.tgz#d2c9f0a9c47d5ff288f0306aedd0cf89983cb6ed" 69 | dependencies: 70 | "@babel/types" "7.0.0-beta.39" 71 | jsesc "^2.5.1" 72 | lodash "^4.2.0" 73 | source-map "^0.5.0" 74 | trim-right "^1.0.1" 75 | 76 | "@babel/helper-annotate-as-pure@7.0.0-beta.39": 77 | version "7.0.0-beta.39" 78 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.39.tgz#cf9506c721c838806ca5eabe15783507ba2edce0" 79 | dependencies: 80 | "@babel/types" "7.0.0-beta.39" 81 | 82 | "@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.39": 83 | version "7.0.0-beta.39" 84 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.39.tgz#ce97bd572aeb2b2c1200c7a49dba019659a95f3c" 85 | dependencies: 86 | "@babel/helper-explode-assignable-expression" "7.0.0-beta.39" 87 | "@babel/types" "7.0.0-beta.39" 88 | 89 | "@babel/helper-call-delegate@7.0.0-beta.39": 90 | version "7.0.0-beta.39" 91 | resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.39.tgz#7851645811a4bc3eb7cf5f1c72b1c754d0a5e45d" 92 | dependencies: 93 | "@babel/helper-hoist-variables" "7.0.0-beta.39" 94 | "@babel/traverse" "7.0.0-beta.39" 95 | "@babel/types" "7.0.0-beta.39" 96 | 97 | "@babel/helper-define-map@7.0.0-beta.39": 98 | version "7.0.0-beta.39" 99 | resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.39.tgz#3da7e7a94a213fde02f936b08dc458f546350caa" 100 | dependencies: 101 | "@babel/helper-function-name" "7.0.0-beta.39" 102 | "@babel/types" "7.0.0-beta.39" 103 | lodash "^4.2.0" 104 | 105 | "@babel/helper-explode-assignable-expression@7.0.0-beta.39": 106 | version "7.0.0-beta.39" 107 | resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.39.tgz#13d3068b6408b9c191d402df62bd356220884f8f" 108 | dependencies: 109 | "@babel/traverse" "7.0.0-beta.39" 110 | "@babel/types" "7.0.0-beta.39" 111 | 112 | "@babel/helper-function-name@7.0.0-beta.39": 113 | version "7.0.0-beta.39" 114 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.39.tgz#34f8ca0c46cdd7056ae706468a8078dab53dbc91" 115 | dependencies: 116 | "@babel/helper-get-function-arity" "7.0.0-beta.39" 117 | "@babel/template" "7.0.0-beta.39" 118 | "@babel/types" "7.0.0-beta.39" 119 | 120 | "@babel/helper-get-function-arity@7.0.0-beta.39": 121 | version "7.0.0-beta.39" 122 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.39.tgz#f542cb644c7866f9335b1ffc0614bbe633bd60ce" 123 | dependencies: 124 | "@babel/types" "7.0.0-beta.39" 125 | 126 | "@babel/helper-hoist-variables@7.0.0-beta.39": 127 | version "7.0.0-beta.39" 128 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.39.tgz#3a2d4929783ef3445686e768f52bfcf9ffb182b9" 129 | dependencies: 130 | "@babel/types" "7.0.0-beta.39" 131 | 132 | "@babel/helper-module-imports@7.0.0-beta.39": 133 | version "7.0.0-beta.39" 134 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.39.tgz#39e1fd4b8f5982b05417f73250a620070541192e" 135 | dependencies: 136 | "@babel/types" "7.0.0-beta.39" 137 | lodash "^4.2.0" 138 | 139 | "@babel/helper-module-transforms@7.0.0-beta.39": 140 | version "7.0.0-beta.39" 141 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.39.tgz#3ebf72bc2cb6453e9c5930a667496bdfa64bcf5e" 142 | dependencies: 143 | "@babel/helper-module-imports" "7.0.0-beta.39" 144 | "@babel/helper-simple-access" "7.0.0-beta.39" 145 | "@babel/template" "7.0.0-beta.39" 146 | "@babel/types" "7.0.0-beta.39" 147 | lodash "^4.2.0" 148 | 149 | "@babel/helper-optimise-call-expression@7.0.0-beta.39": 150 | version "7.0.0-beta.39" 151 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.39.tgz#2f2c76665fb9128feb0b84a162b3dcaecc53a102" 152 | dependencies: 153 | "@babel/types" "7.0.0-beta.39" 154 | 155 | "@babel/helper-regex@7.0.0-beta.39": 156 | version "7.0.0-beta.39" 157 | resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.39.tgz#852d94c0eedcf1d9b8513cda01f18c4838592c41" 158 | dependencies: 159 | lodash "^4.2.0" 160 | 161 | "@babel/helper-remap-async-to-generator@7.0.0-beta.39": 162 | version "7.0.0-beta.39" 163 | resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.39.tgz#64e715ddd24fa60e02dd139acac0d58a55508433" 164 | dependencies: 165 | "@babel/helper-annotate-as-pure" "7.0.0-beta.39" 166 | "@babel/helper-wrap-function" "7.0.0-beta.39" 167 | "@babel/template" "7.0.0-beta.39" 168 | "@babel/traverse" "7.0.0-beta.39" 169 | "@babel/types" "7.0.0-beta.39" 170 | 171 | "@babel/helper-replace-supers@7.0.0-beta.39": 172 | version "7.0.0-beta.39" 173 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.39.tgz#6ddb6167ad18904fd43d9f0df909b90fe09f0569" 174 | dependencies: 175 | "@babel/helper-optimise-call-expression" "7.0.0-beta.39" 176 | "@babel/template" "7.0.0-beta.39" 177 | "@babel/traverse" "7.0.0-beta.39" 178 | "@babel/types" "7.0.0-beta.39" 179 | 180 | "@babel/helper-simple-access@7.0.0-beta.39": 181 | version "7.0.0-beta.39" 182 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.39.tgz#fbe9e70c4fe64e0dbe01e675b2bb97b5f3514d3a" 183 | dependencies: 184 | "@babel/template" "7.0.0-beta.39" 185 | "@babel/types" "7.0.0-beta.39" 186 | lodash "^4.2.0" 187 | 188 | "@babel/helper-wrap-function@7.0.0-beta.39": 189 | version "7.0.0-beta.39" 190 | resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.39.tgz#ef4e6ef66791276351b6609545394900552b35c9" 191 | dependencies: 192 | "@babel/helper-function-name" "7.0.0-beta.39" 193 | "@babel/template" "7.0.0-beta.39" 194 | "@babel/traverse" "7.0.0-beta.39" 195 | "@babel/types" "7.0.0-beta.39" 196 | 197 | "@babel/plugin-proposal-async-generator-functions@7.0.0-beta.39": 198 | version "7.0.0-beta.39" 199 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.39.tgz#ae7fd6686c6709f374d5e531587afabd1fb19042" 200 | dependencies: 201 | "@babel/helper-remap-async-to-generator" "7.0.0-beta.39" 202 | "@babel/plugin-syntax-async-generators" "7.0.0-beta.39" 203 | 204 | "@babel/plugin-proposal-object-rest-spread@7.0.0-beta.39": 205 | version "7.0.0-beta.39" 206 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.39.tgz#ea4d6ea974a364028e5074b1abe6505924d179a3" 207 | dependencies: 208 | "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.39" 209 | 210 | "@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.39": 211 | version "7.0.0-beta.39" 212 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.39.tgz#1335778b3a8fc4289a2cfb518f85c6001ea5d9b4" 213 | dependencies: 214 | "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.39" 215 | 216 | "@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.39": 217 | version "7.0.0-beta.39" 218 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.39.tgz#7b6748fb69f767f883838c3bbd2aa4d428c65cff" 219 | dependencies: 220 | "@babel/helper-regex" "7.0.0-beta.39" 221 | regexpu-core "^4.1.3" 222 | 223 | "@babel/plugin-syntax-async-generators@7.0.0-beta.39": 224 | version "7.0.0-beta.39" 225 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.39.tgz#ace93b8bb53e256a330b21d78304843fd6d72ab4" 226 | 227 | "@babel/plugin-syntax-object-rest-spread@7.0.0-beta.39": 228 | version "7.0.0-beta.39" 229 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.39.tgz#f19f0761ccebf1d579197705e2efda36e1a45545" 230 | 231 | "@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.39": 232 | version "7.0.0-beta.39" 233 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.39.tgz#b6d3c27d2ceab69cfd132ba19a6d22fd37817fb2" 234 | 235 | "@babel/plugin-transform-arrow-functions@7.0.0-beta.39": 236 | version "7.0.0-beta.39" 237 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.39.tgz#3e6b577392e009816c62a42fc97af10a95760a89" 238 | 239 | "@babel/plugin-transform-async-to-generator@7.0.0-beta.39": 240 | version "7.0.0-beta.39" 241 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.39.tgz#25d05e410b3f6f3106781318e10952cdc10ed9d8" 242 | dependencies: 243 | "@babel/helper-module-imports" "7.0.0-beta.39" 244 | "@babel/helper-remap-async-to-generator" "7.0.0-beta.39" 245 | 246 | "@babel/plugin-transform-block-scoped-functions@7.0.0-beta.39": 247 | version "7.0.0-beta.39" 248 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.39.tgz#aa1de36ba07a6c89b581c2c7d838a2821f014778" 249 | 250 | "@babel/plugin-transform-block-scoping@7.0.0-beta.39": 251 | version "7.0.0-beta.39" 252 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.39.tgz#44a6f10edc255f600c5616e55f9f48b5fe1ed5d9" 253 | dependencies: 254 | lodash "^4.2.0" 255 | 256 | "@babel/plugin-transform-classes@7.0.0-beta.39": 257 | version "7.0.0-beta.39" 258 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.39.tgz#fe10e8cbcb6914c2b5cfa072d6ce8d9271f52a9c" 259 | dependencies: 260 | "@babel/helper-annotate-as-pure" "7.0.0-beta.39" 261 | "@babel/helper-define-map" "7.0.0-beta.39" 262 | "@babel/helper-function-name" "7.0.0-beta.39" 263 | "@babel/helper-optimise-call-expression" "7.0.0-beta.39" 264 | "@babel/helper-replace-supers" "7.0.0-beta.39" 265 | globals "^11.1.0" 266 | 267 | "@babel/plugin-transform-computed-properties@7.0.0-beta.39": 268 | version "7.0.0-beta.39" 269 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.39.tgz#7cc5bf14050380adfe7d119be099e6fe56c0a044" 270 | 271 | "@babel/plugin-transform-destructuring@7.0.0-beta.39": 272 | version "7.0.0-beta.39" 273 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.39.tgz#906cf55d8b5cbcd245634a128651397cbe6f0475" 274 | 275 | "@babel/plugin-transform-dotall-regex@7.0.0-beta.39": 276 | version "7.0.0-beta.39" 277 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.39.tgz#cb403b70bad7f302832bdbc8eeeb53832852ca5d" 278 | dependencies: 279 | "@babel/helper-regex" "7.0.0-beta.39" 280 | regexpu-core "^4.1.3" 281 | 282 | "@babel/plugin-transform-duplicate-keys@7.0.0-beta.39": 283 | version "7.0.0-beta.39" 284 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.39.tgz#5c402995e883d186941e230277df7f89c552f961" 285 | 286 | "@babel/plugin-transform-exponentiation-operator@7.0.0-beta.39": 287 | version "7.0.0-beta.39" 288 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.39.tgz#d0115ee85e3d895ead38c6fd149df223bde6e069" 289 | dependencies: 290 | "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.39" 291 | 292 | "@babel/plugin-transform-for-of@7.0.0-beta.39": 293 | version "7.0.0-beta.39" 294 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.39.tgz#77d11bcc9a21267c5848511431ad28b1aa1401db" 295 | 296 | "@babel/plugin-transform-function-name@7.0.0-beta.39": 297 | version "7.0.0-beta.39" 298 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.39.tgz#c677d2cb90462b12fec9ce6e9972524a253340f9" 299 | dependencies: 300 | "@babel/helper-function-name" "7.0.0-beta.39" 301 | 302 | "@babel/plugin-transform-literals@7.0.0-beta.39": 303 | version "7.0.0-beta.39" 304 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.39.tgz#5c6a097539a5d20cc285e97d785d418d6aad305d" 305 | 306 | "@babel/plugin-transform-modules-amd@7.0.0-beta.39": 307 | version "7.0.0-beta.39" 308 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.39.tgz#130bb5c05411d5be7d17ff7d2740058298fa23c3" 309 | dependencies: 310 | "@babel/helper-module-transforms" "7.0.0-beta.39" 311 | 312 | "@babel/plugin-transform-modules-commonjs@7.0.0-beta.39": 313 | version "7.0.0-beta.39" 314 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.39.tgz#b946992db6883b633500231950cdbae19dcaf334" 315 | dependencies: 316 | "@babel/helper-module-transforms" "7.0.0-beta.39" 317 | "@babel/helper-simple-access" "7.0.0-beta.39" 318 | 319 | "@babel/plugin-transform-modules-systemjs@7.0.0-beta.39": 320 | version "7.0.0-beta.39" 321 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.39.tgz#3ec4ba068077ac618e106273bb9636b2ee467406" 322 | dependencies: 323 | "@babel/helper-hoist-variables" "7.0.0-beta.39" 324 | 325 | "@babel/plugin-transform-modules-umd@7.0.0-beta.39": 326 | version "7.0.0-beta.39" 327 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.39.tgz#25a68675091c39a5fbf72e0d76870f3b248d452e" 328 | dependencies: 329 | "@babel/helper-module-transforms" "7.0.0-beta.39" 330 | 331 | "@babel/plugin-transform-new-target@7.0.0-beta.39": 332 | version "7.0.0-beta.39" 333 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.39.tgz#deaf7e20bb67f8b8ea6fdd4b2b4c51867d450c0a" 334 | 335 | "@babel/plugin-transform-object-super@7.0.0-beta.39": 336 | version "7.0.0-beta.39" 337 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.39.tgz#4db6dfffe5b70bdb068ecc5c69394aef24b85d8d" 338 | dependencies: 339 | "@babel/helper-replace-supers" "7.0.0-beta.39" 340 | 341 | "@babel/plugin-transform-parameters@7.0.0-beta.39": 342 | version "7.0.0-beta.39" 343 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.39.tgz#bcd6f99c7839f52fce3bd05e89841d187f1d4ef8" 344 | dependencies: 345 | "@babel/helper-call-delegate" "7.0.0-beta.39" 346 | "@babel/helper-get-function-arity" "7.0.0-beta.39" 347 | 348 | "@babel/plugin-transform-regenerator@7.0.0-beta.39": 349 | version "7.0.0-beta.39" 350 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.39.tgz#6f85c3ac987824fe037fc83dcda75c4d7502344c" 351 | dependencies: 352 | regenerator-transform "^0.12.3" 353 | 354 | "@babel/plugin-transform-shorthand-properties@7.0.0-beta.39": 355 | version "7.0.0-beta.39" 356 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.39.tgz#caa480ecb159481df8e1c405aaac865a54781630" 357 | 358 | "@babel/plugin-transform-spread@7.0.0-beta.39": 359 | version "7.0.0-beta.39" 360 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.39.tgz#75358c67a52cc2cc266ea598dc0447e0f4e239d7" 361 | 362 | "@babel/plugin-transform-sticky-regex@7.0.0-beta.39": 363 | version "7.0.0-beta.39" 364 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.39.tgz#9e989e99efb9dc84928507adb260934f2e336713" 365 | dependencies: 366 | "@babel/helper-regex" "7.0.0-beta.39" 367 | 368 | "@babel/plugin-transform-template-literals@7.0.0-beta.39": 369 | version "7.0.0-beta.39" 370 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.39.tgz#65b06d42ed0f04f18aeb45bc7a588db7783cc7d1" 371 | dependencies: 372 | "@babel/helper-annotate-as-pure" "7.0.0-beta.39" 373 | 374 | "@babel/plugin-transform-typeof-symbol@7.0.0-beta.39": 375 | version "7.0.0-beta.39" 376 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.39.tgz#ac2134df64e014e864f7678e46770ecd13f604e9" 377 | 378 | "@babel/plugin-transform-unicode-regex@7.0.0-beta.39": 379 | version "7.0.0-beta.39" 380 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.39.tgz#cbfd3e78bb7ce04597cbde55b177f8b61b6b20b3" 381 | dependencies: 382 | "@babel/helper-regex" "7.0.0-beta.39" 383 | regexpu-core "^4.1.3" 384 | 385 | "@babel/preset-env@^7.0.0-beta.39": 386 | version "7.0.0-beta.39" 387 | resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.39.tgz#3977e2d4dc7d196b07bb3bd23fb18bc280b20fa3" 388 | dependencies: 389 | "@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.39" 390 | "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.39" 391 | "@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.39" 392 | "@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.39" 393 | "@babel/plugin-syntax-async-generators" "7.0.0-beta.39" 394 | "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.39" 395 | "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.39" 396 | "@babel/plugin-transform-arrow-functions" "7.0.0-beta.39" 397 | "@babel/plugin-transform-async-to-generator" "7.0.0-beta.39" 398 | "@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.39" 399 | "@babel/plugin-transform-block-scoping" "7.0.0-beta.39" 400 | "@babel/plugin-transform-classes" "7.0.0-beta.39" 401 | "@babel/plugin-transform-computed-properties" "7.0.0-beta.39" 402 | "@babel/plugin-transform-destructuring" "7.0.0-beta.39" 403 | "@babel/plugin-transform-dotall-regex" "7.0.0-beta.39" 404 | "@babel/plugin-transform-duplicate-keys" "7.0.0-beta.39" 405 | "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.39" 406 | "@babel/plugin-transform-for-of" "7.0.0-beta.39" 407 | "@babel/plugin-transform-function-name" "7.0.0-beta.39" 408 | "@babel/plugin-transform-literals" "7.0.0-beta.39" 409 | "@babel/plugin-transform-modules-amd" "7.0.0-beta.39" 410 | "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.39" 411 | "@babel/plugin-transform-modules-systemjs" "7.0.0-beta.39" 412 | "@babel/plugin-transform-modules-umd" "7.0.0-beta.39" 413 | "@babel/plugin-transform-new-target" "7.0.0-beta.39" 414 | "@babel/plugin-transform-object-super" "7.0.0-beta.39" 415 | "@babel/plugin-transform-parameters" "7.0.0-beta.39" 416 | "@babel/plugin-transform-regenerator" "7.0.0-beta.39" 417 | "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.39" 418 | "@babel/plugin-transform-spread" "7.0.0-beta.39" 419 | "@babel/plugin-transform-sticky-regex" "7.0.0-beta.39" 420 | "@babel/plugin-transform-template-literals" "7.0.0-beta.39" 421 | "@babel/plugin-transform-typeof-symbol" "7.0.0-beta.39" 422 | "@babel/plugin-transform-unicode-regex" "7.0.0-beta.39" 423 | browserslist "^2.4.0" 424 | invariant "^2.2.2" 425 | semver "^5.3.0" 426 | 427 | "@babel/template@7.0.0-beta.39": 428 | version "7.0.0-beta.39" 429 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.39.tgz#98bd7b132d99f73547c473f2862f481ae84981c9" 430 | dependencies: 431 | "@babel/code-frame" "7.0.0-beta.39" 432 | "@babel/types" "7.0.0-beta.39" 433 | babylon "7.0.0-beta.39" 434 | lodash "^4.2.0" 435 | 436 | "@babel/traverse@7.0.0-beta.39": 437 | version "7.0.0-beta.39" 438 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.39.tgz#ccb5abfb878403a39af249997dd6f36136de7694" 439 | dependencies: 440 | "@babel/code-frame" "7.0.0-beta.39" 441 | "@babel/generator" "7.0.0-beta.39" 442 | "@babel/helper-function-name" "7.0.0-beta.39" 443 | "@babel/types" "7.0.0-beta.39" 444 | babylon "7.0.0-beta.39" 445 | debug "^3.0.1" 446 | globals "^11.1.0" 447 | invariant "^2.2.0" 448 | lodash "^4.2.0" 449 | 450 | "@babel/types@7.0.0-beta.39": 451 | version "7.0.0-beta.39" 452 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.39.tgz#2ea0d97efe4781688751edc68cde640d6559938c" 453 | dependencies: 454 | esutils "^2.0.2" 455 | lodash "^4.2.0" 456 | to-fast-properties "^2.0.0" 457 | 458 | abbrev@1: 459 | version "1.1.1" 460 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 461 | 462 | ajv@^4.9.1: 463 | version "4.11.8" 464 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 465 | dependencies: 466 | co "^4.6.0" 467 | json-stable-stringify "^1.0.1" 468 | 469 | ajv@^5.1.0: 470 | version "5.5.2" 471 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 472 | dependencies: 473 | co "^4.6.0" 474 | fast-deep-equal "^1.0.0" 475 | fast-json-stable-stringify "^2.0.0" 476 | json-schema-traverse "^0.3.0" 477 | 478 | ansi-regex@^2.0.0: 479 | version "2.1.1" 480 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 481 | 482 | ansi-styles@^2.2.1: 483 | version "2.2.1" 484 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 485 | 486 | ansi-styles@^3.1.0: 487 | version "3.2.0" 488 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" 489 | dependencies: 490 | color-convert "^1.9.0" 491 | 492 | anymatch@^1.3.0: 493 | version "1.3.2" 494 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" 495 | dependencies: 496 | micromatch "^2.1.5" 497 | normalize-path "^2.0.0" 498 | 499 | aproba@^1.0.3: 500 | version "1.2.0" 501 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 502 | 503 | are-we-there-yet@~1.1.2: 504 | version "1.1.4" 505 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 506 | dependencies: 507 | delegates "^1.0.0" 508 | readable-stream "^2.0.6" 509 | 510 | arr-diff@^2.0.0: 511 | version "2.0.0" 512 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 513 | dependencies: 514 | arr-flatten "^1.0.1" 515 | 516 | arr-flatten@^1.0.1: 517 | version "1.1.0" 518 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 519 | 520 | array-unique@^0.2.1: 521 | version "0.2.1" 522 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 523 | 524 | asn1@~0.2.3: 525 | version "0.2.3" 526 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 527 | 528 | assert-plus@1.0.0, assert-plus@^1.0.0: 529 | version "1.0.0" 530 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 531 | 532 | assert-plus@^0.2.0: 533 | version "0.2.0" 534 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 535 | 536 | async-each@^1.0.0: 537 | version "1.0.1" 538 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 539 | 540 | async@^1.3.0: 541 | version "1.5.2" 542 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 543 | 544 | async@^2.0.1: 545 | version "2.6.0" 546 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" 547 | dependencies: 548 | lodash "^4.14.0" 549 | 550 | async@~1.4.2: 551 | version "1.4.2" 552 | resolved "https://registry.yarnpkg.com/async/-/async-1.4.2.tgz#6c9edcb11ced4f0dd2f2d40db0d49a109c088aab" 553 | 554 | asynckit@^0.4.0: 555 | version "0.4.0" 556 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 557 | 558 | aws-sign2@~0.6.0: 559 | version "0.6.0" 560 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 561 | 562 | aws-sign2@~0.7.0: 563 | version "0.7.0" 564 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 565 | 566 | aws4@^1.2.1, aws4@^1.6.0: 567 | version "1.6.0" 568 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 569 | 570 | babel-cli@^6.26.0: 571 | version "6.26.0" 572 | resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" 573 | dependencies: 574 | babel-core "^6.26.0" 575 | babel-polyfill "^6.26.0" 576 | babel-register "^6.26.0" 577 | babel-runtime "^6.26.0" 578 | commander "^2.11.0" 579 | convert-source-map "^1.5.0" 580 | fs-readdir-recursive "^1.0.0" 581 | glob "^7.1.2" 582 | lodash "^4.17.4" 583 | output-file-sync "^1.1.2" 584 | path-is-absolute "^1.0.1" 585 | slash "^1.0.0" 586 | source-map "^0.5.6" 587 | v8flags "^2.1.1" 588 | optionalDependencies: 589 | chokidar "^1.6.1" 590 | 591 | babel-code-frame@^6.26.0: 592 | version "6.26.0" 593 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 594 | dependencies: 595 | chalk "^1.1.3" 596 | esutils "^2.0.2" 597 | js-tokens "^3.0.2" 598 | 599 | babel-core@^6.26.0: 600 | version "6.26.0" 601 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" 602 | dependencies: 603 | babel-code-frame "^6.26.0" 604 | babel-generator "^6.26.0" 605 | babel-helpers "^6.24.1" 606 | babel-messages "^6.23.0" 607 | babel-register "^6.26.0" 608 | babel-runtime "^6.26.0" 609 | babel-template "^6.26.0" 610 | babel-traverse "^6.26.0" 611 | babel-types "^6.26.0" 612 | babylon "^6.18.0" 613 | convert-source-map "^1.5.0" 614 | debug "^2.6.8" 615 | json5 "^0.5.1" 616 | lodash "^4.17.4" 617 | minimatch "^3.0.4" 618 | path-is-absolute "^1.0.1" 619 | private "^0.1.7" 620 | slash "^1.0.0" 621 | source-map "^0.5.6" 622 | 623 | babel-generator@^6.26.0: 624 | version "6.26.1" 625 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" 626 | dependencies: 627 | babel-messages "^6.23.0" 628 | babel-runtime "^6.26.0" 629 | babel-types "^6.26.0" 630 | detect-indent "^4.0.0" 631 | jsesc "^1.3.0" 632 | lodash "^4.17.4" 633 | source-map "^0.5.7" 634 | trim-right "^1.0.1" 635 | 636 | babel-helper-builder-react-jsx@^6.24.1: 637 | version "6.26.0" 638 | resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" 639 | dependencies: 640 | babel-runtime "^6.26.0" 641 | babel-types "^6.26.0" 642 | esutils "^2.0.2" 643 | 644 | babel-helpers@^6.24.1: 645 | version "6.24.1" 646 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" 647 | dependencies: 648 | babel-runtime "^6.22.0" 649 | babel-template "^6.24.1" 650 | 651 | babel-messages@^6.23.0: 652 | version "6.23.0" 653 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 654 | dependencies: 655 | babel-runtime "^6.22.0" 656 | 657 | babel-plugin-syntax-flow@^6.18.0: 658 | version "6.18.0" 659 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" 660 | 661 | babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: 662 | version "6.18.0" 663 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" 664 | 665 | babel-plugin-syntax-object-rest-spread@^6.8.0: 666 | version "6.13.0" 667 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" 668 | 669 | babel-plugin-transform-flow-strip-types@^6.22.0: 670 | version "6.22.0" 671 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" 672 | dependencies: 673 | babel-plugin-syntax-flow "^6.18.0" 674 | babel-runtime "^6.22.0" 675 | 676 | babel-plugin-transform-object-rest-spread@^6.26.0: 677 | version "6.26.0" 678 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" 679 | dependencies: 680 | babel-plugin-syntax-object-rest-spread "^6.8.0" 681 | babel-runtime "^6.26.0" 682 | 683 | babel-plugin-transform-react-display-name@^6.23.0: 684 | version "6.25.0" 685 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" 686 | dependencies: 687 | babel-runtime "^6.22.0" 688 | 689 | babel-plugin-transform-react-jsx-self@^6.22.0: 690 | version "6.22.0" 691 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" 692 | dependencies: 693 | babel-plugin-syntax-jsx "^6.8.0" 694 | babel-runtime "^6.22.0" 695 | 696 | babel-plugin-transform-react-jsx-source@^6.22.0: 697 | version "6.22.0" 698 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" 699 | dependencies: 700 | babel-plugin-syntax-jsx "^6.8.0" 701 | babel-runtime "^6.22.0" 702 | 703 | babel-plugin-transform-react-jsx@^6.24.1: 704 | version "6.24.1" 705 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" 706 | dependencies: 707 | babel-helper-builder-react-jsx "^6.24.1" 708 | babel-plugin-syntax-jsx "^6.8.0" 709 | babel-runtime "^6.22.0" 710 | 711 | babel-plugin-transform-runtime@^6.23.0: 712 | version "6.23.0" 713 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" 714 | dependencies: 715 | babel-runtime "^6.22.0" 716 | 717 | babel-polyfill@^6.26.0: 718 | version "6.26.0" 719 | resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" 720 | dependencies: 721 | babel-runtime "^6.26.0" 722 | core-js "^2.5.0" 723 | regenerator-runtime "^0.10.5" 724 | 725 | babel-preset-flow@^6.23.0: 726 | version "6.23.0" 727 | resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" 728 | dependencies: 729 | babel-plugin-transform-flow-strip-types "^6.22.0" 730 | 731 | babel-preset-react@^6.24.1: 732 | version "6.24.1" 733 | resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" 734 | dependencies: 735 | babel-plugin-syntax-jsx "^6.3.13" 736 | babel-plugin-transform-react-display-name "^6.23.0" 737 | babel-plugin-transform-react-jsx "^6.24.1" 738 | babel-plugin-transform-react-jsx-self "^6.22.0" 739 | babel-plugin-transform-react-jsx-source "^6.22.0" 740 | babel-preset-flow "^6.23.0" 741 | 742 | babel-register@^6.26.0: 743 | version "6.26.0" 744 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" 745 | dependencies: 746 | babel-core "^6.26.0" 747 | babel-runtime "^6.26.0" 748 | core-js "^2.5.0" 749 | home-or-tmp "^2.0.0" 750 | lodash "^4.17.4" 751 | mkdirp "^0.5.1" 752 | source-map-support "^0.4.15" 753 | 754 | babel-runtime@^6.22.0, babel-runtime@^6.26.0: 755 | version "6.26.0" 756 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" 757 | dependencies: 758 | core-js "^2.4.0" 759 | regenerator-runtime "^0.11.0" 760 | 761 | babel-template@^6.24.1, babel-template@^6.26.0: 762 | version "6.26.0" 763 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" 764 | dependencies: 765 | babel-runtime "^6.26.0" 766 | babel-traverse "^6.26.0" 767 | babel-types "^6.26.0" 768 | babylon "^6.18.0" 769 | lodash "^4.17.4" 770 | 771 | babel-traverse@^6.26.0: 772 | version "6.26.0" 773 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" 774 | dependencies: 775 | babel-code-frame "^6.26.0" 776 | babel-messages "^6.23.0" 777 | babel-runtime "^6.26.0" 778 | babel-types "^6.26.0" 779 | babylon "^6.18.0" 780 | debug "^2.6.8" 781 | globals "^9.18.0" 782 | invariant "^2.2.2" 783 | lodash "^4.17.4" 784 | 785 | babel-types@^6.26.0: 786 | version "6.26.0" 787 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" 788 | dependencies: 789 | babel-runtime "^6.26.0" 790 | esutils "^2.0.2" 791 | lodash "^4.17.4" 792 | to-fast-properties "^1.0.3" 793 | 794 | babylon@7.0.0-beta.39: 795 | version "7.0.0-beta.39" 796 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.39.tgz#512833ea788f6570c6db026d743a7565e58d3aeb" 797 | 798 | babylon@^6.18.0: 799 | version "6.18.0" 800 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" 801 | 802 | balanced-match@^1.0.0: 803 | version "1.0.0" 804 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 805 | 806 | base64url@2.0.0, base64url@^2.0.0: 807 | version "2.0.0" 808 | resolved "https://registry.yarnpkg.com/base64url/-/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb" 809 | 810 | base64url@~0.0.4: 811 | version "0.0.6" 812 | resolved "https://registry.yarnpkg.com/base64url/-/base64url-0.0.6.tgz#9597b36b330db1c42477322ea87ea8027499b82b" 813 | 814 | base64url@~1.0.4: 815 | version "1.0.6" 816 | resolved "https://registry.yarnpkg.com/base64url/-/base64url-1.0.6.tgz#d64d375d68a7c640d912e2358d170dca5bb54681" 817 | dependencies: 818 | concat-stream "~1.4.7" 819 | meow "~2.0.0" 820 | 821 | bcrypt-pbkdf@^1.0.0: 822 | version "1.0.1" 823 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 824 | dependencies: 825 | tweetnacl "^0.14.3" 826 | 827 | binary-extensions@^1.0.0: 828 | version "1.11.0" 829 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 830 | 831 | bl@~1.1.2: 832 | version "1.1.2" 833 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" 834 | dependencies: 835 | readable-stream "~2.0.5" 836 | 837 | block-stream@*: 838 | version "0.0.9" 839 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 840 | dependencies: 841 | inherits "~2.0.0" 842 | 843 | boom@2.x.x: 844 | version "2.10.1" 845 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 846 | dependencies: 847 | hoek "2.x.x" 848 | 849 | boom@4.x.x: 850 | version "4.3.1" 851 | resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" 852 | dependencies: 853 | hoek "4.x.x" 854 | 855 | boom@5.x.x: 856 | version "5.2.0" 857 | resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" 858 | dependencies: 859 | hoek "4.x.x" 860 | 861 | brace-expansion@^1.1.7: 862 | version "1.1.8" 863 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 864 | dependencies: 865 | balanced-match "^1.0.0" 866 | concat-map "0.0.1" 867 | 868 | braces@^1.8.2: 869 | version "1.8.5" 870 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 871 | dependencies: 872 | expand-range "^1.8.1" 873 | preserve "^0.2.0" 874 | repeat-element "^1.1.2" 875 | 876 | browserslist@^2.4.0: 877 | version "2.11.3" 878 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" 879 | dependencies: 880 | caniuse-lite "^1.0.30000792" 881 | electron-to-chromium "^1.3.30" 882 | 883 | buffer-equal-constant-time@1.0.1, buffer-equal-constant-time@^1.0.1: 884 | version "1.0.1" 885 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 886 | 887 | camelcase-keys@^1.0.0: 888 | version "1.0.0" 889 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-1.0.0.tgz#bd1a11bf9b31a1ce493493a930de1a0baf4ad7ec" 890 | dependencies: 891 | camelcase "^1.0.1" 892 | map-obj "^1.0.0" 893 | 894 | camelcase@^1.0.1: 895 | version "1.2.1" 896 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 897 | 898 | caniuse-lite@^1.0.30000792: 899 | version "1.0.30000804" 900 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000804.tgz#8729a143d65378e8936adbb161f550e9c49fc09d" 901 | 902 | caseless@~0.11.0: 903 | version "0.11.0" 904 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" 905 | 906 | caseless@~0.12.0: 907 | version "0.12.0" 908 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 909 | 910 | chalk@^1.1.1, chalk@^1.1.3: 911 | version "1.1.3" 912 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 913 | dependencies: 914 | ansi-styles "^2.2.1" 915 | escape-string-regexp "^1.0.2" 916 | has-ansi "^2.0.0" 917 | strip-ansi "^3.0.0" 918 | supports-color "^2.0.0" 919 | 920 | chalk@^2.0.0: 921 | version "2.3.0" 922 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" 923 | dependencies: 924 | ansi-styles "^3.1.0" 925 | escape-string-regexp "^1.0.5" 926 | supports-color "^4.0.0" 927 | 928 | chokidar@^1.6.1: 929 | version "1.7.0" 930 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 931 | dependencies: 932 | anymatch "^1.3.0" 933 | async-each "^1.0.0" 934 | glob-parent "^2.0.0" 935 | inherits "^2.0.1" 936 | is-binary-path "^1.0.0" 937 | is-glob "^2.0.0" 938 | path-is-absolute "^1.0.0" 939 | readdirp "^2.0.0" 940 | optionalDependencies: 941 | fsevents "^1.0.0" 942 | 943 | co@^4.6.0: 944 | version "4.6.0" 945 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 946 | 947 | code-point-at@^1.0.0: 948 | version "1.1.0" 949 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 950 | 951 | color-convert@^1.9.0: 952 | version "1.9.1" 953 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" 954 | dependencies: 955 | color-name "^1.1.1" 956 | 957 | color-name@^1.1.1: 958 | version "1.1.3" 959 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 960 | 961 | combined-stream@^1.0.5, combined-stream@~1.0.5: 962 | version "1.0.5" 963 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 964 | dependencies: 965 | delayed-stream "~1.0.0" 966 | 967 | commander@^2.11.0, commander@^2.9.0: 968 | version "2.14.1" 969 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" 970 | 971 | concat-map@0.0.1: 972 | version "0.0.1" 973 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 974 | 975 | concat-stream@~1.4.7: 976 | version "1.4.10" 977 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.4.10.tgz#acc3bbf5602cb8cc980c6ac840fa7d8603e3ef36" 978 | dependencies: 979 | inherits "~2.0.1" 980 | readable-stream "~1.1.9" 981 | typedarray "~0.0.5" 982 | 983 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 984 | version "1.1.0" 985 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 986 | 987 | convert-source-map@^1.5.0: 988 | version "1.5.1" 989 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" 990 | 991 | core-js@^2.4.0, core-js@^2.5.0: 992 | version "2.5.3" 993 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" 994 | 995 | core-util-is@1.0.2, core-util-is@~1.0.0: 996 | version "1.0.2" 997 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 998 | 999 | cross-env@^5.1.3: 1000 | version "5.1.3" 1001 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.3.tgz#f8ae18faac87692b0a8b4d2f7000d4ec3a85dfd7" 1002 | dependencies: 1003 | cross-spawn "^5.1.0" 1004 | is-windows "^1.0.0" 1005 | 1006 | cross-spawn@^5.1.0: 1007 | version "5.1.0" 1008 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 1009 | dependencies: 1010 | lru-cache "^4.0.1" 1011 | shebang-command "^1.2.0" 1012 | which "^1.2.9" 1013 | 1014 | cryptiles@2.x.x: 1015 | version "2.0.5" 1016 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 1017 | dependencies: 1018 | boom "2.x.x" 1019 | 1020 | cryptiles@3.x.x: 1021 | version "3.1.2" 1022 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" 1023 | dependencies: 1024 | boom "5.x.x" 1025 | 1026 | dashdash@^1.12.0: 1027 | version "1.14.1" 1028 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 1029 | dependencies: 1030 | assert-plus "^1.0.0" 1031 | 1032 | debug@^2.2.0, debug@^2.6.8: 1033 | version "2.6.9" 1034 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1035 | dependencies: 1036 | ms "2.0.0" 1037 | 1038 | debug@^3.0.1: 1039 | version "3.1.0" 1040 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 1041 | dependencies: 1042 | ms "2.0.0" 1043 | 1044 | deep-extend@~0.4.0: 1045 | version "0.4.2" 1046 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 1047 | 1048 | delayed-stream@~1.0.0: 1049 | version "1.0.0" 1050 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1051 | 1052 | delegates@^1.0.0: 1053 | version "1.0.0" 1054 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1055 | 1056 | detect-indent@^4.0.0: 1057 | version "4.0.0" 1058 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 1059 | dependencies: 1060 | repeating "^2.0.0" 1061 | 1062 | detect-libc@^1.0.2: 1063 | version "1.0.3" 1064 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 1065 | 1066 | ecc-jsbn@~0.1.1: 1067 | version "0.1.1" 1068 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 1069 | dependencies: 1070 | jsbn "~0.1.0" 1071 | 1072 | ecdsa-sig-formatter@1.0.9, ecdsa-sig-formatter@^1.0.0: 1073 | version "1.0.9" 1074 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz#4bc926274ec3b5abb5016e7e1d60921ac262b2a1" 1075 | dependencies: 1076 | base64url "^2.0.0" 1077 | safe-buffer "^5.0.1" 1078 | 1079 | electron-to-chromium@^1.3.30: 1080 | version "1.3.33" 1081 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz#bf00703d62a7c65238136578c352d6c5c042a545" 1082 | 1083 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 1084 | version "1.0.5" 1085 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1086 | 1087 | esutils@^2.0.2: 1088 | version "2.0.2" 1089 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1090 | 1091 | expand-brackets@^0.1.4: 1092 | version "0.1.5" 1093 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 1094 | dependencies: 1095 | is-posix-bracket "^0.1.0" 1096 | 1097 | expand-range@^1.8.1: 1098 | version "1.8.2" 1099 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 1100 | dependencies: 1101 | fill-range "^2.1.0" 1102 | 1103 | extend@~3.0.0, extend@~3.0.1: 1104 | version "3.0.1" 1105 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 1106 | 1107 | extglob@^0.3.1: 1108 | version "0.3.2" 1109 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 1110 | dependencies: 1111 | is-extglob "^1.0.0" 1112 | 1113 | extsprintf@1.3.0: 1114 | version "1.3.0" 1115 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1116 | 1117 | extsprintf@^1.2.0: 1118 | version "1.4.0" 1119 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 1120 | 1121 | fast-deep-equal@^1.0.0: 1122 | version "1.0.0" 1123 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" 1124 | 1125 | fast-json-stable-stringify@^2.0.0: 1126 | version "2.0.0" 1127 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1128 | 1129 | filename-regex@^2.0.0: 1130 | version "2.0.1" 1131 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 1132 | 1133 | fill-range@^2.1.0: 1134 | version "2.2.3" 1135 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 1136 | dependencies: 1137 | is-number "^2.1.0" 1138 | isobject "^2.0.0" 1139 | randomatic "^1.1.3" 1140 | repeat-element "^1.1.2" 1141 | repeat-string "^1.5.2" 1142 | 1143 | flow-bin@^0.56.0: 1144 | version "0.56.0" 1145 | resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.56.0.tgz#ce43092203a344ba9bf63c0cabe95d95145f6cad" 1146 | 1147 | for-in@^1.0.1: 1148 | version "1.0.2" 1149 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1150 | 1151 | for-own@^0.1.4: 1152 | version "0.1.5" 1153 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 1154 | dependencies: 1155 | for-in "^1.0.1" 1156 | 1157 | forever-agent@~0.6.1: 1158 | version "0.6.1" 1159 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1160 | 1161 | form-data@~1.0.0-rc4: 1162 | version "1.0.1" 1163 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" 1164 | dependencies: 1165 | async "^2.0.1" 1166 | combined-stream "^1.0.5" 1167 | mime-types "^2.1.11" 1168 | 1169 | form-data@~2.1.1: 1170 | version "2.1.4" 1171 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 1172 | dependencies: 1173 | asynckit "^0.4.0" 1174 | combined-stream "^1.0.5" 1175 | mime-types "^2.1.12" 1176 | 1177 | form-data@~2.3.1: 1178 | version "2.3.1" 1179 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" 1180 | dependencies: 1181 | asynckit "^0.4.0" 1182 | combined-stream "^1.0.5" 1183 | mime-types "^2.1.12" 1184 | 1185 | fs-readdir-recursive@^1.0.0: 1186 | version "1.1.0" 1187 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" 1188 | 1189 | fs.realpath@^1.0.0: 1190 | version "1.0.0" 1191 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1192 | 1193 | fsevents@^1.0.0: 1194 | version "1.1.3" 1195 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" 1196 | dependencies: 1197 | nan "^2.3.0" 1198 | node-pre-gyp "^0.6.39" 1199 | 1200 | fstream-ignore@^1.0.5: 1201 | version "1.0.5" 1202 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 1203 | dependencies: 1204 | fstream "^1.0.0" 1205 | inherits "2" 1206 | minimatch "^3.0.0" 1207 | 1208 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 1209 | version "1.0.11" 1210 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 1211 | dependencies: 1212 | graceful-fs "^4.1.2" 1213 | inherits "~2.0.0" 1214 | mkdirp ">=0.5 0" 1215 | rimraf "2" 1216 | 1217 | gauge@~2.7.3: 1218 | version "2.7.4" 1219 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1220 | dependencies: 1221 | aproba "^1.0.3" 1222 | console-control-strings "^1.0.0" 1223 | has-unicode "^2.0.0" 1224 | object-assign "^4.1.0" 1225 | signal-exit "^3.0.0" 1226 | string-width "^1.0.1" 1227 | strip-ansi "^3.0.1" 1228 | wide-align "^1.1.0" 1229 | 1230 | generate-function@^2.0.0: 1231 | version "2.0.0" 1232 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 1233 | 1234 | generate-object-property@^1.1.0: 1235 | version "1.2.0" 1236 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 1237 | dependencies: 1238 | is-property "^1.0.0" 1239 | 1240 | get-stdin@^4.0.1: 1241 | version "4.0.1" 1242 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1243 | 1244 | getpass@^0.1.1: 1245 | version "0.1.7" 1246 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1247 | dependencies: 1248 | assert-plus "^1.0.0" 1249 | 1250 | glob-base@^0.3.0: 1251 | version "0.3.0" 1252 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1253 | dependencies: 1254 | glob-parent "^2.0.0" 1255 | is-glob "^2.0.0" 1256 | 1257 | glob-parent@^2.0.0: 1258 | version "2.0.0" 1259 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1260 | dependencies: 1261 | is-glob "^2.0.0" 1262 | 1263 | glob@^7.0.5, glob@^7.1.2: 1264 | version "7.1.2" 1265 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1266 | dependencies: 1267 | fs.realpath "^1.0.0" 1268 | inflight "^1.0.4" 1269 | inherits "2" 1270 | minimatch "^3.0.4" 1271 | once "^1.3.0" 1272 | path-is-absolute "^1.0.0" 1273 | 1274 | globals@^11.1.0: 1275 | version "11.3.0" 1276 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0" 1277 | 1278 | globals@^9.18.0: 1279 | version "9.18.0" 1280 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 1281 | 1282 | google-auth-library@^0.9.6: 1283 | version "0.9.10" 1284 | resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-0.9.10.tgz#4993dc07bb4834b8ca0350213a6873a32c6051b9" 1285 | dependencies: 1286 | async "~1.4.2" 1287 | gtoken "^1.1.0" 1288 | jws "~3.0.0" 1289 | lodash.noop "~3.0.0" 1290 | request "~2.74.0" 1291 | string-template "~0.2.0" 1292 | 1293 | google-p12-pem@^0.1.0: 1294 | version "0.1.2" 1295 | resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-0.1.2.tgz#33c46ab021aa734fa0332b3960a9a3ffcb2f3177" 1296 | dependencies: 1297 | node-forge "^0.7.1" 1298 | 1299 | google-spreadsheet@2.0.3: 1300 | version "2.0.3" 1301 | resolved "https://registry.yarnpkg.com/google-spreadsheet/-/google-spreadsheet-2.0.3.tgz#e0b0518897ff548364f0c06779f2c98692916e5b" 1302 | dependencies: 1303 | async "^1.3.0" 1304 | google-auth-library "^0.9.6" 1305 | lodash "^3.7.0" 1306 | request "^2.69.0" 1307 | xml2js "~0.4.0" 1308 | 1309 | graceful-fs@^4.1.2, graceful-fs@^4.1.4: 1310 | version "4.1.11" 1311 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1312 | 1313 | gtoken@^1.1.0: 1314 | version "1.2.3" 1315 | resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-1.2.3.tgz#5509571b8afd4322e124cf66cf68115284c476d8" 1316 | dependencies: 1317 | google-p12-pem "^0.1.0" 1318 | jws "^3.0.0" 1319 | mime "^1.4.1" 1320 | request "^2.72.0" 1321 | 1322 | har-schema@^1.0.5: 1323 | version "1.0.5" 1324 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1325 | 1326 | har-schema@^2.0.0: 1327 | version "2.0.0" 1328 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1329 | 1330 | har-validator@~2.0.6: 1331 | version "2.0.6" 1332 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" 1333 | dependencies: 1334 | chalk "^1.1.1" 1335 | commander "^2.9.0" 1336 | is-my-json-valid "^2.12.4" 1337 | pinkie-promise "^2.0.0" 1338 | 1339 | har-validator@~4.2.1: 1340 | version "4.2.1" 1341 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1342 | dependencies: 1343 | ajv "^4.9.1" 1344 | har-schema "^1.0.5" 1345 | 1346 | har-validator@~5.0.3: 1347 | version "5.0.3" 1348 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" 1349 | dependencies: 1350 | ajv "^5.1.0" 1351 | har-schema "^2.0.0" 1352 | 1353 | has-ansi@^2.0.0: 1354 | version "2.0.0" 1355 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1356 | dependencies: 1357 | ansi-regex "^2.0.0" 1358 | 1359 | has-flag@^2.0.0: 1360 | version "2.0.0" 1361 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1362 | 1363 | has-unicode@^2.0.0: 1364 | version "2.0.1" 1365 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1366 | 1367 | hawk@3.1.3, hawk@~3.1.3: 1368 | version "3.1.3" 1369 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1370 | dependencies: 1371 | boom "2.x.x" 1372 | cryptiles "2.x.x" 1373 | hoek "2.x.x" 1374 | sntp "1.x.x" 1375 | 1376 | hawk@~6.0.2: 1377 | version "6.0.2" 1378 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" 1379 | dependencies: 1380 | boom "4.x.x" 1381 | cryptiles "3.x.x" 1382 | hoek "4.x.x" 1383 | sntp "2.x.x" 1384 | 1385 | hoek@2.x.x: 1386 | version "2.16.3" 1387 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1388 | 1389 | hoek@4.x.x: 1390 | version "4.2.0" 1391 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" 1392 | 1393 | home-or-tmp@^2.0.0: 1394 | version "2.0.0" 1395 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1396 | dependencies: 1397 | os-homedir "^1.0.0" 1398 | os-tmpdir "^1.0.1" 1399 | 1400 | http-signature@~1.1.0: 1401 | version "1.1.1" 1402 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1403 | dependencies: 1404 | assert-plus "^0.2.0" 1405 | jsprim "^1.2.2" 1406 | sshpk "^1.7.0" 1407 | 1408 | http-signature@~1.2.0: 1409 | version "1.2.0" 1410 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1411 | dependencies: 1412 | assert-plus "^1.0.0" 1413 | jsprim "^1.2.2" 1414 | sshpk "^1.7.0" 1415 | 1416 | indent-string@^1.1.0: 1417 | version "1.2.2" 1418 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-1.2.2.tgz#db99bcc583eb6abbb1e48dcbb1999a986041cb6b" 1419 | dependencies: 1420 | get-stdin "^4.0.1" 1421 | minimist "^1.1.0" 1422 | repeating "^1.1.0" 1423 | 1424 | inflight@^1.0.4: 1425 | version "1.0.6" 1426 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1427 | dependencies: 1428 | once "^1.3.0" 1429 | wrappy "1" 1430 | 1431 | inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 1432 | version "2.0.3" 1433 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1434 | 1435 | ini@~1.3.0: 1436 | version "1.3.5" 1437 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1438 | 1439 | invariant@^2.2.0, invariant@^2.2.2: 1440 | version "2.2.2" 1441 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 1442 | dependencies: 1443 | loose-envify "^1.0.0" 1444 | 1445 | is-binary-path@^1.0.0: 1446 | version "1.0.1" 1447 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1448 | dependencies: 1449 | binary-extensions "^1.0.0" 1450 | 1451 | is-buffer@^1.1.5: 1452 | version "1.1.6" 1453 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1454 | 1455 | is-dotfile@^1.0.0: 1456 | version "1.0.3" 1457 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 1458 | 1459 | is-equal-shallow@^0.1.3: 1460 | version "0.1.3" 1461 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1462 | dependencies: 1463 | is-primitive "^2.0.0" 1464 | 1465 | is-extendable@^0.1.1: 1466 | version "0.1.1" 1467 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1468 | 1469 | is-extglob@^1.0.0: 1470 | version "1.0.0" 1471 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1472 | 1473 | is-finite@^1.0.0: 1474 | version "1.0.2" 1475 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1476 | dependencies: 1477 | number-is-nan "^1.0.0" 1478 | 1479 | is-fullwidth-code-point@^1.0.0: 1480 | version "1.0.0" 1481 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1482 | dependencies: 1483 | number-is-nan "^1.0.0" 1484 | 1485 | is-glob@^2.0.0, is-glob@^2.0.1: 1486 | version "2.0.1" 1487 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1488 | dependencies: 1489 | is-extglob "^1.0.0" 1490 | 1491 | is-my-json-valid@^2.12.4: 1492 | version "2.17.1" 1493 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz#3da98914a70a22f0a8563ef1511a246c6fc55471" 1494 | dependencies: 1495 | generate-function "^2.0.0" 1496 | generate-object-property "^1.1.0" 1497 | jsonpointer "^4.0.0" 1498 | xtend "^4.0.0" 1499 | 1500 | is-number@^2.1.0: 1501 | version "2.1.0" 1502 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1503 | dependencies: 1504 | kind-of "^3.0.2" 1505 | 1506 | is-number@^3.0.0: 1507 | version "3.0.0" 1508 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1509 | dependencies: 1510 | kind-of "^3.0.2" 1511 | 1512 | is-posix-bracket@^0.1.0: 1513 | version "0.1.1" 1514 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1515 | 1516 | is-primitive@^2.0.0: 1517 | version "2.0.0" 1518 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1519 | 1520 | is-property@^1.0.0: 1521 | version "1.0.2" 1522 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 1523 | 1524 | is-typedarray@~1.0.0: 1525 | version "1.0.0" 1526 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1527 | 1528 | is-windows@^1.0.0: 1529 | version "1.0.1" 1530 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" 1531 | 1532 | isarray@0.0.1: 1533 | version "0.0.1" 1534 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1535 | 1536 | isarray@1.0.0, isarray@~1.0.0: 1537 | version "1.0.0" 1538 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1539 | 1540 | isexe@^2.0.0: 1541 | version "2.0.0" 1542 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1543 | 1544 | isobject@^2.0.0: 1545 | version "2.1.0" 1546 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1547 | dependencies: 1548 | isarray "1.0.0" 1549 | 1550 | isstream@~0.1.2: 1551 | version "0.1.2" 1552 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1553 | 1554 | js-tokens@^3.0.0, js-tokens@^3.0.2: 1555 | version "3.0.2" 1556 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 1557 | 1558 | jsbn@~0.1.0: 1559 | version "0.1.1" 1560 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1561 | 1562 | jsesc@^1.3.0: 1563 | version "1.3.0" 1564 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 1565 | 1566 | jsesc@^2.5.1: 1567 | version "2.5.1" 1568 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" 1569 | 1570 | jsesc@~0.5.0: 1571 | version "0.5.0" 1572 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1573 | 1574 | json-schema-traverse@^0.3.0: 1575 | version "0.3.1" 1576 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 1577 | 1578 | json-schema@0.2.3: 1579 | version "0.2.3" 1580 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1581 | 1582 | json-stable-stringify@^1.0.1: 1583 | version "1.0.1" 1584 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1585 | dependencies: 1586 | jsonify "~0.0.0" 1587 | 1588 | json-stringify-safe@~5.0.1: 1589 | version "5.0.1" 1590 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1591 | 1592 | json5@^0.5.1: 1593 | version "0.5.1" 1594 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1595 | 1596 | jsonify@~0.0.0: 1597 | version "0.0.0" 1598 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1599 | 1600 | jsonpointer@^4.0.0: 1601 | version "4.0.1" 1602 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" 1603 | 1604 | jsprim@^1.2.2: 1605 | version "1.4.1" 1606 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 1607 | dependencies: 1608 | assert-plus "1.0.0" 1609 | extsprintf "1.3.0" 1610 | json-schema "0.2.3" 1611 | verror "1.10.0" 1612 | 1613 | jwa@^1.1.4: 1614 | version "1.1.5" 1615 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.1.5.tgz#a0552ce0220742cd52e153774a32905c30e756e5" 1616 | dependencies: 1617 | base64url "2.0.0" 1618 | buffer-equal-constant-time "1.0.1" 1619 | ecdsa-sig-formatter "1.0.9" 1620 | safe-buffer "^5.0.1" 1621 | 1622 | jwa@~1.0.0: 1623 | version "1.0.2" 1624 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.0.2.tgz#fd79609f1e772e299dce8ddb76d00659dd83511f" 1625 | dependencies: 1626 | base64url "~0.0.4" 1627 | buffer-equal-constant-time "^1.0.1" 1628 | ecdsa-sig-formatter "^1.0.0" 1629 | 1630 | jws@^3.0.0: 1631 | version "3.1.4" 1632 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.4.tgz#f9e8b9338e8a847277d6444b1464f61880e050a2" 1633 | dependencies: 1634 | base64url "^2.0.0" 1635 | jwa "^1.1.4" 1636 | safe-buffer "^5.0.1" 1637 | 1638 | jws@~3.0.0: 1639 | version "3.0.0" 1640 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.0.0.tgz#da5f267897dd4e9cf8137979db33fc54a3c05418" 1641 | dependencies: 1642 | base64url "~1.0.4" 1643 | jwa "~1.0.0" 1644 | 1645 | kind-of@^3.0.2: 1646 | version "3.2.2" 1647 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1648 | dependencies: 1649 | is-buffer "^1.1.5" 1650 | 1651 | kind-of@^4.0.0: 1652 | version "4.0.0" 1653 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1654 | dependencies: 1655 | is-buffer "^1.1.5" 1656 | 1657 | lodash.noop@~3.0.0: 1658 | version "3.0.1" 1659 | resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c" 1660 | 1661 | lodash@^3.7.0: 1662 | version "3.10.1" 1663 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" 1664 | 1665 | lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.0: 1666 | version "4.17.5" 1667 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" 1668 | 1669 | loose-envify@^1.0.0: 1670 | version "1.3.1" 1671 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 1672 | dependencies: 1673 | js-tokens "^3.0.0" 1674 | 1675 | lru-cache@^4.0.1: 1676 | version "4.1.1" 1677 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" 1678 | dependencies: 1679 | pseudomap "^1.0.2" 1680 | yallist "^2.1.2" 1681 | 1682 | map-obj@^1.0.0: 1683 | version "1.0.1" 1684 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 1685 | 1686 | meow@~2.0.0: 1687 | version "2.0.0" 1688 | resolved "https://registry.yarnpkg.com/meow/-/meow-2.0.0.tgz#8f530a8ecf5d40d3f4b4df93c3472900fba2a8f1" 1689 | dependencies: 1690 | camelcase-keys "^1.0.0" 1691 | indent-string "^1.1.0" 1692 | minimist "^1.1.0" 1693 | object-assign "^1.0.0" 1694 | 1695 | micromatch@^2.1.5: 1696 | version "2.3.11" 1697 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1698 | dependencies: 1699 | arr-diff "^2.0.0" 1700 | array-unique "^0.2.1" 1701 | braces "^1.8.2" 1702 | expand-brackets "^0.1.4" 1703 | extglob "^0.3.1" 1704 | filename-regex "^2.0.0" 1705 | is-extglob "^1.0.0" 1706 | is-glob "^2.0.1" 1707 | kind-of "^3.0.2" 1708 | normalize-path "^2.0.1" 1709 | object.omit "^2.0.0" 1710 | parse-glob "^3.0.4" 1711 | regex-cache "^0.4.2" 1712 | 1713 | mime-db@~1.30.0: 1714 | version "1.30.0" 1715 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" 1716 | 1717 | mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: 1718 | version "2.1.17" 1719 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" 1720 | dependencies: 1721 | mime-db "~1.30.0" 1722 | 1723 | mime@^1.4.1: 1724 | version "1.6.0" 1725 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1726 | 1727 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 1728 | version "3.0.4" 1729 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1730 | dependencies: 1731 | brace-expansion "^1.1.7" 1732 | 1733 | minimist@0.0.8: 1734 | version "0.0.8" 1735 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1736 | 1737 | minimist@^1.1.0, minimist@^1.2.0: 1738 | version "1.2.0" 1739 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1740 | 1741 | "mkdirp@>=0.5 0", mkdirp@^0.5.1: 1742 | version "0.5.1" 1743 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1744 | dependencies: 1745 | minimist "0.0.8" 1746 | 1747 | ms@2.0.0: 1748 | version "2.0.0" 1749 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1750 | 1751 | nan@^2.3.0: 1752 | version "2.8.0" 1753 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" 1754 | 1755 | node-forge@^0.7.1: 1756 | version "0.7.1" 1757 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300" 1758 | 1759 | node-pre-gyp@^0.6.39: 1760 | version "0.6.39" 1761 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" 1762 | dependencies: 1763 | detect-libc "^1.0.2" 1764 | hawk "3.1.3" 1765 | mkdirp "^0.5.1" 1766 | nopt "^4.0.1" 1767 | npmlog "^4.0.2" 1768 | rc "^1.1.7" 1769 | request "2.81.0" 1770 | rimraf "^2.6.1" 1771 | semver "^5.3.0" 1772 | tar "^2.2.1" 1773 | tar-pack "^3.4.0" 1774 | 1775 | node-uuid@~1.4.7: 1776 | version "1.4.8" 1777 | resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" 1778 | 1779 | nopt@^4.0.1: 1780 | version "4.0.1" 1781 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 1782 | dependencies: 1783 | abbrev "1" 1784 | osenv "^0.1.4" 1785 | 1786 | normalize-path@^2.0.0, normalize-path@^2.0.1: 1787 | version "2.1.1" 1788 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 1789 | dependencies: 1790 | remove-trailing-separator "^1.0.1" 1791 | 1792 | npmlog@^4.0.2: 1793 | version "4.1.2" 1794 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 1795 | dependencies: 1796 | are-we-there-yet "~1.1.2" 1797 | console-control-strings "~1.1.0" 1798 | gauge "~2.7.3" 1799 | set-blocking "~2.0.0" 1800 | 1801 | number-is-nan@^1.0.0: 1802 | version "1.0.1" 1803 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1804 | 1805 | oauth-sign@~0.8.1, oauth-sign@~0.8.2: 1806 | version "0.8.2" 1807 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1808 | 1809 | object-assign@^1.0.0: 1810 | version "1.0.0" 1811 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-1.0.0.tgz#e65dc8766d3b47b4b8307465c8311da030b070a6" 1812 | 1813 | object-assign@^4.1.0: 1814 | version "4.1.1" 1815 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1816 | 1817 | object.omit@^2.0.0: 1818 | version "2.0.1" 1819 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 1820 | dependencies: 1821 | for-own "^0.1.4" 1822 | is-extendable "^0.1.1" 1823 | 1824 | once@^1.3.0, once@^1.3.3: 1825 | version "1.4.0" 1826 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1827 | dependencies: 1828 | wrappy "1" 1829 | 1830 | os-homedir@^1.0.0: 1831 | version "1.0.2" 1832 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1833 | 1834 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: 1835 | version "1.0.2" 1836 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1837 | 1838 | osenv@^0.1.4: 1839 | version "0.1.4" 1840 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 1841 | dependencies: 1842 | os-homedir "^1.0.0" 1843 | os-tmpdir "^1.0.0" 1844 | 1845 | output-file-sync@^1.1.2: 1846 | version "1.1.2" 1847 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" 1848 | dependencies: 1849 | graceful-fs "^4.1.4" 1850 | mkdirp "^0.5.1" 1851 | object-assign "^4.1.0" 1852 | 1853 | parse-glob@^3.0.4: 1854 | version "3.0.4" 1855 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 1856 | dependencies: 1857 | glob-base "^0.3.0" 1858 | is-dotfile "^1.0.0" 1859 | is-extglob "^1.0.0" 1860 | is-glob "^2.0.0" 1861 | 1862 | path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: 1863 | version "1.0.1" 1864 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1865 | 1866 | performance-now@^0.2.0: 1867 | version "0.2.0" 1868 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 1869 | 1870 | performance-now@^2.1.0: 1871 | version "2.1.0" 1872 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 1873 | 1874 | pinkie-promise@^2.0.0: 1875 | version "2.0.1" 1876 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1877 | dependencies: 1878 | pinkie "^2.0.0" 1879 | 1880 | pinkie@^2.0.0: 1881 | version "2.0.4" 1882 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1883 | 1884 | preserve@^0.2.0: 1885 | version "0.2.0" 1886 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 1887 | 1888 | private@^0.1.6, private@^0.1.7: 1889 | version "0.1.8" 1890 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 1891 | 1892 | process-nextick-args@~1.0.6: 1893 | version "1.0.7" 1894 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1895 | 1896 | pseudomap@^1.0.2: 1897 | version "1.0.2" 1898 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1899 | 1900 | punycode@^1.4.1: 1901 | version "1.4.1" 1902 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1903 | 1904 | qs@~6.2.0: 1905 | version "6.2.3" 1906 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" 1907 | 1908 | qs@~6.4.0: 1909 | version "6.4.0" 1910 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 1911 | 1912 | qs@~6.5.1: 1913 | version "6.5.1" 1914 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 1915 | 1916 | randomatic@^1.1.3: 1917 | version "1.1.7" 1918 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 1919 | dependencies: 1920 | is-number "^3.0.0" 1921 | kind-of "^4.0.0" 1922 | 1923 | rc@^1.1.7: 1924 | version "1.2.5" 1925 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd" 1926 | dependencies: 1927 | deep-extend "~0.4.0" 1928 | ini "~1.3.0" 1929 | minimist "^1.2.0" 1930 | strip-json-comments "~2.0.1" 1931 | 1932 | readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: 1933 | version "2.3.3" 1934 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 1935 | dependencies: 1936 | core-util-is "~1.0.0" 1937 | inherits "~2.0.3" 1938 | isarray "~1.0.0" 1939 | process-nextick-args "~1.0.6" 1940 | safe-buffer "~5.1.1" 1941 | string_decoder "~1.0.3" 1942 | util-deprecate "~1.0.1" 1943 | 1944 | readable-stream@~1.1.9: 1945 | version "1.1.14" 1946 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 1947 | dependencies: 1948 | core-util-is "~1.0.0" 1949 | inherits "~2.0.1" 1950 | isarray "0.0.1" 1951 | string_decoder "~0.10.x" 1952 | 1953 | readable-stream@~2.0.5: 1954 | version "2.0.6" 1955 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 1956 | dependencies: 1957 | core-util-is "~1.0.0" 1958 | inherits "~2.0.1" 1959 | isarray "~1.0.0" 1960 | process-nextick-args "~1.0.6" 1961 | string_decoder "~0.10.x" 1962 | util-deprecate "~1.0.1" 1963 | 1964 | readdirp@^2.0.0: 1965 | version "2.1.0" 1966 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 1967 | dependencies: 1968 | graceful-fs "^4.1.2" 1969 | minimatch "^3.0.2" 1970 | readable-stream "^2.0.2" 1971 | set-immediate-shim "^1.0.1" 1972 | 1973 | regenerate-unicode-properties@^5.1.1: 1974 | version "5.1.3" 1975 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-5.1.3.tgz#54f5891543468f36f2274b67c6bc4c033c27b308" 1976 | dependencies: 1977 | regenerate "^1.3.3" 1978 | 1979 | regenerate@^1.3.3: 1980 | version "1.3.3" 1981 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" 1982 | 1983 | regenerator-runtime@^0.10.5: 1984 | version "0.10.5" 1985 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" 1986 | 1987 | regenerator-runtime@^0.11.0: 1988 | version "0.11.1" 1989 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" 1990 | 1991 | regenerator-transform@^0.12.3: 1992 | version "0.12.3" 1993 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.12.3.tgz#459adfb64f6a27164ab991b7873f45ab969eca8b" 1994 | dependencies: 1995 | private "^0.1.6" 1996 | 1997 | regex-cache@^0.4.2: 1998 | version "0.4.4" 1999 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 2000 | dependencies: 2001 | is-equal-shallow "^0.1.3" 2002 | 2003 | regexpu-core@^4.1.3: 2004 | version "4.1.3" 2005 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.1.3.tgz#fb81616dbbc2a917a7419b33f8379144f51eb8d0" 2006 | dependencies: 2007 | regenerate "^1.3.3" 2008 | regenerate-unicode-properties "^5.1.1" 2009 | regjsgen "^0.3.0" 2010 | regjsparser "^0.2.1" 2011 | unicode-match-property-ecmascript "^1.0.3" 2012 | unicode-match-property-value-ecmascript "^1.0.1" 2013 | 2014 | regjsgen@^0.3.0: 2015 | version "0.3.0" 2016 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.3.0.tgz#0ee4a3e9276430cda25f1e789ea6c15b87b0cb43" 2017 | 2018 | regjsparser@^0.2.1: 2019 | version "0.2.1" 2020 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.2.1.tgz#c3787553faf04e775c302102ef346d995000ec1c" 2021 | dependencies: 2022 | jsesc "~0.5.0" 2023 | 2024 | remove-trailing-separator@^1.0.1: 2025 | version "1.1.0" 2026 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 2027 | 2028 | repeat-element@^1.1.2: 2029 | version "1.1.2" 2030 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 2031 | 2032 | repeat-string@^1.5.2: 2033 | version "1.6.1" 2034 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2035 | 2036 | repeating@^1.1.0: 2037 | version "1.1.3" 2038 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac" 2039 | dependencies: 2040 | is-finite "^1.0.0" 2041 | 2042 | repeating@^2.0.0: 2043 | version "2.0.1" 2044 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 2045 | dependencies: 2046 | is-finite "^1.0.0" 2047 | 2048 | request@2.81.0: 2049 | version "2.81.0" 2050 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 2051 | dependencies: 2052 | aws-sign2 "~0.6.0" 2053 | aws4 "^1.2.1" 2054 | caseless "~0.12.0" 2055 | combined-stream "~1.0.5" 2056 | extend "~3.0.0" 2057 | forever-agent "~0.6.1" 2058 | form-data "~2.1.1" 2059 | har-validator "~4.2.1" 2060 | hawk "~3.1.3" 2061 | http-signature "~1.1.0" 2062 | is-typedarray "~1.0.0" 2063 | isstream "~0.1.2" 2064 | json-stringify-safe "~5.0.1" 2065 | mime-types "~2.1.7" 2066 | oauth-sign "~0.8.1" 2067 | performance-now "^0.2.0" 2068 | qs "~6.4.0" 2069 | safe-buffer "^5.0.1" 2070 | stringstream "~0.0.4" 2071 | tough-cookie "~2.3.0" 2072 | tunnel-agent "^0.6.0" 2073 | uuid "^3.0.0" 2074 | 2075 | request@^2.69.0, request@^2.72.0: 2076 | version "2.83.0" 2077 | resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" 2078 | dependencies: 2079 | aws-sign2 "~0.7.0" 2080 | aws4 "^1.6.0" 2081 | caseless "~0.12.0" 2082 | combined-stream "~1.0.5" 2083 | extend "~3.0.1" 2084 | forever-agent "~0.6.1" 2085 | form-data "~2.3.1" 2086 | har-validator "~5.0.3" 2087 | hawk "~6.0.2" 2088 | http-signature "~1.2.0" 2089 | is-typedarray "~1.0.0" 2090 | isstream "~0.1.2" 2091 | json-stringify-safe "~5.0.1" 2092 | mime-types "~2.1.17" 2093 | oauth-sign "~0.8.2" 2094 | performance-now "^2.1.0" 2095 | qs "~6.5.1" 2096 | safe-buffer "^5.1.1" 2097 | stringstream "~0.0.5" 2098 | tough-cookie "~2.3.3" 2099 | tunnel-agent "^0.6.0" 2100 | uuid "^3.1.0" 2101 | 2102 | request@~2.74.0: 2103 | version "2.74.0" 2104 | resolved "https://registry.yarnpkg.com/request/-/request-2.74.0.tgz#7693ca768bbb0ea5c8ce08c084a45efa05b892ab" 2105 | dependencies: 2106 | aws-sign2 "~0.6.0" 2107 | aws4 "^1.2.1" 2108 | bl "~1.1.2" 2109 | caseless "~0.11.0" 2110 | combined-stream "~1.0.5" 2111 | extend "~3.0.0" 2112 | forever-agent "~0.6.1" 2113 | form-data "~1.0.0-rc4" 2114 | har-validator "~2.0.6" 2115 | hawk "~3.1.3" 2116 | http-signature "~1.1.0" 2117 | is-typedarray "~1.0.0" 2118 | isstream "~0.1.2" 2119 | json-stringify-safe "~5.0.1" 2120 | mime-types "~2.1.7" 2121 | node-uuid "~1.4.7" 2122 | oauth-sign "~0.8.1" 2123 | qs "~6.2.0" 2124 | stringstream "~0.0.4" 2125 | tough-cookie "~2.3.0" 2126 | tunnel-agent "~0.4.1" 2127 | 2128 | rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: 2129 | version "2.6.2" 2130 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 2131 | dependencies: 2132 | glob "^7.0.5" 2133 | 2134 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2135 | version "5.1.1" 2136 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 2137 | 2138 | sax@>=0.6.0: 2139 | version "1.2.4" 2140 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 2141 | 2142 | semver@^5.3.0: 2143 | version "5.5.0" 2144 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 2145 | 2146 | set-blocking@~2.0.0: 2147 | version "2.0.0" 2148 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2149 | 2150 | set-immediate-shim@^1.0.1: 2151 | version "1.0.1" 2152 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 2153 | 2154 | shebang-command@^1.2.0: 2155 | version "1.2.0" 2156 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 2157 | dependencies: 2158 | shebang-regex "^1.0.0" 2159 | 2160 | shebang-regex@^1.0.0: 2161 | version "1.0.0" 2162 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 2163 | 2164 | signal-exit@^3.0.0: 2165 | version "3.0.2" 2166 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2167 | 2168 | slash@^1.0.0: 2169 | version "1.0.0" 2170 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 2171 | 2172 | sntp@1.x.x: 2173 | version "1.0.9" 2174 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 2175 | dependencies: 2176 | hoek "2.x.x" 2177 | 2178 | sntp@2.x.x: 2179 | version "2.1.0" 2180 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" 2181 | dependencies: 2182 | hoek "4.x.x" 2183 | 2184 | source-map-support@^0.4.15: 2185 | version "0.4.18" 2186 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 2187 | dependencies: 2188 | source-map "^0.5.6" 2189 | 2190 | source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: 2191 | version "0.5.7" 2192 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2193 | 2194 | sshpk@^1.7.0: 2195 | version "1.13.1" 2196 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 2197 | dependencies: 2198 | asn1 "~0.2.3" 2199 | assert-plus "^1.0.0" 2200 | dashdash "^1.12.0" 2201 | getpass "^0.1.1" 2202 | optionalDependencies: 2203 | bcrypt-pbkdf "^1.0.0" 2204 | ecc-jsbn "~0.1.1" 2205 | jsbn "~0.1.0" 2206 | tweetnacl "~0.14.0" 2207 | 2208 | string-template@~0.2.0: 2209 | version "0.2.1" 2210 | resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" 2211 | 2212 | string-width@^1.0.1, string-width@^1.0.2: 2213 | version "1.0.2" 2214 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2215 | dependencies: 2216 | code-point-at "^1.0.0" 2217 | is-fullwidth-code-point "^1.0.0" 2218 | strip-ansi "^3.0.0" 2219 | 2220 | string_decoder@~0.10.x: 2221 | version "0.10.31" 2222 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 2223 | 2224 | string_decoder@~1.0.3: 2225 | version "1.0.3" 2226 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 2227 | dependencies: 2228 | safe-buffer "~5.1.0" 2229 | 2230 | stringstream@~0.0.4, stringstream@~0.0.5: 2231 | version "0.0.5" 2232 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 2233 | 2234 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2235 | version "3.0.1" 2236 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2237 | dependencies: 2238 | ansi-regex "^2.0.0" 2239 | 2240 | strip-json-comments@~2.0.1: 2241 | version "2.0.1" 2242 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2243 | 2244 | supports-color@^2.0.0: 2245 | version "2.0.0" 2246 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 2247 | 2248 | supports-color@^4.0.0: 2249 | version "4.5.0" 2250 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" 2251 | dependencies: 2252 | has-flag "^2.0.0" 2253 | 2254 | tar-pack@^3.4.0: 2255 | version "3.4.1" 2256 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" 2257 | dependencies: 2258 | debug "^2.2.0" 2259 | fstream "^1.0.10" 2260 | fstream-ignore "^1.0.5" 2261 | once "^1.3.3" 2262 | readable-stream "^2.1.4" 2263 | rimraf "^2.5.1" 2264 | tar "^2.2.1" 2265 | uid-number "^0.0.6" 2266 | 2267 | tar@^2.2.1: 2268 | version "2.2.1" 2269 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 2270 | dependencies: 2271 | block-stream "*" 2272 | fstream "^1.0.2" 2273 | inherits "2" 2274 | 2275 | to-fast-properties@^1.0.3: 2276 | version "1.0.3" 2277 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 2278 | 2279 | to-fast-properties@^2.0.0: 2280 | version "2.0.0" 2281 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2282 | 2283 | tough-cookie@~2.3.0, tough-cookie@~2.3.3: 2284 | version "2.3.3" 2285 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" 2286 | dependencies: 2287 | punycode "^1.4.1" 2288 | 2289 | trim-right@^1.0.1: 2290 | version "1.0.1" 2291 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 2292 | 2293 | tunnel-agent@^0.6.0: 2294 | version "0.6.0" 2295 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 2296 | dependencies: 2297 | safe-buffer "^5.0.1" 2298 | 2299 | tunnel-agent@~0.4.1: 2300 | version "0.4.3" 2301 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 2302 | 2303 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2304 | version "0.14.5" 2305 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 2306 | 2307 | typedarray@~0.0.5: 2308 | version "0.0.6" 2309 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 2310 | 2311 | uid-number@^0.0.6: 2312 | version "0.0.6" 2313 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 2314 | 2315 | unicode-canonical-property-names-ecmascript@^1.0.2: 2316 | version "1.0.3" 2317 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz#f6119f417467593c0086357c85546b6ad5abc583" 2318 | 2319 | unicode-match-property-ecmascript@^1.0.3: 2320 | version "1.0.3" 2321 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.3.tgz#db9b1cb4ffc67e0c5583780b1b59370e4cbe97b9" 2322 | dependencies: 2323 | unicode-canonical-property-names-ecmascript "^1.0.2" 2324 | unicode-property-aliases-ecmascript "^1.0.3" 2325 | 2326 | unicode-match-property-value-ecmascript@^1.0.1: 2327 | version "1.0.1" 2328 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.1.tgz#fea059120a016f403afd3bf586162b4db03e0604" 2329 | 2330 | unicode-property-aliases-ecmascript@^1.0.3: 2331 | version "1.0.3" 2332 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.3.tgz#ac3522583b9e630580f916635333e00c5ead690d" 2333 | 2334 | user-home@^1.1.1: 2335 | version "1.1.1" 2336 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" 2337 | 2338 | util-deprecate@~1.0.1: 2339 | version "1.0.2" 2340 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2341 | 2342 | uuid@^3.0.0, uuid@^3.1.0: 2343 | version "3.2.1" 2344 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" 2345 | 2346 | v8flags@^2.1.1: 2347 | version "2.1.1" 2348 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" 2349 | dependencies: 2350 | user-home "^1.1.1" 2351 | 2352 | verror@1.10.0: 2353 | version "1.10.0" 2354 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 2355 | dependencies: 2356 | assert-plus "^1.0.0" 2357 | core-util-is "1.0.2" 2358 | extsprintf "^1.2.0" 2359 | 2360 | which@^1.2.9: 2361 | version "1.3.0" 2362 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 2363 | dependencies: 2364 | isexe "^2.0.0" 2365 | 2366 | wide-align@^1.1.0: 2367 | version "1.1.2" 2368 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 2369 | dependencies: 2370 | string-width "^1.0.2" 2371 | 2372 | wrappy@1: 2373 | version "1.0.2" 2374 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2375 | 2376 | xml2js@~0.4.0: 2377 | version "0.4.19" 2378 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" 2379 | dependencies: 2380 | sax ">=0.6.0" 2381 | xmlbuilder "~9.0.1" 2382 | 2383 | xmlbuilder@~9.0.1: 2384 | version "9.0.4" 2385 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.4.tgz#519cb4ca686d005a8420d3496f3f0caeecca580f" 2386 | 2387 | xtend@^4.0.0: 2388 | version "4.0.1" 2389 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 2390 | 2391 | yallist@^2.1.2: 2392 | version "2.1.2" 2393 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 2394 | 2395 | Trace: 2396 | Error: babel-plugin-syntax-async-functions:: Invalid URI "babel-plugin-syntax-async-functions:/" 2397 | at Request.module.exports.Request.init (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:123173:31) 2398 | at new Request (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:123027:8) 2399 | at request (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:121625:10) 2400 | at RequestManager.execute (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:62141:17) 2401 | at RequestManager.shiftQueue (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:62168:10) 2402 | at promise.default (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:61947:12) 2403 | at Promise.F (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:29389:28) 2404 | at RequestManager.request (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:61945:21) 2405 | at NpmRegistry.request (/usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:30362:32) 2406 | at /usr/local/Cellar/yarn/1.3.2/libexec/lib/cli.js:48960:54 2407 | --------------------------------------------------------------------------------