{"dist":{"shasum":"da134c188e5eb6c35aff4eca83d076c03f3219f5","tarball":"https://registry.npmjs.org/yurnalist/-/yurnalist-1.0.0-2.tgz","fileCount":35,"integrity":"sha512-do+hjn294pG069mcuuJihfiPUWbBIFKQKm5zOw28jUfQ9FHioBW2CNu/hcqQl/yLWrDfK66tmStXIPRiIBUmBQ==","signatures":[{"sig":"MEUCIDmTlZ+tmxM6IgNw+8/d/Hzb9CGSwyWsKcQ3du0djqDbAiEA4lXCo57NOhiRpTFkbqMqthMm9RBl/nw/dFdJK94in2Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcE7S0CRA9TVsSAnZWagAAukIP/jO3GyY0juVTO+wA6tBI\nCW6RMyX2YamS0EE1FYcZkYV6Z640Jr4mJnM0GaZvbYHekYUz04rdHSWudFJp\n5em/6M5kYPGCWOxaAh47lxxxeLwtAXX/j5inrDy1zSav+7jqeB6GRllGjHGk\nXems6NowzN3x+tvz0ufvEWQ/NHjuzt5UybCm4Pdb8cOgxEWbxrr3qwy5Svmt\nwRvTxF5cfwVCwnQ1SLog8UYwM+XG+aer1aB/r5dbPjVRPCyrfidgW7CKTuRj\nOJpYw1KoCAhezcZAeeCTP0xwU5NsoHG/TAEo6aupevm5rFtTVoIgR8i+FX6j\nrZtlWaT+whRSitpWzXcItIqVzP126UYD0Zf6Li6cJR5HYUC+h90USHidlI33\nhE0hW0j2t0adhOOMvucsPXDz6n9rjkoVYzn51d8YIOAlsVYdwKIcxL/W7XaC\n1ucSa/uVBrY5G/NZMMp8FyqrCQRZiuHnMQdGOI+tnPvSi8S20vi4SiMpm5sp\niZOlS4jS765KewytvAIt30Wc1QmRN09CxdKhrWH9nhmrVIhiJVLoozXZz4Vr\nTE2rmW41cL5CorQevieby23nTnqo/D1uY3oYf3Axfkme/HWg4stISSsmcBDW\n4yAVYPVVVP9+LTnOEoZj8mEFaAHPGX+hLQJCeiws4oFoU7WPhE9P/J9sDKv+\nXtPX\r\n=ANnX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node","collectCoverageFrom":["src/**/*.js"],"testPathIgnorePatterns":["__tests__/(fixtures|__mocks__)/","updates/","_(temp|mock|install|init|helpers).js$","packages/pkg-tests"],"modulePathIgnorePatterns":["__tests__/fixtures/","packages/pkg-tests/pkg-tests-fixtures","dist/"]},"main":"dist/index.js","name":"yurnalist","author":{"name":"Thijs Koerselman"},"readme":"# Yurnalist\nAn elegant console reporter, borrowed from [Yarn](https://yarnpkg.com).\n\n<!-- toc -->\n\n- [Introduction](#introduction)\n  * [Features](#features)\n- [Install](#install)\n- [How to use](#how-to-use)\n- [Requirements](#requirements)\n- [Examples](#examples)\n- [API](#api)\n  * [table](#table)\n  * [step](#step)\n  * [inspect](#inspect)\n  * [list](#list)\n  * [header](#header)\n  * [footer](#footer)\n  * [log](#log)\n  * [success](#success)\n  * [error](#error)\n  * [info](#info)\n  * [command](#command)\n  * [warn](#warn)\n  * [question](#question)\n  * [tree](#tree)\n  * [activitySet](#activityset)\n  * [activity](#activity)\n  * [select](#select)\n  * [progress](#progress)\n  * [close](#close)\n  * [createReporter](#createreporter)\n- [Configuration](#configuration)\n  * [Options](#options)\n- [Language](#language)\n- [Emojis](#emojis)\n- [To Do](#to-do)\n- [Credits](#credits)\n\n<!-- tocstop -->\n\n## Introduction\nPretty console output makes developers happy, and Yarn is doing a really nice job. Yurnalist takes the console reporter from Yarn and makes it available for use in other Node.js applications.\n\nThe current version is based on code from Yarn 1.13.0.\n\nYurnalist can be used to report many different things besides simple messages.\n\n### Features\n\n* log, info, warn, succes, error & command messages\n* progress bars\n* activity spinners\n* process steps\n* object inspection\n* lists\n* emojis\n* trees\n* tables\n* user question\n* user select\n* program header & footer\n\n## Install\n```shell\n$ yarn add yurnalist\n```\nOr if your prefer NPM\n```shell\n$ npm install yurnalist\n```\n\n## How to use\n\n```javascript\nimport report from 'yurnalist'\n\n/* A function to fake some async task */\nfunction doSomeWork(ms) {\n  return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nasync function fetchSomething() {\n  report.info('Wait while I fetch something for you');\n  report.warn('It might take a little while though');\n\n  const spinner = report.activity();\n  spinner.tick('I am on it');\n\n  try {\n    await doSomeWork(1000);\n    spinner.tick('Still busy');\n    await doSomeWork(1000);\n    spinner.tick('Almost there');\n    await doSomeWork(1000);\n    report.success('Done!');\n  } catch (err) {\n    report.error(err);\n  }\n\n  spinner.end();\n}\n\nfetchSomething();\n\n```\n\n## Requirements\nNode >= 4\n\n## Examples\nExamples showing different API functions are found in [/examples](/examples). You can run them directly with node >= 7.6 (because of async/await syntax). For older versions you could use the `--harmony` flag, or otherwise Babel.\n\nTo run the activity example:\n\n```shell\n$ node examples/activity.js\n```\n\n\n## API\nComing soon...\n\n### table\n### step\n### inspect\n### list\n### header\n### footer\n### log\n### success\n### error\n### info\n### command\n### warn\n### question\n### tree\n### activitySet\n### activity\n### select\n### progress\n### close\n### createReporter\n\n\n## Configuration\nA normal import gives you a reporter instance configured with defaults for easy use. If you want something else you can call `createReporter(options)` to give you an instance with different options.\n\n### Options\n\nThese are the options of the reporter as defined by Flow:\n\n```javascript\ntype ReporterOptions = {\n  verbose?: boolean,\n  stdout?: Stdout,\n  stderr?: Stdout,\n  stdin?: Stdin,\n  emoji?: boolean,\n  noProgress?: boolean,\n  silent?: boolean,\n  nonInteractive?: boolean,\n  peekMemoryCounter?: boolean\n};\n```\n\nThe defaults used are:\n\n```javascript\nconst defaults = {\n  verbose: false,\n  stdout: process.stdout,\n  stderr: process.stderr,\n  stdin: process.stdin,\n  emoji: true,\n  noProgress: false,\n  silent: false,\n  nonInteractive: false,\n  peekMemoryCounter: false\n}\n```\n\nThe peekMemoryCounter is disabled by default. If you enable it, you'll have to call `reporter.close()` to stop its running timer. Otherwise your program will not exit. The memory counter can be used to display in the footer data.\n\n## Language\nYarn uses a language file for certain messages. For example if you try to skip a required question, or when you pick an invalid item from a select. This language file is not yet exposed in the Yurnalist API. The only supported language is English, as it is in Yarn at the moment.\n\nI plan to make this configurable so that you can define your own messages in your own language .\n\n## Emojis\nYou can use Emojis in your output. Yurnalist should disable them if they are not allowed in the application environment.\n\nCheck:\n\n- [node-emoji](https://github.com/omnidan/node-emoji)\n- [Emoji cheat sheet](https://www.webpagefx.com/tools/emoji-cheat-sheet/)\n\n## To Do\nBefore the 1.0 release there is still some work to be done. You can find an overview in the [1.0 milestone](https://github.com/0x80/yurnalist/milestone/1).\n\nIf you'd like to help out it is highly appreciated!\n\n## Credits\nOf course ❤️ and credits to all the contributers of [Yarn](https://yarnpkg.com). The ease with which I was able to extract this module from their codebase is proving some awesome engineering skills.\n\n","engines":{"node":">=4.0.0"},"license":"BSD-2-Clause","scripts":{"lint":"eslint . && flow check","test":"yarn lint && yarn test-only","build":"babel src --out-dir dist","clean":"rimraf dist","watch":"babel src --out-dir dist --watch","prettier":"eslint src examples __tests__ --fix","test-only":"node --max_old_space_size=4096 node_modules/jest/bin/jest.js --verbose","prepublish":"npm run clean && npm run build","test-coverage":"node --max_old_space_size=4096 node_modules/jest/bin/jest.js --coverage --verbose"},"_npmUser":{"name":"thijskoerselman","email":"thijskoerselman@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"https://github.com/0x80/yurnalist","type":"git"},"description":"Elegant console output, borrowed from Yarn","directories":{},"licenseText":"BSD 2-Clause License\n\nFor Yarn software\n\nCopyright (c) 2016-present, Yarn Contributors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n   list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright notice,\n   this list of conditions and the following disclaimer in the documentation\n   and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n","maintainers":[{"name":"thijskoerselman","email":"thijskoerselman@gmail.com"}],"dependencies":{"read":"^1.0.7","chalk":"^2.1.0","debug":"^4.1.0","is-ci":"^2.0.0","leven":"^2.0.0","rimraf":"^2.5.0","semver":"^5.1.0","inquirer":"^6.2.0","invariant":"^2.2.0","strip-bom":"^3.0.0","cli-table3":"^0.5.1","deep-equal":"^1.0.1","node-emoji":"^1.6.1","object-path":"^0.11.2","babel-runtime":"^6.26.0","detect-indent":"^5.0.0","loud-rejection":"^1.2.0","is-builtin-module":"^3.0.0"},"preferGlobal":true,"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^23.6.0","temp":"^0.8.3","execa":"^1.0.0","eslint":"^5.10.0","babylon":"^6.5.0","flow-bin":"0.88.0","prettier":"^1.5.2","babel-cli":"^6.26.0","fancy-log":"^1.3.2","jsinspect":"^0.12.6","babel-core":"^6.26.0","mock-stdin":"^0.3.0","babel-eslint":"^10.0.1","babel-preset-env":"^1.6.0","babel-preset-flow":"^6.23.0","eslint-plugin-jest":"^22.1.2","eslint-plugin-babel":"^5.0.0","eslint-plugin-react":"^7.1.0","eslint-plugin-relay":"^1.0.0","babel-preset-stage-0":"^6.0.0","eslint-plugin-jasmine":"^2.6.2","eslint-plugin-flowtype":"^3.2.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-prettier":"^3.0.0","eslint-config-fb-strict":"^23.2.0","babel-plugin-inline-import":"^3.0.0","babel-plugin-array-includes":"^2.0.3","eslint-plugin-yarn-internal":"file:scripts/eslint-rules","babel-plugin-transform-runtime":"^6.4.3","eslint-plugin-prefer-object-spread":"^1.2.1","babel-plugin-transform-builtin-extend":"^1.1.2","babel-plugin-transform-inline-imports-commonjs":"^1.0.0"},"installationMethod":"unknown","_npmOperationalInternal":{"tmp":"tmp/yurnalist_1.0.0-2_1544795315905_0.2759248611181302","host":"s3://npm-registry-packages"},"_id":"yurnalist@1.0.0-2","version":"1.0.0-2"}