diff --git a/packages/nightingale-formatter/.pob.json b/packages/nightingale-formatter/.pob.json index 7de94d2be..2b800eb8e 100644 --- a/packages/nightingale-formatter/.pob.json +++ b/packages/nightingale-formatter/.pob.json @@ -1,10 +1,17 @@ { "envs": [ "node6", + "node7", "webpack-modern-browsers", - "webpack" + "webpack", + "webpack-node7" ], "react": false, "testing": true, - "documentation": false + "documentation": false, + "entries": [ + "index" + ], + "flow": false, + "doclets": false } diff --git a/packages/nightingale-formatter/.travis.yml b/packages/nightingale-formatter/.travis.yml index 3a87c4128..75900b7e7 100644 --- a/packages/nightingale-formatter/.travis.yml +++ b/packages/nightingale-formatter/.travis.yml @@ -1,8 +1,10 @@ language: node_js node_js: + - node - "6" - "4" cache: + yarn: true directories: - node_modules diff --git a/packages/nightingale-formatter/README.md b/packages/nightingale-formatter/README.md index 0007bee25..a078d3582 100644 --- a/packages/nightingale-formatter/README.md +++ b/packages/nightingale-formatter/README.md @@ -2,8 +2,11 @@ Nightingale formatter -[![Build Status][build-status-image]][build-status-url] [![Dependency Status][daviddm-image]][daviddm-url] - +[![Build Status][circleci-status-image]][circleci-status-url] +[![Travis Status][travisci-status-image]][travisci-status-url] +[![Dependency ci Status][dependencyci-image]][dependencyci-url] +[![Dependency Status][daviddm-image]][daviddm-url] +[![Coverage percentage][coverage-image]][coverage-url] ## Install @@ -23,5 +26,12 @@ console.log(nightingaleFormatter); [npm-url]: https://npmjs.org/package/nightingale-formatter [daviddm-image]: https://david-dm.org/nightingalejs/nightingale-formatter.svg?style=flat-square [daviddm-url]: https://david-dm.org/nightingalejs/nightingale-formatter -[build-status-image]: https://img.shields.io/circleci/project/nightingalejs/nightingale-formatter/master.svg?style=flat-square -[build-status-url]: https://circleci.com/gh/nightingalejs/nightingale-formatter +[dependencyci-image]: https://dependencyci.com/github/nightingalejs/nightingale-formatter/badge?style=flat-square +[dependencyci-url]: https://dependencyci.com/github/nightingalejs/nightingale-formatter +[circleci-status-image]: https://img.shields.io/circleci/project/nightingalejs/nightingale-formatter/master.svg?style=flat-square +[circleci-status-url]: https://circleci.com/gh/nightingalejs/nightingale-formatter +[travisci-status-image]: https://img.shields.io/travis/nightingalejs/nightingale-formatter/master.svg?style=flat-square +[travisci-status-url]: https://travis-ci.org/nightingalejs/nightingale-formatter +[coverage-image]: https://img.shields.io/codecov/c/github/nightingalejs/nightingale-formatter/master.svg?style=flat-square +[coverage-url]: https://codecov.io/gh/nightingalejs/nightingale-formatter +[docs-coverage-url]: https://nightingalejs.github.io/nightingale-formatter/coverage/lcov-report/ diff --git a/packages/nightingale-formatter/circle.yml b/packages/nightingale-formatter/circle.yml index 464f38376..142cca9ce 100644 --- a/packages/nightingale-formatter/circle.yml +++ b/packages/nightingale-formatter/circle.yml @@ -1,6 +1,6 @@ machine: node: - version: 6.6.0 + version: 7.6.0 general: branches: @@ -9,18 +9,19 @@ general: dependencies: cache_directories: + - ~/.cache/yarn - node_modules override: - - npm prune && npm install --no-progress + - yarn test: pre: - mkdir -p $CIRCLE_TEST_REPORTS/junit/ override: - - npm run preversion - - npm run test + - yarn run preversion + - yarn run test - XUNIT_FILE=$CIRCLE_TEST_REPORTS/junit/xunit.xml node_modules/.bin/mocha --harmony --recursive --reporter xunit-file -u tdd test/node6 - - npm run generate:test-coverage + - yarn run generate:test-coverage post: - bash <(curl -s https://codecov.io/bash) - cp -R coverage $CIRCLE_ARTIFACTS/ diff --git a/packages/nightingale-formatter/git-hooks/post-checkout b/packages/nightingale-formatter/git-hooks/post-checkout index b1b3d413d..b8f3d35af 100755 --- a/packages/nightingale-formatter/git-hooks/post-checkout +++ b/packages/nightingale-formatter/git-hooks/post-checkout @@ -1,5 +1,5 @@ #!/bin/bash if [[ `git diff HEAD@{1} --stat -- package.json` != "" ]]; then - npm install ; npm prune + yarn fi diff --git a/packages/nightingale-formatter/git-hooks/post-merge b/packages/nightingale-formatter/git-hooks/post-merge index b1b3d413d..b8f3d35af 100755 --- a/packages/nightingale-formatter/git-hooks/post-merge +++ b/packages/nightingale-formatter/git-hooks/post-merge @@ -1,5 +1,5 @@ #!/bin/bash if [[ `git diff HEAD@{1} --stat -- package.json` != "" ]]; then - npm install ; npm prune + yarn fi diff --git a/packages/nightingale-formatter/index.js b/packages/nightingale-formatter/index.js index e7921cb7d..620539cbf 100644 --- a/packages/nightingale-formatter/index.js +++ b/packages/nightingale-formatter/index.js @@ -1,2 +1,6 @@ var production = process.env.NODE_ENV === 'production'; -module.exports = require('./lib-node6' + (production ? '' : '-dev') + '/'); +if (process.version.startsWith && process.version.startsWith('v7.')) + return module.exports = require('./lib-node7' + (production ? '' : '-dev') + '/index'); +if (process.version.startsWith && process.version.startsWith('v6.')) + return module.exports = require('./lib-node6' + (production ? '' : '-dev') + '/index'); +throw new Error('Platform not supported: ' + process.version + '.'); diff --git a/packages/nightingale-formatter/lib-node6-dev/formatObject.js b/packages/nightingale-formatter/lib-node6-dev/formatObject.js index f655bb9c6..f998e874e 100644 --- a/packages/nightingale-formatter/lib-node6-dev/formatObject.js +++ b/packages/nightingale-formatter/lib-node6-dev/formatObject.js @@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = formatObject; -/* eslint-disable no-use-before-define */ +/* eslint-disable no-use-before-define, max-lines */ function tryStringify(arg) { try { @@ -14,12 +14,7 @@ function tryStringify(arg) { } } -function internalFormatValue(value, styleFn, styles, _ref) { - let padding = _ref.padding; - let depth = _ref.depth; - let maxDepth = _ref.maxDepth; - let objects = _ref.objects; - +function internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) { const typeofValue = typeof value; if (!styles) { @@ -78,38 +73,22 @@ function internalFormatValue(value, styleFn, styles, _ref) { const separator = ','; -const internalFormatIterator = (values, styleFn, objectStyles, _ref2, _ref3) => { - let padding = _ref2.padding; - let depth = _ref2.depth; - let maxDepth = _ref2.maxDepth; - let objects = _ref2.objects; - let prefix = _ref3.prefix; - let suffix = _ref3.suffix; - var _ref3$prefixSuffixSpa = _ref3.prefixSuffixSpace; - let prefixSuffixSpace = _ref3$prefixSuffixSpa === undefined ? ' ' : _ref3$prefixSuffixSpa; - +const internalFormatIterator = (values, styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix, suffix, prefixSuffixSpace = ' ' }) => { let breakLine = false; const formattedSeparator = () => styleFn(['gray'], separator); const valuesMaxIndex = values.length - 1; - values = values.map((_ref4, index) => { - let key = _ref4.key; - let value = _ref4.value; - + values = values.map(({ key, value }, index) => { // key must be formatted before value (browser-formatter needs order) - const formattedKey = key ? `${ styleFn(['gray-light', 'bold'], `${ key }:`) } ` : ''; - - var _internalFormatValue = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); - - let stringValue = _internalFormatValue.stringValue; - let formattedValue = _internalFormatValue.formattedValue; + const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : ''; + let { stringValue, formattedValue } = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\n') !== -1)) { breakLine = true; - stringValue = stringValue.replace(/\n/g, `\n${ padding }`); - formattedValue = formattedValue.replace(/\n/g, `\n${ padding }`); + stringValue = stringValue.replace(/\n/g, `\n${padding}`); + formattedValue = formattedValue.replace(/\n/g, `\n${padding}`); } return { @@ -120,18 +99,13 @@ const internalFormatIterator = (values, styleFn, objectStyles, _ref2, _ref3) => }); return { - stringValue: prefix + values.map(breakLine ? v => `\n${ padding }${ v.stringValue }` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, + stringValue: prefix + values.map(breakLine ? v => `\n${padding}${v.stringValue}` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, // eslint-disable-next-line prefer-template - formattedValue: `${ prefix }${ breakLine ? '' : prefixSuffixSpace }` + values.map(breakLine ? v => `\n${ padding }${ v.formattedValue }` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${ breakLine ? `,\n` : prefixSuffixSpace }${ suffix }` + formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? v => `\n${padding}${v.formattedValue}` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}` }; }; -function internalFormatObject(object, styleFn, objectStyles, _ref5) { - let padding = _ref5.padding; - let depth = _ref5.depth; - let maxDepth = _ref5.maxDepth; - let objects = _ref5.objects; - +function internalFormatObject(object, styleFn, objectStyles, { padding, depth, maxDepth, objects }) { if (objects.has(object)) { return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; } @@ -153,12 +127,7 @@ function internalFormatObject(object, styleFn, objectStyles, _ref5) { return result; } -function internalFormatArray(array, styleFn, _ref6) { - let padding = _ref6.padding; - let depth = _ref6.depth; - let maxDepth = _ref6.maxDepth; - let objects = _ref6.objects; - +function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) { if (objects.has(array)) { return { stringValue: '{Circular array}', formattedValue: '{Circular array}' }; } @@ -179,18 +148,11 @@ function internalFormatArray(array, styleFn, _ref6) { return result; } -function formatObject(object, styleFn, objectStyles) { - var _ref7 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - - var _ref7$padding = _ref7.padding; - let padding = _ref7$padding === undefined ? ' ' : _ref7$padding; - var _ref7$maxDepth = _ref7.maxDepth; - let maxDepth = _ref7$maxDepth === undefined ? 10 : _ref7$maxDepth; - - var _internalFormatObject = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); - - const result = _internalFormatObject.formattedValue; - +function formatObject(object, styleFn, objectStyles, { + padding = ' ', + maxDepth = 10 +} = {}) { + const { formattedValue: result } = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); if (result === '{}') { return ''; diff --git a/packages/nightingale-formatter/lib-node6-dev/formatObject.js.map b/packages/nightingale-formatter/lib-node6-dev/formatObject.js.map index 6bddf17be..050d804a8 100644 --- a/packages/nightingale-formatter/lib-node6-dev/formatObject.js.map +++ b/packages/nightingale-formatter/lib-node6-dev/formatObject.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatObject.js"],"names":["formatObject","tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","index","key","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? `,\\n` : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatObject.js"],"names":["formatObject","tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","key","index","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node6-dev/formatRecordToString.js b/packages/nightingale-formatter/lib-node6-dev/formatRecordToString.js index 5e478d7d5..343083aaa 100644 --- a/packages/nightingale-formatter/lib-node6-dev/formatRecordToString.js +++ b/packages/nightingale-formatter/lib-node6-dev/formatRecordToString.js @@ -19,7 +19,7 @@ var _formatObject2 = _interopRequireDefault(_formatObject); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function formatRecordToString(record, style, options) { +function formatRecordToString(record, style) { let parts = []; if (record.displayName) { @@ -38,7 +38,7 @@ function formatRecordToString(record, style, options) { if (record.message) { if (message) { - message += ` ${ record.message }`; + message += ` ${record.message}`; } else { message = record.message; } @@ -56,7 +56,7 @@ function formatRecordToString(record, style, options) { return; } - const stringObject = (0, _formatObject2.default)(record[key], style, record[`${ key }Styles`]); + const stringObject = (0, _formatObject2.default)(record[key], style, record[`${key}Styles`]); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/lib-node6-dev/formatRecordToString.js.map b/packages/nightingale-formatter/lib-node6-dev/formatRecordToString.js.map index c22b8db1b..20231e085 100644 --- a/packages/nightingale-formatter/lib-node6-dev/formatRecordToString.js.map +++ b/packages/nightingale-formatter/lib-node6-dev/formatRecordToString.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatRecordToString.js"],"names":["formatRecordToString","record","style","options","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":";;;;;kBAIwBA,oB;;AAJxB;;;;AACA;;;;AACA;;;;;;AAEe,SAASA,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIH,OAAOI,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOI,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIJ,OAAOM,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOM,GAA7B,CAAX;AACD;;AAED,MAAIN,OAAOO,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWJ,wBAAwBD,OAAOO,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUV,OAAOW,MAAP,IAAiB,wBAAcX,OAAOY,KAArB,CAA/B;AACA,MAAIC,SAASb,OAAOa,MAAP,IAAiB,wBAAcb,OAAOY,KAArB,CAA9B;;AAEA,MAAIZ,OAAOU,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,KAAGV,OAAOU,OAAQ,GAA9B;AACD,KAFD,MAEO;AACLA,gBAAUV,OAAOU,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUT,MAAMY,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACN,OAAOM,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAe,4BAAaf,OAAOM,GAAP,CAAb,EAA0BL,KAA1B,EAAiCD,OAAQ,IAAEM,GAAI,SAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":";;;;;kBAIwBA,oB;;AAJxB;;;;AACA;;;;AACA;;;;;;AAEe,SAASA,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiB,wBAAcV,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiB,wBAAcZ,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,IAAGT,OAAOS,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACL,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAe,4BAAad,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAQ,GAAEK,GAAI,QAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node6-dev/styleToHtmlStyle.js b/packages/nightingale-formatter/lib-node6-dev/styleToHtmlStyle.js index f9087a6c3..f70951c5a 100644 --- a/packages/nightingale-formatter/lib-node6-dev/styleToHtmlStyle.js +++ b/packages/nightingale-formatter/lib-node6-dev/styleToHtmlStyle.js @@ -44,8 +44,8 @@ exports.default = { bgCyan: { open: 'background: #00cfd8', close: 'background: initial' }, bgWhite: { open: 'background: white', close: 'background: initial' }, - orange: { open: `color: #${ _styleToHexColor2.default.orange }`, close: 'color: initial' }, - grayLight: { open: `color: #${ _styleToHexColor2.default.grayLight }`, close: 'color: initial' }, - 'gray-light': { open: `color: #${ _styleToHexColor2.default.grayLight }`, close: 'color: initial' } + orange: { open: `color: #${_styleToHexColor2.default.orange}`, close: 'color: initial' }, + grayLight: { open: `color: #${_styleToHexColor2.default.grayLight}`, close: 'color: initial' }, + 'gray-light': { open: `color: #${_styleToHexColor2.default.grayLight}`, close: 'color: initial' } }; //# sourceMappingURL=styleToHtmlStyle.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node6-dev/styleToHtmlStyle.js.map b/packages/nightingale-formatter/lib-node6-dev/styleToHtmlStyle.js.map index 787f60486..40163d37a 100644 --- a/packages/nightingale-formatter/lib-node6-dev/styleToHtmlStyle.js.map +++ b/packages/nightingale-formatter/lib-node6-dev/styleToHtmlStyle.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,MAAIA,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,YAAU,0BAAUuB,MAAO,GAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,YAAU,0BAAUwB,SAAU,GAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,YAAU,0BAAUwB,SAAU,GAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,C","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file +{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,MAAIA,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,WAAU,0BAAUuB,MAAO,EAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,WAAU,0BAAUwB,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,WAAU,0BAAUwB,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,C","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node6/formatObject.js b/packages/nightingale-formatter/lib-node6/formatObject.js index f655bb9c6..f998e874e 100644 --- a/packages/nightingale-formatter/lib-node6/formatObject.js +++ b/packages/nightingale-formatter/lib-node6/formatObject.js @@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = formatObject; -/* eslint-disable no-use-before-define */ +/* eslint-disable no-use-before-define, max-lines */ function tryStringify(arg) { try { @@ -14,12 +14,7 @@ function tryStringify(arg) { } } -function internalFormatValue(value, styleFn, styles, _ref) { - let padding = _ref.padding; - let depth = _ref.depth; - let maxDepth = _ref.maxDepth; - let objects = _ref.objects; - +function internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) { const typeofValue = typeof value; if (!styles) { @@ -78,38 +73,22 @@ function internalFormatValue(value, styleFn, styles, _ref) { const separator = ','; -const internalFormatIterator = (values, styleFn, objectStyles, _ref2, _ref3) => { - let padding = _ref2.padding; - let depth = _ref2.depth; - let maxDepth = _ref2.maxDepth; - let objects = _ref2.objects; - let prefix = _ref3.prefix; - let suffix = _ref3.suffix; - var _ref3$prefixSuffixSpa = _ref3.prefixSuffixSpace; - let prefixSuffixSpace = _ref3$prefixSuffixSpa === undefined ? ' ' : _ref3$prefixSuffixSpa; - +const internalFormatIterator = (values, styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix, suffix, prefixSuffixSpace = ' ' }) => { let breakLine = false; const formattedSeparator = () => styleFn(['gray'], separator); const valuesMaxIndex = values.length - 1; - values = values.map((_ref4, index) => { - let key = _ref4.key; - let value = _ref4.value; - + values = values.map(({ key, value }, index) => { // key must be formatted before value (browser-formatter needs order) - const formattedKey = key ? `${ styleFn(['gray-light', 'bold'], `${ key }:`) } ` : ''; - - var _internalFormatValue = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); - - let stringValue = _internalFormatValue.stringValue; - let formattedValue = _internalFormatValue.formattedValue; + const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : ''; + let { stringValue, formattedValue } = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\n') !== -1)) { breakLine = true; - stringValue = stringValue.replace(/\n/g, `\n${ padding }`); - formattedValue = formattedValue.replace(/\n/g, `\n${ padding }`); + stringValue = stringValue.replace(/\n/g, `\n${padding}`); + formattedValue = formattedValue.replace(/\n/g, `\n${padding}`); } return { @@ -120,18 +99,13 @@ const internalFormatIterator = (values, styleFn, objectStyles, _ref2, _ref3) => }); return { - stringValue: prefix + values.map(breakLine ? v => `\n${ padding }${ v.stringValue }` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, + stringValue: prefix + values.map(breakLine ? v => `\n${padding}${v.stringValue}` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, // eslint-disable-next-line prefer-template - formattedValue: `${ prefix }${ breakLine ? '' : prefixSuffixSpace }` + values.map(breakLine ? v => `\n${ padding }${ v.formattedValue }` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${ breakLine ? `,\n` : prefixSuffixSpace }${ suffix }` + formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? v => `\n${padding}${v.formattedValue}` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}` }; }; -function internalFormatObject(object, styleFn, objectStyles, _ref5) { - let padding = _ref5.padding; - let depth = _ref5.depth; - let maxDepth = _ref5.maxDepth; - let objects = _ref5.objects; - +function internalFormatObject(object, styleFn, objectStyles, { padding, depth, maxDepth, objects }) { if (objects.has(object)) { return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; } @@ -153,12 +127,7 @@ function internalFormatObject(object, styleFn, objectStyles, _ref5) { return result; } -function internalFormatArray(array, styleFn, _ref6) { - let padding = _ref6.padding; - let depth = _ref6.depth; - let maxDepth = _ref6.maxDepth; - let objects = _ref6.objects; - +function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) { if (objects.has(array)) { return { stringValue: '{Circular array}', formattedValue: '{Circular array}' }; } @@ -179,18 +148,11 @@ function internalFormatArray(array, styleFn, _ref6) { return result; } -function formatObject(object, styleFn, objectStyles) { - var _ref7 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - - var _ref7$padding = _ref7.padding; - let padding = _ref7$padding === undefined ? ' ' : _ref7$padding; - var _ref7$maxDepth = _ref7.maxDepth; - let maxDepth = _ref7$maxDepth === undefined ? 10 : _ref7$maxDepth; - - var _internalFormatObject = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); - - const result = _internalFormatObject.formattedValue; - +function formatObject(object, styleFn, objectStyles, { + padding = ' ', + maxDepth = 10 +} = {}) { + const { formattedValue: result } = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); if (result === '{}') { return ''; diff --git a/packages/nightingale-formatter/lib-node6/formatObject.js.map b/packages/nightingale-formatter/lib-node6/formatObject.js.map index 6bddf17be..050d804a8 100644 --- a/packages/nightingale-formatter/lib-node6/formatObject.js.map +++ b/packages/nightingale-formatter/lib-node6/formatObject.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatObject.js"],"names":["formatObject","tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","index","key","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? `,\\n` : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatObject.js"],"names":["formatObject","tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","key","index","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node6/formatRecordToString.js b/packages/nightingale-formatter/lib-node6/formatRecordToString.js index 5e478d7d5..343083aaa 100644 --- a/packages/nightingale-formatter/lib-node6/formatRecordToString.js +++ b/packages/nightingale-formatter/lib-node6/formatRecordToString.js @@ -19,7 +19,7 @@ var _formatObject2 = _interopRequireDefault(_formatObject); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function formatRecordToString(record, style, options) { +function formatRecordToString(record, style) { let parts = []; if (record.displayName) { @@ -38,7 +38,7 @@ function formatRecordToString(record, style, options) { if (record.message) { if (message) { - message += ` ${ record.message }`; + message += ` ${record.message}`; } else { message = record.message; } @@ -56,7 +56,7 @@ function formatRecordToString(record, style, options) { return; } - const stringObject = (0, _formatObject2.default)(record[key], style, record[`${ key }Styles`]); + const stringObject = (0, _formatObject2.default)(record[key], style, record[`${key}Styles`]); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/lib-node6/formatRecordToString.js.map b/packages/nightingale-formatter/lib-node6/formatRecordToString.js.map index c22b8db1b..20231e085 100644 --- a/packages/nightingale-formatter/lib-node6/formatRecordToString.js.map +++ b/packages/nightingale-formatter/lib-node6/formatRecordToString.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatRecordToString.js"],"names":["formatRecordToString","record","style","options","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":";;;;;kBAIwBA,oB;;AAJxB;;;;AACA;;;;AACA;;;;;;AAEe,SAASA,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIH,OAAOI,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOI,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIJ,OAAOM,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOM,GAA7B,CAAX;AACD;;AAED,MAAIN,OAAOO,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWJ,wBAAwBD,OAAOO,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUV,OAAOW,MAAP,IAAiB,wBAAcX,OAAOY,KAArB,CAA/B;AACA,MAAIC,SAASb,OAAOa,MAAP,IAAiB,wBAAcb,OAAOY,KAArB,CAA9B;;AAEA,MAAIZ,OAAOU,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,KAAGV,OAAOU,OAAQ,GAA9B;AACD,KAFD,MAEO;AACLA,gBAAUV,OAAOU,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUT,MAAMY,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACN,OAAOM,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAe,4BAAaf,OAAOM,GAAP,CAAb,EAA0BL,KAA1B,EAAiCD,OAAQ,IAAEM,GAAI,SAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":";;;;;kBAIwBA,oB;;AAJxB;;;;AACA;;;;AACA;;;;;;AAEe,SAASA,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiB,wBAAcV,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiB,wBAAcZ,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,IAAGT,OAAOS,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACL,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAe,4BAAad,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAQ,GAAEK,GAAI,QAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node6/styleToHtmlStyle.js b/packages/nightingale-formatter/lib-node6/styleToHtmlStyle.js index f9087a6c3..f70951c5a 100644 --- a/packages/nightingale-formatter/lib-node6/styleToHtmlStyle.js +++ b/packages/nightingale-formatter/lib-node6/styleToHtmlStyle.js @@ -44,8 +44,8 @@ exports.default = { bgCyan: { open: 'background: #00cfd8', close: 'background: initial' }, bgWhite: { open: 'background: white', close: 'background: initial' }, - orange: { open: `color: #${ _styleToHexColor2.default.orange }`, close: 'color: initial' }, - grayLight: { open: `color: #${ _styleToHexColor2.default.grayLight }`, close: 'color: initial' }, - 'gray-light': { open: `color: #${ _styleToHexColor2.default.grayLight }`, close: 'color: initial' } + orange: { open: `color: #${_styleToHexColor2.default.orange}`, close: 'color: initial' }, + grayLight: { open: `color: #${_styleToHexColor2.default.grayLight}`, close: 'color: initial' }, + 'gray-light': { open: `color: #${_styleToHexColor2.default.grayLight}`, close: 'color: initial' } }; //# sourceMappingURL=styleToHtmlStyle.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node6/styleToHtmlStyle.js.map b/packages/nightingale-formatter/lib-node6/styleToHtmlStyle.js.map index 787f60486..40163d37a 100644 --- a/packages/nightingale-formatter/lib-node6/styleToHtmlStyle.js.map +++ b/packages/nightingale-formatter/lib-node6/styleToHtmlStyle.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,MAAIA,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,YAAU,0BAAUuB,MAAO,GAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,YAAU,0BAAUwB,SAAU,GAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,YAAU,0BAAUwB,SAAU,GAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,C","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file +{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,MAAIA,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,WAAU,0BAAUuB,MAAO,EAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,WAAU,0BAAUwB,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,WAAU,0BAAUwB,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,C","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/formatObject.js b/packages/nightingale-formatter/lib-node7-dev/formatObject.js new file mode 100644 index 000000000..f998e874e --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/formatObject.js @@ -0,0 +1,163 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatObject; +/* eslint-disable no-use-before-define, max-lines */ + +function tryStringify(arg) { + try { + return JSON.stringify(arg); + } catch (_) { + return '[Circular]'; + } +} + +function internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) { + const typeofValue = typeof value; + + if (!styles) { + if (value == null) { + styles = ['cyan']; + } else { + switch (typeofValue) { + case 'boolean': + styles = ['green']; + break; + case 'number': + styles = ['yellow']; + break; + case 'string': + styles = ['orange']; + break; + case 'date': + styles = ['magenta']; + break; + } + } + } + + let stringValue; + if (value === null) { + stringValue = 'null'; + } else if (value === undefined) { + stringValue = 'undefined'; + } else if (typeofValue === 'boolean') { + stringValue = value.toString(); + } else if (value.constructor === Object) { + if (depth >= maxDepth) { + stringValue = '{object...}'; + } else { + return internalFormatObject(value, styleFn, undefined, { padding, depth: depth + 1, maxDepth, objects }); + } + } else if (Array.isArray(value)) { + if (depth >= maxDepth) { + stringValue = '[array...]'; + } else { + return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects }); + } + } else if (value instanceof Error) { + stringValue = value.stack || value.message || ''; + } else { + stringValue = tryStringify(value); + } + + const formattedValue = styleFn(styles, stringValue); + + return { + stringValue, + formattedValue + }; +} + +const separator = ','; + +const internalFormatIterator = (values, styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix, suffix, prefixSuffixSpace = ' ' }) => { + let breakLine = false; + const formattedSeparator = () => styleFn(['gray'], separator); + + const valuesMaxIndex = values.length - 1; + values = values.map(({ key, value }, index) => { + + // key must be formatted before value (browser-formatter needs order) + const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : ''; + + let { stringValue, formattedValue } = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); + + if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\n') !== -1)) { + breakLine = true; + stringValue = stringValue.replace(/\n/g, `\n${padding}`); + formattedValue = formattedValue.replace(/\n/g, `\n${padding}`); + } + + return { + stringValue: stringValue + (index === valuesMaxIndex ? '' : separator), + // eslint-disable-next-line no-useless-concat + formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()) + }; + }); + + return { + stringValue: prefix + values.map(breakLine ? v => `\n${padding}${v.stringValue}` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, + // eslint-disable-next-line prefer-template + formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? v => `\n${padding}${v.formattedValue}` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}` + }; +}; + +function internalFormatObject(object, styleFn, objectStyles, { padding, depth, maxDepth, objects }) { + if (objects.has(object)) { + return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; + } + + const keys = Object.keys(object); + if (keys.length === 0) { + return { + stringValue: '{}', + formattedValue: '{}' + }; + } + + objects.add(object); + + const result = internalFormatIterator(keys.map(key => ({ key, value: object[key] })), styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix: '{', suffix: '}' }); + + objects.delete(object); + + return result; +} + +function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) { + if (objects.has(array)) { + return { stringValue: '{Circular array}', formattedValue: '{Circular array}' }; + } + + if (array.length === 0) { + return { + stringValue: '[]', + formattedValue: '[]' + }; + } + + objects.add(array); + + const result = internalFormatIterator(array.map(value => ({ key: undefined, value })), styleFn, undefined, { padding, depth, maxDepth, objects }, { prefix: '[', suffix: ']', prefixSuffixSpace: '' }); + + objects.delete(array); + + return result; +} + +function formatObject(object, styleFn, objectStyles, { + padding = ' ', + maxDepth = 10 +} = {}) { + const { formattedValue: result } = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); + + if (result === '{}') { + return ''; + } + + return result; +} +//# sourceMappingURL=formatObject.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/formatObject.js.map b/packages/nightingale-formatter/lib-node7-dev/formatObject.js.map new file mode 100644 index 000000000..050d804a8 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/formatObject.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/formatObject.js"],"names":["formatObject","tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","key","index","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/formatRecordToString.js b/packages/nightingale-formatter/lib-node7-dev/formatRecordToString.js new file mode 100644 index 000000000..343083aaa --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/formatRecordToString.js @@ -0,0 +1,70 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatRecordToString; + +var _levelToSymbol = require('./levelToSymbol'); + +var _levelToSymbol2 = _interopRequireDefault(_levelToSymbol); + +var _levelToStyles = require('./levelToStyles'); + +var _levelToStyles2 = _interopRequireDefault(_levelToStyles); + +var _formatObject = require('./formatObject'); + +var _formatObject2 = _interopRequireDefault(_formatObject); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function formatRecordToString(record, style) { + let parts = []; + + if (record.displayName) { + parts.push(style(['gray-light'], record.displayName)); + } else if (record.key) { + parts.push(style(['gray-light'], record.key)); + } + + if (record.datetime) { + parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0])); + /* new Date().toFormat('HH24:MI:SS') */ + } + + let message = record.symbol || _levelToSymbol2.default[record.level]; + let styles = record.styles || _levelToStyles2.default[record.level]; + + if (record.message) { + if (message) { + message += ` ${record.message}`; + } else { + message = record.message; + } + } + + if (message) { + if (styles) { + message = style(styles, message); + } + parts.push(message); + } + + ['metadata', 'extra', 'context'].forEach(key => { + if (!record[key]) { + return; + } + + const stringObject = (0, _formatObject2.default)(record[key], style, record[`${key}Styles`]); + + if (!stringObject) { + return; + } + + parts.push(stringObject); + }); + + return parts.join(' '); +} +//# sourceMappingURL=formatRecordToString.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/formatRecordToString.js.map b/packages/nightingale-formatter/lib-node7-dev/formatRecordToString.js.map new file mode 100644 index 000000000..20231e085 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/formatRecordToString.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":";;;;;kBAIwBA,oB;;AAJxB;;;;AACA;;;;AACA;;;;;;AAEe,SAASA,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiB,wBAAcV,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiB,wBAAcZ,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,IAAGT,OAAOS,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACL,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAe,4BAAad,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAQ,GAAEK,GAAI,QAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/index.js b/packages/nightingale-formatter/lib-node7-dev/index.js new file mode 100644 index 000000000..dd1ae6f88 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/index.js @@ -0,0 +1,40 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.formatRecordToString = exports.formatObject = exports.styleToHexColor = exports.styleToHtmlStyle = exports.levelToSymbol = exports.levelToStyles = undefined; + +var _levelToStyles2 = require('./levelToStyles'); + +var _levelToStyles3 = _interopRequireDefault(_levelToStyles2); + +var _levelToSymbol2 = require('./levelToSymbol'); + +var _levelToSymbol3 = _interopRequireDefault(_levelToSymbol2); + +var _styleToHtmlStyle2 = require('./styleToHtmlStyle'); + +var _styleToHtmlStyle3 = _interopRequireDefault(_styleToHtmlStyle2); + +var _styleToHexColor2 = require('./styleToHexColor'); + +var _styleToHexColor3 = _interopRequireDefault(_styleToHexColor2); + +var _formatObject2 = require('./formatObject'); + +var _formatObject3 = _interopRequireDefault(_formatObject2); + +var _formatRecordToString2 = require('./formatRecordToString'); + +var _formatRecordToString3 = _interopRequireDefault(_formatRecordToString2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.levelToStyles = _levelToStyles3.default; +exports.levelToSymbol = _levelToSymbol3.default; +exports.styleToHtmlStyle = _styleToHtmlStyle3.default; +exports.styleToHexColor = _styleToHexColor3.default; +exports.formatObject = _formatObject3.default; +exports.formatRecordToString = _formatRecordToString3.default; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/index.js.map b/packages/nightingale-formatter/lib-node7-dev/index.js.map new file mode 100644 index 000000000..8aeb155a6 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.js"],"names":["levelToStyles","levelToSymbol","styleToHtmlStyle","styleToHexColor","formatObject","formatRecordToString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAOA,a;QACAC,a;QACAC,gB;QACAC,e;QACAC,Y;QACAC,oB","file":"index.js","sourcesContent":["export levelToStyles from './levelToStyles';\nexport levelToSymbol from './levelToSymbol';\nexport styleToHtmlStyle from './styleToHtmlStyle';\nexport styleToHexColor from './styleToHexColor';\nexport formatObject from './formatObject';\nexport formatRecordToString from './formatRecordToString';\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/levelToStyles.js b/packages/nightingale-formatter/lib-node7-dev/levelToStyles.js new file mode 100644 index 000000000..433f9517a --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/levelToStyles.js @@ -0,0 +1,23 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _nightingaleLevels = require('nightingale-levels'); + +var _nightingaleLevels2 = _interopRequireDefault(_nightingaleLevels); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = { + [_nightingaleLevels2.default.TRACE]: ['gray'], + [_nightingaleLevels2.default.DEBUG]: ['gray'], + // [levels.INFO]: ['gray'], + [_nightingaleLevels2.default.WARN]: ['yellow'], + [_nightingaleLevels2.default.ERROR]: ['red', 'bold'], + [_nightingaleLevels2.default.CRITICAL]: ['red', 'bold'], + [_nightingaleLevels2.default.FATAL]: ['bgRed', 'white'], + [_nightingaleLevels2.default.EMERGENCY]: ['bgRed', 'white'] +}; +//# sourceMappingURL=levelToStyles.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/levelToStyles.js.map b/packages/nightingale-formatter/lib-node7-dev/levelToStyles.js.map new file mode 100644 index 000000000..31e5d3262 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/levelToStyles.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/levelToStyles.js"],"names":["TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,GAAC,4BAAOA,KAAR,WADa;AAEb,GAAC,4BAAOC,KAAR,WAFa;AAGb;AACA,GAAC,4BAAOC,IAAR,aAJa;AAKb,GAAC,4BAAOC,KAAR,kBALa;AAMb,GAAC,4BAAOC,QAAR,kBANa;AAOb,GAAC,4BAAOC,KAAR,qBAPa;AAQb,GAAC,4BAAOC,SAAR;AARa,C","file":"levelToStyles.js","sourcesContent":["import levels from 'nightingale-levels';\n\nexport default {\n [levels.TRACE]: ['gray'],\n [levels.DEBUG]: ['gray'],\n // [levels.INFO]: ['gray'],\n [levels.WARN]: ['yellow'],\n [levels.ERROR]: ['red', 'bold'],\n [levels.CRITICAL]: ['red', 'bold'],\n [levels.FATAL]: ['bgRed', 'white'],\n [levels.EMERGENCY]: ['bgRed', 'white'],\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/levelToSymbol.js b/packages/nightingale-formatter/lib-node7-dev/levelToSymbol.js new file mode 100644 index 000000000..8e2040fe7 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/levelToSymbol.js @@ -0,0 +1,23 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _nightingaleLevels = require('nightingale-levels'); + +var _nightingaleLevels2 = _interopRequireDefault(_nightingaleLevels); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = { + [_nightingaleLevels2.default.TRACE]: '•', + [_nightingaleLevels2.default.DEBUG]: '•', + [_nightingaleLevels2.default.INFO]: '→', + [_nightingaleLevels2.default.WARN]: '⚠', + [_nightingaleLevels2.default.ERROR]: '✖', + [_nightingaleLevels2.default.CRITICAL]: '!', + [_nightingaleLevels2.default.FATAL]: '‼', + [_nightingaleLevels2.default.EMERGENCY]: '‼' +}; +//# sourceMappingURL=levelToSymbol.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/levelToSymbol.js.map b/packages/nightingale-formatter/lib-node7-dev/levelToSymbol.js.map new file mode 100644 index 000000000..4010ef6b5 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/levelToSymbol.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/levelToSymbol.js"],"names":["TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,GAAC,4BAAOA,KAAR,GAAgB,GADH;AAEb,GAAC,4BAAOC,KAAR,GAAgB,GAFH;AAGb,GAAC,4BAAOC,IAAR,GAAe,GAHF;AAIb,GAAC,4BAAOC,IAAR,GAAe,GAJF;AAKb,GAAC,4BAAOC,KAAR,GAAgB,GALH;AAMb,GAAC,4BAAOC,QAAR,GAAmB,GANN;AAOb,GAAC,4BAAOC,KAAR,GAAgB,GAPH;AAQb,GAAC,4BAAOC,SAAR,GAAoB;AARP,C","file":"levelToSymbol.js","sourcesContent":["import levels from 'nightingale-levels';\n\nexport default {\n [levels.TRACE]: '•',\n [levels.DEBUG]: '•',\n [levels.INFO]: '→',\n [levels.WARN]: '⚠',\n [levels.ERROR]: '✖',\n [levels.CRITICAL]: '!',\n [levels.FATAL]: '‼',\n [levels.EMERGENCY]: '‼',\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/styleToHexColor.js b/packages/nightingale-formatter/lib-node7-dev/styleToHexColor.js new file mode 100644 index 000000000..f1087c271 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/styleToHexColor.js @@ -0,0 +1,11 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = { + orange: 'ff5f00', + grayLight: '808080', + 'gray-light': '808080' +}; +//# sourceMappingURL=styleToHexColor.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/styleToHexColor.js.map b/packages/nightingale-formatter/lib-node7-dev/styleToHexColor.js.map new file mode 100644 index 000000000..45223d649 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/styleToHexColor.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/styleToHexColor.js"],"names":["orange","grayLight"],"mappings":";;;;;kBAAe;AACbA,UAAQ,QADK;AAEbC,aAAW,QAFE;AAGb,gBAAc;AAHD,C","file":"styleToHexColor.js","sourcesContent":["export default {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/styleToHtmlStyle.js b/packages/nightingale-formatter/lib-node7-dev/styleToHtmlStyle.js new file mode 100644 index 000000000..f70951c5a --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/styleToHtmlStyle.js @@ -0,0 +1,51 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _styleToHexColor = require('./styleToHexColor'); + +var _styleToHexColor2 = _interopRequireDefault(_styleToHexColor); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = { + get reset() { + throw new Error(); + }, + + // text style + bold: { open: 'font-weight: bold', close: 'font-weight: normal' }, + italic: { open: 'font-style: italic', close: 'font-style: normal' }, + underline: { open: 'text-decoration: underline', close: 'text-decoration: none' }, + inverse: { + open: 'unicode-bidi: bidi-override; direction: rtl', + close: 'unicode-bidi: normal; direction: ltr' + }, + strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' }, + + black: { open: 'color: black', close: 'color: initial' }, + red: { open: 'color: #ff0020', close: 'color: initial' }, + green: { open: 'color: #00b317', close: 'color: initial' }, + yellow: { open: 'color: #ffcc00', close: 'color: initial' }, + blue: { open: 'color: #00a0ff', close: 'color: initial' }, + magenta: { open: 'color: #ff00a0', close: 'color: initial' }, + cyan: { open: 'color: #00cfd8', close: 'color: initial' }, + white: { open: 'color: white', close: 'color: initial' }, + gray: { open: 'color: gray', close: 'color: initial' }, + + bgBlack: { open: 'background: black', close: 'background: initial' }, + bgRed: { open: 'background: #ff0020', close: 'background: initial' }, + bgGreen: { open: 'background: #00b317', close: 'background: initial' }, + bgYellow: { open: 'background: #ffcc00', close: 'background: initial' }, + bgBlue: { open: 'background: #00a0ff', close: 'background: initial' }, + bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' }, + bgCyan: { open: 'background: #00cfd8', close: 'background: initial' }, + bgWhite: { open: 'background: white', close: 'background: initial' }, + + orange: { open: `color: #${_styleToHexColor2.default.orange}`, close: 'color: initial' }, + grayLight: { open: `color: #${_styleToHexColor2.default.grayLight}`, close: 'color: initial' }, + 'gray-light': { open: `color: #${_styleToHexColor2.default.grayLight}`, close: 'color: initial' } +}; +//# sourceMappingURL=styleToHtmlStyle.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7-dev/styleToHtmlStyle.js.map b/packages/nightingale-formatter/lib-node7-dev/styleToHtmlStyle.js.map new file mode 100644 index 000000000..40163d37a --- /dev/null +++ b/packages/nightingale-formatter/lib-node7-dev/styleToHtmlStyle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,MAAIA,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,WAAU,0BAAUuB,MAAO,EAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,WAAU,0BAAUwB,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,WAAU,0BAAUwB,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,C","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/formatObject.js b/packages/nightingale-formatter/lib-node7/formatObject.js new file mode 100644 index 000000000..f998e874e --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/formatObject.js @@ -0,0 +1,163 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatObject; +/* eslint-disable no-use-before-define, max-lines */ + +function tryStringify(arg) { + try { + return JSON.stringify(arg); + } catch (_) { + return '[Circular]'; + } +} + +function internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) { + const typeofValue = typeof value; + + if (!styles) { + if (value == null) { + styles = ['cyan']; + } else { + switch (typeofValue) { + case 'boolean': + styles = ['green']; + break; + case 'number': + styles = ['yellow']; + break; + case 'string': + styles = ['orange']; + break; + case 'date': + styles = ['magenta']; + break; + } + } + } + + let stringValue; + if (value === null) { + stringValue = 'null'; + } else if (value === undefined) { + stringValue = 'undefined'; + } else if (typeofValue === 'boolean') { + stringValue = value.toString(); + } else if (value.constructor === Object) { + if (depth >= maxDepth) { + stringValue = '{object...}'; + } else { + return internalFormatObject(value, styleFn, undefined, { padding, depth: depth + 1, maxDepth, objects }); + } + } else if (Array.isArray(value)) { + if (depth >= maxDepth) { + stringValue = '[array...]'; + } else { + return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects }); + } + } else if (value instanceof Error) { + stringValue = value.stack || value.message || ''; + } else { + stringValue = tryStringify(value); + } + + const formattedValue = styleFn(styles, stringValue); + + return { + stringValue, + formattedValue + }; +} + +const separator = ','; + +const internalFormatIterator = (values, styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix, suffix, prefixSuffixSpace = ' ' }) => { + let breakLine = false; + const formattedSeparator = () => styleFn(['gray'], separator); + + const valuesMaxIndex = values.length - 1; + values = values.map(({ key, value }, index) => { + + // key must be formatted before value (browser-formatter needs order) + const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : ''; + + let { stringValue, formattedValue } = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); + + if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\n') !== -1)) { + breakLine = true; + stringValue = stringValue.replace(/\n/g, `\n${padding}`); + formattedValue = formattedValue.replace(/\n/g, `\n${padding}`); + } + + return { + stringValue: stringValue + (index === valuesMaxIndex ? '' : separator), + // eslint-disable-next-line no-useless-concat + formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()) + }; + }); + + return { + stringValue: prefix + values.map(breakLine ? v => `\n${padding}${v.stringValue}` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, + // eslint-disable-next-line prefer-template + formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? v => `\n${padding}${v.formattedValue}` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}` + }; +}; + +function internalFormatObject(object, styleFn, objectStyles, { padding, depth, maxDepth, objects }) { + if (objects.has(object)) { + return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; + } + + const keys = Object.keys(object); + if (keys.length === 0) { + return { + stringValue: '{}', + formattedValue: '{}' + }; + } + + objects.add(object); + + const result = internalFormatIterator(keys.map(key => ({ key, value: object[key] })), styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix: '{', suffix: '}' }); + + objects.delete(object); + + return result; +} + +function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) { + if (objects.has(array)) { + return { stringValue: '{Circular array}', formattedValue: '{Circular array}' }; + } + + if (array.length === 0) { + return { + stringValue: '[]', + formattedValue: '[]' + }; + } + + objects.add(array); + + const result = internalFormatIterator(array.map(value => ({ key: undefined, value })), styleFn, undefined, { padding, depth, maxDepth, objects }, { prefix: '[', suffix: ']', prefixSuffixSpace: '' }); + + objects.delete(array); + + return result; +} + +function formatObject(object, styleFn, objectStyles, { + padding = ' ', + maxDepth = 10 +} = {}) { + const { formattedValue: result } = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); + + if (result === '{}') { + return ''; + } + + return result; +} +//# sourceMappingURL=formatObject.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/formatObject.js.map b/packages/nightingale-formatter/lib-node7/formatObject.js.map new file mode 100644 index 000000000..050d804a8 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/formatObject.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/formatObject.js"],"names":["formatObject","tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","key","index","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/formatRecordToString.js b/packages/nightingale-formatter/lib-node7/formatRecordToString.js new file mode 100644 index 000000000..343083aaa --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/formatRecordToString.js @@ -0,0 +1,70 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatRecordToString; + +var _levelToSymbol = require('./levelToSymbol'); + +var _levelToSymbol2 = _interopRequireDefault(_levelToSymbol); + +var _levelToStyles = require('./levelToStyles'); + +var _levelToStyles2 = _interopRequireDefault(_levelToStyles); + +var _formatObject = require('./formatObject'); + +var _formatObject2 = _interopRequireDefault(_formatObject); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function formatRecordToString(record, style) { + let parts = []; + + if (record.displayName) { + parts.push(style(['gray-light'], record.displayName)); + } else if (record.key) { + parts.push(style(['gray-light'], record.key)); + } + + if (record.datetime) { + parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0])); + /* new Date().toFormat('HH24:MI:SS') */ + } + + let message = record.symbol || _levelToSymbol2.default[record.level]; + let styles = record.styles || _levelToStyles2.default[record.level]; + + if (record.message) { + if (message) { + message += ` ${record.message}`; + } else { + message = record.message; + } + } + + if (message) { + if (styles) { + message = style(styles, message); + } + parts.push(message); + } + + ['metadata', 'extra', 'context'].forEach(key => { + if (!record[key]) { + return; + } + + const stringObject = (0, _formatObject2.default)(record[key], style, record[`${key}Styles`]); + + if (!stringObject) { + return; + } + + parts.push(stringObject); + }); + + return parts.join(' '); +} +//# sourceMappingURL=formatRecordToString.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/formatRecordToString.js.map b/packages/nightingale-formatter/lib-node7/formatRecordToString.js.map new file mode 100644 index 000000000..20231e085 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/formatRecordToString.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":";;;;;kBAIwBA,oB;;AAJxB;;;;AACA;;;;AACA;;;;;;AAEe,SAASA,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiB,wBAAcV,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiB,wBAAcZ,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,IAAGT,OAAOS,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACL,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAe,4BAAad,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAQ,GAAEK,GAAI,QAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/index.js b/packages/nightingale-formatter/lib-node7/index.js new file mode 100644 index 000000000..dd1ae6f88 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/index.js @@ -0,0 +1,40 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.formatRecordToString = exports.formatObject = exports.styleToHexColor = exports.styleToHtmlStyle = exports.levelToSymbol = exports.levelToStyles = undefined; + +var _levelToStyles2 = require('./levelToStyles'); + +var _levelToStyles3 = _interopRequireDefault(_levelToStyles2); + +var _levelToSymbol2 = require('./levelToSymbol'); + +var _levelToSymbol3 = _interopRequireDefault(_levelToSymbol2); + +var _styleToHtmlStyle2 = require('./styleToHtmlStyle'); + +var _styleToHtmlStyle3 = _interopRequireDefault(_styleToHtmlStyle2); + +var _styleToHexColor2 = require('./styleToHexColor'); + +var _styleToHexColor3 = _interopRequireDefault(_styleToHexColor2); + +var _formatObject2 = require('./formatObject'); + +var _formatObject3 = _interopRequireDefault(_formatObject2); + +var _formatRecordToString2 = require('./formatRecordToString'); + +var _formatRecordToString3 = _interopRequireDefault(_formatRecordToString2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.levelToStyles = _levelToStyles3.default; +exports.levelToSymbol = _levelToSymbol3.default; +exports.styleToHtmlStyle = _styleToHtmlStyle3.default; +exports.styleToHexColor = _styleToHexColor3.default; +exports.formatObject = _formatObject3.default; +exports.formatRecordToString = _formatRecordToString3.default; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/index.js.map b/packages/nightingale-formatter/lib-node7/index.js.map new file mode 100644 index 000000000..8aeb155a6 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.js"],"names":["levelToStyles","levelToSymbol","styleToHtmlStyle","styleToHexColor","formatObject","formatRecordToString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAOA,a;QACAC,a;QACAC,gB;QACAC,e;QACAC,Y;QACAC,oB","file":"index.js","sourcesContent":["export levelToStyles from './levelToStyles';\nexport levelToSymbol from './levelToSymbol';\nexport styleToHtmlStyle from './styleToHtmlStyle';\nexport styleToHexColor from './styleToHexColor';\nexport formatObject from './formatObject';\nexport formatRecordToString from './formatRecordToString';\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/levelToStyles.js b/packages/nightingale-formatter/lib-node7/levelToStyles.js new file mode 100644 index 000000000..433f9517a --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/levelToStyles.js @@ -0,0 +1,23 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _nightingaleLevels = require('nightingale-levels'); + +var _nightingaleLevels2 = _interopRequireDefault(_nightingaleLevels); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = { + [_nightingaleLevels2.default.TRACE]: ['gray'], + [_nightingaleLevels2.default.DEBUG]: ['gray'], + // [levels.INFO]: ['gray'], + [_nightingaleLevels2.default.WARN]: ['yellow'], + [_nightingaleLevels2.default.ERROR]: ['red', 'bold'], + [_nightingaleLevels2.default.CRITICAL]: ['red', 'bold'], + [_nightingaleLevels2.default.FATAL]: ['bgRed', 'white'], + [_nightingaleLevels2.default.EMERGENCY]: ['bgRed', 'white'] +}; +//# sourceMappingURL=levelToStyles.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/levelToStyles.js.map b/packages/nightingale-formatter/lib-node7/levelToStyles.js.map new file mode 100644 index 000000000..31e5d3262 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/levelToStyles.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/levelToStyles.js"],"names":["TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,GAAC,4BAAOA,KAAR,WADa;AAEb,GAAC,4BAAOC,KAAR,WAFa;AAGb;AACA,GAAC,4BAAOC,IAAR,aAJa;AAKb,GAAC,4BAAOC,KAAR,kBALa;AAMb,GAAC,4BAAOC,QAAR,kBANa;AAOb,GAAC,4BAAOC,KAAR,qBAPa;AAQb,GAAC,4BAAOC,SAAR;AARa,C","file":"levelToStyles.js","sourcesContent":["import levels from 'nightingale-levels';\n\nexport default {\n [levels.TRACE]: ['gray'],\n [levels.DEBUG]: ['gray'],\n // [levels.INFO]: ['gray'],\n [levels.WARN]: ['yellow'],\n [levels.ERROR]: ['red', 'bold'],\n [levels.CRITICAL]: ['red', 'bold'],\n [levels.FATAL]: ['bgRed', 'white'],\n [levels.EMERGENCY]: ['bgRed', 'white'],\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/levelToSymbol.js b/packages/nightingale-formatter/lib-node7/levelToSymbol.js new file mode 100644 index 000000000..8e2040fe7 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/levelToSymbol.js @@ -0,0 +1,23 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _nightingaleLevels = require('nightingale-levels'); + +var _nightingaleLevels2 = _interopRequireDefault(_nightingaleLevels); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = { + [_nightingaleLevels2.default.TRACE]: '•', + [_nightingaleLevels2.default.DEBUG]: '•', + [_nightingaleLevels2.default.INFO]: '→', + [_nightingaleLevels2.default.WARN]: '⚠', + [_nightingaleLevels2.default.ERROR]: '✖', + [_nightingaleLevels2.default.CRITICAL]: '!', + [_nightingaleLevels2.default.FATAL]: '‼', + [_nightingaleLevels2.default.EMERGENCY]: '‼' +}; +//# sourceMappingURL=levelToSymbol.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/levelToSymbol.js.map b/packages/nightingale-formatter/lib-node7/levelToSymbol.js.map new file mode 100644 index 000000000..4010ef6b5 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/levelToSymbol.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/levelToSymbol.js"],"names":["TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,GAAC,4BAAOA,KAAR,GAAgB,GADH;AAEb,GAAC,4BAAOC,KAAR,GAAgB,GAFH;AAGb,GAAC,4BAAOC,IAAR,GAAe,GAHF;AAIb,GAAC,4BAAOC,IAAR,GAAe,GAJF;AAKb,GAAC,4BAAOC,KAAR,GAAgB,GALH;AAMb,GAAC,4BAAOC,QAAR,GAAmB,GANN;AAOb,GAAC,4BAAOC,KAAR,GAAgB,GAPH;AAQb,GAAC,4BAAOC,SAAR,GAAoB;AARP,C","file":"levelToSymbol.js","sourcesContent":["import levels from 'nightingale-levels';\n\nexport default {\n [levels.TRACE]: '•',\n [levels.DEBUG]: '•',\n [levels.INFO]: '→',\n [levels.WARN]: '⚠',\n [levels.ERROR]: '✖',\n [levels.CRITICAL]: '!',\n [levels.FATAL]: '‼',\n [levels.EMERGENCY]: '‼',\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/styleToHexColor.js b/packages/nightingale-formatter/lib-node7/styleToHexColor.js new file mode 100644 index 000000000..f1087c271 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/styleToHexColor.js @@ -0,0 +1,11 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = { + orange: 'ff5f00', + grayLight: '808080', + 'gray-light': '808080' +}; +//# sourceMappingURL=styleToHexColor.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/styleToHexColor.js.map b/packages/nightingale-formatter/lib-node7/styleToHexColor.js.map new file mode 100644 index 000000000..45223d649 --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/styleToHexColor.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/styleToHexColor.js"],"names":["orange","grayLight"],"mappings":";;;;;kBAAe;AACbA,UAAQ,QADK;AAEbC,aAAW,QAFE;AAGb,gBAAc;AAHD,C","file":"styleToHexColor.js","sourcesContent":["export default {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/styleToHtmlStyle.js b/packages/nightingale-formatter/lib-node7/styleToHtmlStyle.js new file mode 100644 index 000000000..f70951c5a --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/styleToHtmlStyle.js @@ -0,0 +1,51 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _styleToHexColor = require('./styleToHexColor'); + +var _styleToHexColor2 = _interopRequireDefault(_styleToHexColor); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = { + get reset() { + throw new Error(); + }, + + // text style + bold: { open: 'font-weight: bold', close: 'font-weight: normal' }, + italic: { open: 'font-style: italic', close: 'font-style: normal' }, + underline: { open: 'text-decoration: underline', close: 'text-decoration: none' }, + inverse: { + open: 'unicode-bidi: bidi-override; direction: rtl', + close: 'unicode-bidi: normal; direction: ltr' + }, + strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' }, + + black: { open: 'color: black', close: 'color: initial' }, + red: { open: 'color: #ff0020', close: 'color: initial' }, + green: { open: 'color: #00b317', close: 'color: initial' }, + yellow: { open: 'color: #ffcc00', close: 'color: initial' }, + blue: { open: 'color: #00a0ff', close: 'color: initial' }, + magenta: { open: 'color: #ff00a0', close: 'color: initial' }, + cyan: { open: 'color: #00cfd8', close: 'color: initial' }, + white: { open: 'color: white', close: 'color: initial' }, + gray: { open: 'color: gray', close: 'color: initial' }, + + bgBlack: { open: 'background: black', close: 'background: initial' }, + bgRed: { open: 'background: #ff0020', close: 'background: initial' }, + bgGreen: { open: 'background: #00b317', close: 'background: initial' }, + bgYellow: { open: 'background: #ffcc00', close: 'background: initial' }, + bgBlue: { open: 'background: #00a0ff', close: 'background: initial' }, + bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' }, + bgCyan: { open: 'background: #00cfd8', close: 'background: initial' }, + bgWhite: { open: 'background: white', close: 'background: initial' }, + + orange: { open: `color: #${_styleToHexColor2.default.orange}`, close: 'color: initial' }, + grayLight: { open: `color: #${_styleToHexColor2.default.grayLight}`, close: 'color: initial' }, + 'gray-light': { open: `color: #${_styleToHexColor2.default.grayLight}`, close: 'color: initial' } +}; +//# sourceMappingURL=styleToHtmlStyle.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-node7/styleToHtmlStyle.js.map b/packages/nightingale-formatter/lib-node7/styleToHtmlStyle.js.map new file mode 100644 index 000000000..40163d37a --- /dev/null +++ b/packages/nightingale-formatter/lib-node7/styleToHtmlStyle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":";;;;;;AAAA;;;;;;kBAEe;AACb,MAAIA,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,WAAU,0BAAUuB,MAAO,EAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,WAAU,0BAAUwB,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,WAAU,0BAAUwB,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,C","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-dev/formatObject.js b/packages/nightingale-formatter/lib-webpack-dev/formatObject.js index dc5026b5d..777c858e3 100644 --- a/packages/nightingale-formatter/lib-webpack-dev/formatObject.js +++ b/packages/nightingale-formatter/lib-webpack-dev/formatObject.js @@ -1,6 +1,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -/* eslint-disable no-use-before-define */ +/* eslint-disable no-use-before-define, max-lines */ function tryStringify(arg) { try { diff --git a/packages/nightingale-formatter/lib-webpack-dev/formatObject.js.map b/packages/nightingale-formatter/lib-webpack-dev/formatObject.js.map index f021d6191..8afb30a0d 100644 --- a/packages/nightingale-formatter/lib-webpack-dev/formatObject.js.map +++ b/packages/nightingale-formatter/lib-webpack-dev/formatObject.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","index","key","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? `,\\n` : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","index","key","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-dev/formatRecordToString.js b/packages/nightingale-formatter/lib-webpack-dev/formatRecordToString.js index acefcbd78..6aa5e2e78 100644 --- a/packages/nightingale-formatter/lib-webpack-dev/formatRecordToString.js +++ b/packages/nightingale-formatter/lib-webpack-dev/formatRecordToString.js @@ -2,7 +2,7 @@ import levelToSymbol from './levelToSymbol'; import levelToStyles from './levelToStyles'; import formatObject from './formatObject'; -export default function formatRecordToString(record, style, options) { +export default function formatRecordToString(record, style) { var parts = []; if (record.displayName) { diff --git a/packages/nightingale-formatter/lib-webpack-dev/formatRecordToString.js.map b/packages/nightingale-formatter/lib-webpack-dev/formatRecordToString.js.map index 11789626c..36a05942a 100644 --- a/packages/nightingale-formatter/lib-webpack-dev/formatRecordToString.js.map +++ b/packages/nightingale-formatter/lib-webpack-dev/formatRecordToString.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","options","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIH,OAAOI,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOI,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIJ,OAAOM,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOM,GAA7B,CAAX;AACD;;AAED,MAAIN,OAAOO,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWJ,wBAAwBD,OAAOO,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUV,OAAOW,MAAP,IAAiBf,cAAcI,OAAOY,KAArB,CAA/B;AACA,MAAIC,SAASb,OAAOa,MAAP,IAAiBhB,cAAcG,OAAOY,KAArB,CAA9B;;AAEA,MAAIZ,OAAOU,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,uBAAeV,OAAOU,OAAtB;AACD,KAFD,MAEO;AACLA,gBAAUV,OAAOU,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUT,MAAMY,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyC,eAAO;AAC9C,QAAI,CAACd,OAAOM,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,QAAMS,eAAejB,aAAaE,OAAOM,GAAP,CAAb,EAA0BL,KAA1B,EAAiCD,OAAUM,GAAV,YAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiBd,cAAcI,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiBf,cAAcG,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,uBAAeT,OAAOS,OAAtB;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyC,eAAO;AAC9C,QAAI,CAACb,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,QAAMS,eAAehB,aAAaE,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAUK,GAAV,YAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatObject.js b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatObject.js index 6a6cee685..4cba43467 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatObject.js +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatObject.js @@ -1,4 +1,4 @@ -/* eslint-disable no-use-before-define */ +/* eslint-disable no-use-before-define, max-lines */ function tryStringify(arg) { try { @@ -8,13 +8,8 @@ function tryStringify(arg) { } } -function internalFormatValue(value, styleFn, styles, _ref) { - var padding = _ref.padding; - var depth = _ref.depth; - var maxDepth = _ref.maxDepth; - var objects = _ref.objects; - - var typeofValue = typeof value; +function internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) { + const typeofValue = typeof value; if (!styles) { if (value == null) { @@ -37,7 +32,7 @@ function internalFormatValue(value, styleFn, styles, _ref) { } } - var stringValue = void 0; + let stringValue; if (value === null) { stringValue = 'null'; } else if (value === undefined) { @@ -62,7 +57,7 @@ function internalFormatValue(value, styleFn, styles, _ref) { stringValue = tryStringify(value); } - var formattedValue = styleFn(styles, stringValue); + const formattedValue = styleFn(styles, stringValue); return { stringValue, @@ -70,40 +65,26 @@ function internalFormatValue(value, styleFn, styles, _ref) { }; } -var separator = ','; - -var internalFormatIterator = (values, styleFn, objectStyles, _ref2, _ref3) => { - var padding = _ref2.padding; - var depth = _ref2.depth; - var maxDepth = _ref2.maxDepth; - var objects = _ref2.objects; - var prefix = _ref3.prefix; - var suffix = _ref3.suffix; - var _ref3$prefixSuffixSpa = _ref3.prefixSuffixSpace; - var prefixSuffixSpace = _ref3$prefixSuffixSpa === undefined ? ' ' : _ref3$prefixSuffixSpa; - - var breakLine = false; - var formattedSeparator = () => styleFn(['gray'], separator); +const separator = ','; - var valuesMaxIndex = values.length - 1; - values = values.map((_ref4, index) => { - var key = _ref4.key; - var value = _ref4.value; +const internalFormatIterator = function internalFormatIterator(values, styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix, suffix, prefixSuffixSpace = ' ' }) { + let breakLine = false; + const formattedSeparator = function formattedSeparator() { + return styleFn(['gray'], separator); + }; + const valuesMaxIndex = values.length - 1; + values = values.map(function ({ key, value }, index) { // key must be formatted before value (browser-formatter needs order) - var formattedKey = key ? `${ styleFn(['gray-light', 'bold'], `${ key }:`) } ` : ''; - - var _internalFormatValue = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); - - var stringValue = _internalFormatValue.stringValue; - var formattedValue = _internalFormatValue.formattedValue; + const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : ''; + let { stringValue, formattedValue } = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\n') !== -1)) { breakLine = true; - stringValue = stringValue.replace(/\n/g, `\n${ padding }`); - formattedValue = formattedValue.replace(/\n/g, `\n${ padding }`); + stringValue = stringValue.replace(/\n/g, `\n${padding}`); + formattedValue = formattedValue.replace(/\n/g, `\n${padding}`); } return { @@ -114,23 +95,26 @@ var internalFormatIterator = (values, styleFn, objectStyles, _ref2, _ref3) => { }); return { - stringValue: prefix + values.map(breakLine ? v => `\n${ padding }${ v.stringValue }` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, + stringValue: prefix + values.map(breakLine ? function (v) { + return `\n${padding}${v.stringValue}`; + } : function (fv) { + return fv.stringValue; + }).join(breakLine ? '\n' : ' ') + suffix, // eslint-disable-next-line prefer-template - formattedValue: `${ prefix }${ breakLine ? '' : prefixSuffixSpace }` + values.map(breakLine ? v => `\n${ padding }${ v.formattedValue }` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${ breakLine ? `,\n` : prefixSuffixSpace }${ suffix }` + formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? function (v) { + return `\n${padding}${v.formattedValue}`; + } : function (v) { + return v.formattedValue; + }).join(breakLine ? '' : ' ') + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}` }; }; -function internalFormatObject(object, styleFn, objectStyles, _ref5) { - var padding = _ref5.padding; - var depth = _ref5.depth; - var maxDepth = _ref5.maxDepth; - var objects = _ref5.objects; - +function internalFormatObject(object, styleFn, objectStyles, { padding, depth, maxDepth, objects }) { if (objects.has(object)) { return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; } - var keys = Object.keys(object); + const keys = Object.keys(object); if (keys.length === 0) { return { stringValue: '{}', @@ -140,19 +124,16 @@ function internalFormatObject(object, styleFn, objectStyles, _ref5) { objects.add(object); - var result = internalFormatIterator(keys.map(key => ({ key, value: object[key] })), styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix: '{', suffix: '}' }); + const result = internalFormatIterator(keys.map(function (key) { + return { key, value: object[key] }; + }), styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix: '{', suffix: '}' }); objects.delete(object); return result; } -function internalFormatArray(array, styleFn, _ref6) { - var padding = _ref6.padding; - var depth = _ref6.depth; - var maxDepth = _ref6.maxDepth; - var objects = _ref6.objects; - +function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) { if (objects.has(array)) { return { stringValue: '{Circular array}', formattedValue: '{Circular array}' }; } @@ -166,25 +147,20 @@ function internalFormatArray(array, styleFn, _ref6) { objects.add(array); - var result = internalFormatIterator(array.map(value => ({ key: undefined, value })), styleFn, undefined, { padding, depth, maxDepth, objects }, { prefix: '[', suffix: ']', prefixSuffixSpace: '' }); + const result = internalFormatIterator(array.map(function (value) { + return { key: undefined, value }; + }), styleFn, undefined, { padding, depth, maxDepth, objects }, { prefix: '[', suffix: ']', prefixSuffixSpace: '' }); objects.delete(array); return result; } -export default function formatObject(object, styleFn, objectStyles) { - var _ref7 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - - var _ref7$padding = _ref7.padding; - var padding = _ref7$padding === undefined ? ' ' : _ref7$padding; - var _ref7$maxDepth = _ref7.maxDepth; - var maxDepth = _ref7$maxDepth === undefined ? 10 : _ref7$maxDepth; - - var _internalFormatObject = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); - - var result = _internalFormatObject.formattedValue; - +export default function formatObject(object, styleFn, objectStyles, { + padding = ' ', + maxDepth = 10 +} = {}) { + const { formattedValue: result } = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); if (result === '{}') { return ''; diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatObject.js.map b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatObject.js.map index 9840b1123..573b39014 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatObject.js.map +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatObject.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","index","key","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? `,\\n` : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","key","index","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatRecordToString.js b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatRecordToString.js index af254380e..363b42dcc 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatRecordToString.js +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatRecordToString.js @@ -2,8 +2,8 @@ import levelToSymbol from './levelToSymbol'; import levelToStyles from './levelToStyles'; import formatObject from './formatObject'; -export default function formatRecordToString(record, style, options) { - var parts = []; +export default function formatRecordToString(record, style) { + let parts = []; if (record.displayName) { parts.push(style(['gray-light'], record.displayName)); @@ -16,12 +16,12 @@ export default function formatRecordToString(record, style, options) { /* new Date().toFormat('HH24:MI:SS') */ } - var message = record.symbol || levelToSymbol[record.level]; - var styles = record.styles || levelToStyles[record.level]; + let message = record.symbol || levelToSymbol[record.level]; + let styles = record.styles || levelToStyles[record.level]; if (record.message) { if (message) { - message += ` ${ record.message }`; + message += ` ${record.message}`; } else { message = record.message; } @@ -34,12 +34,12 @@ export default function formatRecordToString(record, style, options) { parts.push(message); } - ['metadata', 'extra', 'context'].forEach(key => { + ['metadata', 'extra', 'context'].forEach(function (key) { if (!record[key]) { return; } - var stringObject = formatObject(record[key], style, record[`${ key }Styles`]); + const stringObject = formatObject(record[key], style, record[`${key}Styles`]); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatRecordToString.js.map b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatRecordToString.js.map index 1e05f7470..7ba96bc09 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatRecordToString.js.map +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/formatRecordToString.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","options","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIH,OAAOI,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOI,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIJ,OAAOM,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOM,GAA7B,CAAX;AACD;;AAED,MAAIN,OAAOO,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWJ,wBAAwBD,OAAOO,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUV,OAAOW,MAAP,IAAiBf,cAAcI,OAAOY,KAArB,CAA/B;AACA,MAAIC,SAASb,OAAOa,MAAP,IAAiBhB,cAAcG,OAAOY,KAArB,CAA9B;;AAEA,MAAIZ,OAAOU,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,KAAGV,OAAOU,OAAQ,GAA9B;AACD,KAFD,MAEO;AACLA,gBAAUV,OAAOU,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUT,MAAMY,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACN,OAAOM,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,QAAMS,eAAejB,aAAaE,OAAOM,GAAP,CAAb,EAA0BL,KAA1B,EAAiCD,OAAQ,IAAEM,GAAI,SAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiBd,cAAcI,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiBf,cAAcG,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,IAAGT,OAAOS,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyC,eAAO;AAC9C,QAAI,CAACb,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAehB,aAAaE,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAQ,GAAEK,GAAI,QAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/styleToHtmlStyle.js b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/styleToHtmlStyle.js index 17f508d6d..0f1abf14e 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/styleToHtmlStyle.js +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/styleToHtmlStyle.js @@ -34,8 +34,8 @@ export default { bgCyan: { open: 'background: #00cfd8', close: 'background: initial' }, bgWhite: { open: 'background: white', close: 'background: initial' }, - orange: { open: `color: #${ hexColors.orange }`, close: 'color: initial' }, - grayLight: { open: `color: #${ hexColors.grayLight }`, close: 'color: initial' }, - 'gray-light': { open: `color: #${ hexColors.grayLight }`, close: 'color: initial' } + orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' }, + grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' }, + 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' } }; //# sourceMappingURL=styleToHtmlStyle.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/styleToHtmlStyle.js.map b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/styleToHtmlStyle.js.map index 29c446bbc..099a4c9a2 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/styleToHtmlStyle.js.map +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers-dev/styleToHtmlStyle.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["hexColors","reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,mBAAtB;;AAEA,eAAe;AACb,MAAIC,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,YAAUJ,UAAU2B,MAAO,GAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,YAAUJ,UAAU4B,SAAU,GAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,YAAUJ,UAAU4B,SAAU,GAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,CAAf","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file +{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["hexColors","reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,mBAAtB;;AAEA,eAAe;AACb,MAAIC,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,WAAUJ,UAAU2B,MAAO,EAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,WAAUJ,UAAU4B,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,WAAUJ,UAAU4B,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,CAAf","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers/formatObject.js b/packages/nightingale-formatter/lib-webpack-modern-browsers/formatObject.js index 6a6cee685..4cba43467 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers/formatObject.js +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers/formatObject.js @@ -1,4 +1,4 @@ -/* eslint-disable no-use-before-define */ +/* eslint-disable no-use-before-define, max-lines */ function tryStringify(arg) { try { @@ -8,13 +8,8 @@ function tryStringify(arg) { } } -function internalFormatValue(value, styleFn, styles, _ref) { - var padding = _ref.padding; - var depth = _ref.depth; - var maxDepth = _ref.maxDepth; - var objects = _ref.objects; - - var typeofValue = typeof value; +function internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) { + const typeofValue = typeof value; if (!styles) { if (value == null) { @@ -37,7 +32,7 @@ function internalFormatValue(value, styleFn, styles, _ref) { } } - var stringValue = void 0; + let stringValue; if (value === null) { stringValue = 'null'; } else if (value === undefined) { @@ -62,7 +57,7 @@ function internalFormatValue(value, styleFn, styles, _ref) { stringValue = tryStringify(value); } - var formattedValue = styleFn(styles, stringValue); + const formattedValue = styleFn(styles, stringValue); return { stringValue, @@ -70,40 +65,26 @@ function internalFormatValue(value, styleFn, styles, _ref) { }; } -var separator = ','; - -var internalFormatIterator = (values, styleFn, objectStyles, _ref2, _ref3) => { - var padding = _ref2.padding; - var depth = _ref2.depth; - var maxDepth = _ref2.maxDepth; - var objects = _ref2.objects; - var prefix = _ref3.prefix; - var suffix = _ref3.suffix; - var _ref3$prefixSuffixSpa = _ref3.prefixSuffixSpace; - var prefixSuffixSpace = _ref3$prefixSuffixSpa === undefined ? ' ' : _ref3$prefixSuffixSpa; - - var breakLine = false; - var formattedSeparator = () => styleFn(['gray'], separator); +const separator = ','; - var valuesMaxIndex = values.length - 1; - values = values.map((_ref4, index) => { - var key = _ref4.key; - var value = _ref4.value; +const internalFormatIterator = function internalFormatIterator(values, styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix, suffix, prefixSuffixSpace = ' ' }) { + let breakLine = false; + const formattedSeparator = function formattedSeparator() { + return styleFn(['gray'], separator); + }; + const valuesMaxIndex = values.length - 1; + values = values.map(function ({ key, value }, index) { // key must be formatted before value (browser-formatter needs order) - var formattedKey = key ? `${ styleFn(['gray-light', 'bold'], `${ key }:`) } ` : ''; - - var _internalFormatValue = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); - - var stringValue = _internalFormatValue.stringValue; - var formattedValue = _internalFormatValue.formattedValue; + const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : ''; + let { stringValue, formattedValue } = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\n') !== -1)) { breakLine = true; - stringValue = stringValue.replace(/\n/g, `\n${ padding }`); - formattedValue = formattedValue.replace(/\n/g, `\n${ padding }`); + stringValue = stringValue.replace(/\n/g, `\n${padding}`); + formattedValue = formattedValue.replace(/\n/g, `\n${padding}`); } return { @@ -114,23 +95,26 @@ var internalFormatIterator = (values, styleFn, objectStyles, _ref2, _ref3) => { }); return { - stringValue: prefix + values.map(breakLine ? v => `\n${ padding }${ v.stringValue }` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, + stringValue: prefix + values.map(breakLine ? function (v) { + return `\n${padding}${v.stringValue}`; + } : function (fv) { + return fv.stringValue; + }).join(breakLine ? '\n' : ' ') + suffix, // eslint-disable-next-line prefer-template - formattedValue: `${ prefix }${ breakLine ? '' : prefixSuffixSpace }` + values.map(breakLine ? v => `\n${ padding }${ v.formattedValue }` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${ breakLine ? `,\n` : prefixSuffixSpace }${ suffix }` + formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? function (v) { + return `\n${padding}${v.formattedValue}`; + } : function (v) { + return v.formattedValue; + }).join(breakLine ? '' : ' ') + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}` }; }; -function internalFormatObject(object, styleFn, objectStyles, _ref5) { - var padding = _ref5.padding; - var depth = _ref5.depth; - var maxDepth = _ref5.maxDepth; - var objects = _ref5.objects; - +function internalFormatObject(object, styleFn, objectStyles, { padding, depth, maxDepth, objects }) { if (objects.has(object)) { return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; } - var keys = Object.keys(object); + const keys = Object.keys(object); if (keys.length === 0) { return { stringValue: '{}', @@ -140,19 +124,16 @@ function internalFormatObject(object, styleFn, objectStyles, _ref5) { objects.add(object); - var result = internalFormatIterator(keys.map(key => ({ key, value: object[key] })), styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix: '{', suffix: '}' }); + const result = internalFormatIterator(keys.map(function (key) { + return { key, value: object[key] }; + }), styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix: '{', suffix: '}' }); objects.delete(object); return result; } -function internalFormatArray(array, styleFn, _ref6) { - var padding = _ref6.padding; - var depth = _ref6.depth; - var maxDepth = _ref6.maxDepth; - var objects = _ref6.objects; - +function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) { if (objects.has(array)) { return { stringValue: '{Circular array}', formattedValue: '{Circular array}' }; } @@ -166,25 +147,20 @@ function internalFormatArray(array, styleFn, _ref6) { objects.add(array); - var result = internalFormatIterator(array.map(value => ({ key: undefined, value })), styleFn, undefined, { padding, depth, maxDepth, objects }, { prefix: '[', suffix: ']', prefixSuffixSpace: '' }); + const result = internalFormatIterator(array.map(function (value) { + return { key: undefined, value }; + }), styleFn, undefined, { padding, depth, maxDepth, objects }, { prefix: '[', suffix: ']', prefixSuffixSpace: '' }); objects.delete(array); return result; } -export default function formatObject(object, styleFn, objectStyles) { - var _ref7 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - - var _ref7$padding = _ref7.padding; - var padding = _ref7$padding === undefined ? ' ' : _ref7$padding; - var _ref7$maxDepth = _ref7.maxDepth; - var maxDepth = _ref7$maxDepth === undefined ? 10 : _ref7$maxDepth; - - var _internalFormatObject = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); - - var result = _internalFormatObject.formattedValue; - +export default function formatObject(object, styleFn, objectStyles, { + padding = ' ', + maxDepth = 10 +} = {}) { + const { formattedValue: result } = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); if (result === '{}') { return ''; diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers/formatObject.js.map b/packages/nightingale-formatter/lib-webpack-modern-browsers/formatObject.js.map index 9840b1123..573b39014 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers/formatObject.js.map +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers/formatObject.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","index","key","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? `,\\n` : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","key","index","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers/formatRecordToString.js b/packages/nightingale-formatter/lib-webpack-modern-browsers/formatRecordToString.js index af254380e..363b42dcc 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers/formatRecordToString.js +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers/formatRecordToString.js @@ -2,8 +2,8 @@ import levelToSymbol from './levelToSymbol'; import levelToStyles from './levelToStyles'; import formatObject from './formatObject'; -export default function formatRecordToString(record, style, options) { - var parts = []; +export default function formatRecordToString(record, style) { + let parts = []; if (record.displayName) { parts.push(style(['gray-light'], record.displayName)); @@ -16,12 +16,12 @@ export default function formatRecordToString(record, style, options) { /* new Date().toFormat('HH24:MI:SS') */ } - var message = record.symbol || levelToSymbol[record.level]; - var styles = record.styles || levelToStyles[record.level]; + let message = record.symbol || levelToSymbol[record.level]; + let styles = record.styles || levelToStyles[record.level]; if (record.message) { if (message) { - message += ` ${ record.message }`; + message += ` ${record.message}`; } else { message = record.message; } @@ -34,12 +34,12 @@ export default function formatRecordToString(record, style, options) { parts.push(message); } - ['metadata', 'extra', 'context'].forEach(key => { + ['metadata', 'extra', 'context'].forEach(function (key) { if (!record[key]) { return; } - var stringObject = formatObject(record[key], style, record[`${ key }Styles`]); + const stringObject = formatObject(record[key], style, record[`${key}Styles`]); if (!stringObject) { return; diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers/formatRecordToString.js.map b/packages/nightingale-formatter/lib-webpack-modern-browsers/formatRecordToString.js.map index 1e05f7470..7ba96bc09 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers/formatRecordToString.js.map +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers/formatRecordToString.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","options","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIH,OAAOI,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOI,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIJ,OAAOM,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOM,GAA7B,CAAX;AACD;;AAED,MAAIN,OAAOO,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWJ,wBAAwBD,OAAOO,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUV,OAAOW,MAAP,IAAiBf,cAAcI,OAAOY,KAArB,CAA/B;AACA,MAAIC,SAASb,OAAOa,MAAP,IAAiBhB,cAAcG,OAAOY,KAArB,CAA9B;;AAEA,MAAIZ,OAAOU,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,KAAGV,OAAOU,OAAQ,GAA9B;AACD,KAFD,MAEO;AACLA,gBAAUV,OAAOU,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUT,MAAMY,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACN,OAAOM,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,QAAMS,eAAejB,aAAaE,OAAOM,GAAP,CAAb,EAA0BL,KAA1B,EAAiCD,OAAQ,IAAEM,GAAI,SAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiBd,cAAcI,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiBf,cAAcG,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,IAAGT,OAAOS,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyC,eAAO;AAC9C,QAAI,CAACb,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAehB,aAAaE,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAQ,GAAEK,GAAI,QAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers/styleToHtmlStyle.js b/packages/nightingale-formatter/lib-webpack-modern-browsers/styleToHtmlStyle.js index 17f508d6d..0f1abf14e 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers/styleToHtmlStyle.js +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers/styleToHtmlStyle.js @@ -34,8 +34,8 @@ export default { bgCyan: { open: 'background: #00cfd8', close: 'background: initial' }, bgWhite: { open: 'background: white', close: 'background: initial' }, - orange: { open: `color: #${ hexColors.orange }`, close: 'color: initial' }, - grayLight: { open: `color: #${ hexColors.grayLight }`, close: 'color: initial' }, - 'gray-light': { open: `color: #${ hexColors.grayLight }`, close: 'color: initial' } + orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' }, + grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' }, + 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' } }; //# sourceMappingURL=styleToHtmlStyle.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-modern-browsers/styleToHtmlStyle.js.map b/packages/nightingale-formatter/lib-webpack-modern-browsers/styleToHtmlStyle.js.map index 29c446bbc..099a4c9a2 100644 --- a/packages/nightingale-formatter/lib-webpack-modern-browsers/styleToHtmlStyle.js.map +++ b/packages/nightingale-formatter/lib-webpack-modern-browsers/styleToHtmlStyle.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["hexColors","reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,mBAAtB;;AAEA,eAAe;AACb,MAAIC,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,YAAUJ,UAAU2B,MAAO,GAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,YAAUJ,UAAU4B,SAAU,GAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,YAAUJ,UAAU4B,SAAU,GAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,CAAf","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file +{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["hexColors","reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,mBAAtB;;AAEA,eAAe;AACb,MAAIC,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,WAAUJ,UAAU2B,MAAO,EAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,WAAUJ,UAAU4B,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,WAAUJ,UAAU4B,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,CAAf","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/formatObject.js b/packages/nightingale-formatter/lib-webpack-node7-dev/formatObject.js new file mode 100644 index 000000000..9dd5774ef --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/formatObject.js @@ -0,0 +1,157 @@ +/* eslint-disable no-use-before-define, max-lines */ + +function tryStringify(arg) { + try { + return JSON.stringify(arg); + } catch (_) { + return '[Circular]'; + } +} + +function internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) { + const typeofValue = typeof value; + + if (!styles) { + if (value == null) { + styles = ['cyan']; + } else { + switch (typeofValue) { + case 'boolean': + styles = ['green']; + break; + case 'number': + styles = ['yellow']; + break; + case 'string': + styles = ['orange']; + break; + case 'date': + styles = ['magenta']; + break; + } + } + } + + let stringValue; + if (value === null) { + stringValue = 'null'; + } else if (value === undefined) { + stringValue = 'undefined'; + } else if (typeofValue === 'boolean') { + stringValue = value.toString(); + } else if (value.constructor === Object) { + if (depth >= maxDepth) { + stringValue = '{object...}'; + } else { + return internalFormatObject(value, styleFn, undefined, { padding, depth: depth + 1, maxDepth, objects }); + } + } else if (Array.isArray(value)) { + if (depth >= maxDepth) { + stringValue = '[array...]'; + } else { + return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects }); + } + } else if (value instanceof Error) { + stringValue = value.stack || value.message || ''; + } else { + stringValue = tryStringify(value); + } + + const formattedValue = styleFn(styles, stringValue); + + return { + stringValue, + formattedValue + }; +} + +const separator = ','; + +const internalFormatIterator = (values, styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix, suffix, prefixSuffixSpace = ' ' }) => { + let breakLine = false; + const formattedSeparator = () => styleFn(['gray'], separator); + + const valuesMaxIndex = values.length - 1; + values = values.map(({ key, value }, index) => { + + // key must be formatted before value (browser-formatter needs order) + const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : ''; + + let { stringValue, formattedValue } = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); + + if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\n') !== -1)) { + breakLine = true; + stringValue = stringValue.replace(/\n/g, `\n${padding}`); + formattedValue = formattedValue.replace(/\n/g, `\n${padding}`); + } + + return { + stringValue: stringValue + (index === valuesMaxIndex ? '' : separator), + // eslint-disable-next-line no-useless-concat + formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()) + }; + }); + + return { + stringValue: prefix + values.map(breakLine ? v => `\n${padding}${v.stringValue}` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, + // eslint-disable-next-line prefer-template + formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? v => `\n${padding}${v.formattedValue}` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}` + }; +}; + +function internalFormatObject(object, styleFn, objectStyles, { padding, depth, maxDepth, objects }) { + if (objects.has(object)) { + return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; + } + + const keys = Object.keys(object); + if (keys.length === 0) { + return { + stringValue: '{}', + formattedValue: '{}' + }; + } + + objects.add(object); + + const result = internalFormatIterator(keys.map(key => ({ key, value: object[key] })), styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix: '{', suffix: '}' }); + + objects.delete(object); + + return result; +} + +function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) { + if (objects.has(array)) { + return { stringValue: '{Circular array}', formattedValue: '{Circular array}' }; + } + + if (array.length === 0) { + return { + stringValue: '[]', + formattedValue: '[]' + }; + } + + objects.add(array); + + const result = internalFormatIterator(array.map(value => ({ key: undefined, value })), styleFn, undefined, { padding, depth, maxDepth, objects }, { prefix: '[', suffix: ']', prefixSuffixSpace: '' }); + + objects.delete(array); + + return result; +} + +export default function formatObject(object, styleFn, objectStyles, { + padding = ' ', + maxDepth = 10 +} = {}) { + const { formattedValue: result } = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); + + if (result === '{}') { + return ''; + } + + return result; +} +//# sourceMappingURL=formatObject.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/formatObject.js.map b/packages/nightingale-formatter/lib-webpack-node7-dev/formatObject.js.map new file mode 100644 index 000000000..b61b37fcd --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/formatObject.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","key","index","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/formatRecordToString.js b/packages/nightingale-formatter/lib-webpack-node7-dev/formatRecordToString.js new file mode 100644 index 000000000..45fefae47 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/formatRecordToString.js @@ -0,0 +1,53 @@ +import levelToSymbol from './levelToSymbol'; +import levelToStyles from './levelToStyles'; +import formatObject from './formatObject'; + +export default function formatRecordToString(record, style) { + let parts = []; + + if (record.displayName) { + parts.push(style(['gray-light'], record.displayName)); + } else if (record.key) { + parts.push(style(['gray-light'], record.key)); + } + + if (record.datetime) { + parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0])); + /* new Date().toFormat('HH24:MI:SS') */ + } + + let message = record.symbol || levelToSymbol[record.level]; + let styles = record.styles || levelToStyles[record.level]; + + if (record.message) { + if (message) { + message += ` ${record.message}`; + } else { + message = record.message; + } + } + + if (message) { + if (styles) { + message = style(styles, message); + } + parts.push(message); + } + + ['metadata', 'extra', 'context'].forEach(key => { + if (!record[key]) { + return; + } + + const stringObject = formatObject(record[key], style, record[`${key}Styles`]); + + if (!stringObject) { + return; + } + + parts.push(stringObject); + }); + + return parts.join(' '); +} +//# sourceMappingURL=formatRecordToString.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/formatRecordToString.js.map b/packages/nightingale-formatter/lib-webpack-node7-dev/formatRecordToString.js.map new file mode 100644 index 000000000..ccc185b0d --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/formatRecordToString.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiBd,cAAcI,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiBf,cAAcG,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,IAAGT,OAAOS,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACL,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAehB,aAAaE,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAQ,GAAEK,GAAI,QAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/index.js b/packages/nightingale-formatter/lib-webpack-node7-dev/index.js new file mode 100644 index 000000000..f1a2db80e --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/index.js @@ -0,0 +1,13 @@ +import _levelToStyles from './levelToStyles'; +export { _levelToStyles as levelToStyles }; +import _levelToSymbol from './levelToSymbol'; +export { _levelToSymbol as levelToSymbol }; +import _styleToHtmlStyle from './styleToHtmlStyle'; +export { _styleToHtmlStyle as styleToHtmlStyle }; +import _styleToHexColor from './styleToHexColor'; +export { _styleToHexColor as styleToHexColor }; +import _formatObject from './formatObject'; +export { _formatObject as formatObject }; +import _formatRecordToString from './formatRecordToString'; +export { _formatRecordToString as formatRecordToString }; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/index.js.map b/packages/nightingale-formatter/lib-webpack-node7-dev/index.js.map new file mode 100644 index 000000000..d64ee4f38 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.js"],"names":["levelToStyles","levelToSymbol","styleToHtmlStyle","styleToHexColor","formatObject","formatRecordToString"],"mappings":"2BAA0B,iB;2BAAnBA,a;2BACmB,iB;2BAAnBC,a;8BACsB,oB;8BAAtBC,gB;6BACqB,mB;6BAArBC,e;0BACkB,gB;0BAAlBC,Y;kCAC0B,wB;kCAA1BC,oB","file":"index.js","sourcesContent":["export levelToStyles from './levelToStyles';\nexport levelToSymbol from './levelToSymbol';\nexport styleToHtmlStyle from './styleToHtmlStyle';\nexport styleToHexColor from './styleToHexColor';\nexport formatObject from './formatObject';\nexport formatRecordToString from './formatRecordToString';\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/levelToStyles.js b/packages/nightingale-formatter/lib-webpack-node7-dev/levelToStyles.js new file mode 100644 index 000000000..47ea232c8 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/levelToStyles.js @@ -0,0 +1,13 @@ +import levels from 'nightingale-levels'; + +export default { + [levels.TRACE]: ['gray'], + [levels.DEBUG]: ['gray'], + // [levels.INFO]: ['gray'], + [levels.WARN]: ['yellow'], + [levels.ERROR]: ['red', 'bold'], + [levels.CRITICAL]: ['red', 'bold'], + [levels.FATAL]: ['bgRed', 'white'], + [levels.EMERGENCY]: ['bgRed', 'white'] +}; +//# sourceMappingURL=levelToStyles.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/levelToStyles.js.map b/packages/nightingale-formatter/lib-webpack-node7-dev/levelToStyles.js.map new file mode 100644 index 000000000..222dfc1f9 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/levelToStyles.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/levelToStyles.js"],"names":["levels","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,oBAAnB;;AAEA,eAAe;AACb,GAACA,OAAOC,KAAR,WADa;AAEb,GAACD,OAAOE,KAAR,WAFa;AAGb;AACA,GAACF,OAAOG,IAAR,aAJa;AAKb,GAACH,OAAOI,KAAR,kBALa;AAMb,GAACJ,OAAOK,QAAR,kBANa;AAOb,GAACL,OAAOM,KAAR,qBAPa;AAQb,GAACN,OAAOO,SAAR;AARa,CAAf","file":"levelToStyles.js","sourcesContent":["import levels from 'nightingale-levels';\n\nexport default {\n [levels.TRACE]: ['gray'],\n [levels.DEBUG]: ['gray'],\n // [levels.INFO]: ['gray'],\n [levels.WARN]: ['yellow'],\n [levels.ERROR]: ['red', 'bold'],\n [levels.CRITICAL]: ['red', 'bold'],\n [levels.FATAL]: ['bgRed', 'white'],\n [levels.EMERGENCY]: ['bgRed', 'white'],\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/levelToSymbol.js b/packages/nightingale-formatter/lib-webpack-node7-dev/levelToSymbol.js new file mode 100644 index 000000000..974b6da2d --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/levelToSymbol.js @@ -0,0 +1,13 @@ +import levels from 'nightingale-levels'; + +export default { + [levels.TRACE]: '•', + [levels.DEBUG]: '•', + [levels.INFO]: '→', + [levels.WARN]: '⚠', + [levels.ERROR]: '✖', + [levels.CRITICAL]: '!', + [levels.FATAL]: '‼', + [levels.EMERGENCY]: '‼' +}; +//# sourceMappingURL=levelToSymbol.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/levelToSymbol.js.map b/packages/nightingale-formatter/lib-webpack-node7-dev/levelToSymbol.js.map new file mode 100644 index 000000000..8216f425e --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/levelToSymbol.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/levelToSymbol.js"],"names":["levels","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,oBAAnB;;AAEA,eAAe;AACb,GAACA,OAAOC,KAAR,GAAgB,GADH;AAEb,GAACD,OAAOE,KAAR,GAAgB,GAFH;AAGb,GAACF,OAAOG,IAAR,GAAe,GAHF;AAIb,GAACH,OAAOI,IAAR,GAAe,GAJF;AAKb,GAACJ,OAAOK,KAAR,GAAgB,GALH;AAMb,GAACL,OAAOM,QAAR,GAAmB,GANN;AAOb,GAACN,OAAOO,KAAR,GAAgB,GAPH;AAQb,GAACP,OAAOQ,SAAR,GAAoB;AARP,CAAf","file":"levelToSymbol.js","sourcesContent":["import levels from 'nightingale-levels';\n\nexport default {\n [levels.TRACE]: '•',\n [levels.DEBUG]: '•',\n [levels.INFO]: '→',\n [levels.WARN]: '⚠',\n [levels.ERROR]: '✖',\n [levels.CRITICAL]: '!',\n [levels.FATAL]: '‼',\n [levels.EMERGENCY]: '‼',\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHexColor.js b/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHexColor.js new file mode 100644 index 000000000..d743f6706 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHexColor.js @@ -0,0 +1,6 @@ +export default { + orange: 'ff5f00', + grayLight: '808080', + 'gray-light': '808080' +}; +//# sourceMappingURL=styleToHexColor.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHexColor.js.map b/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHexColor.js.map new file mode 100644 index 000000000..ef95d3186 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHexColor.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/styleToHexColor.js"],"names":["orange","grayLight"],"mappings":"AAAA,eAAe;AACbA,UAAQ,QADK;AAEbC,aAAW,QAFE;AAGb,gBAAc;AAHD,CAAf","file":"styleToHexColor.js","sourcesContent":["export default {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHtmlStyle.js b/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHtmlStyle.js new file mode 100644 index 000000000..0f1abf14e --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHtmlStyle.js @@ -0,0 +1,41 @@ +import hexColors from './styleToHexColor'; + +export default { + get reset() { + throw new Error(); + }, + + // text style + bold: { open: 'font-weight: bold', close: 'font-weight: normal' }, + italic: { open: 'font-style: italic', close: 'font-style: normal' }, + underline: { open: 'text-decoration: underline', close: 'text-decoration: none' }, + inverse: { + open: 'unicode-bidi: bidi-override; direction: rtl', + close: 'unicode-bidi: normal; direction: ltr' + }, + strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' }, + + black: { open: 'color: black', close: 'color: initial' }, + red: { open: 'color: #ff0020', close: 'color: initial' }, + green: { open: 'color: #00b317', close: 'color: initial' }, + yellow: { open: 'color: #ffcc00', close: 'color: initial' }, + blue: { open: 'color: #00a0ff', close: 'color: initial' }, + magenta: { open: 'color: #ff00a0', close: 'color: initial' }, + cyan: { open: 'color: #00cfd8', close: 'color: initial' }, + white: { open: 'color: white', close: 'color: initial' }, + gray: { open: 'color: gray', close: 'color: initial' }, + + bgBlack: { open: 'background: black', close: 'background: initial' }, + bgRed: { open: 'background: #ff0020', close: 'background: initial' }, + bgGreen: { open: 'background: #00b317', close: 'background: initial' }, + bgYellow: { open: 'background: #ffcc00', close: 'background: initial' }, + bgBlue: { open: 'background: #00a0ff', close: 'background: initial' }, + bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' }, + bgCyan: { open: 'background: #00cfd8', close: 'background: initial' }, + bgWhite: { open: 'background: white', close: 'background: initial' }, + + orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' }, + grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' }, + 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' } +}; +//# sourceMappingURL=styleToHtmlStyle.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHtmlStyle.js.map b/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHtmlStyle.js.map new file mode 100644 index 000000000..099a4c9a2 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7-dev/styleToHtmlStyle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["hexColors","reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,mBAAtB;;AAEA,eAAe;AACb,MAAIC,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,WAAUJ,UAAU2B,MAAO,EAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,WAAUJ,UAAU4B,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,WAAUJ,UAAU4B,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,CAAf","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/formatObject.js b/packages/nightingale-formatter/lib-webpack-node7/formatObject.js new file mode 100644 index 000000000..9dd5774ef --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/formatObject.js @@ -0,0 +1,157 @@ +/* eslint-disable no-use-before-define, max-lines */ + +function tryStringify(arg) { + try { + return JSON.stringify(arg); + } catch (_) { + return '[Circular]'; + } +} + +function internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) { + const typeofValue = typeof value; + + if (!styles) { + if (value == null) { + styles = ['cyan']; + } else { + switch (typeofValue) { + case 'boolean': + styles = ['green']; + break; + case 'number': + styles = ['yellow']; + break; + case 'string': + styles = ['orange']; + break; + case 'date': + styles = ['magenta']; + break; + } + } + } + + let stringValue; + if (value === null) { + stringValue = 'null'; + } else if (value === undefined) { + stringValue = 'undefined'; + } else if (typeofValue === 'boolean') { + stringValue = value.toString(); + } else if (value.constructor === Object) { + if (depth >= maxDepth) { + stringValue = '{object...}'; + } else { + return internalFormatObject(value, styleFn, undefined, { padding, depth: depth + 1, maxDepth, objects }); + } + } else if (Array.isArray(value)) { + if (depth >= maxDepth) { + stringValue = '[array...]'; + } else { + return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects }); + } + } else if (value instanceof Error) { + stringValue = value.stack || value.message || ''; + } else { + stringValue = tryStringify(value); + } + + const formattedValue = styleFn(styles, stringValue); + + return { + stringValue, + formattedValue + }; +} + +const separator = ','; + +const internalFormatIterator = (values, styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix, suffix, prefixSuffixSpace = ' ' }) => { + let breakLine = false; + const formattedSeparator = () => styleFn(['gray'], separator); + + const valuesMaxIndex = values.length - 1; + values = values.map(({ key, value }, index) => { + + // key must be formatted before value (browser-formatter needs order) + const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : ''; + + let { stringValue, formattedValue } = internalFormatValue(value, styleFn, key && objectStyles && objectStyles[key], { padding, depth: depth + 1, maxDepth, objects }); + + if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\n') !== -1)) { + breakLine = true; + stringValue = stringValue.replace(/\n/g, `\n${padding}`); + formattedValue = formattedValue.replace(/\n/g, `\n${padding}`); + } + + return { + stringValue: stringValue + (index === valuesMaxIndex ? '' : separator), + // eslint-disable-next-line no-useless-concat + formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()) + }; + }); + + return { + stringValue: prefix + values.map(breakLine ? v => `\n${padding}${v.stringValue}` : fv => fv.stringValue).join(breakLine ? '\n' : ' ') + suffix, + // eslint-disable-next-line prefer-template + formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? v => `\n${padding}${v.formattedValue}` : v => v.formattedValue).join(breakLine ? '' : ' ') + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}` + }; +}; + +function internalFormatObject(object, styleFn, objectStyles, { padding, depth, maxDepth, objects }) { + if (objects.has(object)) { + return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; + } + + const keys = Object.keys(object); + if (keys.length === 0) { + return { + stringValue: '{}', + formattedValue: '{}' + }; + } + + objects.add(object); + + const result = internalFormatIterator(keys.map(key => ({ key, value: object[key] })), styleFn, objectStyles, { padding, depth, maxDepth, objects }, { prefix: '{', suffix: '}' }); + + objects.delete(object); + + return result; +} + +function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) { + if (objects.has(array)) { + return { stringValue: '{Circular array}', formattedValue: '{Circular array}' }; + } + + if (array.length === 0) { + return { + stringValue: '[]', + formattedValue: '[]' + }; + } + + objects.add(array); + + const result = internalFormatIterator(array.map(value => ({ key: undefined, value })), styleFn, undefined, { padding, depth, maxDepth, objects }, { prefix: '[', suffix: ']', prefixSuffixSpace: '' }); + + objects.delete(array); + + return result; +} + +export default function formatObject(object, styleFn, objectStyles, { + padding = ' ', + maxDepth = 10 +} = {}) { + const { formattedValue: result } = internalFormatObject(object, styleFn, objectStyles, { padding, maxDepth, depth: 0, objects: new Set() }); + + if (result === '{}') { + return ''; + } + + return result; +} +//# sourceMappingURL=formatObject.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/formatObject.js.map b/packages/nightingale-formatter/lib-webpack-node7/formatObject.js.map new file mode 100644 index 000000000..b61b37fcd --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/formatObject.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","key","index","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/formatRecordToString.js b/packages/nightingale-formatter/lib-webpack-node7/formatRecordToString.js new file mode 100644 index 000000000..45fefae47 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/formatRecordToString.js @@ -0,0 +1,53 @@ +import levelToSymbol from './levelToSymbol'; +import levelToStyles from './levelToStyles'; +import formatObject from './formatObject'; + +export default function formatRecordToString(record, style) { + let parts = []; + + if (record.displayName) { + parts.push(style(['gray-light'], record.displayName)); + } else if (record.key) { + parts.push(style(['gray-light'], record.key)); + } + + if (record.datetime) { + parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0])); + /* new Date().toFormat('HH24:MI:SS') */ + } + + let message = record.symbol || levelToSymbol[record.level]; + let styles = record.styles || levelToStyles[record.level]; + + if (record.message) { + if (message) { + message += ` ${record.message}`; + } else { + message = record.message; + } + } + + if (message) { + if (styles) { + message = style(styles, message); + } + parts.push(message); + } + + ['metadata', 'extra', 'context'].forEach(key => { + if (!record[key]) { + return; + } + + const stringObject = formatObject(record[key], style, record[`${key}Styles`]); + + if (!stringObject) { + return; + } + + parts.push(stringObject); + }); + + return parts.join(' '); +} +//# sourceMappingURL=formatRecordToString.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/formatRecordToString.js.map b/packages/nightingale-formatter/lib-webpack-node7/formatRecordToString.js.map new file mode 100644 index 000000000..ccc185b0d --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/formatRecordToString.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiBd,cAAcI,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiBf,cAAcG,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,iBAAY,IAAGT,OAAOS,OAAQ,EAA9B;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyCR,OAAO;AAC9C,QAAI,CAACL,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,UAAMS,eAAehB,aAAaE,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAQ,GAAEK,GAAI,QAAd,CAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/index.js b/packages/nightingale-formatter/lib-webpack-node7/index.js new file mode 100644 index 000000000..f1a2db80e --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/index.js @@ -0,0 +1,13 @@ +import _levelToStyles from './levelToStyles'; +export { _levelToStyles as levelToStyles }; +import _levelToSymbol from './levelToSymbol'; +export { _levelToSymbol as levelToSymbol }; +import _styleToHtmlStyle from './styleToHtmlStyle'; +export { _styleToHtmlStyle as styleToHtmlStyle }; +import _styleToHexColor from './styleToHexColor'; +export { _styleToHexColor as styleToHexColor }; +import _formatObject from './formatObject'; +export { _formatObject as formatObject }; +import _formatRecordToString from './formatRecordToString'; +export { _formatRecordToString as formatRecordToString }; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/index.js.map b/packages/nightingale-formatter/lib-webpack-node7/index.js.map new file mode 100644 index 000000000..d64ee4f38 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.js"],"names":["levelToStyles","levelToSymbol","styleToHtmlStyle","styleToHexColor","formatObject","formatRecordToString"],"mappings":"2BAA0B,iB;2BAAnBA,a;2BACmB,iB;2BAAnBC,a;8BACsB,oB;8BAAtBC,gB;6BACqB,mB;6BAArBC,e;0BACkB,gB;0BAAlBC,Y;kCAC0B,wB;kCAA1BC,oB","file":"index.js","sourcesContent":["export levelToStyles from './levelToStyles';\nexport levelToSymbol from './levelToSymbol';\nexport styleToHtmlStyle from './styleToHtmlStyle';\nexport styleToHexColor from './styleToHexColor';\nexport formatObject from './formatObject';\nexport formatRecordToString from './formatRecordToString';\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/levelToStyles.js b/packages/nightingale-formatter/lib-webpack-node7/levelToStyles.js new file mode 100644 index 000000000..47ea232c8 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/levelToStyles.js @@ -0,0 +1,13 @@ +import levels from 'nightingale-levels'; + +export default { + [levels.TRACE]: ['gray'], + [levels.DEBUG]: ['gray'], + // [levels.INFO]: ['gray'], + [levels.WARN]: ['yellow'], + [levels.ERROR]: ['red', 'bold'], + [levels.CRITICAL]: ['red', 'bold'], + [levels.FATAL]: ['bgRed', 'white'], + [levels.EMERGENCY]: ['bgRed', 'white'] +}; +//# sourceMappingURL=levelToStyles.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/levelToStyles.js.map b/packages/nightingale-formatter/lib-webpack-node7/levelToStyles.js.map new file mode 100644 index 000000000..222dfc1f9 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/levelToStyles.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/levelToStyles.js"],"names":["levels","TRACE","DEBUG","WARN","ERROR","CRITICAL","FATAL","EMERGENCY"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,oBAAnB;;AAEA,eAAe;AACb,GAACA,OAAOC,KAAR,WADa;AAEb,GAACD,OAAOE,KAAR,WAFa;AAGb;AACA,GAACF,OAAOG,IAAR,aAJa;AAKb,GAACH,OAAOI,KAAR,kBALa;AAMb,GAACJ,OAAOK,QAAR,kBANa;AAOb,GAACL,OAAOM,KAAR,qBAPa;AAQb,GAACN,OAAOO,SAAR;AARa,CAAf","file":"levelToStyles.js","sourcesContent":["import levels from 'nightingale-levels';\n\nexport default {\n [levels.TRACE]: ['gray'],\n [levels.DEBUG]: ['gray'],\n // [levels.INFO]: ['gray'],\n [levels.WARN]: ['yellow'],\n [levels.ERROR]: ['red', 'bold'],\n [levels.CRITICAL]: ['red', 'bold'],\n [levels.FATAL]: ['bgRed', 'white'],\n [levels.EMERGENCY]: ['bgRed', 'white'],\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/levelToSymbol.js b/packages/nightingale-formatter/lib-webpack-node7/levelToSymbol.js new file mode 100644 index 000000000..974b6da2d --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/levelToSymbol.js @@ -0,0 +1,13 @@ +import levels from 'nightingale-levels'; + +export default { + [levels.TRACE]: '•', + [levels.DEBUG]: '•', + [levels.INFO]: '→', + [levels.WARN]: '⚠', + [levels.ERROR]: '✖', + [levels.CRITICAL]: '!', + [levels.FATAL]: '‼', + [levels.EMERGENCY]: '‼' +}; +//# sourceMappingURL=levelToSymbol.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/levelToSymbol.js.map b/packages/nightingale-formatter/lib-webpack-node7/levelToSymbol.js.map new file mode 100644 index 000000000..8216f425e --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/levelToSymbol.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/levelToSymbol.js"],"names":["levels","TRACE","DEBUG","INFO","WARN","ERROR","CRITICAL","FATAL","EMERGENCY"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,oBAAnB;;AAEA,eAAe;AACb,GAACA,OAAOC,KAAR,GAAgB,GADH;AAEb,GAACD,OAAOE,KAAR,GAAgB,GAFH;AAGb,GAACF,OAAOG,IAAR,GAAe,GAHF;AAIb,GAACH,OAAOI,IAAR,GAAe,GAJF;AAKb,GAACJ,OAAOK,KAAR,GAAgB,GALH;AAMb,GAACL,OAAOM,QAAR,GAAmB,GANN;AAOb,GAACN,OAAOO,KAAR,GAAgB,GAPH;AAQb,GAACP,OAAOQ,SAAR,GAAoB;AARP,CAAf","file":"levelToSymbol.js","sourcesContent":["import levels from 'nightingale-levels';\n\nexport default {\n [levels.TRACE]: '•',\n [levels.DEBUG]: '•',\n [levels.INFO]: '→',\n [levels.WARN]: '⚠',\n [levels.ERROR]: '✖',\n [levels.CRITICAL]: '!',\n [levels.FATAL]: '‼',\n [levels.EMERGENCY]: '‼',\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/styleToHexColor.js b/packages/nightingale-formatter/lib-webpack-node7/styleToHexColor.js new file mode 100644 index 000000000..d743f6706 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/styleToHexColor.js @@ -0,0 +1,6 @@ +export default { + orange: 'ff5f00', + grayLight: '808080', + 'gray-light': '808080' +}; +//# sourceMappingURL=styleToHexColor.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/styleToHexColor.js.map b/packages/nightingale-formatter/lib-webpack-node7/styleToHexColor.js.map new file mode 100644 index 000000000..ef95d3186 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/styleToHexColor.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/styleToHexColor.js"],"names":["orange","grayLight"],"mappings":"AAAA,eAAe;AACbA,UAAQ,QADK;AAEbC,aAAW,QAFE;AAGb,gBAAc;AAHD,CAAf","file":"styleToHexColor.js","sourcesContent":["export default {\n orange: 'ff5f00',\n grayLight: '808080',\n 'gray-light': '808080',\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/styleToHtmlStyle.js b/packages/nightingale-formatter/lib-webpack-node7/styleToHtmlStyle.js new file mode 100644 index 000000000..0f1abf14e --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/styleToHtmlStyle.js @@ -0,0 +1,41 @@ +import hexColors from './styleToHexColor'; + +export default { + get reset() { + throw new Error(); + }, + + // text style + bold: { open: 'font-weight: bold', close: 'font-weight: normal' }, + italic: { open: 'font-style: italic', close: 'font-style: normal' }, + underline: { open: 'text-decoration: underline', close: 'text-decoration: none' }, + inverse: { + open: 'unicode-bidi: bidi-override; direction: rtl', + close: 'unicode-bidi: normal; direction: ltr' + }, + strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' }, + + black: { open: 'color: black', close: 'color: initial' }, + red: { open: 'color: #ff0020', close: 'color: initial' }, + green: { open: 'color: #00b317', close: 'color: initial' }, + yellow: { open: 'color: #ffcc00', close: 'color: initial' }, + blue: { open: 'color: #00a0ff', close: 'color: initial' }, + magenta: { open: 'color: #ff00a0', close: 'color: initial' }, + cyan: { open: 'color: #00cfd8', close: 'color: initial' }, + white: { open: 'color: white', close: 'color: initial' }, + gray: { open: 'color: gray', close: 'color: initial' }, + + bgBlack: { open: 'background: black', close: 'background: initial' }, + bgRed: { open: 'background: #ff0020', close: 'background: initial' }, + bgGreen: { open: 'background: #00b317', close: 'background: initial' }, + bgYellow: { open: 'background: #ffcc00', close: 'background: initial' }, + bgBlue: { open: 'background: #00a0ff', close: 'background: initial' }, + bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' }, + bgCyan: { open: 'background: #00cfd8', close: 'background: initial' }, + bgWhite: { open: 'background: white', close: 'background: initial' }, + + orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' }, + grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' }, + 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' } +}; +//# sourceMappingURL=styleToHtmlStyle.js.map \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack-node7/styleToHtmlStyle.js.map b/packages/nightingale-formatter/lib-webpack-node7/styleToHtmlStyle.js.map new file mode 100644 index 000000000..099a4c9a2 --- /dev/null +++ b/packages/nightingale-formatter/lib-webpack-node7/styleToHtmlStyle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/styleToHtmlStyle.js"],"names":["hexColors","reset","Error","bold","open","close","italic","underline","inverse","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","orange","grayLight"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,mBAAtB;;AAEA,eAAe;AACb,MAAIC,KAAJ,GAAY;AACV,UAAM,IAAIC,KAAJ,EAAN;AACD,GAHY;;AAKb;AACAC,QAAM,EAAEC,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EANO;AAObC,UAAQ,EAAEF,MAAM,oBAAR,EAA8BC,OAAO,oBAArC,EAPK;AAQbE,aAAW,EAAEH,MAAM,4BAAR,EAAsCC,OAAO,uBAA7C,EARE;AASbG,WAAS;AACPJ,UAAM,6CADC;AAEPC,WAAO;AAFA,GATI;AAabI,iBAAe,EAAEL,MAAM,+BAAR,EAAyCC,OAAO,uBAAhD,EAbF;;AAebK,SAAO,EAAEN,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAfM;AAgBbM,OAAK,EAAEP,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAhBQ;AAiBbO,SAAO,EAAER,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAjBM;AAkBbQ,UAAQ,EAAET,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAlBK;AAmBbS,QAAM,EAAEV,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EAnBO;AAoBbU,WAAS,EAAEX,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EApBI;AAqBbW,QAAM,EAAEZ,MAAM,gBAAR,EAA0BC,OAAO,gBAAjC,EArBO;AAsBbY,SAAO,EAAEb,MAAM,cAAR,EAAwBC,OAAO,gBAA/B,EAtBM;AAuBba,QAAM,EAAEd,MAAM,aAAR,EAAuBC,OAAO,gBAA9B,EAvBO;;AAyBbc,WAAS,EAAEf,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAzBI;AA0Bbe,SAAO,EAAEhB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA1BM;AA2BbgB,WAAS,EAAEjB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA3BI;AA4BbiB,YAAU,EAAElB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA5BG;AA6BbkB,UAAQ,EAAEnB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA7BK;AA8BbmB,aAAW,EAAEpB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA9BE;AA+BboB,UAAQ,EAAErB,MAAM,qBAAR,EAA+BC,OAAO,qBAAtC,EA/BK;AAgCbqB,WAAS,EAAEtB,MAAM,mBAAR,EAA6BC,OAAO,qBAApC,EAhCI;;AAkCbsB,UAAQ,EAAEvB,MAAO,WAAUJ,UAAU2B,MAAO,EAApC,EAAuCtB,OAAO,gBAA9C,EAlCK;AAmCbuB,aAAW,EAAExB,MAAO,WAAUJ,UAAU4B,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD,EAnCE;AAoCb,gBAAc,EAAED,MAAO,WAAUJ,UAAU4B,SAAU,EAAvC,EAA0CvB,OAAO,gBAAjD;AApCD,CAAf","file":"styleToHtmlStyle.js","sourcesContent":["import hexColors from './styleToHexColor';\n\nexport default {\n get reset() {\n throw new Error();\n },\n\n // text style\n bold: { open: 'font-weight: bold', close: 'font-weight: normal' },\n italic: { open: 'font-style: italic', close: 'font-style: normal' },\n underline: { open: 'text-decoration: underline', close: 'text-decoration: none' },\n inverse: {\n open: 'unicode-bidi: bidi-override; direction: rtl',\n close: 'unicode-bidi: normal; direction: ltr',\n },\n strikethrough: { open: 'text-decoration: line-through', close: 'text-decoration: none' },\n\n black: { open: 'color: black', close: 'color: initial' },\n red: { open: 'color: #ff0020', close: 'color: initial' },\n green: { open: 'color: #00b317', close: 'color: initial' },\n yellow: { open: 'color: #ffcc00', close: 'color: initial' },\n blue: { open: 'color: #00a0ff', close: 'color: initial' },\n magenta: { open: 'color: #ff00a0', close: 'color: initial' },\n cyan: { open: 'color: #00cfd8', close: 'color: initial' },\n white: { open: 'color: white', close: 'color: initial' },\n gray: { open: 'color: gray', close: 'color: initial' },\n\n bgBlack: { open: 'background: black', close: 'background: initial' },\n bgRed: { open: 'background: #ff0020', close: 'background: initial' },\n bgGreen: { open: 'background: #00b317', close: 'background: initial' },\n bgYellow: { open: 'background: #ffcc00', close: 'background: initial' },\n bgBlue: { open: 'background: #00a0ff', close: 'background: initial' },\n bgMagenta: { open: 'background: #ff00a0', close: 'background: initial' },\n bgCyan: { open: 'background: #00cfd8', close: 'background: initial' },\n bgWhite: { open: 'background: white', close: 'background: initial' },\n\n orange: { open: `color: #${hexColors.orange}`, close: 'color: initial' },\n grayLight: { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n 'gray-light': { open: `color: #${hexColors.grayLight}`, close: 'color: initial' },\n};\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack/formatObject.js b/packages/nightingale-formatter/lib-webpack/formatObject.js index dc5026b5d..777c858e3 100644 --- a/packages/nightingale-formatter/lib-webpack/formatObject.js +++ b/packages/nightingale-formatter/lib-webpack/formatObject.js @@ -1,6 +1,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -/* eslint-disable no-use-before-define */ +/* eslint-disable no-use-before-define, max-lines */ function tryStringify(arg) { try { diff --git a/packages/nightingale-formatter/lib-webpack/formatObject.js.map b/packages/nightingale-formatter/lib-webpack/formatObject.js.map index f021d6191..8afb30a0d 100644 --- a/packages/nightingale-formatter/lib-webpack/formatObject.js.map +++ b/packages/nightingale-formatter/lib-webpack/formatObject.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","index","key","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? `,\\n` : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatObject.js"],"names":["tryStringify","arg","JSON","stringify","_","internalFormatValue","value","styleFn","styles","padding","depth","maxDepth","objects","typeofValue","stringValue","undefined","toString","constructor","Object","internalFormatObject","Array","isArray","internalFormatArray","Error","stack","message","formattedValue","separator","internalFormatIterator","values","objectStyles","prefix","suffix","prefixSuffixSpace","breakLine","formattedSeparator","valuesMaxIndex","length","map","index","key","formattedKey","indexOf","replace","v","fv","join","object","has","keys","add","result","delete","array","formatObject","Set"],"mappings":"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","file":"formatObject.js","sourcesContent":["/* eslint-disable no-use-before-define, max-lines */\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (_) {\n return '[Circular]';\n }\n}\n\nfunction internalFormatValue(value, styleFn, styles, { padding, depth, maxDepth, objects }) {\n const typeofValue = typeof value;\n\n if (!styles) {\n if (value == null) {\n styles = ['cyan'];\n } else {\n switch (typeofValue) {\n case 'boolean':\n styles = ['green'];\n break;\n case 'number':\n styles = ['yellow'];\n break;\n case 'string':\n styles = ['orange'];\n break;\n case 'date':\n styles = ['magenta'];\n break;\n }\n }\n }\n\n let stringValue;\n if (value === null) {\n stringValue = 'null';\n } else if (value === undefined) {\n stringValue = 'undefined';\n } else if (typeofValue === 'boolean') {\n stringValue = value.toString();\n } else if (value.constructor === Object) {\n if (depth >= maxDepth) {\n stringValue = '{object...}';\n } else {\n return internalFormatObject(\n value,\n styleFn,\n undefined,\n { padding, depth: depth + 1, maxDepth, objects },\n );\n }\n } else if (Array.isArray(value)) {\n if (depth >= maxDepth) {\n stringValue = '[array...]';\n } else {\n return internalFormatArray(value, styleFn, { padding, depth: depth + 1, maxDepth, objects });\n }\n } else if (value instanceof Error) {\n stringValue = value.stack || value.message || '';\n } else {\n stringValue = tryStringify(value);\n }\n\n const formattedValue = styleFn(styles, stringValue);\n\n return {\n stringValue,\n formattedValue,\n };\n}\n\nconst separator = ',';\n\nconst internalFormatIterator = (\n values,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix, suffix, prefixSuffixSpace = ' ' },\n) => {\n let breakLine = false;\n const formattedSeparator = () => styleFn(['gray'], separator);\n\n const valuesMaxIndex = values.length - 1;\n values = values.map(({ key, value }, index) => {\n let nextDepth = depth + 1;\n\n // key must be formatted before value (browser-formatter needs order)\n const formattedKey = key ? `${styleFn(['gray-light', 'bold'], `${key}:`)} ` : '';\n\n let { stringValue, formattedValue } = internalFormatValue(\n value,\n styleFn,\n key && objectStyles && objectStyles[key],\n { padding, depth: nextDepth, maxDepth, objects },\n );\n\n if (stringValue && (stringValue.length > 80 || stringValue.indexOf('\\n') !== -1)) {\n breakLine = true;\n stringValue = stringValue.replace(/\\n/g, `\\n${padding}`);\n formattedValue = formattedValue.replace(/\\n/g, `\\n${padding}`);\n }\n\n return {\n stringValue: stringValue + (index === valuesMaxIndex ? '' : separator),\n // eslint-disable-next-line no-useless-concat\n formattedValue: formattedKey + formattedValue + (index === valuesMaxIndex ? '' : formattedSeparator()),\n // note: we need to format the separator for each values for browser-formatter\n };\n });\n\n return {\n stringValue: prefix + values\n .map(breakLine ? v => `\\n${padding}${v.stringValue}` : fv => fv.stringValue)\n .join(breakLine ? '\\n' : ' ')\n + suffix,\n // eslint-disable-next-line prefer-template\n formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}`\n + values.map(breakLine ? v => `\\n${padding}${v.formattedValue}` : v => v.formattedValue)\n .join(breakLine ? '' : ' ')\n + `${breakLine ? ',\\n' : prefixSuffixSpace}${suffix}`,\n };\n};\n\nfunction internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n) {\n if (objects.has(object)) {\n return { stringValue: '{Circular object}', formattedValue: '{Circular object}' };\n }\n\n const keys = Object.keys(object);\n if (keys.length === 0) {\n return {\n stringValue: '{}',\n formattedValue: '{}',\n };\n }\n\n objects.add(object);\n\n const result = internalFormatIterator(\n keys.map(key => ({ key, value: object[key] })),\n styleFn,\n objectStyles,\n { padding, depth, maxDepth, objects },\n { prefix: '{', suffix: '}' },\n );\n\n objects.delete(object);\n\n return result;\n}\n\n\nfunction internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }) {\n if (objects.has(array)) {\n return { stringValue: '{Circular array}', formattedValue: '{Circular array}' };\n }\n\n if (array.length === 0) {\n return {\n stringValue: '[]',\n formattedValue: '[]',\n };\n }\n\n objects.add(array);\n\n const result = internalFormatIterator(\n array.map(value => ({ key: undefined, value })),\n styleFn,\n undefined,\n { padding, depth, maxDepth, objects },\n { prefix: '[', suffix: ']', prefixSuffixSpace: '' },\n );\n\n objects.delete(array);\n\n return result;\n}\n\nexport default function formatObject(object, styleFn, objectStyles, {\n padding = ' ',\n maxDepth = 10,\n} = {}) {\n const { formattedValue: result } = internalFormatObject(\n object,\n styleFn,\n objectStyles,\n { padding, maxDepth, depth: 0, objects: new Set() },\n );\n\n if (result === '{}') {\n return '';\n }\n\n return result;\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/lib-webpack/formatRecordToString.js b/packages/nightingale-formatter/lib-webpack/formatRecordToString.js index acefcbd78..6aa5e2e78 100644 --- a/packages/nightingale-formatter/lib-webpack/formatRecordToString.js +++ b/packages/nightingale-formatter/lib-webpack/formatRecordToString.js @@ -2,7 +2,7 @@ import levelToSymbol from './levelToSymbol'; import levelToStyles from './levelToStyles'; import formatObject from './formatObject'; -export default function formatRecordToString(record, style, options) { +export default function formatRecordToString(record, style) { var parts = []; if (record.displayName) { diff --git a/packages/nightingale-formatter/lib-webpack/formatRecordToString.js.map b/packages/nightingale-formatter/lib-webpack/formatRecordToString.js.map index 11789626c..36a05942a 100644 --- a/packages/nightingale-formatter/lib-webpack/formatRecordToString.js.map +++ b/packages/nightingale-formatter/lib-webpack/formatRecordToString.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","options","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIH,OAAOI,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOI,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIJ,OAAOM,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWJ,sBAAsBD,OAAOM,GAA7B,CAAX;AACD;;AAED,MAAIN,OAAOO,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWJ,wBAAwBD,OAAOO,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUV,OAAOW,MAAP,IAAiBf,cAAcI,OAAOY,KAArB,CAA/B;AACA,MAAIC,SAASb,OAAOa,MAAP,IAAiBhB,cAAcG,OAAOY,KAArB,CAA9B;;AAEA,MAAIZ,OAAOU,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,uBAAeV,OAAOU,OAAtB;AACD,KAFD,MAEO;AACLA,gBAAUV,OAAOU,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUT,MAAMY,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyC,eAAO;AAC9C,QAAI,CAACd,OAAOM,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,QAAMS,eAAejB,aAAaE,OAAOM,GAAP,CAAb,EAA0BL,KAA1B,EAAiCD,OAAUM,GAAV,YAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatRecordToString.js"],"names":["levelToSymbol","levelToStyles","formatObject","formatRecordToString","record","style","parts","displayName","push","key","datetime","toTimeString","split","message","symbol","level","styles","forEach","stringObject","join"],"mappings":"AAAA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,eAAe,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,KAAtC,EAAsD;AACnE,MAAIC,UAAJ;;AAEA,MAAIF,OAAOG,WAAX,EAAwB;AACtBD,UAAME,IAAN,CAAWH,sBAAsBD,OAAOG,WAA7B,CAAX;AACD,GAFD,MAEO,IAAIH,OAAOK,GAAX,EAAgB;AACrBH,UAAME,IAAN,CAAWH,sBAAsBD,OAAOK,GAA7B,CAAX;AACD;;AAED,MAAIL,OAAOM,QAAX,EAAqB;AACnBJ,UAAME,IAAN,CAAWH,wBAAwBD,OAAOM,QAAP,CAAgBC,YAAhB,GAA+BC,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAAxB,CAAX;AACI;AACL;;AAED,MAAIC,UAAUT,OAAOU,MAAP,IAAiBd,cAAcI,OAAOW,KAArB,CAA/B;AACA,MAAIC,SAASZ,OAAOY,MAAP,IAAiBf,cAAcG,OAAOW,KAArB,CAA9B;;AAEA,MAAIX,OAAOS,OAAX,EAAoB;AAClB,QAAIA,OAAJ,EAAa;AACXA,uBAAeT,OAAOS,OAAtB;AACD,KAFD,MAEO;AACLA,gBAAUT,OAAOS,OAAjB;AACD;AACF;;AAED,MAAIA,OAAJ,EAAa;AACX,QAAIG,MAAJ,EAAY;AACVH,gBAAUR,MAAMW,MAAN,EAAcH,OAAd,CAAV;AACD;AACDP,UAAME,IAAN,CAAWK,OAAX;AACD;;AAED,mCAAiCI,OAAjC,CAAyC,eAAO;AAC9C,QAAI,CAACb,OAAOK,GAAP,CAAL,EAAkB;AAChB;AACD;;AAED,QAAMS,eAAehB,aAAaE,OAAOK,GAAP,CAAb,EAA0BJ,KAA1B,EAAiCD,OAAUK,GAAV,YAAjC,CAArB;;AAEA,QAAI,CAACS,YAAL,EAAmB;AACjB;AACD;;AAEDZ,UAAME,IAAN,CAAWU,YAAX;AACD,GAZD;;AAcA,SAAOZ,MAAMa,IAAN,CAAW,GAAX,CAAP;AACD","file":"formatRecordToString.js","sourcesContent":["import levelToSymbol from './levelToSymbol';\nimport levelToStyles from './levelToStyles';\nimport formatObject from './formatObject';\n\nexport default function formatRecordToString(record, style, options) {\n let parts = [];\n\n if (record.displayName) {\n parts.push(style(['gray-light'], record.displayName));\n } else if (record.key) {\n parts.push(style(['gray-light'], record.key));\n }\n\n if (record.datetime) {\n parts.push(style(['gray', 'bold'], record.datetime.toTimeString().split(' ')[0]));\n /* new Date().toFormat('HH24:MI:SS') */\n }\n\n let message = record.symbol || levelToSymbol[record.level];\n let styles = record.styles || levelToStyles[record.level];\n\n if (record.message) {\n if (message) {\n message += ` ${record.message}`;\n } else {\n message = record.message;\n }\n }\n\n if (message) {\n if (styles) {\n message = style(styles, message);\n }\n parts.push(message);\n }\n\n ['metadata', 'extra', 'context'].forEach(key => {\n if (!record[key]) {\n return;\n }\n\n const stringObject = formatObject(record[key], style, record[`${key}Styles`]);\n\n if (!stringObject) {\n return;\n }\n\n parts.push(stringObject);\n });\n\n return parts.join(' ');\n}\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/package.json b/packages/nightingale-formatter/package.json index 521167b50..981c2cccd 100644 --- a/packages/nightingale-formatter/package.json +++ b/packages/nightingale-formatter/package.json @@ -10,16 +10,22 @@ "license": "ISC", "repository": "git@github.com:nightingalejs/nightingale-formatter.git", "homepage": "https://github.com/nightingalejs/nightingale", + "engines": { + "node": ">=6.5.0" + }, "main": "./index.js", "webpack:main": "./lib-webpack/index.js", "webpack:main-dev": "./lib-webpack-dev/index.js", + "webpack:node": "./lib-webpack-node7/index.js", + "webpack:node-dev": "./lib-webpack-node7-dev/index.js", "webpack:main-modern-browsers": "./lib-webpack-modern-browsers/index.js", "webpack:main-modern-browsers-dev": "./lib-webpack-modern-browsers-dev/index.js", "scripts": { "build": "pob-build", "clean": "rm -Rf docs dist test/node6 coverage", "generate:test-coverage": "rm -Rf coverage/ ; NODE_ENV=production node --harmony --es_staging node_modules/istanbul/lib/cli.js cover node_modules/.bin/_mocha -- --recursive --reporter=spec -u tdd test/node6", - "lint": "eslint --ext .js,.jsx --fix src/ test/src/", + "lint": "eslint --ext .js,.jsx src/ test/src/", + "prepare": "ln -s ../../git-hooks/pre-commit .git/hooks/pre-commit 2>/dev/null || true ; ln -s ../../git-hooks/post-checkout .git/hooks/post-checkout 2>/dev/null || true ; ln -s ../../git-hooks/post-merge .git/hooks/post-merge 2>/dev/null || true ; ln -s ../../git-hooks/prepare-commit-msg .git/hooks/prepare-commit-msg 2>/dev/null || true", "prepublish": "ln -s ../../git-hooks/pre-commit .git/hooks/pre-commit 2>/dev/null || true ; ln -s ../../git-hooks/post-checkout .git/hooks/post-checkout 2>/dev/null || true ; ln -s ../../git-hooks/post-merge .git/hooks/post-merge 2>/dev/null || true ; ln -s ../../git-hooks/prepare-commit-msg .git/hooks/prepare-commit-msg 2>/dev/null || true", "preversion": "npm run lint && npm run build && pob-repository-check-clean", "release": "pob-repository-check-clean && pob-release", @@ -28,26 +34,26 @@ "watch": "pob-watch" }, "dependencies": { + "flow-runtime": "^0.6.1", "nightingale-levels": "^1.0.0" }, "devDependencies": { "babel-cli": "^6.18.0", "babel-eslint": "^7.1.0", - "babel-preset-es2015": "^6.18.0", - "babel-preset-es2015-node6": "^0.3.0", - "babel-preset-modern-browsers": "^6.0.0", - "eslint": "^3.9.1", - "eslint-config-airbnb-base": "^9.0.0", - "eslint-config-pob": "^8.0.0", - "eslint-plugin-babel": "^3.3.0", - "eslint-plugin-import": "^2.1.0", + "babel-preset-latest": "^6.22.0", + "babel-preset-latest-node": "^0.1.0", + "babel-preset-modern-browsers": "^8.1.1", + "eslint": "^3.16.1", + "eslint-config-airbnb-base": "^11.1.0", + "eslint-config-pob": "^11.1.0", + "eslint-plugin-babel": "^4.1.0", + "eslint-plugin-import": "^2.2.0", "istanbul": "^0.4.5", - "komet": "^0.1.3", - "komet-karma": "^0.2.3", + "komet": "^0.1.4", + "komet-karma": "^0.2.5", "mocha": "^3.1.2", - "pob-babel": "^12.5.5", - "pob-release": "^2.2.2", - "tcomb-forked": "^3.4.0", + "pob-babel": "^16.1.0", + "pob-release": "^3.1.0", "xunit-file": "^1.0.0" } } diff --git a/packages/nightingale-formatter/src/formatObject.js b/packages/nightingale-formatter/src/formatObject.js index be9e21b37..86ee93b76 100644 --- a/packages/nightingale-formatter/src/formatObject.js +++ b/packages/nightingale-formatter/src/formatObject.js @@ -1,4 +1,4 @@ -/* eslint-disable no-use-before-define */ +/* eslint-disable no-use-before-define, max-lines */ function tryStringify(arg) { try { @@ -119,7 +119,7 @@ const internalFormatIterator = ( formattedValue: `${prefix}${breakLine ? '' : prefixSuffixSpace}` + values.map(breakLine ? v => `\n${padding}${v.formattedValue}` : v => v.formattedValue) .join(breakLine ? '' : ' ') - + `${breakLine ? `,\n` : prefixSuffixSpace}${suffix}`, + + `${breakLine ? ',\n' : prefixSuffixSpace}${suffix}`, }; }; @@ -133,7 +133,6 @@ function internalFormatObject( return { stringValue: '{Circular object}', formattedValue: '{Circular object}' }; } - const keys = Object.keys(object); if (keys.length === 0) { return { @@ -170,16 +169,15 @@ function internalFormatArray(array, styleFn, { padding, depth, maxDepth, objects }; } - objects.add(array); const result = internalFormatIterator( - array.map(value => ({ key: undefined, value })), - styleFn, - undefined, - { padding, depth, maxDepth, objects }, - { prefix: '[', suffix: ']', prefixSuffixSpace: '' }, - ); + array.map(value => ({ key: undefined, value })), + styleFn, + undefined, + { padding, depth, maxDepth, objects }, + { prefix: '[', suffix: ']', prefixSuffixSpace: '' }, + ); objects.delete(array); @@ -191,11 +189,11 @@ export default function formatObject(object, styleFn, objectStyles, { maxDepth = 10, } = {}) { const { formattedValue: result } = internalFormatObject( - object, - styleFn, - objectStyles, - { padding, maxDepth, depth: 0, objects: new Set() }, - ); + object, + styleFn, + objectStyles, + { padding, maxDepth, depth: 0, objects: new Set() }, + ); if (result === '{}') { return ''; diff --git a/packages/nightingale-formatter/test/node6/formatObject.js b/packages/nightingale-formatter/test/node6/formatObject.js index 51e5653e2..52719e7d4 100644 --- a/packages/nightingale-formatter/test/node6/formatObject.js +++ b/packages/nightingale-formatter/test/node6/formatObject.js @@ -11,7 +11,7 @@ suite('formatObject', () => { (0, _assert.strictEqual)((0, _.formatObject)({}), ''); }); - const styleFn = (styles, value) => styles && styles.length ? `[styles:${ styles.join(',') }]${ value }[/styles]` : value; + const styleFn = (styles, value) => styles && styles.length ? `[styles:${styles.join(',')}]${value}[/styles]` : value; const noStyleFn = (styles, value) => value; @@ -45,8 +45,9 @@ suite('formatObject', () => { }); test('simple recursive object', () => { - let a = { a: 1 }; - a.a = a; + let a = { a: 1, a: a + }; + (0, _assert.strictEqual)((0, _.formatObject)({ a }, noStyleFn), '{ a: { a: {Circular object} } }'); }); diff --git a/packages/nightingale-formatter/test/node6/formatObject.js.map b/packages/nightingale-formatter/test/node6/formatObject.js.map index 935a64ce5..1f4763b56 100644 --- a/packages/nightingale-formatter/test/node6/formatObject.js.map +++ b/packages/nightingale-formatter/test/node6/formatObject.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/formatObject.js"],"names":["suite","test","styleFn","styles","value","length","join","noStyleFn","a","Object","assign","create","obj","b","c","d","e","f"],"mappings":";;AAEA;;AACA;;AAHA;AACA;AAIAA,MAAM,cAAN,EAAsB,MAAM;AAC1BC,OAAK,yCAAL,EAAgD,MAAM;AACpD,6BAAY,uBAAZ,EAA8B,EAA9B;AACD,GAFD;;AAKA,QAAMC,UAAU,CAACC,MAAD,EAASC,KAAT,KACdD,UAAUA,OAAOE,MAAjB,GAA2B,YAAUF,OAAOG,IAAP,CAAY,GAAZ,CAAiB,MAAGF,KAAM,YAA/D,GAA4EA,KAD9E;;AAIA,QAAMG,YAAY,CAACJ,MAAD,EAASC,KAAT,KAAmBA,KAArC;;AAEAH,OAAK,eAAL,EAAsB,MAAM;AAC1B,6BACE,oBAAa,EAAEO,GAAG,CAAL,EAAb,EAAuBN,OAAvB,CADF,EAEE,mEAFF;AAID,GALD;;AAOAD,OAAK,0BAAL,EAAiC,MAAM;AACrC,6BACM,oBAAaQ,OAAOC,MAAP,CAAcD,OAAOE,MAAP,CAAc,IAAd,CAAd,EAAmC,EAAEH,GAAG,CAAL,EAAnC,CAAb,EAA2DN,OAA3D,CADN,EAEM,mEAFN;AAID,GALD;;AAOAD,OAAK,aAAL,EAAoB,MAAM;AACxB,6BACE,oBAAa;AACXW,WAAK;AACHJ,WAAG,oBADA;AAEHK,WAAG,oBAFA;AAGHC,WAAG,oBAHA;AAIHC,WAAG,oBAJA;AAKHC,WAAG,oBALA;AAMHC,WAAG;AANA;AADM,KAAb,EASGV,SATH,CADF,EAWE,wKAXF;AAaD,GAdD;;AAgBAN,OAAK,6BAAL,EAAoC,MAAM;AACxC,6BACE,oBAAa,EAAEO,KAAF,EAAb,EAAwBD,SAAxB,CADF,EAEE,WAFF;AAID,GALD;;AAOAN,OAAK,uBAAL,EAA8B,MAAM;AAClC,6BACE,oBAAa,EAAEO,GAAG,EAAEK,GAAG,CAAL,EAAL,EAAb,EAA8BN,SAA9B,CADF,EAEE,iBAFF;AAID,GALD;;AAOAN,OAAK,yBAAL,EAAgC,MAAM;AACpC,QAAIO,IAAI,EAAEA,GAAG,CAAL,EAAR;AACAA,MAAEA,CAAF,GAAMA,CAAN;AACA,6BACE,oBAAa,EAAEA,CAAF,EAAb,EAAoBD,SAApB,CADF,EAEE,iCAFF;AAID,GAPD;;AASAN,OAAK,aAAL,EAAoB,MAAM;AACxB,6BACE,oBAAa,EAAEO,KAAF,EAAb,EAAwBD,SAAxB,CADF,EAEE,WAFF;AAID,GALD;;AAQAN,OAAK,cAAL,EAAqB,MAAM;AACzB,6BACE,oBAAa,EAAEO,oBAAF,EAAb,EAAuCD,SAAvC,CADF,EAEE,0BAFF;AAID,GALD;;AAOAN,OAAK,iBAAL,EAAwB,MAAM;AAE5B,6BACE,oBAAa,EAAEO,GAAG,CAFR,EAAEA,GAAG,CAAL,EAAQK,GAAG,CAAX,EAEQ,CAAL,EAAb,EAA2BN,SAA3B,CADF,EAEE,yBAFF;AAID,GAND;;AAQAN,OAAK,kBAAL,EAAyB,MAAM;AAC7B,UAAMW,MAAM,EAAEJ,GAAG,CAAL,EAAQK,GAAG,CAAX,EAAZ;AACA,6BACE,oBAAa,EAAEL,GAAG,CAACI,GAAD,EAAMA,GAAN,CAAL,EAAb,EAAgCL,SAAhC,CADF,EAEE,yCAFF;AAID,GAND;;AASAN,OAAK,sCAAL,EAA6C,MAAM;AACjD,UAAMW,MAAM;AACVJ,SAAG,oBADO;AAEVK,SAAG,oBAFO;AAGVC,SAAG,oBAHO;AAIVC,SAAG,oBAJO;AAKVC,SAAG,oBALO;AAMVC,SAAG;AANO,KAAZ;AAQA,6BACE,oBAAa,EAAET,GAAG,CAACI,GAAD,EAAMA,GAAN,CAAL,EAAb,EAAgCL,SAAhC,CADF,EAEG;;;;;EAFH;AASD,GAlBD;AAmBD,CApHD","file":"formatObject.js","sourcesContent":["/* global suite, test */\n/* eslint-disable max-len */\nimport { strictEqual } from 'assert';\nimport { formatObject } from '../..';\n\nsuite('formatObject', () => {\n test('empty object should return empty string', () => {\n strictEqual(formatObject({}), '');\n });\n\n\n const styleFn = (styles, value) => (\n styles && styles.length ? `[styles:${styles.join(',')}]${value}[/styles]` : value\n );\n\n const noStyleFn = (styles, value) => value;\n\n test('simple object', () => {\n strictEqual(\n formatObject({ a: 1 }, styleFn),\n '{ [styles:gray-light,bold]a:[/styles] [styles:yellow]1[/styles] }',\n );\n });\n\n test('simple without prototype', () => {\n strictEqual(\n formatObject(Object.assign(Object.create(null), { a: 1 }), styleFn),\n '{ [styles:gray-light,bold]a:[/styles] [styles:yellow]1[/styles] }',\n );\n });\n\n test('long object', () => {\n strictEqual(\n formatObject({\n obj: {\n a: 10000000000000000000,\n b: 10000000000000000000,\n c: 10000000000000000000,\n d: 10000000000000000000,\n e: 10000000000000000000,\n f: 10000000000000000000,\n },\n }, noStyleFn),\n '{\\n obj: { a: 10000000000000000000, b: 10000000000000000000, c: 10000000000000000000, d: 10000000000000000000, e: 10000000000000000000, f: 10000000000000000000 },\\n}',\n );\n });\n\n test('simple embeded empty object', () => {\n strictEqual(\n formatObject({ a: {} }, noStyleFn),\n '{ a: {} }',\n );\n });\n\n test('simple embeded object', () => {\n strictEqual(\n formatObject({ a: { b: 1 } }, noStyleFn),\n '{ a: { b: 1 } }',\n );\n });\n\n test('simple recursive object', () => {\n let a = { a: 1 };\n a.a = a;\n strictEqual(\n formatObject({ a }, noStyleFn),\n '{ a: { a: {Circular object} } }',\n );\n });\n\n test('empty array', () => {\n strictEqual(\n formatObject({ a: [] }, noStyleFn),\n '{ a: [] }',\n );\n });\n\n\n test('simple array', () => {\n strictEqual(\n formatObject({ a: [1, '2', 3, 4, 5] }, noStyleFn),\n '{ a: [1, \"2\", 3, 4, 5] }',\n );\n });\n\n test('object in array', () => {\n const obj = { a: 1, b: 2 };\n strictEqual(\n formatObject({ a: [obj] }, noStyleFn),\n '{ a: [{ a: 1, b: 2 }] }',\n );\n });\n\n test('objects in array', () => {\n const obj = { a: 1, b: 2 };\n strictEqual(\n formatObject({ a: [obj, obj] }, noStyleFn),\n '{ a: [{ a: 1, b: 2 }, { a: 1, b: 2 }] }',\n );\n });\n\n\n test('objects with breaking lines in array', () => {\n const obj = {\n a: 10000000000000000000,\n b: 10000000000000000000,\n c: 10000000000000000000,\n d: 10000000000000000000,\n e: 10000000000000000000,\n f: 10000000000000000000,\n };\n strictEqual(\n formatObject({ a: [obj, obj] }, noStyleFn),\n `{\n a: [\n { a: 10000000000000000000, b: 10000000000000000000, c: 10000000000000000000, d: 10000000000000000000, e: 10000000000000000000, f: 10000000000000000000 },\n { a: 10000000000000000000, b: 10000000000000000000, c: 10000000000000000000, d: 10000000000000000000, e: 10000000000000000000, f: 10000000000000000000 },\n ],\n}`,\n );\n });\n});\n"]} \ No newline at end of file +{"version":3,"sources":["../src/formatObject.js"],"names":["suite","test","styleFn","styles","value","length","join","noStyleFn","a","Object","assign","create","obj","b","c","d","e","f"],"mappings":";;AAEA;;AACA;;AAHA;AACA;AAIAA,MAAM,cAAN,EAAsB,MAAM;AAC1BC,OAAK,yCAAL,EAAgD,MAAM;AACpD,6BAAY,uBAAZ,EAA8B,EAA9B;AACD,GAFD;;AAKA,QAAMC,UAAU,CAACC,MAAD,EAASC,KAAT,KACdD,UAAUA,OAAOE,MAAjB,GAA2B,WAAUF,OAAOG,IAAP,CAAY,GAAZ,CAAiB,IAAGF,KAAM,WAA/D,GAA4EA,KAD9E;;AAIA,QAAMG,YAAY,CAACJ,MAAD,EAASC,KAAT,KAAmBA,KAArC;;AAEAH,OAAK,eAAL,EAAsB,MAAM;AAC1B,6BACE,oBAAa,EAAEO,GAAG,CAAL,EAAb,EAAuBN,OAAvB,CADF,EAEE,mEAFF;AAID,GALD;;AAOAD,OAAK,0BAAL,EAAiC,MAAM;AACrC,6BACM,oBAAaQ,OAAOC,MAAP,CAAcD,OAAOE,MAAP,CAAc,IAAd,CAAd,EAAmC,EAAEH,GAAG,CAAL,EAAnC,CAAb,EAA2DN,OAA3D,CADN,EAEM,mEAFN;AAID,GALD;;AAOAD,OAAK,aAAL,EAAoB,MAAM;AACxB,6BACE,oBAAa;AACXW,WAAK;AACHJ,WAAG,oBADA;AAEHK,WAAG,oBAFA;AAGHC,WAAG,oBAHA;AAIHC,WAAG,oBAJA;AAKHC,WAAG,oBALA;AAMHC,WAAG;AANA;AADM,KAAb,EASGV,SATH,CADF,EAWE,wKAXF;AAaD,GAdD;;AAgBAN,OAAK,6BAAL,EAAoC,MAAM;AACxC,6BACE,oBAAa,EAAEO,KAAF,EAAb,EAAwBD,SAAxB,CADF,EAEE,WAFF;AAID,GALD;;AAOAN,OAAK,uBAAL,EAA8B,MAAM;AAClC,6BACE,oBAAa,EAAEO,GAAG,EAAEK,GAAG,CAAL,EAAL,EAAb,EAA8BN,SAA9B,CADF,EAEE,iBAFF;AAID,GALD;;AAOAN,OAAK,yBAAL,EAAgC,MAAM;AACpC,QAAIO,IAAI,EAAEA,GAAG,CAAL,EACNA,CADM,EACFA;AADE,KAAR;;AAEA,6BACE,oBAAa,EAAEA,CAAF,EAAb,EAAoBD,SAApB,CADF,EAEE,iCAFF;AAID,GAPD;;AASAN,OAAK,aAAL,EAAoB,MAAM;AACxB,6BACE,oBAAa,EAAEO,KAAF,EAAb,EAAwBD,SAAxB,CADF,EAEE,WAFF;AAID,GALD;;AAQAN,OAAK,cAAL,EAAqB,MAAM;AACzB,6BACE,oBAAa,EAAEO,oBAAF,EAAb,EAAuCD,SAAvC,CADF,EAEE,0BAFF;AAID,GALD;;AAOAN,OAAK,iBAAL,EAAwB,MAAM;AAE5B,6BACE,oBAAa,EAAEO,GAAG,CAFR,EAAEA,GAAG,CAAL,EAAQK,GAAG,CAAX,EAEQ,CAAL,EAAb,EAA2BN,SAA3B,CADF,EAEE,yBAFF;AAID,GAND;;AAQAN,OAAK,kBAAL,EAAyB,MAAM;AAC7B,UAAMW,MAAM,EAAEJ,GAAG,CAAL,EAAQK,GAAG,CAAX,EAAZ;AACA,6BACE,oBAAa,EAAEL,GAAG,CAACI,GAAD,EAAMA,GAAN,CAAL,EAAb,EAAgCL,SAAhC,CADF,EAEE,yCAFF;AAID,GAND;;AASAN,OAAK,sCAAL,EAA6C,MAAM;AACjD,UAAMW,MAAM;AACVJ,SAAG,oBADO;AAEVK,SAAG,oBAFO;AAGVC,SAAG,oBAHO;AAIVC,SAAG,oBAJO;AAKVC,SAAG,oBALO;AAMVC,SAAG;AANO,KAAZ;AAQA,6BACE,oBAAa,EAAET,GAAG,CAACI,GAAD,EAAMA,GAAN,CAAL,EAAb,EAAgCL,SAAhC,CADF,EAEG;;;;;EAFH;AASD,GAlBD;AAmBD,CApHD","file":"formatObject.js","sourcesContent":["/* global suite, test */\n/* eslint-disable max-len */\nimport { strictEqual } from 'assert';\nimport { formatObject } from '../..';\n\nsuite('formatObject', () => {\n test('empty object should return empty string', () => {\n strictEqual(formatObject({}), '');\n });\n\n\n const styleFn = (styles, value) => (\n styles && styles.length ? `[styles:${styles.join(',')}]${value}[/styles]` : value\n );\n\n const noStyleFn = (styles, value) => value;\n\n test('simple object', () => {\n strictEqual(\n formatObject({ a: 1 }, styleFn),\n '{ [styles:gray-light,bold]a:[/styles] [styles:yellow]1[/styles] }',\n );\n });\n\n test('simple without prototype', () => {\n strictEqual(\n formatObject(Object.assign(Object.create(null), { a: 1 }), styleFn),\n '{ [styles:gray-light,bold]a:[/styles] [styles:yellow]1[/styles] }',\n );\n });\n\n test('long object', () => {\n strictEqual(\n formatObject({\n obj: {\n a: 10000000000000000000,\n b: 10000000000000000000,\n c: 10000000000000000000,\n d: 10000000000000000000,\n e: 10000000000000000000,\n f: 10000000000000000000,\n },\n }, noStyleFn),\n '{\\n obj: { a: 10000000000000000000, b: 10000000000000000000, c: 10000000000000000000, d: 10000000000000000000, e: 10000000000000000000, f: 10000000000000000000 },\\n}',\n );\n });\n\n test('simple embeded empty object', () => {\n strictEqual(\n formatObject({ a: {} }, noStyleFn),\n '{ a: {} }',\n );\n });\n\n test('simple embeded object', () => {\n strictEqual(\n formatObject({ a: { b: 1 } }, noStyleFn),\n '{ a: { b: 1 } }',\n );\n });\n\n test('simple recursive object', () => {\n let a = { a: 1 };\n a.a = a;\n strictEqual(\n formatObject({ a }, noStyleFn),\n '{ a: { a: {Circular object} } }',\n );\n });\n\n test('empty array', () => {\n strictEqual(\n formatObject({ a: [] }, noStyleFn),\n '{ a: [] }',\n );\n });\n\n\n test('simple array', () => {\n strictEqual(\n formatObject({ a: [1, '2', 3, 4, 5] }, noStyleFn),\n '{ a: [1, \"2\", 3, 4, 5] }',\n );\n });\n\n test('object in array', () => {\n const obj = { a: 1, b: 2 };\n strictEqual(\n formatObject({ a: [obj] }, noStyleFn),\n '{ a: [{ a: 1, b: 2 }] }',\n );\n });\n\n test('objects in array', () => {\n const obj = { a: 1, b: 2 };\n strictEqual(\n formatObject({ a: [obj, obj] }, noStyleFn),\n '{ a: [{ a: 1, b: 2 }, { a: 1, b: 2 }] }',\n );\n });\n\n\n test('objects with breaking lines in array', () => {\n const obj = {\n a: 10000000000000000000,\n b: 10000000000000000000,\n c: 10000000000000000000,\n d: 10000000000000000000,\n e: 10000000000000000000,\n f: 10000000000000000000,\n };\n strictEqual(\n formatObject({ a: [obj, obj] }, noStyleFn),\n `{\n a: [\n { a: 10000000000000000000, b: 10000000000000000000, c: 10000000000000000000, d: 10000000000000000000, e: 10000000000000000000, f: 10000000000000000000 },\n { a: 10000000000000000000, b: 10000000000000000000, c: 10000000000000000000, d: 10000000000000000000, e: 10000000000000000000, f: 10000000000000000000 },\n ],\n}`,\n );\n });\n});\n"]} \ No newline at end of file diff --git a/packages/nightingale-formatter/yarn.lock b/packages/nightingale-formatter/yarn.lock new file mode 100644 index 000000000..02aed4842 --- /dev/null +++ b/packages/nightingale-formatter/yarn.lock @@ -0,0 +1,3627 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +JSONStream@^1.0.4: + version "1.3.1" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abbrev@1, abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + +ajv-keywords@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + +ajv@^4.7.0: + version "4.11.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.3.tgz#ce30bdb90d1254f762c75af915fb3a63e7183d22" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +"ansi-styles@github:chalk/ansi-styles#47ccb63c5b9b296b39188717b0efc4123a036d47": + version "2.1.0" + resolved "https://codeload.github.com/chalk/ansi-styles/tar.gz/47ccb63c5b9b296b39188717b0efc4123a036d47" + dependencies: + color-convert "^1.0.0" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +aproba@^1.0.3: + version "1.1.1" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async@1.x, async@^1.4.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +babel-cli@^6.18.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.23.0.tgz#52ff946a2b0f64645c35e7bd5eea267aa0948c0f" + dependencies: + babel-core "^6.23.0" + babel-polyfill "^6.23.0" + babel-register "^6.23.0" + babel-runtime "^6.22.0" + commander "^2.8.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.0.0" + glob "^7.0.0" + lodash "^4.2.0" + output-file-sync "^1.1.0" + path-is-absolute "^1.0.0" + slash "^1.0.0" + source-map "^0.5.0" + v8flags "^2.0.10" + optionalDependencies: + chokidar "^1.6.1" + +babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +babel-core@^6.23.0, babel-core@^6.23.1: + version "6.23.1" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.23.1.tgz#c143cb621bb2f621710c220c5d579d15b8a442df" + dependencies: + babel-code-frame "^6.22.0" + babel-generator "^6.23.0" + babel-helpers "^6.23.0" + babel-messages "^6.23.0" + babel-register "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + babel-traverse "^6.23.1" + babel-types "^6.23.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-eslint@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2" + dependencies: + babel-code-frame "^6.16.0" + babel-traverse "^6.15.0" + babel-types "^6.15.0" + babylon "^6.13.0" + lodash.pickby "^4.6.0" + +babel-generator@^6.21.0, babel-generator@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz#6b8edab956ef3116f79d8c84c5a3c05f32a74bc5" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.23.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + trim-right "^1.0.1" + +babel-helper-bindify-decorators@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz#d7f5bc261275941ac62acfc4e20dacfb8a3fe952" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-builder-binary-assignment-operator-visitor@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd" + dependencies: + babel-helper-explode-assignable-expression "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-call-delegate@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" + dependencies: + babel-helper-hoist-variables "^6.22.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-define-map@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz#1444f960c9691d69a2ced6a205315f8fd00804e7" + dependencies: + babel-helper-function-name "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.23.0" + lodash "^4.2.0" + +babel-helper-evaluate-path@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.0.3.tgz#1d103ac9d4a59e5d431842212f151785f7ac547b" + +babel-helper-explode-assignable-expression@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-explode-class@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz#646304924aa6388a516843ba7f1855ef8dfeb69b" + dependencies: + babel-helper-bindify-decorators "^6.22.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-flip-expressions@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.0.2.tgz#7bab2cf61162bc92703e9b298ef512bcf77d6787" + +babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz#25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6" + dependencies: + babel-helper-get-function-arity "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + babel-traverse "^6.23.0" + babel-types "^6.23.0" + +babel-helper-get-function-arity@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-hoist-variables@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-mark-eval-scopes@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.0.2.tgz#909fd1f2384570cd3003283773852d9d63922a37" + +babel-helper-optimise-call-expression@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz#f3ee7eed355b4282138b33d02b78369e470622f5" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.23.0" + +babel-helper-regex@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + lodash "^4.2.0" + +babel-helper-remap-async-to-generator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383" + dependencies: + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-remove-or-void@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.0.1.tgz#f602790e465acf2dfbe84fb3dd210c43a2dd7262" + +babel-helper-replace-supers@^6.22.0, babel-helper-replace-supers@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz#eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd" + dependencies: + babel-helper-optimise-call-expression "^6.23.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + babel-traverse "^6.23.0" + babel-types "^6.23.0" + +babel-helpers@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.23.0" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-discard-module-references@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-discard-module-references/-/babel-plugin-discard-module-references-1.1.2.tgz#898007cbeb472cef76ef11e1af485b41d4241747" + +babel-plugin-flow-runtime@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/babel-plugin-flow-runtime/-/babel-plugin-flow-runtime-0.6.1.tgz#1a4c98e350086a53e785a691a7f9a00f552c181a" + dependencies: + babel-generator "^6.21.0" + babel-traverse "^6.20.0" + babel-types "^6.16.0" + babylon "^6.16.1" + camelcase "^3.0.0" + flow-config-parser "^0.3.0" + +babel-plugin-import-export-rename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-plugin-import-export-rename/-/babel-plugin-import-export-rename-1.0.1.tgz#194dc19bb79ac2598260a0b3a9a9278c99c77402" + +babel-plugin-minify-constant-folding@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.0.4.tgz#b6e231026a6035e88ceadd206128d7db2b5c15e6" + dependencies: + babel-helper-evaluate-path "^0.0.3" + jsesc "^2.4.0" + +babel-plugin-minify-dead-code-elimination@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.1.3.tgz#7882c014619934cb9aca69d85c968ed124ac97e3" + dependencies: + babel-helper-mark-eval-scopes "^0.0.2" + babel-helper-remove-or-void "^0.0.1" + lodash.some "^4.6.0" + +babel-plugin-minify-guarded-expressions@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.0.4.tgz#957104a760e6a7ffd967005a7a11621bb42fd11c" + dependencies: + babel-helper-flip-expressions "^0.0.2" + +babel-plugin-minify-replace@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.0.3.tgz#4a623336c0a3b4de4dedba0a80fdb6b5935f024f" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-constructor-call@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-export-extensions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + +babel-plugin-syntax-flow@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-generator-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz#a720a98153a7596f204099cd5409f4b3c05bab46" + dependencies: + babel-helper-remap-async-to-generator "^6.22.0" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e" + dependencies: + babel-helper-remap-async-to-generator "^6.22.0" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-class-constructor-call@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.22.0.tgz#11a4d2216abb5b0eef298b493748f4f2f4869120" + dependencies: + babel-plugin-syntax-class-constructor-call "^6.18.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-class-properties@^6.22.0, babel-plugin-transform-class-properties@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.23.0.tgz#187b747ee404399013563c993db038f34754ac3b" + dependencies: + babel-helper-function-name "^6.23.0" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + +babel-plugin-transform-decorators@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz#c03635b27a23b23b7224f49232c237a73988d27c" + dependencies: + babel-helper-explode-class "^6.22.0" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz#e48895cf0b375be148cd7c8879b422707a053b51" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.23.0" + babel-traverse "^6.23.0" + babel-types "^6.23.0" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz#49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1" + dependencies: + babel-helper-define-map "^6.23.0" + babel-helper-function-name "^6.23.0" + babel-helper-optimise-call-expression "^6.23.0" + babel-helper-replace-supers "^6.23.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + babel-traverse "^6.23.0" + babel-types "^6.23.0" + +babel-plugin-transform-es2015-computed-properties@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" + dependencies: + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.22.0, babel-plugin-transform-es2015-modules-commonjs@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz#cba7aa6379fb7ec99250e6d46de2973aaffa7b92" + dependencies: + babel-plugin-transform-strict-mode "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + babel-types "^6.23.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz#ae3469227ffac39b0310d90fec73bfdc4f6317b0" + dependencies: + babel-helper-hoist-variables "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + +babel-plugin-transform-es2015-modules-umd@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz#8d284ae2e19ed8fe21d2b1b26d6e7e0fcd94f0f1" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + +babel-plugin-transform-es2015-object-super@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" + dependencies: + babel-helper-replace-supers "^6.22.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz#3a2aabb70c8af945d5ce386f1a4250625a83ae3b" + dependencies: + babel-helper-call-delegate "^6.22.0" + babel-helper-get-function-arity "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.23.0" + babel-traverse "^6.23.0" + babel-types "^6.23.0" + +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" + dependencies: + babel-helper-regex "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" + dependencies: + babel-helper-regex "^6.22.0" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.22.0" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-export-default-name-forked@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-default-name-forked/-/babel-plugin-transform-export-default-name-forked-1.2.2.tgz#43efdd18b5c6f9cd0aa432165df3f90afad7b950" + dependencies: + lodash.camelcase "^4.3.0" + +babel-plugin-transform-export-extensions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" + dependencies: + babel-plugin-syntax-export-extensions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-flow-strip-types@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" + dependencies: + babel-plugin-syntax-flow "^6.18.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-inline-consecutive-adds@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.0.2.tgz#a58fcecfc09c08fbf9373a5a3e70746c03d01fc1" + +babel-plugin-transform-object-rest-spread@^6.22.0, babel-plugin-transform-object-rest-spread@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" + dependencies: + regenerator-transform "0.9.8" + +babel-plugin-transform-strict-mode@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-polyfill@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" + dependencies: + babel-runtime "^6.22.0" + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-preset-babili-optimizations@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-babili-optimizations/-/babel-preset-babili-optimizations-0.2.0.tgz#469262093ba792fbbe25f4eee0d5c058e258fdca" + dependencies: + babel-plugin-minify-constant-folding "^0.0.4" + babel-plugin-minify-dead-code-elimination "^0.1.3" + babel-plugin-minify-guarded-expressions "^0.0.4" + babel-plugin-transform-inline-consecutive-adds "^0.0.2" + +babel-preset-es2015@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz#af5a98ecb35eb8af764ad8a5a05eb36dc4386835" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.22.0" + babel-plugin-transform-es2015-classes "^6.22.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.22.0" + babel-plugin-transform-es2015-modules-systemjs "^6.22.0" + babel-plugin-transform-es2015-modules-umd "^6.22.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.22.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + +babel-preset-es2016@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.22.0.tgz#b061aaa3983d40c9fbacfa3743b5df37f336156c" + dependencies: + babel-plugin-transform-exponentiation-operator "^6.22.0" + +babel-preset-es2017@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.22.0.tgz#de2f9da5a30c50d293fb54a0ba15d6ddc573f0f2" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + +babel-preset-flow-runtime@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/babel-preset-flow-runtime/-/babel-preset-flow-runtime-0.6.1.tgz#77679e9a243f558f822fcaacfbc70926be733b14" + dependencies: + babel-plugin-flow-runtime "^0.6.1" + babel-plugin-syntax-flow "^6.18.0" + +babel-preset-flow@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" + dependencies: + babel-plugin-transform-flow-strip-types "^6.22.0" + +babel-preset-latest-node@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-latest-node/-/babel-preset-latest-node-0.1.0.tgz#d94792ad37e5a25fbbbed3500741bfdaf9122115" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + +babel-preset-latest@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.22.0.tgz#47b800531350a3dc69126e8c375a40655cd1eeff" + dependencies: + babel-preset-es2015 "^6.22.0" + babel-preset-es2016 "^6.22.0" + babel-preset-es2017 "^6.22.0" + +babel-preset-modern-browsers@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/babel-preset-modern-browsers/-/babel-preset-modern-browsers-8.1.1.tgz#79c483cff502d3f6d0de6261b531326dc31eb715" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-strict-mode "^6.22.0" + +babel-preset-pob-stages@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-pob-stages/-/babel-preset-pob-stages-0.1.0.tgz#c63bc1d19e188d5af1b8a55b4dd71210c9e7c1f1" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.23.0" + babel-plugin-transform-export-extensions "^6.22.0" + babel-plugin-transform-object-rest-spread "^6.23.0" + +babel-preset-pob@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/babel-preset-pob/-/babel-preset-pob-0.1.1.tgz#66890b43d1e73dfaf1eff205e1cbbec4b3873cd9" + dependencies: + babel-plugin-import-export-rename "^1.0.1" + babel-plugin-minify-replace "^0.0.3" + babel-plugin-transform-export-default-name-forked "^1.2.2" + babel-preset-flow "^6.23.0" + babel-preset-flow-runtime "^0.6.1" + +babel-preset-stage-1@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.22.0.tgz#7da05bffea6ad5a10aef93e320cfc6dd465dbc1a" + dependencies: + babel-plugin-transform-class-constructor-call "^6.22.0" + babel-plugin-transform-export-extensions "^6.22.0" + babel-preset-stage-2 "^6.22.0" + +babel-preset-stage-2@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz#ccd565f19c245cade394b21216df704a73b27c07" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.22.0" + babel-plugin-transform-decorators "^6.22.0" + babel-preset-stage-3 "^6.22.0" + +babel-preset-stage-3@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz#a4e92bbace7456fafdf651d7a7657ee0bbca9c2e" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-object-rest-spread "^6.22.0" + +babel-register@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz#c9aa3d4cca94b51da34826c4a0f9e08145d74ff3" + dependencies: + babel-core "^6.23.0" + babel-runtime "^6.22.0" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-template@^6.22.0, babel-template@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.23.0" + babel-types "^6.23.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-traverse@^6.15.0, babel-traverse@^6.20.0, babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.23.1: + version "6.23.1" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.23.0" + babylon "^6.15.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf" + dependencies: + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.16.1: + version "6.16.1" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +binary-extensions@^1.0.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +builtin-modules@^1.0.0, builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +circular-json@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + dependencies: + restore-cursor "^2.0.0" + +cli-spinners@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +color-convert@^1.0.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@2.9.0, commander@^2.8.1, commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +compare-func@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" + dependencies: + array-ify "^1.0.0" + dot-prop "^3.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.10, concat-stream@^1.4.6, concat-stream@^1.4.7: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + +conventional-changelog-angular@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-0.1.0.tgz#ac3d4b869878de5ad57726696b21eedd798ae3c7" + dependencies: + compare-func "^1.3.1" + q "^1.4.1" + +conventional-changelog-core@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-0.0.2.tgz#795a298de84f8801398cd0fee20fb799a1f02089" + dependencies: + conventional-changelog-writer "^0.4.1" + conventional-commits-parser "^0.1.2" + dateformat "^1.0.12" + get-pkg-repo "^0.1.0" + git-raw-commits "^0.1.2" + git-semver-tags "^1.1.0" + lodash "^4.0.0" + q "^1.4.1" + read-pkg "^1.1.0" + read-pkg-up "^1.0.1" + through2 "^2.0.0" + +conventional-changelog-writer@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-0.4.2.tgz#ccb03c5ebd17ceb94a236cb80b27f4ef6bee7731" + dependencies: + compare-func "^1.3.1" + conventional-commits-filter "^0.1.0" + dateformat "^1.0.11" + handlebars "^4.0.2" + lodash "^4.0.0" + meow "^3.3.0" + semver "^5.0.1" + split "^1.0.0" + through2 "^2.0.0" + +conventional-commits-filter@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-0.1.1.tgz#d9d26c7599f89de3d249cba3def7911fc51c0dab" + dependencies: + is-subset "^0.1.1" + modify-values "^1.0.0" + +conventional-commits-filter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" + dependencies: + is-subset "^0.1.1" + modify-values "^1.0.0" + +conventional-commits-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-0.1.2.tgz#4a624010634f02122520ecbaf19ca0ba23120437" + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.0" + lodash "^3.3.1" + meow "^3.3.0" + split "^1.0.0" + through2 "^2.0.0" + trim-off-newlines "^1.0.0" + +conventional-commits-parser@^1.0.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865" + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.0" + lodash "^4.2.1" + meow "^3.3.0" + split2 "^2.0.0" + through2 "^2.0.0" + trim-off-newlines "^1.0.0" + +conventional-recommended-bump@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-0.3.0.tgz#e839de8f57cbb43445c8b4967401de0644c425d8" + dependencies: + concat-stream "^1.4.10" + conventional-commits-filter "^1.0.0" + conventional-commits-parser "^1.0.1" + git-latest-semver-tag "^1.0.0" + git-raw-commits "^1.0.0" + meow "^3.3.0" + object-assign "^4.0.1" + +convert-source-map@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3" + +core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +d@^0.1.1, d@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" + dependencies: + es5-ext "~0.10.2" + +dargs@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" + dependencies: + number-is-nan "^1.0.0" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +dateformat@^1.0.11, dateformat@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +debug@2.2.0, debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@^2.1.1, debug@^2.2.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" + dependencies: + ms "0.7.2" + +decamelize@^1.0.0, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +diff@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" + +doctrine@1.5.0, doctrine@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +dot-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" + dependencies: + is-obj "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: + version "0.10.12" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" + dependencies: + d "^0.1.1" + es5-ext "^0.10.7" + es6-symbol "3" + +es6-map@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-set "~0.1.3" + es6-symbol "~3.1.0" + event-emitter "~0.3.4" + +es6-set@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-symbol "3" + event-emitter "~0.3.4" + +es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + +es6-weak-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" + dependencies: + d "^0.1.1" + es5-ext "^0.10.8" + es6-iterator "2" + es6-symbol "3" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-airbnb-base@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.1.0.tgz#dc9b3ec70b8c74dcbe6d6257c9da3992c39ca2ca" + +eslint-config-pob@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-pob/-/eslint-config-pob-11.1.0.tgz#a02acd41480c9637369222d01c28eb3cb2358408" + +eslint-import-resolver-node@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + dependencies: + debug "^2.2.0" + object-assign "^4.0.1" + resolve "^1.1.6" + +eslint-module-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" + dependencies: + debug "2.2.0" + pkg-dir "^1.0.0" + +eslint-plugin-babel@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.1.0.tgz#837a74c092ad4d74f9fc74aed43f750906adc827" + +eslint-plugin-import@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e" + dependencies: + builtin-modules "^1.1.1" + contains-path "^0.1.0" + debug "^2.2.0" + doctrine "1.5.0" + eslint-import-resolver-node "^0.2.0" + eslint-module-utils "^2.0.0" + has "^1.0.1" + lodash.cond "^4.3.0" + minimatch "^3.0.3" + pkg-up "^1.0.0" + +eslint@^3.16.1: + version "3.16.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.16.1.tgz#9bc31fc7341692cf772e80607508f67d711c5609" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.4.6" + debug "^2.1.1" + doctrine "^1.2.2" + escope "^3.6.0" + espree "^3.4.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" + dependencies: + acorn "4.0.4" + acorn-jsx "^3.0.0" + +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esrecurse@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + dependencies: + estraverse "~4.1.0" + object-assign "^4.0.1" + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estraverse@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-emitter@~0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" + dependencies: + d "~0.1.1" + es5-ext "~0.10.7" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +extend@^3.0.0, extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +external-editor@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" + dependencies: + extend "^3.0.0" + spawn-sync "^1.0.15" + tmp "^0.0.29" + +external-editor@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.1.tgz#4c597c6c88fa6410e41dbbaa7b1be2336aa31095" + dependencies: + tmp "^0.0.31" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +flat-cache@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +flow-config-parser@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/flow-config-parser/-/flow-config-parser-0.3.0.tgz#704916efba88cd2518ab4d8f933079571276138f" + +flow-runtime@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/flow-runtime/-/flow-runtime-0.6.1.tgz#dfb5c29983d99df0ca2f045e2a3da8f20b461c0d" + +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +fs-readdir-recursive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + +gauge@~2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-pkg-repo@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-0.1.0.tgz#7f04d968564bf9cd2e901810577f84c37f2b03bd" + dependencies: + hosted-git-info "^2.1.4" + meow "^3.3.0" + normalize-package-data "^2.3.0" + through2 "^2.0.0" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +git-latest-semver-tag@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/git-latest-semver-tag/-/git-latest-semver-tag-1.0.2.tgz#061130cbf4274111cc6be4612b3ff3a6d93e2660" + dependencies: + git-semver-tags "^1.1.2" + meow "^3.3.0" + +git-raw-commits@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-0.1.2.tgz#2becbdcd3f96ef0b19f16863f7a2f6d9d8ab8369" + dependencies: + dargs "^4.0.1" + lodash.template "^3.6.1" + meow "^3.1.0" + split2 "^1.0.0" + through2 "^2.0.0" + +git-raw-commits@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.1.2.tgz#a12d8492aeba2881802d700825ed81c9f39e6f2f" + dependencies: + dargs "^4.0.1" + lodash.template "^4.0.2" + meow "^3.3.0" + split2 "^2.0.0" + through2 "^2.0.0" + +git-semver-tags@^1.1.0, git-semver-tags@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.1.2.tgz#aecf9b1b2447a6b548d48647f53edba0acad879f" + dependencies: + meow "^3.3.0" + semver "^5.0.1" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.0.0, globals@^9.14.0: + version "9.16.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.4: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +handlebars@^4.0.1, handlebars@^4.0.2: + version "4.0.6" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +ignore@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.4.tgz#4055e03596729a8fabe45a43c100ad5ed815c4e8" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +inquirer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-2.0.0.tgz#e1351687b90d150ca403ceaa3cefb1e3065bef4b" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + external-editor "^1.1.0" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.6" + pinkie-promise "^2.0.0" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^2.0.0" + strip-ansi "^3.0.0" + through "^2.3.6" + +inquirer@^3.0.1: + version "3.0.5" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.5.tgz#172cabc8eacbfb91d595f5d7c354b446b8141f65" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.1" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^2.0.0" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + +invariant@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: + version "2.16.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +is-subset@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + +is-text-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + dependencies: + text-extensions "^1.0.0" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-tokens@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + +js-yaml@3.x, js-yaml@^3.5.1, js-yaml@^3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628" + dependencies: + argparse "^1.0.7" + esprima "^3.1.1" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.4.0.tgz#8568d223ff69c0b5e081b4f8edf5a23d978c9867" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonparse@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.0.tgz#85fc245b1d9259acc6941960b905adf64e7de0e8" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kind-of@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + dependencies: + is-buffer "^1.0.2" + +komet-karma@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/komet-karma/-/komet-karma-0.2.5.tgz#c444229933b61684c14dc01342c76ab9c6538acf" + +komet@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/komet/-/komet-0.1.4.tgz#1788a21720694d1c64defd3368bd7c70297b8be4" + dependencies: + chalk "^1.1.3" + find-up "^2.1.0" + inquirer "^2.0.0" + minimist-argv "^1.0.0" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lock@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/lock/-/lock-0.1.3.tgz#f66c1caa0c41956e1426608039ed59b71bdf1854" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + +lodash.create@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.pickby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.some@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + +lodash.template@^3.6.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.template@^4.0.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash.templatesettings@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + dependencies: + lodash._reinterpolate "~3.0.0" + +lodash@^3.3.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@^4.0.0, lodash@^4.1.0, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + dependencies: + chalk "^1.0.0" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +meow@^3.1.0, meow@^3.3.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" + +mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" + dependencies: + mime-db "~1.26.0" + +mimic-fn@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimist-argv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/minimist-argv/-/minimist-argv-1.0.0.tgz#0f714ba55b4d9ba6a9d8e95e97541003c65a17cc" + dependencies: + minimist "^1.2.0" + +minimist@0.0.8, minimist@~0.0.1: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.2.0" + diff "1.4.0" + escape-string-regexp "1.0.5" + glob "7.0.5" + growl "1.9.2" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + +modify-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +mute-stream@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + +nan@^2.3.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +nightingale-ansi-formatter@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/nightingale-ansi-formatter/-/nightingale-ansi-formatter-1.3.0.tgz#63f8de2cbfe23920009045174d348d3d38eaf981" + dependencies: + ansi-styles "github:chalk/ansi-styles#47ccb63c5b9b296b39188717b0efc4123a036d47" + nightingale-formatter "^1.4.0 || ^2.0.2" + +nightingale-console-output@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/nightingale-console-output/-/nightingale-console-output-1.3.0.tgz#463da67ac306d6b7778b7b667de12b689c8bf4b2" + dependencies: + flow-runtime "^0.6.1" + nightingale-levels "^1.0.0" + +nightingale-console@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nightingale-console/-/nightingale-console-2.2.0.tgz#ea24ae47aea99e48c4beb508c03040a5c88f08a9" + dependencies: + nightingale-ansi-formatter "^1.3.0" + nightingale-console-output "^1.2.0" + nightingale-debug "^2.0.1" + +nightingale-debug@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/nightingale-debug/-/nightingale-debug-2.1.0.tgz#52e0103e2115e5a77ccf9647cd578a41865f4312" + dependencies: + nightingale-levels "^1.0.0" + +"nightingale-formatter@^1.4.0 || ^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/nightingale-formatter/-/nightingale-formatter-2.0.2.tgz#63b196657cf0e6f8eaa907180d5843fbb6f9d8ce" + dependencies: + nightingale-levels "^1.0.0" + +nightingale-levels@^1.0.0, nightingale-levels@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/nightingale-levels/-/nightingale-levels-1.1.0.tgz#d20cd00d050f557e1c29026fd75ec5b9a9752af3" + +nightingale-logger@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/nightingale-logger/-/nightingale-logger-3.1.1.tgz#49c5716a2b0b957407cee56907686f32c70a6e88" + dependencies: + nightingale-levels "^1.1.0" + +nightingale@^6.0.1: + version "6.0.3" + resolved "https://registry.yarnpkg.com/nightingale/-/nightingale-6.0.3.tgz#15bdae1084df27c15f35dc18f6bbb00b8f9a9ba1" + dependencies: + nightingale-levels "^1.1.0" + nightingale-logger "^3.1.1" + +node-pre-gyp@^0.6.29: + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" + dependencies: + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.1" + rc "~1.1.6" + request "^2.79.0" + rimraf "~2.5.4" + semver "~5.3.0" + tar "~2.2.1" + tar-pack "~3.3.0" + +nopt@3.x, nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.1" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +once@1.x, once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +onetime@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.0.tgz#52aa8110e52fc5126ffc667bd8ec21c2ed209ce6" + dependencies: + mimic-fn "^1.0.0" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1, optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +ora@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-1.1.0.tgz#69aaa4a209630e43b142c5f7ff41820da87e2faf" + dependencies: + chalk "^1.1.1" + cli-cursor "^2.1.0" + cli-spinners "^1.0.0" + log-symbols "^1.0.2" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-shim@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +output-file-sync@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + +p-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pkg-up@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +pob-babel@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/pob-babel/-/pob-babel-16.1.0.tgz#3f2047061f29a7ae7ae3426839ac88fb2fcabe8f" + dependencies: + babel-core "^6.23.1" + babel-plugin-discard-module-references "^1.1.2" + babel-preset-babili-optimizations "^0.2.0" + babel-preset-pob "^0.1.1" + babel-preset-pob-stages "^0.1.0" + babel-preset-stage-1 "^6.22.0" + chokidar "^1.6.1" + fs-readdir-recursive "^1.0.0" + glob "^7.1.1" + js-yaml "^3.8.1" + lock "^0.1.3" + mkdirp "^0.5.1" + nightingale "^6.0.1" + nightingale-console "^2.2.0" + ora "^1.1.0" + promise-callback-factory "^1.1.0" + promise-queue "^2.2.3" + slash "^1.0.0" + +pob-release@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pob-release/-/pob-release-3.1.0.tgz#36003372cec1f1dbf627db04b667302d6291ad37" + dependencies: + conventional-recommended-bump "^0.3.0" + inquirer "^3.0.1" + minimist-argv "^1.0.0" + semver "^5.3.0" + standard-changelog "0.0.1" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +private@^0.1.6: + version "0.1.7" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +promise-callback-factory@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/promise-callback-factory/-/promise-callback-factory-1.1.0.tgz#d2ac02a51d7b858e0068eb324455e21cf28ce442" + +promise-queue@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/promise-queue/-/promise-queue-2.2.3.tgz#8534d76bf4673c3baa3a82bba01bd295cc30f14f" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +q@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + +qs@~6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d" + +randomatic@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +rc@~1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.7.tgz#c5ea564bb07aff9fd3a5b32e906c1d3a65940fea" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0, read-pkg@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.3.tgz#9cf49463985df016c8ae8813097a9293a9b33729" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + +regenerator-runtime@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" + +regenerator-transform@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +require-uncached@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve@1.1.x, resolve@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.2.8: + version "2.6.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" + dependencies: + glob "^7.0.5" + +rimraf@~2.5.1, rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + dependencies: + is-promise "^2.1.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +rx@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + +"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +shelljs@^0.7.5: + version "0.7.6" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +source-map-support@^0.4.2: + version "0.4.11" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" + dependencies: + source-map "^0.5.3" + +source-map@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + dependencies: + amdefine ">=0.0.4" + +spawn-sync@^1.0.15: + version "1.0.15" + resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" + dependencies: + concat-stream "^1.4.7" + os-shim "^0.1.2" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +split2@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/split2/-/split2-1.1.1.tgz#162d9b18865f02ab2f2ad9585522db9b54c481f9" + dependencies: + through2 "~2.0.0" + +split2@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" + dependencies: + through2 "^2.0.2" + +split@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +standard-changelog@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/standard-changelog/-/standard-changelog-0.0.1.tgz#b367266fce05ca39ef2bbc09c0d24ddbd4191891" + dependencies: + add-stream "^1.0.0" + conventional-changelog-angular "^0.1.0" + conventional-changelog-core "^0.0.2" + lodash "^4.1.0" + meow "^3.7.0" + tempfile "^1.1.1" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^3.0.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +tempfile@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" + dependencies: + os-tmpdir "^1.0.0" + uuid "^2.0.1" + +text-extensions@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.4.0.tgz#c385d2e80879fe6ef97893e1709d88d9453726e9" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +through2@^2.0.0, through2@^2.0.2, through2@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through@2, "through@>=2.2.7 <3", through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tmp@^0.0.29: + version "0.0.29" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" + dependencies: + os-tmpdir "~1.0.1" + +tmp@^0.0.31: + version "0.0.31" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + dependencies: + os-tmpdir "~1.0.1" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-off-newlines@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tryit@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uglify-js@^2.6: + version "2.8.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.1.tgz#d3ef6ea2de6c2cae6903a83cc0446be2f1e2d338" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +v8flags@^2.0.10: + version "2.0.11" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" + dependencies: + user-home "^1.1.1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +which@^1.1.1: + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@^1.0.0, wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +xunit-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/xunit-file/-/xunit-file-1.0.0.tgz#6cb35a024ee94b49b2507ee3878968c6baaec398" + dependencies: + dateformat "^1.0.12" + mkdirp "^0.5.1" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0"