{"_id":"ink","_rev":"4369732","name":"ink","description":"React for CLI","dist-tags":{"latest":"7.0.0","next":"3.0.0-7"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"time":{"modified":"2026-04-08T10:48:22.000Z","created":"2013-07-22T19:06:28.507Z","7.0.0":"2026-04-08T07:48:27.042Z","6.8.0":"2026-02-19T07:01:51.878Z","6.7.0":"2026-02-10T10:36:27.066Z","6.6.0":"2025-12-22T11:02:28.800Z","6.5.1":"2025-11-19T12:09:06.095Z","6.5.0":"2025-11-12T09:07:37.240Z","6.4.0":"2025-10-26T08:01:17.108Z","6.3.1":"2025-09-19T04:44:42.199Z","6.3.0":"2025-09-08T11:16:36.314Z","6.2.3":"2025-08-28T10:25:13.864Z","6.2.2":"2025-08-21T09:00:19.942Z","6.2.1":"2025-08-19T14:23:06.803Z","6.2.0":"2025-08-14T18:32:35.294Z","6.1.1":"2025-08-13T02:39:48.182Z","6.1.0":"2025-07-27T13:17:44.612Z","6.0.1":"2025-06-25T22:20:52.427Z","6.0.0":"2025-05-29T11:51:15.483Z","5.2.1":"2025-04-29T10:51:43.345Z","5.2.0":"2025-03-09T10:14:40.357Z","5.1.1":"2025-02-27T15:58:06.240Z","5.1.0":"2024-11-25T09:21:10.050Z","5.0.1":"2024-05-31T15:59:15.437Z","5.0.0":"2024-05-11T17:34:53.361Z","4.4.1":"2023-09-09T11:43:35.504Z","4.4.0":"2023-09-01T10:16:32.064Z","4.3.1":"2023-08-07T20:35:59.167Z","4.3.0":"2023-07-17T06:20:49.287Z","4.2.0":"2023-04-24T06:58:30.414Z","4.1.0":"2023-03-26T13:14:19.124Z","4.0.0":"2023-03-01T20:22:49.752Z","3.2.0":"2021-10-07T19:33:57.884Z","3.1.0":"2021-10-07T18:38:07.561Z","3.0.9":"2021-07-19T15:17:51.339Z","3.0.8":"2020-10-20T17:26:00.019Z","3.0.7":"2020-10-01T08:04:38.474Z","3.0.6":"2020-09-19T10:35:49.199Z","3.0.5":"2020-09-01T18:18:59.934Z","3.0.4":"2020-08-18T17:58:07.756Z","3.0.3":"2020-08-02T20:47:18.482Z","3.0.2":"2020-08-02T20:08:17.914Z","3.0.1":"2020-07-31T20:14:54.151Z","3.0.0":"2020-07-27T17:35:40.906Z","3.0.0-7":"2020-07-22T17:29:24.796Z","3.0.0-6":"2020-07-07T18:33:39.444Z","3.0.0-5":"2020-07-05T07:59:32.065Z","3.0.0-4":"2020-06-23T18:05:30.600Z","3.0.0-3":"2020-06-23T15:52:21.046Z","3.0.0-2":"2020-06-23T15:30:22.921Z","3.0.0-1":"2020-06-21T10:02:41.911Z","3.0.0-0":"2020-06-20T16:40:21.634Z","2.7.1":"2020-02-16T12:34:51.544Z","2.7.0":"2020-02-03T07:07:16.802Z","2.6.0":"2019-11-28T03:25:21.327Z","2.5.0":"2019-10-05T23:27:50.281Z","2.4.0":"2019-09-26T04:05:10.652Z","2.3.0":"2019-06-25T13:56:34.914Z","2.2.0":"2019-05-23T04:06:08.095Z","2.1.1":"2019-04-02T02:53:28.192Z","2.1.0":"2019-03-31T04:46:16.336Z","2.0.6":"2019-03-18T03:06:24.540Z","2.0.5":"2019-03-09T07:24:24.102Z","2.0.4":"2019-03-08T05:50:06.388Z","2.0.3":"2019-03-05T07:29:51.951Z","2.0.2":"2019-03-05T06:31:54.513Z","2.0.1":"2019-03-05T06:23:12.057Z","2.0.0":"2019-03-04T07:40:19.067Z","2.0.0-17":"2019-03-04T07:25:27.959Z","2.0.0-16":"2019-02-20T04:56:11.582Z","2.0.0-15":"2019-02-19T06:00:35.595Z","2.0.0-14":"2019-02-19T04:47:05.522Z","2.0.0-13":"2019-02-19T00:31:39.472Z","2.0.0-12":"2019-02-17T00:53:35.667Z","2.0.0-11":"2019-01-27T16:15:39.869Z","2.0.0-10":"2018-11-26T03:00:10.427Z","2.0.0-9":"2018-11-19T14:19:22.990Z","2.0.0-8":"2018-11-13T04:50:12.215Z","2.0.0-7":"2018-11-11T22:51:26.886Z","2.0.0-6":"2018-11-10T05:16:22.343Z","2.0.0-5":"2018-11-08T06:08:45.811Z","2.0.0-4":"2018-11-07T02:54:05.396Z","2.0.0-3":"2018-10-22T03:45:06.819Z","2.0.0-2":"2018-10-07T02:04:07.049Z","2.0.0-1":"2018-10-01T07:00:27.682Z","2.0.0-0":"2018-10-01T04:37:05.022Z","0.5.1":"2018-07-09T05:26:43.845Z","0.5.0":"2018-04-29T12:18:17.540Z","0.4.1":"2018-01-22T21:41:48.394Z","0.4.0":"2018-01-22T21:28:17.312Z","0.3.1":"2017-08-07T18:08:55.025Z","0.3.0":"2017-07-16T16:25:10.957Z","0.2.1":"2017-07-15T14:52:34.065Z","0.2.0":"2017-07-14T17:10:08.268Z","0.1.2":"2017-07-09T18:13:44.650Z","0.1.1":"2017-07-05T17:32:05.079Z","0.1.0":"2017-07-05T17:28:01.550Z","0.0.2":"2013-07-22T19:12:19.106Z","0.0.1":"2013-07-22T19:06:28.507Z"},"users":{"rexpan":true,"ahmedelgabri":true,"marushkevych":true,"netweb":true,"otakustay":true,"professorcoal":true,"hal9zillion":true,"lestad":true,"ishanmarikar":true,"yanghcc":true},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"versions":{"7.0.0":{"name":"ink","version":"7.0.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=22"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"npm run typecheck && npm run lint && FORCE_COLOR=true ava","lint":"xo","format":"prettier --write .","typecheck":"tsc --noEmit","example":"NODE_NO_WARNINGS=1 node --import=tsx","benchmark":"NODE_NO_WARNINGS=1 node --import=tsx","inspect":"react-devtools"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.3.0","ansi-escapes":"^7.3.0","ansi-styles":"^6.2.3","auto-bind":"^5.0.1","chalk":"^5.6.2","cli-boxes":"^4.0.1","cli-cursor":"^4.0.0","cli-truncate":"^6.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.45.1","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.33.0","scheduler":"^0.27.0","signal-exit":"^3.0.7","slice-ansi":"^9.0.0","stack-utils":"^2.0.6","string-width":"^8.2.0","terminal-size":"^4.0.1","type-fest":"^5.5.0","widest-line":"^6.0.0","wrap-ansi":"^10.0.0","ws":"^8.20.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^10.4.0","@sindresorhus/tsconfig":"^8.1.0","@sinonjs/fake-timers":"^15.3.0","@types/ms":"^2.1.0","@types/node":"^25.5.2","@types/react":"^19.2.14","@types/react-reconciler":"^0.33.0","@types/scheduler":"^0.26.0","@types/signal-exit":"^3.0.0","@types/sinon":"^21.0.1","@types/stack-utils":"^2.0.3","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^7.0.0","boxen":"^8.0.1","delay":"^7.0.0","ms":"^2.1.3","node-pty":"^1.2.0-beta.12","p-queue":"^9.1.2","prettier":"^3.8.1","react":"^19.2.4","react-devtools":"^7.0.1","react-devtools-core":"^7.0.1","react-router":"^7.14.0","sinon":"^21.0.3","strip-ansi":"^7.2.0","tsx":"^4.21.0","typescript":"^5.8.3","xo":"^1.2.3"},"peerDependencies":{"@types/react":">=19.2.0","react":">=19.2.0","react-devtools-core":">=6.1.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"serial":true,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx"]},"prettier":"@vdemedes/prettier-config","gitHead":"fb14d811d513be19e5a57bb2faebbfd9ebd2f06a","_id":"ink@7.0.0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"25.8.0","_npmVersion":"11.12.0","dist":{"shasum":"00b931e4307505c381ef5f8efa5a8ff7a97d5010","size":124678,"noattachment":false,"key":"/ink/-/ink-7.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-7.0.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_7.0.0_1775634506890_0.23943604772207117"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-04-08T07:48:27.042Z","publish_time":1775634507042,"_source_registry_name":"default","_cnpm_publish_time":1775634507042},"6.8.0":{"name":"ink","version":"6.8.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --import=tsx","benchmark":"NODE_NO_WARNINGS=1 node --import=tsx","inspect":"react-devtools"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.4","ansi-escapes":"^7.3.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^5.1.1","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.33.0","scheduler":"^0.27.0","signal-exit":"^3.0.7","slice-ansi":"^8.0.0","stack-utils":"^2.0.6","string-width":"^8.1.1","terminal-size":"^4.0.1","type-fest":"^5.4.1","widest-line":"^6.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^10.3.0","@sindresorhus/tsconfig":"^7.0.0","@sinonjs/fake-timers":"^15.1.0","@types/ms":"^2.1.0","@types/node":"^25.0.10","@types/react":"^19.2.13","@types/react-reconciler":"^0.33.0","@types/scheduler":"^0.26.0","@types/signal-exit":"^3.0.0","@types/sinon":"^21.0.0","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^7.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.2.0-beta.10","p-queue":"^9.0.0","prettier":"^3.8.1","react":"^19.2.4","react-devtools-core":"^7.0.1","react-devtools":"^7.0.1","react-router":"^7.13.0","sinon":"^21.0.0","strip-ansi":"^7.1.0","tsx":"^4.21.0","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":">=6.1.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"serial":true,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--import=tsx"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"be1b1bb6ec65056e2ed60ef3c5ae642704b82d31","_id":"ink@6.8.0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"shasum":"c1258c21d10d0e46798a96f336ea44f8aaf935a0","size":113481,"noattachment":false,"key":"/ink/-/ink-6.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.8.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.8.0_1771484511671_0.5797810018566485"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-19T07:01:51.878Z","publish_time":1771484511878,"_source_registry_name":"default","_cnpm_publish_time":1771484511878},"6.7.0":{"name":"ink","version":"6.7.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.4","ansi-escapes":"^7.3.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^5.1.1","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.33.0","scheduler":"^0.27.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^8.1.1","terminal-size":"^4.0.1","type-fest":"^5.4.1","widest-line":"^6.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^10.3.0","@sindresorhus/tsconfig":"^7.0.0","@sinonjs/fake-timers":"^15.1.0","@types/ms":"^2.1.0","@types/node":"^25.0.10","@types/react":"^19.2.13","@types/react-reconciler":"^0.33.0","@types/scheduler":"^0.26.0","@types/signal-exit":"^3.0.0","@types/sinon":"^21.0.0","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^7.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.2.0-beta.10","p-queue":"^9.0.0","prettier":"^3.8.1","react":"^19.2.4","react-devtools-core":"^7.0.1","sinon":"^21.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^6.1.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"serial":true,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"135cb23ae3b7ca94918b1cd913682f6356f12c5c","_id":"ink@6.7.0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"shasum":"244f27497196d6eb02768f1bd3923f75e3bd5d27","size":97795,"noattachment":false,"key":"/ink/-/ink-6.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.7.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.7.0_1770719786919_0.9328609116157622"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-10T10:36:27.066Z","publish_time":1770719787066,"_source_registry_name":"default","_cnpm_publish_time":1770719787066},"6.6.0":{"name":"ink","version":"6.6.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.1","ansi-escapes":"^7.2.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^5.1.1","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.33.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^8.1.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@sinonjs/fake-timers":"^14.0.0","@types/ms":"^2.1.0","@types/node":"^24.10.0","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.2","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^7.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^9.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^7.0.1","sinon":"^21.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^6.1.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"serial":true,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"43a913c41d13b4e68c2932adeeccf2b6406036fa","_id":"ink@6.6.0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"24.12.0","_npmVersion":"11.6.1","dist":{"shasum":"a060a4764336106510adb7d64299a53d40d479ca","size":80786,"noattachment":false,"key":"/ink/-/ink-6.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.6.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.6.0_1766401348560_0.7356521346252687"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-22T11:02:28.800Z","publish_time":1766401348800,"_source_registry_name":"default","_cnpm_publish_time":1766401348800},"6.5.1":{"name":"ink","version":"6.5.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.1","ansi-escapes":"^7.2.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^5.1.1","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.33.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^8.1.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@sinonjs/fake-timers":"^14.0.0","@types/ms":"^2.1.0","@types/node":"^24.10.0","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.2","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^7.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^9.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^7.0.1","sinon":"^21.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^6.1.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"serial":true,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"45ed972ddfd3b508ed6397f9f844d076454a891c","_id":"ink@6.5.1","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.5","_npmVersion":"11.6.1","dist":{"shasum":"81f1e825984dc06c18a78c4bb57a77de57316e66","size":80626,"noattachment":false,"key":"/ink/-/ink-6.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.5.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.5.1_1763554145851_0.2304544754010247"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-19T12:09:06.095Z","publish_time":1763554146095,"_source_registry_name":"default","_cnpm_publish_time":1763554146095},"6.5.0":{"name":"ink","version":"6.5.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.1","ansi-escapes":"^7.2.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^5.1.1","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.33.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^8.1.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@sinonjs/fake-timers":"^14.0.0","@types/ms":"^2.1.0","@types/node":"^24.10.0","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.2","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^7.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^9.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^7.0.1","sinon":"^21.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^6.1.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"serial":true,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"69813b4b5bdb17589d7c690262d7a474a58fbc21","_id":"ink@6.5.0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.5","_npmVersion":"11.6.1","dist":{"shasum":"6aefd27a952ec676ca0e8bc5b372cc5f7681b0e3","size":80413,"noattachment":false,"key":"/ink/-/ink-6.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.5.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.5.0_1762938457070_0.48269980218234454"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-12T09:07:37.240Z","publish_time":1762938457240,"_source_registry_name":"default","_cnpm_publish_time":1762938457240},"6.4.0":{"name":"ink","version":"6.4.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.1","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@sinonjs/fake-timers":"^14.0.0","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.2","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^6.1.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"c18f3aa956c8e1430eeaff726dd8f0076201d041","_id":"ink@6.4.0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"24.9.0","_npmVersion":"11.6.1","dist":{"shasum":"40c365767995b3ff6309ca80a3c3aefdac504f1a","size":79279,"noattachment":false,"key":"/ink/-/ink-6.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.4.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.4.0_1761465676881_0.11385646226050627"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-26T08:01:17.108Z","publish_time":1761465677108,"_source_registry_name":"default","_cnpm_publish_time":1761465677108},"6.3.1":{"name":"ink","version":"6.3.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.0","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@sinonjs/fake-timers":"^14.0.0","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^6.1.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.3.1","gitHead":"6d84457705210dc87eb7dddf3225b05be16d7628","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.5","_npmVersion":"10.9.2","dist":{"shasum":"ad076f06864cd9303866f974194cda9b168776dc","size":79117,"noattachment":false,"key":"/ink/-/ink-6.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.3.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.3.1_1758257082013_0.5465377238880373"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-19T04:44:42.199Z","publish_time":1758257082199,"_source_registry_name":"default","_cnpm_publish_time":1758257082199},"6.3.0":{"name":"ink","version":"6.3.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.0","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@sinonjs/fake-timers":"^14.0.0","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.3.0","gitHead":"927d748657e4fcab03372d55f9c3af5c35e367e2","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"22.12.0","_npmVersion":"10.9.2","dist":{"shasum":"9be9c3f550bd4e356249653504f6d974a0cddd13","size":79107,"noattachment":false,"key":"/ink/-/ink-6.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.3.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.3.0_1757330196115_0.04688446549769987"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-08T11:16:36.314Z","publish_time":1757330196314,"_source_registry_name":"default","_cnpm_publish_time":1757330196314},"6.2.3":{"name":"ink","version":"6.2.3","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.0","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@types/benchmark":"^2.1.2","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.2.3","gitHead":"48dde206c7f465ca54433c98102e4e9d1d13bf33","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"e7ad0e10ebc6b03c97e5f15ea81d11737b7b4bef","size":78433,"noattachment":false,"key":"/ink/-/ink-6.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.2.3.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.2.3_1756376713591_0.4193236329576293"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-28T10:25:13.864Z","publish_time":1756376713864,"_source_registry_name":"default","_cnpm_publish_time":1756376713864},"6.2.2":{"name":"ink","version":"6.2.2","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.0","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","scheduler":"^0.26.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@types/benchmark":"^2.1.2","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/scheduler":"^0.26.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.2.2","gitHead":"9bf31133589bbe895a81f3543ed9e407b44a993e","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"7dfedd31a9c883cdce84dc7fc648888b4d7badb7","size":78483,"noattachment":false,"key":"/ink/-/ink-6.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.2.2.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.2.2_1755766819729_0.7973735672937399"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-21T09:00:19.942Z","publish_time":1755766819942,"_source_registry_name":"default","_cnpm_publish_time":1755766819942},"6.2.1":{"name":"ink","version":"6.2.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.2.0","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.6.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.39.10","indent-string":"^5.0.0","is-in-ci":"^2.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","scheduler":"^0.26.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@types/benchmark":"^2.1.2","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/scheduler":"^0.26.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.2.1","gitHead":"c52daa36fbd12011e28ed19c05288fe3fbb72978","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"6c88867c522d823901924c2c60a6bcd321f24909","size":78172,"noattachment":false,"key":"/ink/-/ink-6.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.2.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.2.1_1755613386634_0.6685916463285648"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-19T14:23:06.803Z","publish_time":1755613386803,"_source_registry_name":"default","_cnpm_publish_time":1755613386803},"6.2.0":{"name":"ink","version":"6.2.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@types/benchmark":"^2.1.2","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.2.0","gitHead":"c76df5f9dcf119cc7348011c6795168a7c8ed1fa","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"27494785ae6bfd3eceeb783ce451b01c664948e8","size":77000,"noattachment":false,"key":"/ink/-/ink-6.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.2.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.2.0_1755196355083_0.9445696716994469"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-14T18:32:35.294Z","publish_time":1755196355294,"_source_registry_name":"default","_cnpm_publish_time":1755196355294},"6.1.1":{"name":"ink","version":"6.1.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@types/benchmark":"^2.1.2","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.1.1","gitHead":"4ab3e2d2632c1540d7d81d57a913301015e9ea00","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"b4008b8c4a3538ca2a11fb9017adfd66bf68b7e9","size":73168,"noattachment":false,"key":"/ink/-/ink-6.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.1.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.1.1_1755052787978_0.1598032320789342"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-13T02:39:48.182Z","publish_time":1755052788182,"_source_registry_name":"default","_cnpm_publish_time":1755052788182},"6.1.0":{"name":"ink","version":"6.1.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@types/benchmark":"^2.1.2","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.1.0","gitHead":"23c2b0289dccf814c95bb6a04c564d88fbc1a32e","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"6522baa39e73f477f41f401bba7207eddfce7e00","size":73094,"noattachment":false,"key":"/ink/-/ink-6.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.1.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.1.0_1753622264428_0.423153141338221"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-27T13:17:44.612Z","publish_time":1753622264612,"_source_registry_name":"default","_cnpm_publish_time":1753622264612},"6.0.1":{"name":"ink","version":"6.0.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@types/benchmark":"^2.1.2","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.0.1","gitHead":"e84dc12f7817a459a6e093f70d5b693cf53c0d36","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"15ffaeab40a3f4286d7103f456b813b5bde63a78","size":71760,"noattachment":false,"key":"/ink/-/ink-6.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.0.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com","actor":{"name":"sindresorhus","email":"sindresorhus@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.0.1_1750890052185_0.12836600025708544"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-25T22:20:52.427Z","publish_time":1750890052427,"_source_registry_name":"default","_cnpm_publish_time":1750890052427},"6.0.0":{"name":"ink","version":"6.0.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.32.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.8.0","@sindresorhus/tsconfig":"^7.0.0","@types/benchmark":"^2.1.2","@types/ms":"^2.1.0","@types/node":"^22.15.24","@types/react":"^19.1.5","@types/react-reconciler":"^0.32.0","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.18.1","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^19.1.0","react-devtools-core":"^6.1.2","sinon":"^20.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.8.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=19.0.0","react":">=19.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@6.0.0","gitHead":"7f2bc3cad6ce21d9f127a15cb58008e02ba48b11","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"3e6fe8f25c378020ce051c8081432b086385ca4d","size":71703,"noattachment":false,"key":"/ink/-/ink-6.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-6.0.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_6.0.0_1748519475307_0.6991246830508295"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-05-29T11:51:15.483Z","publish_time":1748519475483,"_source_registry_name":"default","_cnpm_publish_time":1748519475483},"5.2.1":{"name":"ink","version":"5.2.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.2.0","@sindresorhus/tsconfig":"^6.0.0","@types/benchmark":"^2.1.2","@types/ms":"^0.7.31","@types/node":"^22.9.0","@types/react":"^18.3.12","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.5.13","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.2","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^18.0.0","react-devtools-core":"^5.0.0","sinon":"^19.0.2","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.6.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@5.2.1","gitHead":"991aaa54eae39e1ad6d1964e747ea936d5a4ad12","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"23.6.1","_npmVersion":"10.9.2","dist":{"shasum":"b9ea59f0d1eab2b4566903b35b54fd34323d1694","size":70903,"noattachment":false,"key":"/ink/-/ink-5.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-5.2.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_5.2.1_1745923903159_0.7854762415613428"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-29T10:51:43.345Z","publish_time":1745923903345,"_source_registry_name":"default","_cnpm_publish_time":1745923903345},"5.2.0":{"name":"ink","version":"5.2.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-layout":"~3.2.1"},"devDependencies":{"@faker-js/faker":"^9.2.0","@sindresorhus/tsconfig":"^6.0.0","@types/benchmark":"^2.1.2","@types/ms":"^0.7.31","@types/node":"^22.9.0","@types/react":"^18.3.12","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.5.13","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.2","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^18.0.0","react-devtools-core":"^5.0.0","sinon":"^19.0.2","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.6.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@5.2.0","gitHead":"30d225f4697d8341fd7f06d5aba7c79443c5e09b","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"23.6.1","_npmVersion":"10.9.2","dist":{"shasum":"b0c948e51cdda0afbba22747ffa6fbf9c99c6b8b","size":70783,"noattachment":false,"key":"/ink/-/ink-5.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-5.2.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_5.2.0_1741515280161_0.4781590573151546"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-09T10:14:40.357Z","publish_time":1741515280357,"_source_registry_name":"default","_cnpm_publish_time":1741515280357},"5.1.1":{"name":"ink","version":"5.1.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^9.2.0","@sindresorhus/tsconfig":"^6.0.0","@types/benchmark":"^2.1.2","@types/ms":"^0.7.31","@types/node":"^22.9.0","@types/react":"^18.3.12","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.5.13","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.2","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^18.0.0","react-devtools-core":"^5.0.0","sinon":"^19.0.2","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.6.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@5.1.1","gitHead":"e463d9ddb7ddc64d118ee90a92b7028cf03ec0b0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"23.6.1","_npmVersion":"10.9.2","dist":{"shasum":"5929d63d91cb888f7bfcd3c04a1d18766739be46","size":70804,"noattachment":false,"key":"/ink/-/ink-5.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-5.1.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink_5.1.1_1740671886048_0.05680743424132628"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-02-27T15:58:06.240Z","publish_time":1740671886240,"_source_registry_name":"default","_cnpm_publish_time":1740671886240},"5.1.0":{"name":"ink","version":"5.1.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","es-toolkit":"^1.22.0","indent-string":"^5.0.0","is-in-ci":"^1.0.0","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.2.0","type-fest":"^4.27.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.18.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^9.2.0","@sindresorhus/tsconfig":"^6.0.0","@types/benchmark":"^2.1.2","@types/ms":"^0.7.31","@types/node":"^22.9.0","@types/react":"^18.3.12","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.5.13","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^8.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.37.2","eslint-plugin-react-hooks":"^5.0.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.3.3","react":"^18.0.0","react-devtools-core":"^5.0.0","sinon":"^19.0.2","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.6.3","xo":"^0.59.3"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@5.1.0","gitHead":"c3580c1f2b8aabbba9dc0ca918ded0aff5c429b6","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"18.20.4","_npmVersion":"10.6.0","dist":{"shasum":"8ed050bf7a468489f231c99031f8bb1393c44079","size":71035,"noattachment":false,"key":"/ink/-/ink-5.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-5.1.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_5.1.0_1732526469894_0.8707962894453674"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-25T09:21:10.050Z","publish_time":1732526470050,"_source_registry_name":"default","_cnpm_publish_time":1732526470050},"5.0.1":{"name":"ink","version":"5.0.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^7.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-in-ci":"^0.1.0","lodash":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.0.0","type-fest":"^4.8.3","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.15.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^8.3.1","@sindresorhus/tsconfig":"^5.0.0","@types/benchmark":"^2.1.2","@types/lodash":"^4.14.202","@types/ms":"^0.7.31","@types/node":"^20.10.4","@types/react":"^18.2.43","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.23.0","@types/signal-exit":"^3.0.0","@types/sinon":"^17.0.3","@types/stack-utils":"^2.0.2","@types/ws":"^8.5.10","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.33.2","eslint-plugin-react-hooks":"^4.6.2","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.1.1","react":"^18.0.0","react-devtools-core":"^5.0.0","sinon":"^18.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.3.3","xo":"^0.58.0"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@5.0.1","gitHead":"7fedab06770eb6199aafe06163f9c47884b88f58","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"18.20.2","_npmVersion":"10.6.0","dist":{"shasum":"f2ef9796a3911830c3995dedd227ec84ae27de4b","size":70943,"noattachment":false,"key":"/ink/-/ink-5.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-5.0.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_5.0.1_1717171155259_0.9417425028429225"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-31T15:59:15.437Z","publish_time":1717171155437,"_source_registry_name":"default","_cnpm_publish_time":1717171155437},"5.0.0":{"name":"ink","version":"5.0.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^6.0.0","ansi-styles":"^6.2.1","auto-bind":"^5.0.1","chalk":"^5.3.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^4.0.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-in-ci":"^0.1.0","lodash":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^7.1.0","stack-utils":"^2.0.6","string-width":"^7.0.0","type-fest":"^4.8.3","widest-line":"^5.0.0","wrap-ansi":"^9.0.0","ws":"^8.15.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^8.3.1","@sindresorhus/tsconfig":"^5.0.0","@types/benchmark":"^2.1.2","@types/lodash":"^4.14.202","@types/ms":"^0.7.31","@types/node":"^20.10.4","@types/react":"^18.2.43","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.16.8","@types/signal-exit":"^3.0.0","@types/sinon":"^10.0.20","@types/stack-utils":"^2.0.2","@types/ws":"^8.5.10","@vdemedes/prettier-config":"^2.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^6.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"^7.33.2","eslint-plugin-react-hooks":"4.6.0","ms":"^2.1.3","node-pty":"^1.0.0","p-queue":"^8.0.0","prettier":"^3.1.1","react":"^18.0.0","react-devtools-core":"^5.0.0","sinon":"^17.0.0","strip-ansi":"^7.1.0","ts-node":"^10.9.2","typescript":"^5.3.3","xo":"^0.56.0"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","_id":"ink@5.0.0","gitHead":"eb18bdeb0ac4c91ae4a686774bbdedbb96bb7263","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_nodeVersion":"18.20.0","_npmVersion":"10.5.0","dist":{"shasum":"9367e6f8f6e7f28845690c72f806d09e207a0799","size":64358,"noattachment":false,"key":"/ink/-/ink-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-5.0.0.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_5.0.0_1715448893167_0.855843565869701"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-11T17:34:53.361Z","publish_time":1715448893361,"_source_registry_name":"default","_cnpm_publish_time":1715448893361},"4.4.1":{"name":"ink","version":"4.4.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=14.16"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.3","ansi-escapes":"^6.0.0","auto-bind":"^5.0.1","chalk":"^5.2.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^3.1.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-ci":"^3.0.1","is-lower-case":"^2.0.2","is-upper-case":"^2.0.2","lodash":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^6.0.0","stack-utils":"^2.0.6","string-width":"^5.1.2","type-fest":"^0.12.0","widest-line":"^4.0.1","wrap-ansi":"^8.1.0","ws":"^8.12.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^7.6.0","@sindresorhus/tsconfig":"3.0.1","@types/benchmark":"^2.1.2","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.191","@types/ms":"^0.7.31","@types/node":"*","@types/react":"^18.0.0","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.16.2","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@types/ws":"^8.5.4","@vdemedes/prettier-config":"^1.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^5.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"7.32.2","eslint-plugin-react-hooks":"4.6.0","ms":"^2.1.3","node-pty":"0.10.1","p-queue":"^7.3.4","prettier":"^2.0.4","react":"^18.0.0","react-devtools-core":"^4.19.1","sinon":"^12.0.1","strip-ansi":"^6.0.0","ts-node":"10.9.1","typescript":"^4.9.4","xo":"0.54.2"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"4a088eb6d20ce59bb5a0ad8122177b2dbb6ece4c","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@4.4.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"ae684a141e92524af3eccf740c38f03618b48028","size":64539,"noattachment":false,"key":"/ink/-/ink-4.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-4.4.1.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_4.4.1_1694259815319_0.2060163669802766"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-09T11:43:35.504Z","publish_time":1694259815504,"_source_registry_name":"default","_cnpm_publish_time":1694259815504},"4.4.0":{"name":"ink","version":"4.4.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=14.16"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.2","ansi-escapes":"^6.0.0","auto-bind":"^5.0.1","chalk":"^5.2.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^3.1.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-ci":"^3.0.1","is-lower-case":"^2.0.2","is-upper-case":"^2.0.2","lodash":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^6.0.0","stack-utils":"^2.0.6","string-width":"^5.1.2","type-fest":"^0.12.0","widest-line":"^4.0.1","wrap-ansi":"^8.1.0","ws":"^8.12.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^7.6.0","@sindresorhus/tsconfig":"3.0.1","@types/benchmark":"^2.1.2","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.191","@types/ms":"^0.7.31","@types/node":"*","@types/react":"^18.0.0","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.16.2","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@types/ws":"^8.5.4","@vdemedes/prettier-config":"^1.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^5.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"7.32.2","eslint-plugin-react-hooks":"4.6.0","ms":"^2.1.3","node-pty":"0.10.1","p-queue":"^7.3.4","prettier":"^2.0.4","react":"^18.0.0","react-devtools-core":"^4.19.1","sinon":"^12.0.1","strip-ansi":"^6.0.0","ts-node":"10.9.1","typescript":"^4.9.4","xo":"0.54.2"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"9ff9ef95f48434c403e780e8ce0f89e9ce41bf11","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@4.4.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"ccba57a2ce43405fc8859b52212169862cd14a15","size":64493,"noattachment":false,"key":"/ink/-/ink-4.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-4.4.0.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_4.4.0_1693563391799_0.08877830513232388"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-01T10:16:32.064Z","publish_time":1693563392064,"_source_registry_name":"default","_cnpm_publish_time":1693563392064},"4.3.1":{"name":"ink","version":"4.3.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=14.16"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.2","ansi-escapes":"^6.0.0","auto-bind":"^5.0.1","chalk":"^5.2.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^3.1.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-ci":"^3.0.1","is-lower-case":"^2.0.2","is-upper-case":"^2.0.2","lodash":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^6.0.0","stack-utils":"^2.0.6","string-width":"^5.1.2","type-fest":"^0.12.0","widest-line":"^4.0.1","wrap-ansi":"^8.1.0","ws":"^8.12.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^7.6.0","@sindresorhus/tsconfig":"3.0.1","@types/benchmark":"^2.1.2","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.191","@types/ms":"^0.7.31","@types/node":"*","@types/react":"^18.0.0","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.16.2","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@types/ws":"^8.5.4","@vdemedes/prettier-config":"^1.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^5.0.0","eslint-config-xo-react":"0.27.0","eslint-plugin-react":"7.32.2","eslint-plugin-react-hooks":"4.6.0","ms":"^2.1.3","node-pty":"0.10.1","p-queue":"^7.3.4","prettier":"^2.0.4","react":"^18.0.0","react-devtools-core":"^4.19.1","sinon":"^12.0.1","strip-ansi":"^6.0.0","ts-node":"10.9.1","typescript":"^4.9.4","xo":"0.54.2"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"968466f20e94528c05f28ba6e8d2a737845fc150","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@4.3.1","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"shasum":"1eb3f8b4da9a51b3082b8b102dc2e79890e07016","size":63636,"noattachment":false,"key":"/ink/-/ink-4.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-4.3.1.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_4.3.1_1691440558997_0.516349749470993"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-07T20:35:59.167Z","publish_time":1691440559167,"_source_registry_name":"default","_cnpm_publish_time":1691440559167},"4.3.0":{"name":"ink","version":"4.3.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=14.16"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@alcalzone/ansi-tokenize":"^0.1.1","ansi-escapes":"^6.0.0","auto-bind":"^5.0.1","chalk":"^5.2.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^3.1.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-ci":"^3.0.1","is-lower-case":"^2.0.2","is-upper-case":"^2.0.2","lodash":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^6.0.0","stack-utils":"^2.0.6","string-width":"^5.1.2","type-fest":"^0.12.0","widest-line":"^4.0.1","wrap-ansi":"^8.1.0","ws":"^8.12.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^7.6.0","@sindresorhus/tsconfig":"3.0.1","@types/benchmark":"^2.1.2","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.191","@types/ms":"^0.7.31","@types/node":"*","@types/react":"^18.0.0","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.16.2","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@types/ws":"^8.5.4","@vdemedes/prettier-config":"^1.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^5.0.0","eslint-config-xo-react":"^0.27.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","ms":"^2.1.3","node-pty":"0.10.1","p-queue":"^7.3.4","prettier":"^2.0.4","react":"^18.0.0","react-devtools-core":"^4.19.1","sinon":"^12.0.1","strip-ansi":"^6.0.0","ts-node":"10.9.1","typescript":"^4.9.4","xo":"^0.54.2"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off","unicorn/prefer-dom-node-remove":"off","unicorn/prefer-event-target":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"1e945728ac5dce876029b0d3e2ca552393b40a06","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@4.3.0","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"shasum":"83e739bec9af158e2092b6978bfb02a047f2b085","size":63577,"noattachment":false,"key":"/ink/-/ink-4.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-4.3.0.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_4.3.0_1689574849108_0.4293113025531212"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-17T06:20:49.287Z","publish_time":1689574849287,"_source_registry_name":"default","_cnpm_publish_time":1689574849287},"4.2.0":{"name":"ink","version":"4.2.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=14.16"},"scripts":{"dev":"tsc --watch","build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^6.0.0","auto-bind":"^5.0.1","chalk":"^5.2.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^3.1.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-ci":"^3.0.1","is-lower-case":"^2.0.2","is-upper-case":"^2.0.2","lodash":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^6.0.0","stack-utils":"^2.0.6","string-width":"^5.1.2","type-fest":"^0.12.0","widest-line":"^4.0.1","wrap-ansi":"^8.1.0","ws":"^8.12.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^7.6.0","@sindresorhus/tsconfig":"3.0.1","@types/benchmark":"^2.1.2","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.191","@types/ms":"^0.7.31","@types/node":"*","@types/react":"^18.0.0","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.16.2","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@types/ws":"^8.5.4","@vdemedes/prettier-config":"^1.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^5.0.0","eslint-config-xo-react":"^0.27.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","ms":"^2.1.3","node-pty":"0.10.1","p-queue":"^7.3.4","prettier":"^2.0.4","react":"^18.0.0","react-devtools-core":"^4.19.1","sinon":"^12.0.1","strip-ansi":"^6.0.0","ts-node":"10.9.1","typescript":"^4.9.4","xo":"^0.53.0"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"ignores":["src/parse-keypress.ts"],"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"4e7546939cc383897bf40610db17c69b4e9ba84c","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@4.2.0","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"shasum":"c4cad99574f5e237dad57db460e824a168dcecc6","size":62333,"noattachment":false,"key":"/ink/-/ink-4.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-4.2.0.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_4.2.0_1682319510220_0.8198014627379424"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-04-24T06:58:30.414Z","publish_time":1682319510414,"_cnpm_publish_time":1682319510414},"4.1.0":{"name":"ink","version":"4.1.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=14.16"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^6.0.0","auto-bind":"^5.0.1","chalk":"^5.2.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^3.1.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-ci":"^3.0.1","lodash":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^6.0.0","stack-utils":"^2.0.6","string-width":"^5.1.2","type-fest":"^0.12.0","widest-line":"^4.0.1","wrap-ansi":"^8.1.0","ws":"^8.12.0","yoga-wasm-web":"~0.3.3"},"devDependencies":{"@faker-js/faker":"^7.6.0","@sindresorhus/tsconfig":"3.0.1","@types/benchmark":"^2.1.2","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.191","@types/ms":"^0.7.31","@types/node":"*","@types/react":"^18.0.0","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.16.2","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@types/ws":"^8.5.4","@vdemedes/prettier-config":"^1.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^5.0.0","eslint-config-xo-react":"^0.27.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","ms":"^2.1.3","node-pty":"0.10.1","p-queue":"^7.3.4","prettier":"^2.0.4","react":"^18.0.0","react-devtools-core":"^4.19.1","sinon":"^12.0.1","strip-ansi":"^6.0.0","ts-node":"10.9.1","typescript":"^4.9.4","xo":"^0.53.0"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"1d26beb7be3301ad561f3546e8f6e0e32667bf4c","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@4.1.0","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"shasum":"6ae9a7c4ec8726c9601feabaff2ce015660e9075","size":58784,"noattachment":false,"key":"/ink/-/ink-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-4.1.0.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_4.1.0_1679836458958_0.926762629237404"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-26T13:14:19.124Z","publish_time":1679836459124,"_cnpm_publish_time":1679836459124},"4.0.0":{"name":"ink","version":"4.0.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"Vadim Demedes","email":"vadimdemedes@hey.com","url":"https://github.com/vadimdemedes"},"type":"module","exports":{"types":"./build/index.d.ts","default":"./build/index.js"},"engines":{"node":">=14.16"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","example":"NODE_NO_WARNINGS=1 node --loader ts-node/esm","benchmark":"NODE_NO_WARNINGS=1 node --loader ts-node/esm"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^6.0.0","auto-bind":"^5.0.1","chalk":"^5.2.0","cli-boxes":"^3.0.0","cli-cursor":"^4.0.0","cli-truncate":"^3.1.0","code-excerpt":"^4.0.0","indent-string":"^5.0.0","is-ci":"^3.0.1","lodash-es":"^4.17.21","patch-console":"^2.0.0","react-reconciler":"^0.29.0","scheduler":"^0.23.0","signal-exit":"^3.0.7","slice-ansi":"^5.0.0","stack-utils":"^2.0.6","string-width":"^5.1.2","type-fest":"^0.12.0","widest-line":"^4.0.1","wrap-ansi":"^8.1.0","ws":"^8.12.0","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@faker-js/faker":"^7.6.0","@sindresorhus/tsconfig":"3.0.1","@types/benchmark":"^2.1.2","@types/is-ci":"^2.0.0","@types/lodash-es":"^4.17.6","@types/ms":"^0.7.31","@types/node":"*","@types/react":"^18.0.0","@types/react-reconciler":"^0.28.2","@types/scheduler":"^0.16.2","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@types/ws":"^8.5.4","@vdemedes/prettier-config":"^1.0.1","ava":"^5.1.1","boxen":"^7.0.1","delay":"^5.0.0","eslint-config-xo-react":"^0.27.0","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","ms":"^2.1.3","node-pty":"0.10.1","p-queue":"^7.3.4","prettier":"^2.0.4","react":"^18.0.0","react-devtools-core":"^4.19.1","sinon":"^12.0.1","strip-ansi":"^6.0.0","ts-node":"10.9.1","typescript":"^4.9.4","xo":"^0.53.0"},"peerDependencies":{"@types/react":">=18.0.0","react":">=18.0.0","react-devtools-core":"^4.19.1"},"peerDependenciesMeta":{"@types/react":{"optional":true},"react-devtools-core":{"optional":true}},"ava":{"workerThreads":false,"files":["test/**/*","!test/helpers/**/*","!test/fixtures/**/*"],"extensions":{"ts":"module","tsx":"module"},"nodeArguments":["--loader=ts-node/esm"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off","react/prop-types":"off","unicorn/import-index":"off","import/no-useless-path-segments":"off","react-hooks/exhaustive-deps":"off","complexity":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"off","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"off","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off","dot-notation":"off","react/boolean-prop-naming":"off"}},{"files":["examples/**/*.{ts,tsx}","benchmark/**/*.{ts,tsx}"],"rules":{"import/no-unassigned-import":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"9b1002cf9bfb2d8502b9825f8e093dd40c2ea1d2","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@4.0.0","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"shasum":"d9bb977230d3858b75c0208c1c0288ac6ca66201","size":56372,"noattachment":false,"key":"/ink/-/ink-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-4.0.0.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_4.0.0_1677702169528_0.8040690873256011"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-01T20:22:49.752Z","publish_time":1677702169752,"_cnpm_publish_time":1677702169752},"3.2.0":{"name":"ink","version":"3.2.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash":"^4.17.20","patch-console":"^1.0.0","react-devtools-core":"^4.19.1","react-reconciler":"^0.26.2","scheduler":"^0.20.2","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-width":"^4.2.2","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.5.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.161","@types/node":"*","@types/react":"^17.0.27","@types/react-reconciler":"^0.26.4","@types/scheduler":"^0.16.2","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^17.0.2","sinon":"^8.1.1","strip-ansi":"^6.0.0","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"0842d56daadae70df842f71bcb50a7bff456aef9","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.2.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"shasum":"434793630dc57d611c8fe8fffa1db6b56f1a16bb","size":57061,"noattachment":false,"key":"/ink/-/ink-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.2.0.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.2.0_1633635237691_0.959950111819345"},"_hasShrinkwrap":false,"publish_time":1633635237884,"_cnpm_publish_time":1633635237884},"3.1.0":{"name":"ink","version":"3.1.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash":"^4.17.20","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-width":"^4.2.2","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.161","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","react/default-props-match-prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"ee4d562b04cb23ee521152d44ab85bf09c86d35c","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.1.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"shasum":"1ee100c9554dae2318533ec4beb633ce38191672","size":56967,"noattachment":false,"key":"/ink/-/ink-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.1.0.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.1.0_1633631887344_0.4795342347395284"},"_hasShrinkwrap":false,"publish_time":1633631887561,"_cnpm_publish_time":1633631887561},"3.0.9":{"name":"ink","version":"3.0.9","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash":"^4.17.20","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-width":"^4.2.2","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.161","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"60ed5f4fb945e3387b201725683516b122bbd8e2","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.9","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"shasum":"57950c7ffe02cb1b2b1537465f6b8d26f7728957","size":56537,"noattachment":false,"key":"/ink/-/ink-3.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.9.tgz"},"_npmUser":{"name":"vdemedes","email":"vadimdemedes@hey.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.9_1626707871177_0.8306131447696885"},"_hasShrinkwrap":false,"publish_time":1626707871339,"_cnpm_publish_time":1626707871339},"3.0.8":{"name":"ink","version":"3.0.8","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash":"^4.17.20","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.161","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"c83a5d0ab3e95a8d30d70bc466808e567727eb97","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.8","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"c527957c8fa4efcc139b67a4cbba7bb8a62b18b0","size":67823,"noattachment":false,"key":"/ink/-/ink-3.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.8.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.8_1603214759760_0.7101840970891995"},"_hasShrinkwrap":false,"publish_time":1603214760019,"_cnpm_publish_time":1603214760019},"3.0.7":{"name":"ink","version":"3.0.7","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash":"^4.17.20","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash":"^4.14.161","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"8ecab354134e4dbbfa7c6395312a4fe89e67ee40","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.7","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"acf8f3da628f3fff6d0e48642a57d82a6720bb5d","size":67616,"noattachment":false,"key":"/ink/-/ink-3.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.7.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.7_1601539478316_0.7955699020509639"},"_hasShrinkwrap":false,"publish_time":1601539478474,"_cnpm_publish_time":1601539478474},"3.0.6":{"name":"ink","version":"3.0.6","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"c23f01902943ca941efe4044fd449285b09d5da0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.6","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"d40d7a3b84b4521c1a05944a936c284170299ffc","size":67452,"noattachment":false,"key":"/ink/-/ink-3.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.6.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.6_1600511749015_0.04327981971767891"},"_hasShrinkwrap":false,"publish_time":1600511749199,"_cnpm_publish_time":1600511749199},"3.0.5":{"name":"ink","version":"3.0.5","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"e1a108008fbf33056206115a8953e7eef8203500","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.5","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"9397b21111a7c6c5f5e00cfeb7420f9c09ba044d","size":67445,"noattachment":false,"key":"/ink/-/ink-3.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.5.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.5_1598984339736_0.02189971626081122"},"_hasShrinkwrap":false,"publish_time":1598984339934,"_cnpm_publish_time":1598984339934},"3.0.4":{"name":"ink","version":"3.0.4","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"5c9eae4c104bc5c246b5014821f09dd9f88fb364","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.4","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"e8f40f260c34d27431be6b7db9b963c0104058b0","size":67381,"noattachment":false,"key":"/ink/-/ink-3.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.4.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.4_1597773487485_0.2673956148069654"},"_hasShrinkwrap":false,"publish_time":1597773487756,"_cnpm_publish_time":1597773487756},"3.0.3":{"name":"ink","version":"3.0.3","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"71edeefd0fd227dc5c5ba3837d8340c197bcd632","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.3","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"8540a6c7874bcadaebe8017164c35c5a2150bbe2","size":67372,"noattachment":false,"key":"/ink/-/ink-3.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.3.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.3_1596401238282_0.5588384385723271"},"_hasShrinkwrap":false,"publish_time":1596401238482,"_cnpm_publish_time":1596401238482},"3.0.2":{"name":"ink","version":"3.0.2","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"373db19bdbbbab0e7fedf11dc2285cbe6cd3bd45","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.2","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"92cf8b0e0e1dacba95d6baa577bb088dafc76a02","size":67154,"noattachment":false,"key":"/ink/-/ink-3.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.2.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.2_1596398897721_0.05593252381070535"},"_hasShrinkwrap":false,"publish_time":1596398897914,"_cnpm_publish_time":1596398897914},"3.0.1":{"name":"ink","version":"3.0.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"539a624a7f8089bf3df589a29a91d8fdced36732","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"e23100a841fa840ecf9f25837275bed57ed2d90d","size":67146,"noattachment":false,"key":"/ink/-/ink-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.1_1596226493708_0.5539683547235217"},"_hasShrinkwrap":false,"publish_time":1596226494151,"_cnpm_publish_time":1596226494151},"3.0.0":{"name":"ink","version":"3.0.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","gitHead":"db5e9bcb83bce980b6b68ee431084b288f90571f","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"6a6785049c46f4e01259c45cbc1a9f32b6e4ab7b","size":66689,"noattachment":false,"key":"/ink/-/ink-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0_1595871340657_0.012737559396742704"},"_hasShrinkwrap":false,"publish_time":1595871340906,"_cnpm_publish_time":1595871340906},"3.0.0-7":{"name":"ink","version":"3.0.0-7","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"*","@types/react":"^16.9.41","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^9.0.4","@types/slice-ansi":"^4.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","readmeFilename":"readme.md","gitHead":"a773ed596ef54c0e7a942669fee0cb625d7170f6","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0-7","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"e64a7f8ca462f1d07bc371906871c3c2b24c141c","size":66687,"noattachment":false,"key":"/ink/-/ink-3.0.0-7.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0-7.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0-7_1595438964646_0.9004037923601722"},"_hasShrinkwrap":false,"publish_time":1595438964796,"_cnpm_publish_time":1595438964796},"3.0.0-6":{"name":"ink","version":"3.0.0-6","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"^13.9.1","@types/react":"^16.9.19","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^7.5.2","@types/slice-ansi":"^2.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","readmeFilename":"readme.md","gitHead":"b8c26099dec8de13b05468f6ddbd970f1740a7f1","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0-6","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"881fa3331bb6b7b9a39b97cc737614ae24925fa9","size":66442,"noattachment":false,"key":"/ink/-/ink-3.0.0-6.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0-6.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0-6_1594146819226_0.9056060749006689"},"_hasShrinkwrap":false,"publish_time":1594146819444,"_cnpm_publish_time":1594146819444},"3.0.0-5":{"name":"ink","version":"3.0.0-5","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"^13.9.1","@types/react":"^16.9.19","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^7.5.2","@types/slice-ansi":"^2.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","@vdemedes/prettier-config":"^1.0.1","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":"@vdemedes/prettier-config","readmeFilename":"readme.md","gitHead":"6eaca9fae6570bc53e9663db4bd821c8f769422c","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0-5","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"8f7bef4797a6a32e937d6e6a7c4f6c7e8ec5fec6","size":65926,"noattachment":false,"key":"/ink/-/ink-3.0.0-5.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0-5.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0-5_1593935971878_0.3136900200366104"},"_hasShrinkwrap":false,"publish_time":1593935972065,"_cnpm_publish_time":1593935972065},"3.0.0-4":{"name":"ink","version":"3.0.0-4","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"^13.9.1","@types/react":"^16.9.19","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^7.5.2","@types/slice-ansi":"^2.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^4.1.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":{"useTabs":true,"singleQuote":true,"quoteProps":"as-needed","trailingComma":"none","bracketSpacing":false,"arrowParens":"avoid"},"readmeFilename":"readme.md","gitHead":"7c666931a8200c4948fc3f0875516f3b07da9843","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0-4","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"fbb7b2ef534e1fbbfe5985f04fd303fe62a7ec33","size":65881,"noattachment":false,"key":"/ink/-/ink-3.0.0-4.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0-4.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0-4_1592935530153_0.1614628734096355"},"_hasShrinkwrap":false,"publish_time":1592935530600,"_cnpm_publish_time":1592935530600},"3.0.0-3":{"name":"ink","version":"3.0.0-3","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"^13.9.1","@types/react":"^16.9.19","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^7.5.2","@types/slice-ansi":"^2.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^3.0.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":{"useTabs":true,"singleQuote":true,"quoteProps":"as-needed","trailingComma":"none","bracketSpacing":false,"arrowParens":"avoid"},"readmeFilename":"readme.md","gitHead":"ee2c24249988da43866cc1452601670d0cb8d154","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0-3","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"46924de69c83c632b8f1d8ce0ecfff0dacd59d9d","size":65839,"noattachment":false,"key":"/ink/-/ink-3.0.0-3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0-3.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0-3_1592927540850_0.13459965169628552"},"_hasShrinkwrap":false,"publish_time":1592927541046,"_cnpm_publish_time":1592927541046},"3.0.0-2":{"name":"ink","version":"3.0.0-2","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"^13.9.1","@types/react":"^16.9.19","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^7.5.2","@types/slice-ansi":"^2.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^3.0.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":{"useTabs":true,"singleQuote":true,"quoteProps":"as-needed","trailingComma":"none","bracketSpacing":false,"arrowParens":"avoid"},"readmeFilename":"readme.md","gitHead":"ec9e449a5ffd4bef4753409702ab0a7b65cc0b57","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0-2","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"e6e5cc5da95b2997db73ee13c692acf1648ce42b","size":65811,"noattachment":false,"key":"/ink/-/ink-3.0.0-2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0-2.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0-2_1592926222686_0.18790154893499134"},"_hasShrinkwrap":false,"publish_time":1592926222921,"_cnpm_publish_time":1592926222921},"3.0.0-1":{"name":"ink","version":"3.0.0-1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"^13.9.1","@types/react":"^16.9.19","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^7.5.2","@types/slice-ansi":"^2.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^3.0.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":{"useTabs":true,"singleQuote":true,"quoteProps":"as-needed","trailingComma":"none","bracketSpacing":false,"arrowParens":"avoid"},"readmeFilename":"readme.md","gitHead":"91230cc118415722ec555edee23ea524f969d909","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0-1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"ac28d55f7ba1856e2293d4c8f0cc69cda784eb52","size":65630,"noattachment":false,"key":"/ink/-/ink-3.0.0-1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0-1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0-1_1592733761731_0.046101636220368336"},"_hasShrinkwrap":false,"publish_time":1592733761911,"_cnpm_publish_time":1592733761911},"3.0.0-0":{"name":"ink","version":"3.0.0-0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"https://github.com/vadimdemedes"},"main":"build","types":"build/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","prepare":"npm run build","test":"tsc --noEmit && xo && FORCE_COLOR=true ava","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/is-ci":"^2.0.0","@types/lodash.throttle":"^4.1.6","@types/node":"^13.9.1","@types/react":"^16.9.19","@types/react-reconciler":"^0.18.0","@types/scheduler":"^0.16.1","@types/signal-exit":"^3.0.0","@types/sinon":"^7.5.2","@types/slice-ansi":"^2.0.0","@types/stack-utils":"^1.0.1","@types/wrap-ansi":"^3.0.0","ansi-escapes":"^4.2.1","auto-bind":"4.0.0","chalk":"^3.0.0","cli-boxes":"^2.2.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","code-excerpt":"^3.0.0","indent-string":"^4.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","patch-console":"^1.0.0","react-devtools-core":"^4.6.0","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","stack-utils":"^2.0.2","string-length":"^3.1.0","type-fest":"^0.12.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","ws":"^7.2.5","yoga-layout-prebuilt":"^1.9.6"},"devDependencies":{"@sindresorhus/tsconfig":"0.7.0","ava":"^3.5.0","babel-eslint":"^10.0.1","benchmark":"^2.1.4","boxen":"^4.2.0","chance":"^1.1.6","delay":"^4.1.0","eslint-config-xo":"0.29.1","eslint-config-xo-react":"^0.22.0","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","prettier":"^2.0.4","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","ts-node":"7.0.0","typescript":"^3.8.3","xo":"^0.28.0"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"ava":{"extensions":["ts","tsx"],"require":["ts-node/register/transpile-only"]},"xo":{"extends":["xo-react"],"plugins":["react"],"prettier":true,"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/**/*.{ts,tsx}","test/**/*.{ts,tsx}"],"rules":{"no-unused-expressions":"off","camelcase":["error",{"allow":["^unstable__","^internal_"]}],"unicorn/filename-case":"off","react/prop-types":"off","unicorn/prevent-abbreviations":"off","react/require-default-props":"warn","react/jsx-curly-brace-presence":"off","@typescript-eslint/no-empty-function":"warn","@typescript-eslint/promise-function-async":"warn","@typescript-eslint/explicit-function-return":"off","@typescript-eslint/explicit-function-return-type":"off"}},{"files":["examples/**/*.js"],"rules":{"react/prop-types":"off"}}]},"prettier":{"useTabs":true,"singleQuote":true,"quoteProps":"as-needed","trailingComma":"none","bracketSpacing":false,"arrowParens":"avoid"},"readmeFilename":"readme.md","gitHead":"0efbf248d98e680c266d96b624c56490ae280936","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@3.0.0-0","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"shasum":"b57d18e6067518176b678c75e7404fdc5ba47cce","size":65623,"noattachment":false,"key":"/ink/-/ink-3.0.0-0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-3.0.0-0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_3.0.0-0_1592671221491_0.8961136678730648"},"_hasShrinkwrap":false,"publish_time":1592671221634,"_cnpm_publish_time":1592671221634},"2.7.1":{"name":"ink","version":"2.7.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true EXPERIMENTAL=true ava && FORCE_COLOR=true ava && tsd","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","arrify":"^2.0.1","auto-bind":"^4.0.0","chalk":"^3.0.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","string-length":"^3.1.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.8.3","@babel/core":"^7.8.3","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-react":"^7.8.3","@types/react":"^16.9.19","ava":"^2.4.0","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.22.0","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"^3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","tsd":"^0.11.0","xo":"^0.25.3"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}},"files":["test/*.js"],"helpers":["test/helpers/*.js"]},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/components/*.js","src/hooks/*.js"],"rules":{"unicorn/filename-case":"off","react/require-default-props":"warn"}}]},"gitHead":"fc1f0c2320e66598c7c5cf72e172070722aab4ef","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.7.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"shasum":"ff1c75b4b022924e2993af62297fa0e48e85618b","size":27019,"noattachment":false,"key":"/ink/-/ink-2.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.7.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.7.1_1581856491379_0.8184104193600414"},"_hasShrinkwrap":false,"publish_time":1581856491544,"_cnpm_publish_time":1581856491544},"2.7.0":{"name":"ink","version":"2.7.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true EXPERIMENTAL=true ava && FORCE_COLOR=true ava && tsd","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","arrify":"^2.0.1","auto-bind":"^4.0.0","chalk":"^3.0.0","cli-cursor":"^3.1.0","cli-truncate":"^2.1.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","string-length":"^3.1.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.8.3","@babel/core":"^7.8.3","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-react":"^7.8.3","@types/react":"^16.9.19","ava":"^2.4.0","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.22.0","eslint-plugin-react":"^7.18.0","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"^3.1.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","react":"^16.9.0","sinon":"^8.1.1","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","tsd":"^0.11.0","xo":"^0.25.3"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}},"files":["test/*.js"],"helpers":["test/helpers/*.js"]},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off","react/jsx-indent":"off"},"overrides":[{"files":["src/components/*.js","src/hooks/*.js"],"rules":{"unicorn/filename-case":"off","react/require-default-props":"warn"}}]},"gitHead":"fa1b46bb21c7b684d302b11da98a8a5ba93746fc","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.7.0","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"ea29aad91e60cf8cb7c9b85fc78d5d098a0856d3","size":27111,"noattachment":false,"key":"/ink/-/ink-2.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.7.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.7.0_1580713636623_0.7232840728392083"},"_hasShrinkwrap":false,"publish_time":1580713636802,"_cnpm_publish_time":1580713636802},"2.6.0":{"name":"ink","version":"2.6.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true EXPERIMENTAL=true ava && FORCE_COLOR=true ava && tsd","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^4.2.1","arrify":"^2.0.1","auto-bind":"^3.0.0","chalk":"^3.0.0","cli-cursor":"^3.1.0","cli-truncate":"^2.0.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.24.0","scheduler":"^0.18.0","signal-exit":"^3.0.2","slice-ansi":"^3.0.0","string-length":"^3.1.0","widest-line":"^3.1.0","wrap-ansi":"^6.2.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","@types/react":"^16.8.6","ava":"^2.4.0","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.20.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^2.3.0","import-jsx":"^3.0.0","ms":"^2.1.1","node-pty":"^0.9.0","p-queue":"^6.2.1","react":"^16.9.0","sinon":"^7.2.7","strip-ansi":"^6.0.0","svg-term-cli":"^2.1.1","tsd":"^0.11.0","xo":"^0.25.3"},"peerDependencies":{"@types/react":">=16.8.0","react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}},"files":["test/*.js"],"helpers":["test/helpers/*.js"]},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"rules":{"react/no-unescaped-entities":"off","react/state-in-constructor":"off"},"overrides":[{"files":["src/components/*.js","src/hooks/*.js"],"rules":{"unicorn/filename-case":"off","react/require-default-props":"warn"}}]},"gitHead":"f32d726a056762ecc0cfa715bd3372b941ff94b1","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.6.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"shasum":"04acefbed32f6ef9ed20512c51ec8b8e09a890c5","size":26826,"noattachment":false,"key":"/ink/-/ink-2.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.6.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.6.0_1574911521211_0.6725280480007476"},"_hasShrinkwrap":false,"publish_time":1574911521327,"_cnpm_publish_time":1574911521327},"2.5.0":{"name":"ink","version":"2.5.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true EXPERIMENTAL=true ava && FORCE_COLOR=true ava && tsd","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","ansi-escapes":"^4.2.1","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","cli-truncate":"^1.1.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.21.0","scheduler":"^0.15.0","signal-exit":"^3.0.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^5.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.9.0","sinon":"^7.2.7","strip-ansi":"^5.2.0","svg-term-cli":"^2.1.1","tsd":"^0.8.0","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"rules":{"react/no-unescaped-entities":"off"},"overrides":[{"files":["src/components/*.js","src/hooks/*.js"],"rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"9d4b35126bc6a21b4b7b9921ae17ed566c51493f","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.5.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"shasum":"66cf988b65ca06d14f00f385eb531fde29f95819","size":27057,"noattachment":false,"key":"/ink/-/ink-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.5.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.5.0_1570318070104_0.6719635987940984"},"_hasShrinkwrap":false,"publish_time":1570318070281,"_cnpm_publish_time":1570318070281},"2.4.0":{"name":"ink","version":"2.4.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true EXPERIMENTAL=true ava && FORCE_COLOR=true ava && tsd","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","cli-truncate":"^1.1.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.21.0","scheduler":"^0.15.0","signal-exit":"^3.0.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^5.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.9.0","sinon":"^7.2.7","strip-ansi":"^5.2.0","svg-term-cli":"^2.1.1","tsd":"^0.8.0","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"rules":{"react/no-unescaped-entities":"off"},"overrides":[{"files":["src/components/*.js","src/hooks/*.js"],"rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"ad7160e0cbf5fb3fb00ac5fecc12fad10ef95214","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.4.0","_nodeVersion":"10.15.3","_npmVersion":"6.11.3","dist":{"shasum":"991f8264d90b81b94fe963c96fccdf26afb6b436","size":24987,"noattachment":false,"key":"/ink/-/ink-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.4.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.4.0_1569470710548_0.0906888572249187"},"_hasShrinkwrap":false,"publish_time":1569470710652,"_cnpm_publish_time":1569470710652},"2.3.0":{"name":"ink","version":"2.3.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","cli-truncate":"^1.1.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","signal-exit":"^3.0.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^5.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","sinon":"^7.2.7","strip-ansi":"^5.2.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"a8fee0fd7fdb4b96ca7080bc0f0b54e534281cee","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.3.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"shasum":"222136be17bb72fc742e19090483e7e0e7dc3690","size":21252,"noattachment":false,"key":"/ink/-/ink-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.3.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.3.0_1561470994609_0.7983274276419798"},"_hasShrinkwrap":false,"publish_time":1561470994914,"_cnpm_publish_time":1561470994914},"2.2.0":{"name":"ink","version":"2.2.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","cli-truncate":"^1.1.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","signal-exit":"^3.0.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^5.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","sinon":"^7.2.7","strip-ansi":"^5.2.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"a1a7ed8a3a82c9a9e84d33ec81595ee3f8989b05","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.2.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"shasum":"8231cbaf03799634cb333ec4e461f50e25e93fc0","size":20975,"noattachment":false,"key":"/ink/-/ink-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.2.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.2.0_1558584367943_0.4246376604418902"},"_hasShrinkwrap":false,"publish_time":1558584368095,"_cnpm_publish_time":1558584368095},"2.1.1":{"name":"ink","version":"2.1.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","cli-truncate":"^1.1.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","signal-exit":"^3.0.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^5.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","sinon":"^7.2.7","strip-ansi":"^5.2.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"e8008db7e2d83295cc69a8dbc53a291fd2cac2c5","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.1.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"efb2adbd30be79b4f640d7c67b524bfb030205ba","size":20404,"noattachment":false,"key":"/ink/-/ink-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.1.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.1.1_1554173608009_0.6855544616583942"},"_hasShrinkwrap":false,"publish_time":1554173608192,"_cnpm_publish_time":1554173608192},"2.1.0":{"name":"ink","version":"2.1.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","cli-truncate":"^1.1.0","is-ci":"^2.0.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","signal-exit":"^3.0.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^5.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","sinon":"^7.2.7","strip-ansi":"^5.2.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"b3d6ad85a2585979e363de3f1d780173f84fb464","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"3b6072e90ca25b657fa1262f0fe018f8dcc82d8e","size":20352,"noattachment":false,"key":"/ink/-/ink-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.1.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.1.0_1554007576124_0.6700357842981084"},"_hasShrinkwrap":false,"publish_time":1554007576336,"_cnpm_publish_time":1554007576336},"2.0.6":{"name":"ink","version":"2.0.6","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","sinon":"^7.2.7","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"7f6f5ba7ccfd0ed22dbcd0c27dcf8369f0b7798a","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.6","_nodeVersion":"8.11.2","_npmVersion":"6.8.0","dist":{"shasum":"1ac54812ecd89e68ec53513a5d2f458f602f51dc","size":17522,"noattachment":false,"key":"/ink/-/ink-2.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.6.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.6_1552878384414_0.43244161165924444"},"_hasShrinkwrap":false,"publish_time":1552878384540,"_cnpm_publish_time":1552878384540},"2.0.5":{"name":"ink","version":"2.0.5","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","sinon":"^7.2.7","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"4218e3ebc02f5ed8f716f6679fc286abfc3ac36a","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.5","_nodeVersion":"8.11.2","_npmVersion":"6.8.0","dist":{"shasum":"a7fcd79372f57bef0e436d087cbef9e545ee1051","size":17452,"noattachment":false,"key":"/ink/-/ink-2.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.5.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.5_1552116263956_0.462118515869802"},"_hasShrinkwrap":false,"publish_time":1552116264102,"_cnpm_publish_time":1552116264102},"2.0.4":{"name":"ink","version":"2.0.4","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"main":"build","engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir=build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command='node media/demo.js' --out=media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"^1.3.1","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.19.0","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.4.0","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","sinon":"^7.2.7","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"peerDependencies":{"react":">=16.8.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":"off","react/require-default-props":"warning"}}]},"gitHead":"b90d8a05a8f317cd7973c2cdf69cd400092c1012","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.4","_nodeVersion":"8.11.2","_npmVersion":"6.8.0","dist":{"shasum":"fc6531583d6928719256f8d7bb5af9d92578057b","size":17336,"noattachment":false,"key":"/ink/-/ink-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.4.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.4_1552024206222_0.921194265140928"},"_hasShrinkwrap":false,"publish_time":1552024206388,"_cnpm_publish_time":1552024206388},"2.0.3":{"name":"ink","version":"2.0.3","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","sinon":"^7.2.7","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"gitHead":"724020145a525ebc6ad0d4466c00994c50be54d8","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.3","_nodeVersion":"8.11.2","_npmVersion":"6.8.0","dist":{"shasum":"be59b501398a0cf8b18d8ee26cee060a126c25a2","size":16967,"noattachment":false,"key":"/ink/-/ink-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.3.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.3_1551770991786_0.09192090943020848"},"_hasShrinkwrap":false,"publish_time":1551770991951,"_cnpm_publish_time":1551770991951},"2.0.2":{"name":"ink","version":"2.0.2","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","types":"index.d.ts","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"@types/react":"^16.8.6","arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"gitHead":"34f3bb7ed08b47e672c58d105601fc10699a499e","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.2","_nodeVersion":"8.11.2","_npmVersion":"6.8.0","dist":{"shasum":"52d5f2b8d523d63cb129f6a2e05ee5ebfc4a276b","size":16909,"noattachment":false,"key":"/ink/-/ink-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.2.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.2_1551767514317_0.29711368846442676"},"_hasShrinkwrap":false,"publish_time":1551767514513,"_cnpm_publish_time":1551767514513},"2.0.1":{"name":"ink","version":"2.0.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"gitHead":"737df2459b474c2b70eddf0eaf39c3fc0914ffa0","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.1","_nodeVersion":"8.11.2","_npmVersion":"6.8.0","dist":{"shasum":"0b04108029ca112e0f884d948b2056912a301fca","size":15835,"noattachment":false,"key":"/ink/-/ink-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.1_1551766991893_0.29390216591028206"},"_hasShrinkwrap":false,"publish_time":1551766992057,"_cnpm_publish_time":1551766992057},"2.0.0":{"name":"ink","version":"2.0.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"gitHead":"f7386d7864ecbd1b4134399c07706b21cac19dcf","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0","_nodeVersion":"8.11.2","_npmVersion":"6.8.0","dist":{"shasum":"e543b786e3eb33fd78f17b1c009e954557b25c6b","size":15831,"noattachment":false,"key":"/ink/-/ink-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0_1551685218816_0.7028771477003657"},"_hasShrinkwrap":false,"publish_time":1551685219067,"_cnpm_publish_time":1551685219067},"2.0.0-17":{"name":"ink","version":"2.0.0-17","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","auto-bind":"^2.0.0","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^3.0.0","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"139b9a53ecb8c88cd272761d8da59b3972832ecd","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-17","_nodeVersion":"8.11.2","_npmVersion":"6.8.0","dist":{"shasum":"ea6678b99d689fdba00d2f1a8fa2ba82b769c535","size":16897,"noattachment":false,"key":"/ink/-/ink-2.0.0-17.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-17.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-17_1551684327654_0.026339040429774307"},"_hasShrinkwrap":false,"publish_time":1551684327959,"_cnpm_publish_time":1551684327959},"2.0.0-16":{"name":"ink","version":"2.0.0-16","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^3.2.0","arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^4.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","node-pty":"^0.8.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"da5ff3df952c817a305f3fc1c33165d04dfa17c1","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-16","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"e601384fb8559739483c39725ac720c9611ac83b","size":16372,"noattachment":false,"key":"/ink/-/ink-2.0.0-16.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-16.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-16_1550638571385_0.18130966395568526"},"_hasShrinkwrap":false,"publish_time":1550638571582,"_cnpm_publish_time":1550638571582},"2.0.0-15":{"name":"ink","version":"2.0.0-15","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^3.2.0","arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^4.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"a2a469d6a2218ef77ccea0d09d414c7d148c7cf2","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-15","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"af62e5bade875784ddc87657791237d057a81043","size":16410,"noattachment":false,"key":"/ink/-/ink-2.0.0-15.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-15.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-15_1550556035394_0.2006240017326022"},"_hasShrinkwrap":false,"publish_time":1550556035595,"_cnpm_publish_time":1550556035595},"2.0.0-14":{"name":"ink","version":"2.0.0-14","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^3.2.0","arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^4.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"f55436e213d2afe95a848a80ddf28c73ea5a3bd1","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-14","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"d0155a9c89401b66565db678307bc3352a0320e5","size":16389,"noattachment":false,"key":"/ink/-/ink-2.0.0-14.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-14.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-14_1550551625137_0.24475216340587425"},"_hasShrinkwrap":false,"publish_time":1550551625522,"_cnpm_publish_time":1550551625522},"2.0.0-13":{"name":"ink","version":"2.0.0-13","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && FORCE_COLOR=true ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^3.2.0","arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","wrap-ansi":"^4.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"a48964276591d21881c4be6c7ec1c52cbdad40c8","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-13","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"448c0626446de529567d1972a9e910dc0567e77d","size":15624,"noattachment":false,"key":"/ink/-/ink-2.0.0-13.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-13.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-13_1550536299276_0.8316699464013746"},"_hasShrinkwrap":false,"publish_time":1550536299472,"_cnpm_publish_time":1550536299472},"2.0.0-12":{"name":"ink","version":"2.0.0-12","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepare":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^3.2.0","arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","prop-types":"^15.6.2","react-reconciler":"^0.20.0","scheduler":"^0.13.2","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.24.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"72d77167b4667c0427458fefaf5875efce828423","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-12","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"22e46e1ba60b0d829ecfeeca84527a22768536e1","size":14368,"noattachment":false,"key":"/ink/-/ink-2.0.0-12.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-12.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-12_1550364815436_0.6525158852463468"},"_hasShrinkwrap":false,"publish_time":1550364815667,"_cnpm_publish_time":1550364815667},"2.0.0-11":{"name":"ink","version":"2.0.0-11","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"ansi-escapes":"^3.1.0","arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","prop-types":"^15.6.2","react-reconciler":"^0.17.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","delay":"^4.1.0","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","import-jsx":"^1.3.0","ms":"^2.1.1","p-queue":"^3.0.0","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"ef103e0e98f8f04d156834085699ed46a3874eae","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-11","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"1af71f717e5ed549ba577531c7df8a9ac90e649a","size":14058,"noattachment":false,"key":"/ink/-/ink-2.0.0-11.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-11.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-11_1548605739741_0.5182708095845263"},"_hasShrinkwrap":false,"publish_time":1548605739869,"_cnpm_publish_time":1548605739869},"2.0.0-10":{"name":"ink","version":"2.0.0-10","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^2.3.0","prop-types":"^15.6.2","react-reconciler":"^0.17.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"808723012f5512f6d3eb1e973fabbfb6e3574511","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-10","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"56d0c2e0dc7f9e02e9a67967a00d720ac3c121a2","size":14750,"noattachment":false,"key":"/ink/-/ink-2.0.0-10.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-10.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-10_1543201210290_0.6327703623116874"},"_hasShrinkwrap":false,"publish_time":1543201210427,"_cnpm_publish_time":1543201210427},"2.0.0-9":{"name":"ink","version":"2.0.0-9","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^2.3.0","prop-types":"^15.6.2","react-reconciler":"^0.17.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"67d0c348d3adb0aaaf336ac2e17145ab02fc567e","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-9","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"d27a3422a6cf3bb4f6af0a4a7ae92df8e0b4f1f0","size":14742,"noattachment":false,"key":"/ink/-/ink-2.0.0-9.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-9.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-9_1542637162842_0.4088685835987018"},"_hasShrinkwrap":false,"publish_time":1542637162990,"_cnpm_publish_time":1542637162990},"2.0.0-8":{"name":"ink","version":"2.0.0-8","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^2.3.0","prop-types":"^15.6.2","react-reconciler":"^0.17.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"76c5700f6f59c4f6a98bf64db9ace35c23545d6d","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-8","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"6c4df9fe39650ff11c563e339ba11748508e5526","size":14700,"noattachment":false,"key":"/ink/-/ink-2.0.0-8.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-8.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-8_1542084611995_0.8337301807851012"},"_hasShrinkwrap":false,"publish_time":1542084612215,"_cnpm_publish_time":1542084612215},"2.0.0-7":{"name":"ink","version":"2.0.0-7","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^2.3.0","prop-types":"^15.6.2","react-reconciler":"^0.17.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"6b53dbb98e696c95689317ccdc25ad2f5318f3a3","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-7","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"b6d20b2a3afd202a1e5cf7aa28bca14937d36ba6","size":14955,"noattachment":false,"key":"/ink/-/ink-2.0.0-7.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-7.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-7_1541976686729_0.48458319720932663"},"_hasShrinkwrap":false,"publish_time":1541976686886,"_cnpm_publish_time":1541976686886},"2.0.0-6":{"name":"ink","version":"2.0.0-6","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^2.3.0","prop-types":"^15.6.2","react-reconciler":"^0.17.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","undom":"^0.4.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","react":"^16.6.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"059801f6c3ce763da451005d2b4e831df3fc2945","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-6","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"c5400dcf612580f11781918653bdf212359eb6d0","size":13561,"noattachment":false,"key":"/ink/-/ink-2.0.0-6.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-6.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-6_1541826982117_0.4315407406326992"},"_hasShrinkwrap":false,"publish_time":1541826982343,"_cnpm_publish_time":1541826982343},"2.0.0-5":{"name":"ink","version":"2.0.0-5","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","lodash.throttle":"^4.1.1","log-update":"^2.3.0","prop-types":"^15.6.2","react":"^16.4.2","react-reconciler":"^0.12.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","undom":"^0.4.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"c622ddde991f78ec85c55b689dff79e7ab05d444","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-5","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"a8b9c5b53af791831bece589a6f8612a8f53feef","size":13564,"noattachment":false,"key":"/ink/-/ink-2.0.0-5.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-5.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-5_1541657325432_0.09097908734231486"},"_hasShrinkwrap":false,"publish_time":1541657325811,"_cnpm_publish_time":1541657325811},"2.0.0-4":{"name":"ink","version":"2.0.0-4","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","debounce-fn":"^1.0.0","log-update":"^2.3.0","prop-types":"^15.6.2","react":"^16.4.2","react-reconciler":"^0.12.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","undom":"^0.4.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"19d5ad92f13d4246188871cb88f5af2369021098","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-4","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"a843d227420c7a835eb1974318f16f344569d665","size":13527,"noattachment":false,"key":"/ink/-/ink-2.0.0-4.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-4.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-4_1541559245301_0.17671070458531357"},"_hasShrinkwrap":false,"publish_time":1541559245396,"_cnpm_publish_time":1541559245396},"2.0.0-3":{"name":"ink","version":"2.0.0-3","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","debounce-fn":"^1.0.0","log-update":"^2.3.0","prop-types":"^15.6.2","react":"^16.4.2","react-reconciler":"^0.12.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","undom":"^0.4.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"1e1783d1a2b9d0a077fb12610b1b080fa080aa6b","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-3","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"4136b0bc2e65001f1bd6d750d98821d2c69e3f85","size":11067,"noattachment":false,"key":"/ink/-/ink-2.0.0-3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-3.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-3_1540179906614_0.8366597582492439"},"_hasShrinkwrap":false,"publish_time":1540179906819,"_cnpm_publish_time":1540179906819},"2.0.0-2":{"name":"ink","version":"2.0.0-2","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","debounce-fn":"^1.0.0","log-update":"^2.3.0","prop-types":"^15.6.2","react":"^16.4.2","react-reconciler":"^0.12.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","undom":"^0.4.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"f65a8d9c624fdd89577fe3b633560ac7005842ac","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-2","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"365184df26b341c42d7391aea665268e706c335f","size":10996,"noattachment":false,"key":"/ink/-/ink-2.0.0-2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-2.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-2_1538877846802_0.2361508769700924"},"_hasShrinkwrap":false,"publish_time":1538877847049,"_cnpm_publish_time":1538877847049},"2.0.0-1":{"name":"ink","version":"2.0.0-1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","log-update":"^2.3.0","prop-types":"^15.6.2","react":"^16.4.2","react-reconciler":"^0.12.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","undom":"^0.4.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"f6cfbb1f86a4b9dbd749859229d775e105bfb340","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"4a861ef90af8899c297c861a6880ad2afb35b0a6","size":10808,"noattachment":false,"key":"/ink/-/ink-2.0.0-1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-1_1538377227429_0.8412346470517647"},"_hasShrinkwrap":false,"publish_time":1538377227682,"_cnpm_publish_time":1538377227682},"2.0.0-0":{"name":"ink","version":"2.0.0-0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=8"},"scripts":{"build":"babel src --out-dir build","prepublish":"npm run build","test":"xo && ava","pretest":"npm run build","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"main":"build","keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.4.1","cli-cursor":"^2.1.0","log-update":"^2.3.0","prop-types":"^15.6.2","react":"^16.4.2","react-reconciler":"^0.12.0","slice-ansi":"^1.0.0","string-length":"^2.0.0","undom":"^0.4.0","widest-line":"^2.0.0","yoga-layout-prebuilt":"^1.9.3"},"devDependencies":{"@babel/cli":"^7.1.2","@babel/core":"^7.1.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-react":"^7.0.0","ava":"1.0.0-beta.8","babel-eslint":"^10.0.1","eslint-config-xo-react":"^0.17.0","eslint-plugin-react":"^7.11.1","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.23.0"},"babel":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]},"ava":{"babel":{"testOptions":{"plugins":["@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-react"]}}},"xo":{"parser":"babel-eslint","extends":["xo-react"],"plugins":["react"],"overrides":[{"files":"src/components/*.js","rules":{"unicorn/filename-case":0,"react/require-default-props":1}},{"files":"test/*.js","rules":{"import/default":0}}]},"readmeFilename":"readme.md","gitHead":"60c0848af7ecefb83d676853d1d0b66780f9bc96","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@2.0.0-0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"8275fd19d3416555559392d372e3f80da67fa6f5","size":10708,"noattachment":false,"key":"/ink/-/ink-2.0.0-0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-2.0.0-0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_2.0.0-0_1538368624819_0.09001293259960508"},"_hasShrinkwrap":false,"publish_time":1538368625022,"_cnpm_publish_time":1538368625022},"0.5.1":{"name":"ink","version":"0.5.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"files":["lib","index.js"],"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","is-equal-shallow":"^0.1.3","lodash.flattendeep":"^4.4.0","log-update":"^2.1.0","prop-types":"^15.5.10"},"devDependencies":{"@babel/core":"^7.0.0-beta.44","@babel/plugin-transform-react-jsx":"^7.0.0-beta.44","@babel/register":"^7.0.0-beta.44","ansi-styles":"^3.1.0","ava":"^1.0.0-beta.3","babel-eslint":"^8.2.2","eslint-config-xo-react":"^0.13.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.18.2"},"ava":{"require":["@babel/register"],"babel":{"testOptions":{"presets":["@ava/stage-4"],"plugins":[["@babel/plugin-transform-react-jsx",{"pragma":"h","pragmaFrag":"h.Fragment"}]]}}},"xo":{"extends":["xo-react"],"settings":{"react":{"pragma":"h","pragmaFrag":"h.Fragment"}},"parser":"babel-eslint","rules":{"react/no-deprecated":0},"overrides":[{"files":"test/*.js","rules":{"react/prop-types":0,"quotes":0}}]},"gitHead":"890120254ba705399d736c4407194a77069f0a8b","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.5.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"fc989c6c82f30f4667e711310b5134e8f7f2b17a","size":10663,"noattachment":false,"key":"/ink/-/ink-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.5.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_0.5.1_1531114003661_0.9567687305483727"},"_hasShrinkwrap":false,"publish_time":1531114003845,"_cnpm_publish_time":1531114003845},"0.5.0":{"name":"ink","version":"0.5.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava","cast":"svg-term --command 'node media/demo.js' --out media/demo.svg --from=100 --window --width=50 --height=8 --term=iterm2 --profile=Snazzy"},"files":["lib","index.js"],"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","is-equal-shallow":"^0.1.3","lodash.flattendeep":"^4.4.0","log-update":"^2.1.0","prop-types":"^15.5.10"},"devDependencies":{"@babel/core":"^7.0.0-beta.44","@babel/plugin-transform-react-jsx":"^7.0.0-beta.44","@babel/register":"^7.0.0-beta.44","ansi-styles":"^3.1.0","ava":"^1.0.0-beta.3","babel-eslint":"^8.2.2","eslint-config-xo-react":"^0.13.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","strip-ansi":"^4.0.0","svg-term-cli":"^2.1.1","xo":"^0.18.2"},"ava":{"require":["@babel/register"],"babel":{"testOptions":{"presets":["@ava/stage-4"],"plugins":[["@babel/plugin-transform-react-jsx",{"pragma":"h","pragmaFrag":"h.Fragment"}]]}}},"xo":{"extends":["xo-react"],"settings":{"react":{"pragma":"h","pragmaFrag":"h.Fragment"}},"parser":"babel-eslint","overrides":[{"files":"test/*.js","rules":{"react/prop-types":0,"quotes":0}}]},"gitHead":"7cca6e4faaab770304ca352f72a141cac9b893ae","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.5.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"38911f1e4102388b4095336f0470cfc6419154dc","size":10495,"noattachment":false,"key":"/ink/-/ink-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.5.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink_0.5.0_1525004297470_0.6321646227222923"},"_hasShrinkwrap":false,"publish_time":1525004297540,"_cnpm_publish_time":1525004297540},"0.4.1":{"name":"ink","version":"0.4.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","is-equal-shallow":"^0.1.3","lodash.flattendeep":"^4.4.0","log-update":"^2.1.0","prop-types":"^15.5.10"},"devDependencies":{"ansi-styles":"^3.1.0","ava":"^0.21.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.13.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","strip-ansi":"^4.0.0","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"settings":{"react":{"pragma":"h"}},"overrides":[{"files":"test/*.js","rules":{"react/prop-types":0}}]},"gitHead":"0667bc768e126fffb0fbe831815e4ca68656271a","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.4.1","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"8f93fcf5e0f2d671558256ba38a632b56bd2452b","size":9367,"noattachment":false,"key":"/ink/-/ink-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.4.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.4.1.tgz_1516657307172_0.4682195042259991"},"directories":{},"publish_time":1516657308394,"_cnpm_publish_time":1516657308394,"_hasShrinkwrap":false},"0.4.0":{"name":"ink","version":"0.4.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","is-equal-shallow":"^0.1.3","lodash.flattendeep":"^4.4.0","log-update":"^2.1.0","prop-types":"^15.5.10"},"devDependencies":{"ansi-styles":"^3.1.0","ava":"^0.21.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.13.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","strip-ansi":"^4.0.0","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"settings":{"react":{"pragma":"h"}},"overrides":[{"files":"test/*.js","rules":{"react/prop-types":0}}]},"gitHead":"6e96cdf5a7e37b09ed76126f2f59566747ec83d4","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.4.0","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"31e806a47e38dc995dea6ef09a8943564d762f88","size":9373,"noattachment":false,"key":"/ink/-/ink-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.4.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.4.0.tgz_1516656496051_0.8783806047867984"},"directories":{},"publish_time":1516656497312,"_hasShrinkwrap":false,"_cnpm_publish_time":1516656497312},"0.3.1":{"name":"ink","version":"0.3.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","lodash.flattendeep":"^4.4.0","lodash.isequal":"^4.5.0","log-update":"^2.1.0","prop-types":"^15.5.10"},"devDependencies":{"ansi-styles":"^3.1.0","ava":"^0.21.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.13.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","strip-ansi":"^4.0.0","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"settings":{"react":{"pragma":"h"}},"overrides":[{"files":"test/*.js","rules":{"react/prop-types":0}}]},"gitHead":"0b096c89ffaa275ca6692f7eb5525d5ace542a35","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.3.1","_npmVersion":"5.0.3","_nodeVersion":"8.1.4","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"551047276cb93baa3f14eafaef2ae5b1526e8213","size":9502,"noattachment":false,"key":"/ink/-/ink-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.3.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.3.1.tgz_1502129334115_0.019377577817067504"},"directories":{},"publish_time":1502129335025,"_hasShrinkwrap":false,"_cnpm_publish_time":1502129335025},"0.3.0":{"name":"ink","version":"0.3.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","lodash.flattendeep":"^4.4.0","lodash.isequal":"^4.5.0","log-update":"^1.0.2","prop-types":"^15.5.10"},"devDependencies":{"ansi-styles":"^3.1.0","ava":"^0.21.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.13.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","strip-ansi":"^4.0.0","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"settings":{"react":{"pragma":"h"}},"overrides":[{"files":"test/*.js","rules":{"react/prop-types":0}}]},"gitHead":"0a66d0f1383b153085e2a62882acf39338fc2972","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.3.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.4","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"f6c0f611dba64494a99d2e10a85ae6433fd7ac1d","size":9281,"noattachment":false,"key":"/ink/-/ink-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.3.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.3.0.tgz_1500222309912_0.09638189687393606"},"directories":{},"publish_time":1500222310957,"_hasShrinkwrap":false,"_cnpm_publish_time":1500222310957},"0.2.1":{"name":"ink","version":"0.2.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","lodash.flattendeep":"^4.4.0","lodash.isequal":"^4.5.0","log-update":"^1.0.2","prop-types":"^15.5.10"},"devDependencies":{"ava":"^0.20.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.13.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","strip-ansi":"^4.0.0","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"settings":{"react":{"pragma":"h"}},"overrides":[{"files":"test/*.js","rules":{"react/prop-types":0}}]},"gitHead":"09d75c2542400888e6a151a80170848a0f9a0d5a","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.2.1","_npmVersion":"5.1.0","_nodeVersion":"8.1.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"dabf43e4a54431f955baaef49ab178ebdc334bb0","size":9184,"noattachment":false,"key":"/ink/-/ink-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.2.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.2.1.tgz_1500130352939_0.4120405027642846"},"directories":{},"publish_time":1500130354065,"_hasShrinkwrap":false,"_cnpm_publish_time":1500130354065},"0.2.0":{"name":"ink","version":"0.2.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli","jsx","stdout","components","command-line","preact","redux","print","render","colors","text"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","lodash.flattendeep":"^4.4.0","lodash.isequal":"^4.5.0","log-update":"^1.0.2"},"devDependencies":{"ava":"^0.20.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.13.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","strip-ansi":"^4.0.0","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"rules":{"react/prop-types":0},"settings":{"react":{"pragma":"h"}}},"gitHead":"d09c472ae315a4c138b054f75ee2aa10812c2298","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.2.0","_npmVersion":"5.1.0","_nodeVersion":"8.1.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"a5c7e377f83a52b0d83cac91a9ad38ca18042eed","size":8590,"noattachment":false,"key":"/ink/-/ink-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.2.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.2.0.tgz_1500052207208_0.4311827812343836"},"directories":{},"publish_time":1500052208268,"_hasShrinkwrap":false,"_cnpm_publish_time":1500052208268},"0.1.2":{"name":"ink","version":"0.1.2","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">= 4"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","lodash.flattendeep":"^4.4.0","lodash.isequal":"^4.5.0","log-update":"^1.0.2"},"devDependencies":{"ava":"^0.19.1","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.12.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"plugins":["react"],"rules":{"react/prop-types":0},"settings":{"react":{"pragma":"h"}}},"gitHead":"16cf8c6df8466323c0b6eb176a21619f97fc0918","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.1.2","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"fb74b660aea1291e7effe8cef47908f7da98b8a4","size":8045,"noattachment":false,"key":"/ink/-/ink-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.1.2.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.1.2.tgz_1499624023582_0.8917997947428375"},"directories":{},"publish_time":1499624024650,"_cnpm_publish_time":1499624024650,"_hasShrinkwrap":false},"0.1.1":{"name":"ink","version":"0.1.1","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">= 4"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli"],"dependencies":{"arrify":"^1.0.1","chalk":"^2.0.1","indent-string":"^3.1.0","lodash.flattendeep":"^4.4.0","lodash.isequal":"^4.5.0","log-update":"^1.0.2"},"devDependencies":{"ava":"^0.19.1","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.12.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"plugins":["react"],"rules":{"react/prop-types":0},"settings":{"react":{"pragma":"h"}}},"gitHead":"a3de3422dbf346b3e9ee55bb28059f9bd77005d3","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.1.1","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"87ec0a7230d3815190f398569e453eb0dad827ff","size":8023,"noattachment":false,"key":"/ink/-/ink-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.1.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.1.1.tgz_1499275924019_0.8920578227844089"},"directories":{},"publish_time":1499275925079,"_hasShrinkwrap":false,"_cnpm_publish_time":1499275925079},"0.1.0":{"name":"ink","version":"0.1.0","description":"React for CLI","license":"MIT","repository":{"type":"git","url":"git+https://github.com/vadimdemedes/ink.git"},"author":{"name":"vdemedes","email":"vdemedes@gmail.com","url":"github.com/vadimdemedes"},"engines":{"node":">= 4"},"scripts":{"test":"xo && ava"},"files":["lib","index.js"],"keywords":["react","cli"],"dependencies":{"arrify":"^1.0.1","chalk":"github:chalk/chalk","indent-string":"^3.1.0","lodash.flattendeep":"^4.4.0","lodash.isequal":"^4.5.0","log-update":"^1.0.2"},"devDependencies":{"ava":"^0.19.1","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","eslint-config-xo-react":"^0.12.0","eslint-plugin-react":"^7.1.0","sinon":"^2.3.4","xo":"^0.18.2"},"ava":{"require":["babel-register"],"babel":{"presets":["@ava/stage-4"],"plugins":[["transform-react-jsx",{"pragma":"h"}]]}},"xo":{"extends":["xo-react"],"plugins":["react"],"rules":{"react/prop-types":0},"settings":{"react":{"pragma":"h"}}},"gitHead":"5a149313c90a3389ed5a4c51bfe2709047d700fd","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"homepage":"https://github.com/vadimdemedes/ink#readme","_id":"ink@0.1.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"vdemedes","email":"vdemedes@gmail.com"},"dist":{"shasum":"6cd4433d4c7b21fe84902c7640b424904eeabef4","size":8026,"noattachment":false,"key":"/ink/-/ink-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.1.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ink-0.1.0.tgz_1499275680445_0.39902304066345096"},"directories":{},"publish_time":1499275681550,"_cnpm_publish_time":1499275681550,"_hasShrinkwrap":false},"0.0.2":{"name":"ink","version":"0.0.2","description":"Automated versioning","main":"main.js","author":{"name":"Giles Lavelle"},"license":"MIT","dependencies":{"semver":"*","prompt":"*"},"bin":{"ink":"main.js"},"repository":{"type":"git","url":"https://github.com/lavelle/ink.git"},"readmeFilename":"readme.md","bugs":{"url":"https://github.com/lavelle/ink/issues"},"_id":"ink@0.0.2","dist":{"shasum":"9a9e445745be1ae3ab0307b9a847a1c4d0977ebf","size":1495,"noattachment":false,"key":"/ink/-/ink-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.0.2.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"lavelle","email":"giles.lavelle@gmail.com"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"publish_time":1374520339106,"_cnpm_publish_time":1374520339106,"_hasShrinkwrap":false},"0.0.1":{"name":"ink","version":"0.0.1","description":"Automated versioning","main":"main.js","author":{"name":"Giles Lavelle"},"license":"MIT","dependencies":{"semver":"*","prompt":"*"},"bin":{"ink":"main.js"},"repository":{"type":"git","url":"https://github.com/lavelle/ink.git"},"readmeFilename":"readme.md","bugs":{"url":"https://github.com/lavelle/ink/issues"},"_id":"ink@0.0.1","dist":{"shasum":"7b44688d0269ce6fb9fdacf64d9edf8d723b1862","size":1490,"noattachment":false,"key":"/ink/-/ink-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ink/download/ink-0.0.1.tgz"},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"lavelle","email":"giles.lavelle@gmail.com"},"maintainers":[{"name":"sindresorhus","email":""},{"name":"vdemedes","email":"sbioko@gmail.com"}],"directories":{},"publish_time":1374519988507,"_cnpm_publish_time":1374519988507,"_hasShrinkwrap":false}},"readme":"[![](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)\n\n---\n\n<div align=\"center\">\n\t<br>\n\t<br>\n\t<img width=\"240\" alt=\"Ink\" src=\"media/logo.png\">\n\t<br>\n\t<br>\n\t<br>\n</div>\n\n> React for CLIs. Build and test your CLI output using components.\n\n[![Build Status](https://github.com/vadimdemedes/ink/workflows/test/badge.svg)](https://github.com/vadimdemedes/ink/actions)\n[![npm](https://img.shields.io/npm/dm/ink?logo=npm)](https://npmjs.com/package/ink)\n\nInk provides the same component-based UI building experience that React offers in the browser, but for command-line apps.\nIt uses [Yoga](https://github.com/facebook/yoga) to build Flexbox layouts in the terminal, so most CSS-like properties are available in Ink as well.\nIf you are already familiar with React, you already know Ink.\n\nSince Ink is a React renderer, all features of React are supported.\nHead over to the [React](https://reactjs.org) website for documentation on how to use it.\nOnly Ink's methods are documented in this readme.\n\n**Fully AI-generated pull requests are not accepted. You can use AI, but should be verified and cleaned up by a human. Only Opus 4.6+ (high-effort) and Codex 5.4+ (extra high) are accepted models. Preferably created with Opus and verified by Codex.**\n\n---\n\n<div align=\"center\">\n\t<p>\n\t\t<p>\n\t\t\t<sup>\n\t\t\t\t<a href=\"https://opencollective.com/vadimdemedes\">My open source work is supported by the community ❤️</a>\n\t\t\t</sup>\n\t\t</p>\n\t</p>\n</div>\n\n## Install\n\n```sh\nnpm install ink react\n```\n\n> [!NOTE]\n> This readme documents the upcoming version of Ink. For the latest stable release, see [Ink on npm](https://www.npmjs.com/package/ink).\n\n## Usage\n\n```jsx\nimport React, {useState, useEffect} from 'react';\nimport {render, Text} from 'ink';\n\nconst Counter = () => {\n\tconst [counter, setCounter] = useState(0);\n\n\tuseEffect(() => {\n\t\tconst timer = setInterval(() => {\n\t\t\tsetCounter(previousCounter => previousCounter + 1);\n\t\t}, 100);\n\n\t\treturn () => {\n\t\t\tclearInterval(timer);\n\t\t};\n\t}, []);\n\n\treturn <Text color=\"green\">{counter} tests passed</Text>;\n};\n\nrender(<Counter />);\n```\n\n<img src=\"media/demo.svg\" width=\"600\">\n\n## Who's Using Ink?\n\n- [Claude Code](https://github.com/anthropics/claude-code) - An agentic coding tool made by Anthropic.\n- [Gemini CLI](https://github.com/google-gemini/gemini-cli) - An agentic coding tool made by Google.\n- [GitHub Copilot CLI](https://github.com/features/copilot/cli) - Just say what you want the shell to do.\n- [Canva CLI](https://www.canva.dev/docs/apps/canva-cli/) - CLI for creating and managing Canva Apps.\n- [Cloudflare's Wrangler](https://github.com/cloudflare/wrangler2) - The CLI for Cloudflare Workers.\n- [Linear](https://linear.app) - Linear built an internal CLI for managing deployments, configs, and other housekeeping tasks.\n- [Gatsby](https://www.gatsbyjs.org) - Gatsby is a modern web framework for blazing-fast websites.\n- [tap](https://node-tap.org) - A Test-Anything-Protocol library for JavaScript.\n- [Terraform CDK](https://github.com/hashicorp/terraform-cdk) - Cloud Development Kit (CDK) for HashiCorp Terraform.\n- [Specify CLI](https://specifyapp.com) - Automate the distribution of your design tokens.\n- [Twilio's SIGNAL](https://github.com/twilio-labs/plugin-signal2020) - CLI for Twilio's SIGNAL conference. [Blog post](https://www.twilio.com/blog/building-conference-cli-in-react).\n- [Typewriter](https://github.com/segmentio/typewriter) - Generates strongly-typed [Segment](https://segment.com) analytics clients from arbitrary JSON Schema.\n- [Prisma](https://www.prisma.io) - The unified data layer for modern applications.\n- [Blitz](https://blitzjs.com) - The Fullstack React Framework.\n- [New York Times](https://github.com/nytimes/kyt) - NYT uses Ink's `kyt` - a toolkit that encapsulates and manages the configuration for web apps.\n- [tink](https://github.com/npm/tink) - A next-generation runtime and package manager.\n- [Inkle](https://github.com/jrr/inkle) - A Wordle game.\n- [loki](https://github.com/oblador/loki) - Visual regression testing tool for Storybook.\n- [Bit](https://github.com/teambit/bit) - Build, distribute, and collaborate on components.\n- [Remirror](https://github.com/remirror/remirror) - Your friendly, world-class editor toolkit.\n- [Prime](https://github.com/birkir/prime) - Open-source GraphQL CMS.\n- [emoj](https://github.com/sindresorhus/emoj) - Find relevant emojis.\n- [emma](https://github.com/maticzav/emma-cli) - Find and install npm packages easily.\n- [npm-check-extras](https://github.com/akgondber/npm-check-extras) - Check for outdated and unused dependencies, and run update/delete actions on selected ones.\n- [swiff](https://github.com/simple-integrated-marketing/swiff) - Multi-environment command-line tools for time-saving web developers.\n- [share](https://github.com/marionebl/share-cli) - Share files quickly.\n- [Kubelive](https://github.com/ameerthehacker/kubelive) - A CLI for Kubernetes that provides live data about the cluster and its resources.\n- [changelog-view](https://github.com/jdeniau/changelog-view) - View changelogs.\n- [cfpush](https://github.com/mamachanko/cfpush) - Interactive Cloud Foundry tutorial.\n- [startd](https://github.com/mgrip/startd) - Turn your React component into a web app.\n- [wiki-cli](https://github.com/hexrcs/wiki-cli) - Search Wikipedia and read article summaries.\n- [garson](https://github.com/goliney/garson) - Build interactive, config-based command-line interfaces.\n- [git-contrib-calendar](https://github.com/giannisp/git-contrib-calendar) - Display a contributions calendar for any Git repository.\n- [gitgud](https://github.com/GitGud-org/GitGud) - Interactive command-line GUI for Git.\n- [Autarky](https://github.com/pranshuchittora/autarky) - Find and delete old `node_modules` directories to free up disk space.\n- [fast-cli](https://github.com/sindresorhus/fast-cli) - Test your download and upload speeds.\n- [tasuku](https://github.com/privatenumber/tasuku) - Minimal task runner.\n- [mnswpr](https://github.com/mordv/mnswpr) - A Minesweeper game.\n- [lrn](https://github.com/krychu/lrn) - Learning by repetition.\n- [turdle](https://github.com/mynameisankit/turdle) - A Wordle game.\n- [Shopify CLI](https://github.com/Shopify/cli) - Build apps, themes, and storefronts for the Shopify platform.\n- [ToDesktop CLI](https://www.todesktop.com/electron) - All-in-one platform for building Electron apps.\n- [Walle](https://github.com/Pobepto/walle) - A full-featured crypto wallet for EVM networks.\n- [Sudoku](https://github.com/mrozio13pl/sudoku-in-terminal) - A Sudoku game.\n- [Sea Trader](https://github.com/zyishai/sea-trader) - A Taipan!-inspired trading simulator game.\n- [srtd](https://github.com/t1mmen/srtd) - Live-reloading SQL templates for Supabase projects.\n- [tweakcc](https://github.com/Piebald-AI/tweakcc) - Customize your Claude Code styling.\n- [argonaut](https://github.com/darksworm/argonaut) - Manage Argo CD resources.\n- [Qodo Command](https://github.com/qodo-ai/command) - Build, run, and manage AI agents.\n- [Nanocoder](https://github.com/nano-collective/nanocoder) - A community-built, local-first AI coding agent with multi-provider support.\n- [dev3000](https://github.com/vercel-labs/dev3000) - An AI agent MCP orchestrator and developer browser.\n- [Neovate Code](https://github.com/neovateai/neovate-code) - An agentic coding tool made by AntGroup.\n- [instagram-cli](https://github.com/supreme-gg-gg/instagram-cli) - Instagram client.\n- [ElevenLabs CLI](https://github.com/elevenlabs/cli) - ElevenLabs agents client.\n- [SSH AI Chat](https://github.com/miantiao-me/ssh-ai-chat) - Chat with AI over SSH.\n\n_(PRs welcome. Append new entries at the end. Repos must have 100+ stars and showcase Ink beyond a basic list picker.)_\n\n## Contents\n\n- [Getting Started](#getting-started)\n- [App Lifecycle](#app-lifecycle)\n- [Components](#components)\n  - [`<Text>`](#text)\n  - [`<Box>`](#box)\n  - [`<Newline>`](#newline)\n  - [`<Spacer>`](#spacer)\n  - [`<Static>`](#static)\n  - [`<Transform>`](#transform)\n- [Hooks](#hooks)\n  - [`useInput`](#useinputinputhandler-options)\n  - [`usePaste`](#usepastehandler-options)\n  - [`useApp`](#useapp)\n  - [`useStdin`](#usestdin)\n  - [`useStdout`](#usestdout)\n  - [`useBoxMetrics`](#useboxmetricsref)\n  - [`useStderr`](#usestderr)\n  - [`useWindowSize`](#usewindowsize)\n  - [`useFocus`](#usefocusoptions)\n  - [`useFocusManager`](#usefocusmanager)\n  - [`useCursor`](#usecursor)\n  - [`useAnimation`](#useanimationoptions)\n- [API](#api)\n- [Testing](#testing)\n- [Using React Devtools](#using-react-devtools)\n- [Screen Reader Support](#screen-reader-support)\n- [Useful Components](#useful-components)\n- [Useful Hooks](#useful-hooks)\n- [Recipes](#recipes)\n- [Examples](#examples)\n- [Continuous Integration](#continuous-integration)\n\n## Getting Started\n\nUse [create-ink-app](https://github.com/vadimdemedes/create-ink-app) to quickly scaffold a new Ink-based CLI.\n\n```sh\nnpx create-ink-app my-ink-cli\n```\n\nAlternatively, create a TypeScript project:\n\n```sh\nnpx create-ink-app --typescript my-ink-cli\n```\n\n<details><summary>Manual JavaScript setup</summary>\n<p>\nInk requires the same Babel setup as you would do for regular React-based apps in the browser.\n\nSet up Babel with a React preset to ensure all examples in this readme work as expected.\nAfter [installing Babel](https://babeljs.io/docs/en/usage), install `@babel/preset-react` and insert the following configuration in `babel.config.json`:\n\n```sh\nnpm install --save-dev @babel/preset-react\n```\n\n```json\n{\n\t\"presets\": [\"@babel/preset-react\"]\n}\n```\n\nNext, create a file `source.js`, where you'll type code that uses Ink:\n\n```jsx\nimport React from 'react';\nimport {render, Text} from 'ink';\n\nconst Demo = () => <Text>Hello World</Text>;\n\nrender(<Demo />);\n```\n\nThen, transpile this file with Babel:\n\n```sh\nnpx babel source.js -o cli.js\n```\n\nNow you can run `cli.js` with Node.js:\n\n```sh\nnode cli\n```\n\nIf you don't like transpiling files during development, you can use [import-jsx](https://github.com/vadimdemedes/import-jsx) or [@esbuild-kit/esm-loader](https://github.com/esbuild-kit/esm-loader) to `import` a JSX file and transpile it on the fly.\n\n</p>\n</details>\n\nInk uses [Yoga](https://github.com/facebook/yoga), a Flexbox layout engine, to build great user interfaces for your CLIs using familiar CSS-like properties you've used when building apps for the browser.\nIt's important to remember that each element is a Flexbox container.\nThink of it as if every `<div>` in the browser had `display: flex`.\nSee [`<Box>`](#box) built-in component below for documentation on how to use Flexbox layouts in Ink.\nNote that all text must be wrapped in a [`<Text>`](#text) component.\n\n## App Lifecycle\n\nAn Ink app is a Node.js process, so it stays alive only while there is active work in the event loop (timers, pending promises, [`useInput`](#useinputinputhandler-options) listening on `stdin`, etc.). If your component tree has no async work, the app will render once and exit immediately.\n\nTo exit the app, press **Ctrl+C** (enabled by default via [`exitOnCtrlC`](#exitonctrlc)), call [`exit()`](#exiterrororresult) from [`useApp`](#useapp) inside a component, or call [`unmount()`](#unmount) on the object returned by [`render()`](#rendertree-options).\n\nUse [`waitUntilExit()`](#waituntilexit) to run code after the app is unmounted:\n\n```jsx\nconst {waitUntilExit} = render(<MyApp />);\n\nawait waitUntilExit();\n\nconsole.log('App exited');\n```\n\n## Components\n\n### `<Text>`\n\nThis component can display text and change its style to make it bold, underlined, italic, or strikethrough.\n\n```jsx\nimport {render, Text} from 'ink';\n\nconst Example = () => (\n\t<>\n\t\t<Text color=\"green\">I am green</Text>\n\t\t<Text color=\"black\" backgroundColor=\"white\">\n\t\t\tI am black on white\n\t\t</Text>\n\t\t<Text color=\"#ffffff\">I am white</Text>\n\t\t<Text bold>I am bold</Text>\n\t\t<Text italic>I am italic</Text>\n\t\t<Text underline>I am underline</Text>\n\t\t<Text strikethrough>I am strikethrough</Text>\n\t\t<Text inverse>I am inversed</Text>\n\t</>\n);\n\nrender(<Example />);\n```\n\n> [!NOTE]\n> `<Text>` allows only text nodes and nested `<Text>` components inside of it. For example, `<Box>` component can't be used inside `<Text>`.\n\n#### color\n\nType: `string`\n\nChange text color.\nInk uses [chalk](https://github.com/chalk/chalk) under the hood, so all its functionality is supported.\n\n```jsx\n<Text color=\"green\">Green</Text>\n<Text color=\"#005cc5\">Blue</Text>\n<Text color=\"rgb(232, 131, 136)\">Red</Text>\n```\n\n<img src=\"media/text-color.jpg\" width=\"247\">\n\n#### backgroundColor\n\nType: `string`\n\nSame as `color` above, but for background.\n\n```jsx\n<Text backgroundColor=\"green\" color=\"white\">Green</Text>\n<Text backgroundColor=\"#005cc5\" color=\"white\">Blue</Text>\n<Text backgroundColor=\"rgb(232, 131, 136)\" color=\"white\">Red</Text>\n```\n\n<img src=\"media/text-backgroundColor.jpg\" width=\"226\">\n\n#### dimColor\n\nType: `boolean`\\\nDefault: `false`\n\nDim the color (make it less bright).\n\n```jsx\n<Text color=\"red\" dimColor>\n\tDimmed Red\n</Text>\n```\n\n<img src=\"media/text-dimColor.jpg\" width=\"138\">\n\n#### bold\n\nType: `boolean`\\\nDefault: `false`\n\nMake the text bold.\n\n#### italic\n\nType: `boolean`\\\nDefault: `false`\n\nMake the text italic.\n\n#### underline\n\nType: `boolean`\\\nDefault: `false`\n\nMake the text underlined.\n\n#### strikethrough\n\nType: `boolean`\\\nDefault: `false`\n\nMake the text crossed with a line.\n\n#### inverse\n\nType: `boolean`\\\nDefault: `false`\n\nInvert background and foreground colors.\n\n```jsx\n<Text inverse color=\"yellow\">\n\tInversed Yellow\n</Text>\n```\n\n<img src=\"media/text-inverse.jpg\" width=\"138\">\n\n#### wrap\n\nType: `string`\\\nAllowed values: `wrap` `hard` `truncate` `truncate-start` `truncate-middle` `truncate-end`\\\nDefault: `wrap`\n\nThis property tells Ink to wrap or truncate text if its width is larger than the container.\nIf `wrap` is passed (the default), Ink will wrap text and split it into multiple lines.\nIf `hard` is passed, Ink will fill each line to the full column width, breaking words as necessary.\nIf `truncate-*` is passed, Ink will truncate text instead, resulting in one line of text with the rest cut off.\n\n```jsx\n<Box width={7}>\n\t<Text>Hello World</Text>\n</Box>\n//=> 'Hello\\nWorld'\n\n<Box width={7}>\n\t<Text wrap=\"hard\">Hello World</Text>\n</Box>\n//=> 'Hello W\\norld'\n\n// `truncate` is an alias to `truncate-end`\n<Box width={7}>\n\t<Text wrap=\"truncate\">Hello World</Text>\n</Box>\n//=> 'Hello…'\n\n<Box width={7}>\n\t<Text wrap=\"truncate-middle\">Hello World</Text>\n</Box>\n//=> 'He…ld'\n\n<Box width={7}>\n\t<Text wrap=\"truncate-start\">Hello World</Text>\n</Box>\n//=> '…World'\n```\n\n### `<Box>`\n\n`<Box>` is an essential Ink component to build your layout.\nIt's like `<div style=\"display: flex\">` in the browser.\n\n```jsx\nimport {render, Box, Text} from 'ink';\n\nconst Example = () => (\n\t<Box margin={2}>\n\t\t<Text>This is a box with margin</Text>\n\t</Box>\n);\n\nrender(<Example />);\n```\n\n#### Dimensions\n\n##### width\n\nType: `number` `string`\n\nWidth of the element in spaces.\nYou can also set it as a percentage, which will calculate the width based on the width of the parent element.\n\n```jsx\n<Box width={4}>\n\t<Text>X</Text>\n</Box>\n//=> 'X   '\n```\n\n```jsx\n<Box width={10}>\n\t<Box width=\"50%\">\n\t\t<Text>X</Text>\n\t</Box>\n\t<Text>Y</Text>\n</Box>\n//=> 'X    Y'\n```\n\n##### height\n\nType: `number` `string`\n\nHeight of the element in lines (rows).\nYou can also set it as a percentage, which will calculate the height based on the height of the parent element.\n\n```jsx\n<Box height={4}>\n\t<Text>X</Text>\n</Box>\n//=> 'X\\n\\n\\n'\n```\n\n```jsx\n<Box height={6} flexDirection=\"column\">\n\t<Box height=\"50%\">\n\t\t<Text>X</Text>\n\t</Box>\n\t<Text>Y</Text>\n</Box>\n//=> 'X\\n\\n\\nY\\n\\n'\n```\n\n##### minWidth\n\nType: `number`\n\nSets a minimum width of the element.\nPercentages aren't supported yet; see https://github.com/facebook/yoga/issues/872.\n\n##### minHeight\n\nType: `number` `string`\n\nSets a minimum height of the element in lines (rows).\nYou can also set it as a percentage, which will calculate the minimum height based on the height of the parent element.\n\n##### maxWidth\n\nType: `number`\n\nSets a maximum width of the element.\nPercentages aren't supported yet; see https://github.com/facebook/yoga/issues/872.\n\n##### maxHeight\n\nType: `number` `string`\n\nSets a maximum height of the element in lines (rows).\nYou can also set it as a percentage, which will calculate the maximum height based on the height of the parent element.\n\n##### aspectRatio\n\nType: `number`\n\nDefines the aspect ratio (width/height) for the element.\n\nUse it with at least one size constraint (`width`, `height`, `minHeight`, or `maxHeight`) so Ink can derive the missing dimension.\n\n#### Padding\n\n##### paddingTop\n\nType: `number`\\\nDefault: `0`\n\nTop padding.\n\n##### paddingBottom\n\nType: `number`\\\nDefault: `0`\n\nBottom padding.\n\n##### paddingLeft\n\nType: `number`\\\nDefault: `0`\n\nLeft padding.\n\n##### paddingRight\n\nType: `number`\\\nDefault: `0`\n\nRight padding.\n\n##### paddingX\n\nType: `number`\\\nDefault: `0`\n\nHorizontal padding. Equivalent to setting `paddingLeft` and `paddingRight`.\n\n##### paddingY\n\nType: `number`\\\nDefault: `0`\n\nVertical padding. Equivalent to setting `paddingTop` and `paddingBottom`.\n\n##### padding\n\nType: `number`\\\nDefault: `0`\n\nPadding on all sides. Equivalent to setting `paddingTop`, `paddingBottom`, `paddingLeft` and `paddingRight`.\n\n```jsx\n<Box paddingTop={2}><Text>Top</Text></Box>\n<Box paddingBottom={2}><Text>Bottom</Text></Box>\n<Box paddingLeft={2}><Text>Left</Text></Box>\n<Box paddingRight={2}><Text>Right</Text></Box>\n<Box paddingX={2}><Text>Left and right</Text></Box>\n<Box paddingY={2}><Text>Top and bottom</Text></Box>\n<Box padding={2}><Text>Top, bottom, left and right</Text></Box>\n```\n\n#### Margin\n\n##### marginTop\n\nType: `number`\\\nDefault: `0`\n\nTop margin.\n\n##### marginBottom\n\nType: `number`\\\nDefault: `0`\n\nBottom margin.\n\n##### marginLeft\n\nType: `number`\\\nDefault: `0`\n\nLeft margin.\n\n##### marginRight\n\nType: `number`\\\nDefault: `0`\n\nRight margin.\n\n##### marginX\n\nType: `number`\\\nDefault: `0`\n\nHorizontal margin. Equivalent to setting `marginLeft` and `marginRight`.\n\n##### marginY\n\nType: `number`\\\nDefault: `0`\n\nVertical margin. Equivalent to setting `marginTop` and `marginBottom`.\n\n##### margin\n\nType: `number`\\\nDefault: `0`\n\nMargin on all sides. Equivalent to setting `marginTop`, `marginBottom`, `marginLeft` and `marginRight`.\n\n```jsx\n<Box marginTop={2}><Text>Top</Text></Box>\n<Box marginBottom={2}><Text>Bottom</Text></Box>\n<Box marginLeft={2}><Text>Left</Text></Box>\n<Box marginRight={2}><Text>Right</Text></Box>\n<Box marginX={2}><Text>Left and right</Text></Box>\n<Box marginY={2}><Text>Top and bottom</Text></Box>\n<Box margin={2}><Text>Top, bottom, left and right</Text></Box>\n```\n\n#### Gap\n\n#### gap\n\nType: `number`\\\nDefault: `0`\n\nSize of the gap between an element's columns and rows. A shorthand for `columnGap` and `rowGap`.\n\n```jsx\n<Box gap={1} width={3} flexWrap=\"wrap\">\n\t<Text>A</Text>\n\t<Text>B</Text>\n\t<Text>C</Text>\n</Box>\n// A B\n//\n// C\n```\n\n#### columnGap\n\nType: `number`\\\nDefault: `0`\n\nSize of the gap between an element's columns.\n\n```jsx\n<Box columnGap={1}>\n\t<Text>A</Text>\n\t<Text>B</Text>\n</Box>\n// A B\n```\n\n#### rowGap\n\nType: `number`\\\nDefault: `0`\n\nSize of the gap between an element's rows.\n\n```jsx\n<Box flexDirection=\"column\" rowGap={1}>\n\t<Text>A</Text>\n\t<Text>B</Text>\n</Box>\n// A\n//\n// B\n```\n\n#### Flex\n\n##### flexGrow\n\nType: `number`\\\nDefault: `0`\n\nSee [flex-grow](https://css-tricks.com/almanac/properties/f/flex-grow/).\n\n```jsx\n<Box>\n\t<Text>Label:</Text>\n\t<Box flexGrow={1}>\n\t\t<Text>Fills all remaining space</Text>\n\t</Box>\n</Box>\n```\n\n##### flexShrink\n\nType: `number`\\\nDefault: `1`\n\nSee [flex-shrink](https://css-tricks.com/almanac/properties/f/flex-shrink/).\n\n```jsx\n<Box width={20}>\n\t<Box flexShrink={2} width={10}>\n\t\t<Text>Will be 1/4</Text>\n\t</Box>\n\t<Box width={10}>\n\t\t<Text>Will be 3/4</Text>\n\t</Box>\n</Box>\n```\n\n##### flexBasis\n\nType: `number` `string`\n\nSee [flex-basis](https://css-tricks.com/almanac/properties/f/flex-basis/).\n\n```jsx\n<Box width={6}>\n\t<Box flexBasis={3}>\n\t\t<Text>X</Text>\n\t</Box>\n\t<Text>Y</Text>\n</Box>\n//=> 'X  Y'\n```\n\n```jsx\n<Box width={6}>\n\t<Box flexBasis=\"50%\">\n\t\t<Text>X</Text>\n\t</Box>\n\t<Text>Y</Text>\n</Box>\n//=> 'X  Y'\n```\n\n##### flexDirection\n\nType: `string`\\\nAllowed values: `row` `row-reverse` `column` `column-reverse`\n\nSee [flex-direction](https://css-tricks.com/almanac/properties/f/flex-direction/).\n\n```jsx\n<Box>\n\t<Box marginRight={1}>\n\t\t<Text>X</Text>\n\t</Box>\n\t<Text>Y</Text>\n</Box>\n// X Y\n\n<Box flexDirection=\"row-reverse\">\n\t<Text>X</Text>\n\t<Box marginRight={1}>\n\t\t<Text>Y</Text>\n\t</Box>\n</Box>\n// Y X\n\n<Box flexDirection=\"column\">\n\t<Text>X</Text>\n\t<Text>Y</Text>\n</Box>\n// X\n// Y\n\n<Box flexDirection=\"column-reverse\">\n\t<Text>X</Text>\n\t<Text>Y</Text>\n</Box>\n// Y\n// X\n```\n\n##### flexWrap\n\nType: `string`\\\nAllowed values: `nowrap` `wrap` `wrap-reverse`\n\nSee [flex-wrap](https://css-tricks.com/almanac/properties/f/flex-wrap/).\n\n```jsx\n<Box width={2} flexWrap=\"wrap\">\n\t<Text>A</Text>\n\t<Text>BC</Text>\n</Box>\n// A\n// B C\n```\n\n```jsx\n<Box flexDirection=\"column\" height={2} flexWrap=\"wrap\">\n\t<Text>A</Text>\n\t<Text>B</Text>\n\t<Text>C</Text>\n</Box>\n// A C\n// B\n```\n\n##### alignItems\n\nType: `string`\\\nAllowed values: `flex-start` `center` `flex-end` `stretch` `baseline`\n\nSee [align-items](https://css-tricks.com/almanac/properties/a/align-items/).\n\n```jsx\n<Box alignItems=\"flex-start\">\n\t<Box marginRight={1}>\n\t\t<Text>X</Text>\n\t</Box>\n\t<Text>\n\t\tA\n\t\t<Newline/>\n\t\tB\n\t\t<Newline/>\n\t\tC\n\t</Text>\n</Box>\n// X A\n//   B\n//   C\n\n<Box alignItems=\"center\">\n\t<Box marginRight={1}>\n\t\t<Text>X</Text>\n\t</Box>\n\t<Text>\n\t\tA\n\t\t<Newline/>\n\t\tB\n\t\t<Newline/>\n\t\tC\n\t</Text>\n</Box>\n//   A\n// X B\n//   C\n\n<Box alignItems=\"flex-end\">\n\t<Box marginRight={1}>\n\t\t<Text>X</Text>\n\t</Box>\n\t<Text>\n\t\tA\n\t\t<Newline/>\n\t\tB\n\t\t<Newline/>\n\t\tC\n\t</Text>\n</Box>\n//   A\n//   B\n// X C\n```\n\n##### alignSelf\n\nType: `string`\\\nDefault: `auto`\\\nAllowed values: `auto` `flex-start` `center` `flex-end` `stretch` `baseline`\n\nSee [align-self](https://css-tricks.com/almanac/properties/a/align-self/).\n\n```jsx\n<Box height={3}>\n\t<Box alignSelf=\"flex-start\">\n\t\t<Text>X</Text>\n\t</Box>\n</Box>\n// X\n//\n//\n\n<Box height={3}>\n\t<Box alignSelf=\"center\">\n\t\t<Text>X</Text>\n\t</Box>\n</Box>\n//\n// X\n//\n\n<Box height={3}>\n\t<Box alignSelf=\"flex-end\">\n\t\t<Text>X</Text>\n\t</Box>\n</Box>\n//\n//\n// X\n```\n\n##### alignContent\n\nType: `string`\\\nDefault: `flex-start`\\\nAllowed values: `flex-start` `flex-end` `center` `stretch` `space-between` `space-around` `space-evenly`\n\nDefines alignment between flex lines on the cross axis when `flexWrap` creates multiple lines.\nSee [align-content](https://css-tricks.com/almanac/properties/a/align-content/).\nUnlike CSS (`stretch`), Ink defaults to `flex-start` so wrapped lines stay compact and fixed-height boxes don't gain unexpected empty rows unless you opt in to stretching.\n\n##### justifyContent\n\nType: `string`\\\nAllowed values: `flex-start` `center` `flex-end` `space-between` `space-around` `space-evenly`\n\nSee [justify-content](https://css-tricks.com/almanac/properties/j/justify-content/).\n\n```jsx\n<Box justifyContent=\"flex-start\">\n\t<Text>X</Text>\n</Box>\n// [X      ]\n\n<Box justifyContent=\"center\">\n\t<Text>X</Text>\n</Box>\n// [   X   ]\n\n<Box justifyContent=\"flex-end\">\n\t<Text>X</Text>\n</Box>\n// [      X]\n\n<Box justifyContent=\"space-between\">\n\t<Text>X</Text>\n\t<Text>Y</Text>\n</Box>\n// [X      Y]\n\n<Box justifyContent=\"space-around\">\n\t<Text>X</Text>\n\t<Text>Y</Text>\n</Box>\n// [  X   Y  ]\n\n<Box justifyContent=\"space-evenly\">\n\t<Text>X</Text>\n\t<Text>Y</Text>\n</Box>\n// [   X   Y   ]\n```\n\n#### Position\n\n##### position\n\nType: `string`\\\nAllowed values: `relative` `absolute` `static`\\\nDefault: `relative`\n\nControls how the element is positioned.\n\nWhen `position` is `static`, `top`, `right`, `bottom`, and `left` are ignored.\n\n##### top\n\nType: `number` `string`\n\nTop offset for positioned elements.\nYou can also set it as a percentage of the parent size.\n\n##### right\n\nType: `number` `string`\n\nRight offset for positioned elements.\nYou can also set it as a percentage of the parent size.\n\n##### bottom\n\nType: `number` `string`\n\nBottom offset for positioned elements.\nYou can also set it as a percentage of the parent size.\n\n##### left\n\nType: `number` `string`\n\nLeft offset for positioned elements.\nYou can also set it as a percentage of the parent size.\n\n#### Visibility\n\n##### display\n\nType: `string`\\\nAllowed values: `flex` `none`\\\nDefault: `flex`\n\nSet this property to `none` to hide the element.\n\n##### overflowX\n\nType: `string`\\\nAllowed values: `visible` `hidden`\\\nDefault: `visible`\n\nBehavior for an element's overflow in the horizontal direction.\n\n##### overflowY\n\nType: `string`\\\nAllowed values: `visible` `hidden`\\\nDefault: `visible`\n\nBehavior for an element's overflow in the vertical direction.\n\n##### overflow\n\nType: `string`\\\nAllowed values: `visible` `hidden`\\\nDefault: `visible`\n\nA shortcut for setting `overflowX` and `overflowY` at the same time.\n\n#### Borders\n\n##### borderStyle\n\nType: `string`\\\nAllowed values: `single` `double` `round` `bold` `singleDouble` `doubleSingle` `classic` | `BoxStyle`\n\nAdd a border with a specified style.\nIf `borderStyle` is `undefined` (the default), no border will be added.\nInk uses border styles from the [`cli-boxes`](https://github.com/sindresorhus/cli-boxes) module.\n\n```jsx\n<Box flexDirection=\"column\">\n\t<Box>\n\t\t<Box borderStyle=\"single\" marginRight={2}>\n\t\t\t<Text>single</Text>\n\t\t</Box>\n\n\t\t<Box borderStyle=\"double\" marginRight={2}>\n\t\t\t<Text>double</Text>\n\t\t</Box>\n\n\t\t<Box borderStyle=\"round\" marginRight={2}>\n\t\t\t<Text>round</Text>\n\t\t</Box>\n\n\t\t<Box borderStyle=\"bold\">\n\t\t\t<Text>bold</Text>\n\t\t</Box>\n\t</Box>\n\n\t<Box marginTop={1}>\n\t\t<Box borderStyle=\"singleDouble\" marginRight={2}>\n\t\t\t<Text>singleDouble</Text>\n\t\t</Box>\n\n\t\t<Box borderStyle=\"doubleSingle\" marginRight={2}>\n\t\t\t<Text>doubleSingle</Text>\n\t\t</Box>\n\n\t\t<Box borderStyle=\"classic\">\n\t\t\t<Text>classic</Text>\n\t\t</Box>\n\t</Box>\n</Box>\n```\n\n<img src=\"media/box-borderStyle.jpg\" width=\"521\">\n\nAlternatively, pass a custom border style like so:\n\n```jsx\n<Box\n\tborderStyle={{\n\t\ttopLeft: '↘',\n\t\ttop: '↓',\n\t\ttopRight: '↙',\n\t\tleft: '→',\n\t\tbottomLeft: '↗',\n\t\tbottom: '↑',\n\t\tbottomRight: '↖',\n\t\tright: '←',\n\t}}\n>\n\t<Text>Custom</Text>\n</Box>\n```\n\nSee example in [examples/borders](examples/borders/borders.tsx).\n\n##### borderColor\n\nType: `string`\n\nChange border color.\nA shorthand for setting `borderTopColor`, `borderRightColor`, `borderBottomColor`, and `borderLeftColor`.\n\n```jsx\n<Box borderStyle=\"round\" borderColor=\"green\">\n\t<Text>Green Rounded Box</Text>\n</Box>\n```\n\n<img src=\"media/box-borderColor.jpg\" width=\"228\">\n\n##### borderTopColor\n\nType: `string`\n\nChange top border color.\nAccepts the same values as [`color`](#color) in `<Text>` component.\n\n```jsx\n<Box borderStyle=\"round\" borderTopColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderRightColor\n\nType: `string`\n\nChange the right border color.\nAccepts the same values as [`color`](#color) in `<Text>` component.\n\n```jsx\n<Box borderStyle=\"round\" borderRightColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderBottomColor\n\nType: `string`\n\nChange the bottom border color.\nAccepts the same values as [`color`](#color) in `<Text>` component.\n\n```jsx\n<Box borderStyle=\"round\" borderBottomColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderLeftColor\n\nType: `string`\n\nChange the left border color.\nAccepts the same values as [`color`](#color) in `<Text>` component.\n\n```jsx\n<Box borderStyle=\"round\" borderLeftColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderDimColor\n\nType: `boolean`\\\nDefault: `false`\n\nDim the border color.\nA shorthand for setting `borderTopDimColor`, `borderBottomDimColor`, `borderLeftDimColor`, and `borderRightDimColor`.\n\n```jsx\n<Box borderStyle=\"round\" borderDimColor>\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderTopDimColor\n\nType: `boolean`\\\nDefault: `false`\n\nDim the top border color.\n\n```jsx\n<Box borderStyle=\"round\" borderTopDimColor>\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderBottomDimColor\n\nType: `boolean`\\\nDefault: `false`\n\nDim the bottom border color.\n\n```jsx\n<Box borderStyle=\"round\" borderBottomDimColor>\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderLeftDimColor\n\nType: `boolean`\\\nDefault: `false`\n\nDim the left border color.\n\n```jsx\n<Box borderStyle=\"round\" borderLeftDimColor>\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderRightDimColor\n\nType: `boolean`\\\nDefault: `false`\n\nDim the right border color.\n\n```jsx\n<Box borderStyle=\"round\" borderRightDimColor>\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderBackgroundColor\n\nType: `string`\n\nChange border background color.\nAccepts the same values as [`backgroundColor`](#backgroundcolor) in `<Text>` component.\nA shorthand for setting `borderTopBackgroundColor`, `borderRightBackgroundColor`, `borderBottomBackgroundColor`, and `borderLeftBackgroundColor`.\n\n```jsx\n<Box borderStyle=\"round\" borderColor=\"white\" borderBackgroundColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderTopBackgroundColor\n\nType: `string`\n\nChange top border background color.\nAccepts the same values as [`backgroundColor`](#backgroundcolor) in `<Text>` component.\nFalls back to `borderBackgroundColor` if not specified.\n\n```jsx\n<Box borderStyle=\"round\" borderColor=\"white\" borderTopBackgroundColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderBottomBackgroundColor\n\nType: `string`\n\nChange bottom border background color.\nAccepts the same values as [`backgroundColor`](#backgroundcolor) in `<Text>` component.\nFalls back to `borderBackgroundColor` if not specified.\n\n```jsx\n<Box borderStyle=\"round\" borderColor=\"white\" borderBottomBackgroundColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderRightBackgroundColor\n\nType: `string`\n\nChange right border background color.\nAccepts the same values as [`backgroundColor`](#backgroundcolor) in `<Text>` component.\nFalls back to `borderBackgroundColor` if not specified.\n\n```jsx\n<Box borderStyle=\"round\" borderColor=\"white\" borderRightBackgroundColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderLeftBackgroundColor\n\nType: `string`\n\nChange left border background color.\nAccepts the same values as [`backgroundColor`](#backgroundcolor) in `<Text>` component.\nFalls back to `borderBackgroundColor` if not specified.\n\n```jsx\n<Box borderStyle=\"round\" borderColor=\"white\" borderLeftBackgroundColor=\"green\">\n\t<Text>Hello world</Text>\n</Box>\n```\n\n##### borderTop\n\nType: `boolean`\\\nDefault: `true`\n\nDetermines whether the top border is visible.\n\n##### borderRight\n\nType: `boolean`\\\nDefault: `true`\n\nDetermines whether the right border is visible.\n\n##### borderBottom\n\nType: `boolean`\\\nDefault: `true`\n\nDetermines whether the bottom border is visible.\n\n##### borderLeft\n\nType: `boolean`\\\nDefault: `true`\n\nDetermines whether the left border is visible.\n\n#### Background\n\n##### backgroundColor\n\nType: `string`\n\nBackground color for the element.\n\nAccepts the same values as [`color`](#color) in the `<Text>` component.\n\n```jsx\n<Box flexDirection=\"column\">\n\t<Box backgroundColor=\"red\" width={20} height={5} alignSelf=\"flex-start\">\n\t\t<Text>Red background</Text>\n\t</Box>\n\n\t<Box\n\t\tbackgroundColor=\"#FF8800\"\n\t\twidth={20}\n\t\theight={3}\n\t\tmarginTop={1}\n\t\talignSelf=\"flex-start\"\n\t>\n\t\t<Text>Orange background</Text>\n\t</Box>\n\n\t<Box\n\t\tbackgroundColor=\"rgb(0, 255, 0)\"\n\t\twidth={20}\n\t\theight={3}\n\t\tmarginTop={1}\n\t\talignSelf=\"flex-start\"\n\t>\n\t\t<Text>Green background</Text>\n\t</Box>\n</Box>\n```\n\nThe background color fills the entire `<Box>` area and is inherited by child `<Text>` components unless they specify their own `backgroundColor`.\n\n```jsx\n<Box backgroundColor=\"blue\" alignSelf=\"flex-start\">\n\t<Text>Blue inherited </Text>\n\t<Text backgroundColor=\"yellow\">Yellow override </Text>\n\t<Text>Blue inherited again</Text>\n</Box>\n```\n\nBackground colors work with borders and padding:\n\n```jsx\n<Box\n\tbackgroundColor=\"cyan\"\n\tborderStyle=\"round\"\n\tpadding={1}\n\talignSelf=\"flex-start\"\n>\n\t<Text>Background with border and padding</Text>\n</Box>\n```\n\nSee example in [examples/box-backgrounds](examples/box-backgrounds/box-backgrounds.tsx).\n\n### `<Newline>`\n\nAdds one or more newline (`\\n`) characters.\nMust be used within `<Text>` components.\n\n#### count\n\nType: `number`\\\nDefault: `1`\n\nNumber of newlines to insert.\n\n```jsx\nimport {render, Text, Newline} from 'ink';\n\nconst Example = () => (\n\t<Text>\n\t\t<Text color=\"green\">Hello</Text>\n\t\t<Newline />\n\t\t<Text color=\"red\">World</Text>\n\t</Text>\n);\n\nrender(<Example />);\n```\n\nOutput:\n\n```\nHello\nWorld\n```\n\n### `<Spacer>`\n\nA flexible space that expands along the major axis of its containing layout.\nIt's useful as a shortcut for filling all the available space between elements.\n\nFor example, using `<Spacer>` in a `<Box>` with default flex direction (`row`) will position \"Left\" on the left side and will push \"Right\" to the right side.\n\n```jsx\nimport {render, Box, Text, Spacer} from 'ink';\n\nconst Example = () => (\n\t<Box>\n\t\t<Text>Left</Text>\n\t\t<Spacer />\n\t\t<Text>Right</Text>\n\t</Box>\n);\n\nrender(<Example />);\n```\n\nIn a vertical flex direction (`column`), it will position \"Top\" at the top of the container and push \"Bottom\" to the bottom.\nNote that the container needs to be tall enough to see this in effect.\n\n```jsx\nimport {render, Box, Text, Spacer} from 'ink';\n\nconst Example = () => (\n\t<Box flexDirection=\"column\" height={10}>\n\t\t<Text>Top</Text>\n\t\t<Spacer />\n\t\t<Text>Bottom</Text>\n\t</Box>\n);\n\nrender(<Example />);\n```\n\n### `<Static>`\n\n`<Static>` component permanently renders its output above everything else.\nIt's useful for displaying activity like completed tasks or logs - things that\ndon't change after they're rendered (hence the name \"Static\").\n\nIt's preferred to use `<Static>` for use cases like these when you can't know\nor control the number of items that need to be rendered.\n\nFor example, [Tap](https://github.com/tapjs/node-tap) uses `<Static>` to display\na list of completed tests. [Gatsby](https://github.com/gatsbyjs/gatsby) uses it\nto display a list of generated pages while still displaying a live progress bar.\n\n```jsx\nimport React, {useState, useEffect} from 'react';\nimport {render, Static, Box, Text} from 'ink';\n\nconst Example = () => {\n\tconst [tests, setTests] = useState([]);\n\n\tuseEffect(() => {\n\t\tlet completedTests = 0;\n\t\tlet timer;\n\n\t\tconst run = () => {\n\t\t\t// Fake 10 completed tests\n\t\t\tif (completedTests++ < 10) {\n\t\t\t\tsetTests(previousTests => [\n\t\t\t\t\t...previousTests,\n\t\t\t\t\t{\n\t\t\t\t\t\tid: previousTests.length,\n\t\t\t\t\t\ttitle: `Test #${previousTests.length + 1}`,\n\t\t\t\t\t},\n\t\t\t\t]);\n\n\t\t\t\ttimer = setTimeout(run, 100);\n\t\t\t}\n\t\t};\n\n\t\trun();\n\n\t\treturn () => {\n\t\t\tclearTimeout(timer);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t{/* This part will be rendered once to the terminal */}\n\t\t\t<Static items={tests}>\n\t\t\t\t{test => (\n\t\t\t\t\t<Box key={test.id}>\n\t\t\t\t\t\t<Text color=\"green\">✔ {test.title}</Text>\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</Static>\n\n\t\t\t{/* This part keeps updating as state changes */}\n\t\t\t<Box marginTop={1}>\n\t\t\t\t<Text dimColor>Completed tests: {tests.length}</Text>\n\t\t\t</Box>\n\t\t</>\n\t);\n};\n\nrender(<Example />);\n```\n\n> [!NOTE]\n> `<Static>` only renders new items in the `items` prop and ignores items that were previously rendered. This means that when you add new items to the `items` array, changes you make to previous items will not trigger a rerender.\n\nSee [examples/static](examples/static/static.tsx) for an example usage of `<Static>` component.\n\n#### items\n\nType: `Array`\n\nArray of items of any type to render using the function you pass as a component child.\n\n#### style\n\nType: `object`\n\nStyles to apply to a container of child elements.\nSee [`<Box>`](#box) for supported properties.\n\n```jsx\n<Static items={...} style={{padding: 1}}>\n\t{...}\n</Static>\n```\n\n#### children(item)\n\nType: `Function`\n\nFunction that is called to render every item in the `items` array.\nThe first argument is the item itself, and the second argument is the index of that item in the\n`items` array.\n\nNote that a `key` must be assigned to the root component.\n\n```jsx\n<Static items={['a', 'b', 'c']}>\n\t{(item, index) => {\n\t\t// This function is called for every item in ['a', 'b', 'c']\n\t\t// `item` is 'a', 'b', 'c'\n\t\t// `index` is 0, 1, 2\n\t\treturn (\n\t\t\t<Box key={index}>\n\t\t\t\t<Text>Item: {item}</Text>\n\t\t\t</Box>\n\t\t);\n\t}}\n</Static>\n```\n\n### `<Transform>`\n\nTransform a string representation of React components before they're written to output.\nFor example, you might want to apply a [gradient to text](https://github.com/sindresorhus/ink-gradient), [add a clickable link](https://github.com/sindresorhus/ink-link), or [create some text effects](https://github.com/sindresorhus/ink-big-text).\nThese use cases can't accept React nodes as input; they expect a string.\nThat's what the `<Transform>` component does: it gives you an output string of its child components and lets you transform it in any way.\n\n> [!NOTE]\n> `<Transform>` must be applied only to `<Text>` children components and shouldn't change the dimensions of the output; otherwise, the layout will be incorrect.\n\n> [!IMPORTANT]\n> When children use `<Text>` styling props (e.g. `color`, `bold`), the string passed to `transform` will contain [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code). If your transform manipulates whitespace or does string operations like `.trim()`, you may need to use ANSI-aware methods (e.g. from [`slice-ansi`](https://github.com/chalk/slice-ansi) or [`strip-ansi`](https://github.com/chalk/strip-ansi)).\n\n```jsx\nimport {render, Transform} from 'ink';\n\nconst Example = () => (\n\t<Transform transform={output => output.toUpperCase()}>\n\t\t<Text>Hello World</Text>\n\t</Transform>\n);\n\nrender(<Example />);\n```\n\nSince the `transform` function converts all characters to uppercase, the final output rendered to the terminal will be \"HELLO WORLD\", not \"Hello World\".\n\nWhen the output wraps to multiple lines, it can be helpful to know which line is being processed.\n\nFor example, to implement a hanging indent component, you can indent all the lines except for the first.\n\n```jsx\nimport {render, Transform} from 'ink';\n\nconst HangingIndent = ({indent = 4, children}) => (\n\t<Transform\n\t\ttransform={(line, index) =>\n\t\t\tindex === 0 ? line : ' '.repeat(indent) + line\n\t\t}\n\t>\n\t\t{children}\n\t</Transform>\n);\n\nconst text =\n\t'WHEN I WROTE the following pages, or rather the bulk of them, ' +\n\t'I lived alone, in the woods, a mile from any neighbor, in a ' +\n\t'house which I had built myself, on the shore of Walden Pond, ' +\n\t'in Concord, Massachusetts, and earned my living by the labor ' +\n\t'of my hands only. I lived there two years and two months. At ' +\n\t'present I am a sojourner in civilized life again.';\n\nrender(<HangingIndent indent={4}>{text}</HangingIndent>);\n```\n\n#### transform(outputLine, index)\n\nType: `Function`\n\nFunction that transforms children output.\nIt accepts children and must return transformed children as well.\n\n##### children\n\nType: `string`\n\nOutput of child components.\n\n##### index\n\nType: `number`\n\nThe zero-indexed line number of the line that's currently being transformed.\n\n## Hooks\n\n### useInput(inputHandler, options?)\n\nA React hook that returns `void` and handles user input.\nIt's a more convenient alternative to using `useStdin` and listening for `data` events.\nThe callback you pass to `useInput` is called for each character when the user enters any input.\nHowever, if the user pastes text and it's more than one character, the callback will be called only once, and the whole string will be passed as `input`.\nYou can find a full example of using `useInput` at [examples/use-input](examples/use-input/use-input.tsx).\n\n```jsx\nimport {useInput} from 'ink';\n\nconst UserInput = () => {\n\tuseInput((input, key) => {\n\t\tif (input === 'q') {\n\t\t\t// Exit program\n\t\t}\n\n\t\tif (key.leftArrow) {\n\t\t\t// Left arrow key pressed\n\t\t}\n\t});\n\n\treturn …\n};\n```\n\n#### inputHandler(input, key)\n\nType: `Function`\n\nThe handler function that you pass to `useInput` receives two arguments:\n\n##### input\n\nType: `string`\n\nThe input that the program received.\n\n##### key\n\nType: `object`\n\nHandy information about a key that was pressed.\n\n###### key.leftArrow\n\n###### key.rightArrow\n\n###### key.upArrow\n\n###### key.downArrow\n\nType: `boolean`\\\nDefault: `false`\n\nIf an arrow key was pressed, the corresponding property will be `true`.\nFor example, if the user presses the left arrow key, `key.leftArrow` equals `true`.\n\n###### key.return\n\nType: `boolean`\\\nDefault: `false`\n\nReturn (Enter) key was pressed.\n\n###### key.escape\n\nType: `boolean`\\\nDefault: `false`\n\nEscape key was pressed.\n\n###### key.ctrl\n\nType: `boolean`\\\nDefault: `false`\n\nCtrl key was pressed.\n\n###### key.shift\n\nType: `boolean`\\\nDefault: `false`\n\nShift key was pressed.\n\n###### key.tab\n\nType: `boolean`\\\nDefault: `false`\n\nTab key was pressed.\n\n###### key.backspace\n\nType: `boolean`\\\nDefault: `false`\n\nBackspace key was pressed.\n\n###### key.delete\n\nType: `boolean`\\\nDefault: `false`\n\nDelete key was pressed.\n\n###### key.pageDown\n\n###### key.pageUp\n\nType: `boolean`\\\nDefault: `false`\n\nIf the Page Up or Page Down key was pressed, the corresponding property will be `true`.\nFor example, if the user presses Page Down, `key.pageDown` equals `true`.\n\n###### key.home\n\n###### key.end\n\nType: `boolean`\\\nDefault: `false`\n\nIf the Home or End key was pressed, the corresponding property will be `true`.\nFor example, if the user presses End, `key.end` equals `true`.\n\n###### key.meta\n\nType: `boolean`\\\nDefault: `false`\n\n[Meta key](https://en.wikipedia.org/wiki/Meta_key) was pressed.\n\n###### key.super\n\nType: `boolean`\\\nDefault: `false`\n\nSuper key (Cmd on macOS, Win on Windows) was pressed. Requires [kitty keyboard protocol](#kittykeyboard).\n\n###### key.hyper\n\nType: `boolean`\\\nDefault: `false`\n\nHyper key was pressed. Requires [kitty keyboard protocol](#kittykeyboard).\n\n###### key.capsLock\n\nType: `boolean`\\\nDefault: `false`\n\nCaps Lock was active. Requires [kitty keyboard protocol](#kittykeyboard).\n\n###### key.numLock\n\nType: `boolean`\\\nDefault: `false`\n\nNum Lock was active. Requires [kitty keyboard protocol](#kittykeyboard).\n\n###### key.eventType\n\nType: `'press' | 'repeat' | 'release'`\\\nDefault: `undefined`\n\nThe type of key event. Only available with [kitty keyboard protocol](#kittykeyboard). Without the protocol, this property is `undefined`.\n\n#### options\n\nType: `object`\n\n##### isActive\n\nType: `boolean`\\\nDefault: `true`\n\nEnable or disable capturing of user input.\nUseful when there are multiple `useInput` hooks used at once to avoid handling the same input several times.\n\n### usePaste(handler, options?)\n\nA React hook that calls `handler` whenever the user pastes text. Bracketed paste mode (`\\x1b[?2004h`) is automatically enabled while the hook is active, so pasted text arrives as a single string rather than being misinterpreted as individual key presses.\n\n`usePaste` and `useInput` can be used together in the same component. They operate on separate event channels, so paste content is never forwarded to `useInput` handlers when `usePaste` is active.\n\n```jsx\nimport {useInput, usePaste} from 'ink';\n\nconst MyInput = () => {\n\tuseInput((input, key) => {\n\t\t// Only receives typed characters and key events, not pasted text.\n\t\tif (key.return) {\n\t\t\t// Submit\n\t\t}\n\t});\n\n\tusePaste((text) => {\n\t\t// Receives the full pasted string, including newlines.\n\t\tconsole.log('Pasted:', text);\n\t});\n\n\treturn …\n};\n```\n\n#### handler(text)\n\nType: `Function`\n\nCalled with the full pasted string whenever the user pastes text. The string is delivered verbatim — newlines, escape sequences, and other special characters are preserved exactly as pasted.\n\n##### text\n\nType: `string`\n\nThe pasted text.\n\n#### options\n\nType: `object`\n\n##### isActive\n\nType: `boolean`\\\nDefault: `true`\n\nEnable or disable the paste handler. Useful when multiple components use `usePaste` and only one should be active at a time.\n\n### useApp()\n\nA React hook that returns app lifecycle methods.\n\n#### exit(errorOrResult?)\n\nType: `Function`\n\nExit (unmount) the whole Ink app.\n\n##### errorOrResult\n\nType: `Error | unknown`\n\nOptional value that controls how [`waitUntilExit`](#waituntilexit) settles:\n\n- `exit()` resolves with `undefined`.\n- `exit(error)` rejects when `error` is an `Error`.\n- `exit(value)` resolves with `value`.\n\n```js\nimport {useEffect} from 'react';\nimport {useApp} from 'ink';\n\nconst Example = () => {\n\tconst {exit} = useApp();\n\n\t// Exit the app after 5 seconds\n\tuseEffect(() => {\n\t\tsetTimeout(() => {\n\t\t\texit();\n\t\t}, 5000);\n\t}, [exit]);\n\n\treturn …\n};\n```\n\n#### waitUntilRenderFlush()\n\nType: `Function`\n\nReturns a promise that settles after pending render output is flushed to stdout.\n\n```js\nimport {useEffect} from 'react';\nimport {useApp} from 'ink';\n\nconst Example = () => {\n\tconst {waitUntilRenderFlush} = useApp();\n\n\tuseEffect(() => {\n\t\tvoid (async () => {\n\t\t\tawait waitUntilRenderFlush();\n\t\t\trunNextCommand();\n\t\t})();\n\t}, [waitUntilRenderFlush]);\n\n\treturn …;\n};\n```\n\n### useStdin()\n\nA React hook that returns the stdin stream and stdin-related utilities.\n\n#### stdin\n\nType: `stream.Readable`\\\nDefault: `process.stdin`\n\nThe stdin stream passed to `render()` in `options.stdin`, or `process.stdin` by default.\nUseful if your app needs to handle user input.\n\n```js\nimport {useStdin} from 'ink';\n\nconst Example = () => {\n\tconst {stdin} = useStdin();\n\n\treturn …\n};\n```\n\n#### isRawModeSupported\n\nType: `boolean`\n\nA boolean flag determining if the current `stdin` supports `setRawMode`.\nA component using `setRawMode` might want to use `isRawModeSupported` to nicely fall back in environments where raw mode is not supported.\n\n```jsx\nimport {useStdin} from 'ink';\n\nconst Example = () => {\n\tconst {isRawModeSupported} = useStdin();\n\n\treturn isRawModeSupported ? (\n\t\t<MyInputComponent />\n\t) : (\n\t\t<MyComponentThatDoesntUseInput />\n\t);\n};\n```\n\n#### setRawMode(isRawModeEnabled)\n\nType: `function`\n\n##### isRawModeEnabled\n\nType: `boolean`\n\nSee [`setRawMode`](https://nodejs.org/api/tty.html#tty_readstream_setrawmode_mode).\nInk exposes this function to be able to handle <kbd>Ctrl</kbd>+<kbd>C</kbd>, that's why you should use Ink's `setRawMode` instead of `process.stdin.setRawMode`.\n\n**Warning:** This function will throw unless the current `stdin` supports `setRawMode`. Use [`isRawModeSupported`](#israwmodesupported) to detect `setRawMode` support.\n\n```js\nimport {useStdin} from 'ink';\n\nconst Example = () => {\n\tconst {setRawMode} = useStdin();\n\n\tuseEffect(() => {\n\t\tsetRawMode(true);\n\n\t\treturn () => {\n\t\t\tsetRawMode(false);\n\t\t};\n\t});\n\n\treturn …\n};\n```\n\n### useStdout()\n\nA React hook that returns the stdout stream where Ink renders your app and stdout-related utilities.\n\n#### stdout\n\nType: `stream.Writable`\\\nDefault: `process.stdout`\n\n```js\nimport {useStdout} from 'ink';\n\nconst Example = () => {\n\tconst {stdout} = useStdout();\n\n\treturn …\n};\n```\n\n#### write(data)\n\nWrite any string to stdout while preserving Ink's output.\nIt's useful when you want to display external information outside of Ink's rendering and ensure there's no conflict between the two.\nIt's similar to `<Static>`, except it can't accept components; it only works with strings.\n\n##### data\n\nType: `string`\n\nData to write to stdout.\n\n```js\nimport {useStdout} from 'ink';\n\nconst Example = () => {\n\tconst {write} = useStdout();\n\n\tuseEffect(() => {\n\t\t// Write a single message to stdout, above Ink's output\n\t\twrite('Hello from Ink to stdout\\n');\n\t}, []);\n\n\treturn …\n};\n```\n\nSee additional usage example in [examples/use-stdout](examples/use-stdout/use-stdout.tsx).\n\n### useBoxMetrics(ref)\n\nA React hook that returns the current layout metrics for a tracked box element.\nIt updates when layout changes (for example terminal resize, sibling/content changes, or position changes).\n\nUse `hasMeasured` to detect when the currently tracked element has been measured.\n\n#### ref\n\nType: `React.RefObject<DOMElement>`\n\nA ref to the `<Box>` element to track.\n\n```jsx\nimport {useRef} from 'react';\nimport {Box, Text, useBoxMetrics} from 'ink';\n\nconst Example = () => {\n\tconst ref = useRef(null);\n\tconst {width, height, left, top, hasMeasured} = useBoxMetrics(ref);\n\n\treturn (\n\t\t<Box ref={ref}>\n\t\t\t<Text>\n\t\t\t\t{hasMeasured ? `${width}x${height} at ${left},${top}` : 'Measuring...'}\n\t\t\t</Text>\n\t\t</Box>\n\t);\n};\n```\n\n#### width\n\nType: `number`\n\nElement width.\n\n#### height\n\nType: `number`\n\nElement height.\n\n#### left\n\nType: `number`\n\nDistance from the left edge of the parent.\n\n#### top\n\nType: `number`\n\nDistance from the top edge of the parent.\n\n#### hasMeasured\n\nType: `boolean`\n\nWhether the currently tracked element has been measured.\n\n> [!NOTE]\n> The hook returns `{width: 0, height: 0, left: 0, top: 0}` until the first layout pass completes. It also returns zeros when the tracked ref is detached.\n\n### useStderr()\n\nA React hook that returns the stderr stream and stderr-related utilities.\n\n#### stderr\n\nType: `stream.Writable`\\\nDefault: `process.stderr`\n\nStderr stream.\n\n```js\nimport {useStderr} from 'ink';\n\nconst Example = () => {\n\tconst {stderr} = useStderr();\n\n\treturn …\n};\n```\n\n#### write(data)\n\nWrite any string to stderr while preserving Ink's output.\n\nIt's useful when you want to display external information outside of Ink's rendering and ensure there's no conflict between the two.\nIt's similar to `<Static>`, except it can't accept components; it only works with strings.\n\n##### data\n\nType: `string`\n\nData to write to stderr.\n\n```js\nimport {useStderr} from 'ink';\n\nconst Example = () => {\n\tconst {write} = useStderr();\n\n\tuseEffect(() => {\n\t\t// Write a single message to stderr, above Ink's output\n\t\twrite('Hello from Ink to stderr\\n');\n\t}, []);\n\n\treturn …\n};\n```\n\n### useWindowSize()\n\nA React hook that returns the current terminal dimensions and re-renders the component whenever the terminal is resized.\n\n```js\nimport {Text, useWindowSize} from 'ink';\n\nconst Example = () => {\n\tconst {columns, rows} = useWindowSize();\n\n\treturn (\n\t\t<Text>\n\t\t\t{columns}x{rows}\n\t\t</Text>\n\t);\n};\n```\n\n#### columns\n\nType: `number`\n\nNumber of columns (horizontal character cells).\n\n#### rows\n\nType: `number`\n\nNumber of rows (vertical character cells).\n\n> [!NOTE]\n> When the terminal is resized narrower, ghost lines may briefly appear depending on the terminal emulator's reflow behavior.\n\n### useFocus(options?)\n\nA React hook that returns focus state and focus controls for the current component.\nA component that uses the `useFocus` hook becomes \"focusable\" to Ink, so when the user presses <kbd>Tab</kbd>, Ink will switch focus to this component.\nIf there are multiple components that execute the `useFocus` hook, focus will be given to them in the order in which these components are rendered.\nThis hook returns an object with an `isFocused` boolean property, which determines whether this component is focused.\n\n#### options\n\n##### autoFocus\n\nType: `boolean`\\\nDefault: `false`\n\nAuto-focus this component if there's no active (focused) component right now.\n\n##### isActive\n\nType: `boolean`\\\nDefault: `true`\n\nEnable or disable this component's focus, while still maintaining its position in the list of focusable components.\nThis is useful for inputs that are temporarily disabled.\n\n##### id\n\nType: `string`\\\nRequired: `false`\n\nSet a component's focus ID, which can be used to programmatically focus the component. This is useful for large interfaces with many focusable elements to avoid having to cycle through all of them.\n\n```jsx\nimport {render, useFocus, Text} from 'ink';\n\nconst Example = () => {\n\tconst {isFocused} = useFocus();\n\n\treturn <Text>{isFocused ? 'I am focused' : 'I am not focused'}</Text>;\n};\n\nrender(<Example />);\n```\n\nSee example in [examples/use-focus](examples/use-focus/use-focus.tsx) and [examples/use-focus-with-id](examples/use-focus-with-id/use-focus-with-id.tsx).\n\n### useFocusManager()\n\nA React hook that returns methods to manage focus across focusable components.\n\n#### enableFocus()\n\nEnable focus management for all components.\n\n> [!NOTE]\n> You don't need to call this method manually unless you've disabled focus management. Focus management is enabled by default.\n\n```js\nimport {useFocusManager} from 'ink';\n\nconst Example = () => {\n\tconst {enableFocus} = useFocusManager();\n\n\tuseEffect(() => {\n\t\tenableFocus();\n\t}, []);\n\n\treturn …\n};\n```\n\n#### disableFocus()\n\nDisable focus management for all components.\nThe currently active component (if there's one) will lose its focus.\n\n```js\nimport {useFocusManager} from 'ink';\n\nconst Example = () => {\n\tconst {disableFocus} = useFocusManager();\n\n\tuseEffect(() => {\n\t\tdisableFocus();\n\t}, []);\n\n\treturn …\n};\n```\n\n#### focusNext()\n\nSwitch focus to the next focusable component.\nIf there's no active component right now, focus will be given to the first focusable component.\nIf the active component is the last in the list of focusable components, focus will be switched to the first focusable component.\n\n> [!NOTE]\n> Ink calls this method when user presses <kbd>Tab</kbd>.\n\n```js\nimport {useFocusManager} from 'ink';\n\nconst Example = () => {\n\tconst {focusNext} = useFocusManager();\n\n\tuseEffect(() => {\n\t\tfocusNext();\n\t}, []);\n\n\treturn …\n};\n```\n\n#### focusPrevious()\n\nSwitch focus to the previous focusable component.\nIf there's no active component right now, focus will be given to the first focusable component.\nIf the active component is the first in the list of focusable components, focus will be switched to the last focusable component.\n\n> [!NOTE]\n> Ink calls this method when user presses <kbd>Shift</kbd>+<kbd>Tab</kbd>.\n\n```js\nimport {useFocusManager} from 'ink';\n\nconst Example = () => {\n\tconst {focusPrevious} = useFocusManager();\n\n\tuseEffect(() => {\n\t\tfocusPrevious();\n\t}, []);\n\n\treturn …\n};\n```\n\n#### focus(id)\n\n##### id\n\nType: `string`\n\nSwitch focus to the component with the given [`id`](#id).\nIf there's no component with that ID, focus is not changed.\n\n```js\nimport {useFocusManager, useInput} from 'ink';\n\nconst Example = () => {\n\tconst {focus} = useFocusManager();\n\n\tuseInput(input => {\n\t\tif (input === 's') {\n\t\t\t// Focus the component with focus ID 'someId'\n\t\t\tfocus('someId');\n\t\t}\n\t});\n\n\treturn …\n};\n```\n\n#### activeId\n\nType: `string | undefined`\n\nThe ID of the currently focused component, or `undefined` if no component is focused.\n\n```js\nimport {Text, useFocusManager} from 'ink';\n\nconst Example = () => {\n\tconst {activeId} = useFocusManager();\n\n\treturn <Text>Focused: {activeId ?? 'none'}</Text>;\n};\n```\n\n### useCursor()\n\nA React hook that returns methods to control the terminal cursor position after each render.\nThis is essential for IME (Input Method Editor) support, where the composing character is displayed at the cursor location.\n\n```jsx\nimport {useState} from 'react';\nimport {Box, Text, useCursor} from 'ink';\nimport stringWidth from 'string-width';\n\nconst TextInput = () => {\n\tconst [text, setText] = useState('');\n\tconst {setCursorPosition} = useCursor();\n\n\tconst prompt = '> ';\n\tsetCursorPosition({x: stringWidth(prompt + text), y: 1});\n\n\treturn (\n\t\t<Box flexDirection=\"column\">\n\t\t\t<Text>Type here:</Text>\n\t\t\t<Text>\n\t\t\t\t{prompt}\n\t\t\t\t{text}\n\t\t\t</Text>\n\t\t</Box>\n\t);\n};\n```\n\n#### setCursorPosition(position)\n\nSet the cursor position relative to the Ink output. Pass `undefined` to hide the cursor.\n\n##### position\n\nType: `object | undefined`\n\nUse [`string-width`](https://github.com/sindresorhus/string-width) to calculate `x` for strings containing wide characters (CJK, emoji).\n\nSee a full example at [examples/cursor-ime](examples/cursor-ime/cursor-ime.tsx).\n\n###### x\n\nType: `number`\n\nColumn position (0-based).\n\n###### y\n\nType: `number`\n\nRow position from the top of the Ink output (0 = first line).\n\n### useIsScreenReaderEnabled()\n\nA React hook that returns whether a screen reader is enabled.\nThis is useful when you want to render different output for screen readers.\n\n```jsx\nimport {useIsScreenReaderEnabled, Text} from 'ink';\n\nconst Example = () => {\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\treturn (\n\t\t<Text>\n\t\t\t{isScreenReaderEnabled\n\t\t\t\t? 'Screen reader is enabled'\n\t\t\t\t: 'Screen reader is disabled'}\n\t\t</Text>\n\t);\n};\n```\n\n### useAnimation(options?)\n\nA React hook that drives animations. Returns a frame counter, elapsed time, frame delta, and a reset function. All animations share a single timer internally, so multiple animated components consolidate into one render cycle.\n\n```jsx\nimport {Text, useAnimation} from 'ink';\n\nconst Spinner = () => {\n\tconst {frame} = useAnimation({interval: 80});\n\tconst characters = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];\n\n\treturn <Text>{characters[frame % characters.length]}</Text>;\n};\n```\n\n#### options\n\nType: `object`\n\n##### interval\n\nType: `number`\\\nDefault: `100`\n\nTime between ticks in milliseconds.\n\n##### isActive\n\nType: `boolean`\\\nDefault: `true`\n\nWhether the animation is running. When set to `false`, the animation stops. When toggled back to `true`, all values reset to `0`.\n\n#### Return value\n\n##### frame\n\nType: `number`\n\nDiscrete counter that increments by 1 each interval. Useful for indexed sequences like spinner frames.\n\n##### time\n\nType: `number`\n\nTotal elapsed time in milliseconds since the animation started or was last reset. Useful for continuous math-based animations like sine waves: `Math.sin(time / 1000 * Math.PI * 2)`.\n\n##### delta\n\nType: `number`\n\nTime in milliseconds since the previous rendered tick. Accounts for throttled renders. Useful for physics-based or velocity-driven motion: `position += speed * delta`.\n\n##### reset\n\nType: `() => void`\n\nResets `frame`, `time`, and `delta` to `0` and restarts timing from the current moment. Useful for one-shot animations triggered by events.\n\n## API\n\n#### render(tree, options?)\n\nReturns: [`Instance`](#instance)\n\nMount a component and render the output.\n\n##### tree\n\nType: `ReactNode`\n\n##### options\n\nType: `object`\n\n###### stdout\n\nType: `stream.Writable`\\\nDefault: `process.stdout`\n\nOutput stream where the app will be rendered.\n\n###### stdin\n\nType: `stream.Readable`\\\nDefault: `process.stdin`\n\nInput stream where app will listen for input.\n\n###### stderr\n\nType: `stream.Writable`\\\nDefault: `process.stderr`\n\nError stream.\n\n###### exitOnCtrlC\n\nType: `boolean`\\\nDefault: `true`\n\nConfigure whether Ink should listen for Ctrl+C keyboard input and exit the app.\nThis is needed in case `process.stdin` is in [raw mode](https://nodejs.org/api/tty.html#tty_readstream_setrawmode_mode), because then Ctrl+C is ignored by default and the process is expected to handle it manually.\n\n###### patchConsole\n\nType: `boolean`\\\nDefault: `true`\n\nPatch console methods to ensure console output doesn't mix with Ink's output.\nWhen any of the `console.*` methods are called (like `console.log()`), Ink intercepts their output, clears the main output, renders output from the console method, and then rerenders the main output again.\nThat way, both are visible and don't overlap each other.\n\nOnce unmount starts, Ink restores the native console before React cleanup runs. Teardown-time `console.*` output then follows the normal console behavior instead of being rerouted through Ink.\n\nThis functionality is powered by [patch-console](https://github.com/vadimdemedes/patch-console), so if you need to disable Ink's interception of output but want to build something custom, you can use that.\n\n###### onRender\n\nType: `({renderTime: number}) => void`\\\nDefault: `undefined`\n\nRuns the given callback after each render and re-render with render metrics.\nThis callback runs after Ink commits a frame, but it does not wait for `stdout`/`stderr` stream callbacks.\nTo run code after output is flushed, use [`waitUntilRenderFlush()`](#waituntilrenderflush).\n\n###### isScreenReaderEnabled\n\nType: `boolean`\\\nDefault: `process.env['INK_SCREEN_READER'] === 'true'`\n\nEnable screen reader support. See [Screen Reader Support](#screen-reader-support).\n\n###### debug\n\nType: `boolean`\\\nDefault: `false`\n\nIf `true`, each update will be rendered as separate output, without replacing the previous one.\n\n###### maxFps\n\nType: `number`\\\nDefault: `30`\n\nMaximum frames per second for render updates.\nThis controls how frequently the UI can update to prevent excessive re-rendering.\nHigher values allow more frequent updates but may impact performance.\nSetting it to a lower value may be useful for components that update very frequently, to reduce CPU usage.\n\n###### incrementalRendering\n\nType: `boolean`\\\nDefault: `false`\n\nEnable incremental rendering mode which only updates changed lines instead of redrawing the entire output.\nThis can reduce flickering and improve performance for frequently updating UIs.\n\n###### concurrent\n\nType: `boolean`\\\nDefault: `false`\n\nEnable React Concurrent Rendering mode.\n\nWhen enabled:\n\n- Suspense boundaries work correctly with async data fetching\n- `useTransition` and `useDeferredValue` hooks are fully functional\n- Updates can be interrupted for higher priority work\n\n```jsx\nrender(<MyApp />, {concurrent: true});\n```\n\n> [!NOTE]\n> Concurrent mode changes the timing of renders. Some tests may need to use `act()` to properly await updates. Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change the rendering mode or create a fresh instance.\n\n###### interactive\n\nType: `boolean`\\\nDefault: `true` (`false` if in CI (detected via [`is-in-ci`](https://github.com/sindresorhus/is-in-ci)) or `stdout.isTTY` is falsy)\n\nOverride automatic interactive mode detection.\n\nBy default, Ink detects whether the environment is interactive based on CI detection and `stdout.isTTY`. When non-interactive, Ink skips terminal-specific features like ANSI erase sequences, cursor manipulation, synchronized output, resize handling, and kitty keyboard auto-detection. Only the final frame of non-static output is written at unmount.\n\nMost users should not need to set this option. Use it when you have your own \"interactive\" detection logic that differs from the built-in behavior.\n\n> [!NOTE]\n> Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change this option or create a fresh instance.\n\n```jsx\n// Use your own detection logic\nconst isInteractive = myCustomDetection();\nrender(<MyApp />, {interactive: isInteractive});\n```\n\n###### alternateScreen\n\nType: `boolean`\\\nDefault: `false`\n\nRender the app in the terminal's alternate screen buffer. When enabled, the app renders on a separate screen, and the original terminal content is restored when the app exits. This is the same mechanism used by programs like vim, htop, and less.\n\nNote: The terminal's scrollback buffer is not available while in the alternate screen. This is standard terminal behavior; programs like vim use the alternate screen specifically to avoid polluting the user's scrollback history.\n\nInk intentionally treats alternate-screen teardown output as disposable. It does not preserve or replay teardown-time frames, hook writes, or `console.*` output after restoring the primary screen.\n\nOnly works in interactive mode. Ignored when `interactive` is `false` or in a non-interactive environment (CI, piped stdout).\n\n> [!NOTE]\n> Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change this option or create a fresh instance.\n\n```jsx\nrender(<MyApp />, {alternateScreen: true});\n```\n\n###### kittyKeyboard\n\nType: `object`\\\nDefault: `undefined`\n\nEnable the [kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for enhanced keyboard input handling. When enabled, terminals that support the protocol will report additional key information including `super`, `hyper`, `capsLock`, `numLock` modifiers and `eventType` (press/repeat/release).\n\n```jsx\nimport {render} from 'ink';\n\nrender(<MyApp />, {kittyKeyboard: {mode: 'auto'}});\n```\n\n```jsx\nimport {render} from 'ink';\n\nrender(<MyApp />, {\n\tkittyKeyboard: {\n\t\tmode: 'enabled',\n\t\tflags: ['disambiguateEscapeCodes', 'reportEventTypes'],\n\t},\n});\n```\n\n**kittyKeyboard.mode**\n\nType: `'auto' | 'enabled' | 'disabled'`\\\nDefault: `'auto'`\n\n- `'auto'`: Detect terminal support using a heuristic precheck (known terminals like kitty, WezTerm, Ghostty) followed by a protocol query confirmation (`CSI ? u`). The protocol is only enabled if the terminal responds to the query within a short timeout.\n- `'enabled'`: Force enable the protocol. Both stdin and stdout must be TTYs.\n- `'disabled'`: Never enable the protocol.\n\n**kittyKeyboard.flags**\n\nType: `string[]`\\\nDefault: `['disambiguateEscapeCodes']`\n\nProtocol flags to request from the terminal. Pass an array of flag name strings.\n\nAvailable flags:\n\n- `'disambiguateEscapeCodes'` - Disambiguate escape codes\n- `'reportEventTypes'` - Report key press, repeat, and release events\n- `'reportAlternateKeys'` - Report alternate key encodings\n- `'reportAllKeysAsEscapeCodes'` - Report all keys as escape codes\n- `'reportAssociatedText'` - Report associated text with key events\n\n**Behavior notes**\n\nWhen the kitty keyboard protocol is enabled, input handling changes in several ways:\n\n- **Non-printable keys produce empty input.** Keys like function keys (F1-F35), modifier-only keys (Shift, Control, Super), media keys, Caps Lock, Print Screen, and similar keys will not produce any text in the `input` parameter of `useInput`. They can still be detected via the `key` object properties.\n- **Ctrl+letter shortcuts work as expected.** When the terminal sends `Ctrl+letter` as codepoint 1-26 (the kitty CSI-u alternate form), `input` is set to the letter name (e.g. `'c'` for `Ctrl+C`) and `key.ctrl` is `true`. This ensures `exitOnCtrlC` and custom `Ctrl+letter` handlers continue to work regardless of which codepoint form the terminal uses.\n- **Key disambiguation.** The protocol allows the terminal to distinguish between keys that normally produce the same escape sequence. For example:\n  - `Ctrl+I` vs `Tab` - without the protocol, both produce the same byte (`\\x09`). With the protocol, they are reported as distinct keys.\n  - `Shift+Enter` vs `Enter` - the shift modifier is correctly reported.\n  - `Escape` key vs `Ctrl+[` - these are disambiguated.\n- **Event types.** With the `reportEventTypes` flag, key press, repeat, and release events are distinguished via `key.eventType`.\n\n#### renderToString(tree, options?)\n\nReturns: `string`\n\nRender a React element to a string synchronously. Unlike `render()`, this function does not write to stdout, does not set up any terminal event listeners, and returns the rendered output as a string.\n\nUseful for generating documentation, writing output to files, testing, or any scenario where you need the rendered output as a string without starting a persistent terminal application.\n\n```jsx\nimport {renderToString, Text, Box} from 'ink';\n\nconst output = renderToString(\n\t<Box padding={1}>\n\t\t<Text color=\"green\">Hello World</Text>\n\t</Box>,\n);\n\nconsole.log(output);\n```\n\n**Notes:**\n\n- Terminal-specific hooks (`useInput`, `useStdin`, `useStdout`, `useStderr`, `useWindowSize`, `useApp`, `useFocus`, `useFocusManager`) return default no-op values since there is no terminal session. They will not throw, but they will not function as in a live terminal.\n- `useEffect` callbacks will execute during rendering (due to synchronous rendering mode), but state updates they trigger will not affect the returned output, which reflects the initial render.\n- `useLayoutEffect` callbacks fire synchronously during commit, so state updates they trigger **will** be reflected in the output.\n- The `<Static>` component is supported — its output is prepended to the dynamic output.\n- If a component throws during rendering, the error is propagated to the caller after cleanup.\n\n##### tree\n\nType: `ReactNode`\n\n##### options\n\nType: `object`\n\n###### columns\n\nType: `number`\\\nDefault: `80`\n\nWidth of the virtual terminal in columns. Controls where text wrapping occurs.\n\n```jsx\nconst output = renderToString(<Text>{'A'.repeat(100)}</Text>, {\n\tcolumns: 40,\n});\n// Text wraps at 40 columns\n```\n\n#### Instance\n\nThis is the object that `render()` returns.\n\n##### rerender(tree)\n\nReplace the previous root node with a new one or update the props of the current root node.\n\n###### tree\n\nType: `ReactNode`\n\n```jsx\n// Update props of the root node\nconst {rerender} = render(<Counter count={1} />);\nrerender(<Counter count={2} />);\n\n// Replace root node\nconst {rerender} = render(<OldCounter />);\nrerender(<NewCounter />);\n```\n\n##### unmount()\n\nManually unmount the whole Ink app.\n\n```jsx\nconst {unmount} = render(<MyApp />);\nunmount();\n```\n\n##### waitUntilExit()\n\nReturns a promise that settles when the app is unmounted.\n\nIt resolves with the value passed to `exit(value)` and rejects with the error passed to `exit(error)`.\nWhen `unmount()` is called manually, it settles after unmount-related stdout writes complete.\n\n```jsx\nconst {unmount, waitUntilExit} = render(<MyApp />);\n\nsetTimeout(unmount, 1000);\n\nawait waitUntilExit(); // resolves after `unmount()` is called\n```\n\n##### waitUntilRenderFlush()\n\nReturns a promise that settles after pending render output is flushed to stdout.\n\nUseful when you need to run code only after a frame is written:\n\n```jsx\nconst {rerender, waitUntilRenderFlush} = render(<MyApp step=\"loading\" />);\n\nrerender(<MyApp step=\"ready\" />);\nawait waitUntilRenderFlush(); // output for \"ready\" is flushed\n\nrunNextCommand();\n```\n\n##### cleanup()\n\nUnmount the current app and delete the internal Ink instance associated with the current `stdout`.\nThis is mostly useful for advanced cases (for example, tests) where you need `render()` to create a fresh instance for the same stream.\nUnlike deleting the internal instance directly, this also tears down terminal state such as the alternate screen.\n\n##### clear()\n\nClear output.\n\n```jsx\nconst {clear} = render(<MyApp />);\nclear();\n```\n\n#### measureElement(ref)\n\nMeasure the dimensions of a particular `<Box>` element.\nReturns an object with `width` and `height` properties.\nThis function is useful when your component needs to know the amount of available space it has. You can use it when you need to change the layout based on the length of its content.\n\n> [!NOTE]\n> `measureElement()` returns `{width: 0, height: 0}` when called during render (before layout is calculated). Call it from post-render code, such as `useEffect`, `useLayoutEffect`, input handlers, or timer callbacks. When content changes, pass the relevant dependency to your effect so it re-measures after each update.\n\n##### ref\n\nType: `MutableRef`\n\nA reference to a `<Box>` element captured with the `ref` property.\nSee [Refs](https://reactjs.org/docs/refs-and-the-dom.html) for more information on how to capture references.\n\n```jsx\nimport {render, measureElement, Box, Text} from 'ink';\n\nconst Example = () => {\n\tconst ref = useRef();\n\n\tuseEffect(() => {\n\t\tconst {width, height} = measureElement(ref.current);\n\t\t// width = 100, height = 1\n\t}, []);\n\n\treturn (\n\t\t<Box width={100}>\n\t\t\t<Box ref={ref}>\n\t\t\t\t<Text>This box will stretch to 100 width</Text>\n\t\t\t</Box>\n\t\t</Box>\n\t);\n};\n\nrender(<Example />);\n```\n\n## Testing\n\nInk components are simple to test with [ink-testing-library](https://github.com/vadimdemedes/ink-testing-library).\nHere's a simple example that checks how the component is rendered:\n\n```jsx\nimport React from 'react';\nimport {Text} from 'ink';\nimport {render} from 'ink-testing-library';\n\nconst Test = () => <Text>Hello World</Text>;\nconst {lastFrame} = render(<Test />);\n\nlastFrame() === 'Hello World'; //=> true\n```\n\nCheck out [ink-testing-library](https://github.com/vadimdemedes/ink-testing-library) for more examples and full documentation.\n\n## Using React Devtools\n\n![](media/devtools.jpg)\n\nInk supports [React Devtools](https://github.com/facebook/react/tree/master/packages/react-devtools) out of the box. To enable integration with React Devtools in your Ink-based CLI, first ensure you have installed the optional `react-devtools-core` dependency, and then run your app with the `DEV=true` environment variable:\n\n```sh\nDEV=true my-cli\n```\n\nThen, start React Devtools itself:\n\n```sh\nnpx react-devtools\n```\n\nAfter it starts, you should see the component tree of your CLI.\nYou can even inspect and change the props of components, and see the results immediately in the CLI, without restarting it.\n\n> [!NOTE]\n> You must manually quit your CLI via <kbd>Ctrl</kbd>+<kbd>C</kbd> after you're done testing.\n\n## Screen Reader Support\n\nInk has basic support for screen readers.\n\nTo enable it, you can either pass the `isScreenReaderEnabled` option to the `render` function or set the `INK_SCREEN_READER` environment variable to `true`.\n\nInk implements a small subset of functionality from the [ARIA specification](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA).\n\n```jsx\nrender(<MyApp />, {isScreenReaderEnabled: true});\n```\n\nWhen screen reader support is enabled, Ink will try its best to generate a screen-reader-friendly output.\n\nFor example, for this code:\n\n```jsx\n<Box aria-role=\"checkbox\" aria-state={{checked: true}}>\n\t<Text>Accept terms and conditions</Text>\n</Box>\n```\n\nInk will generate the following output for screen readers:\n\n```\n(checked) checkbox: Accept terms and conditions\n```\n\nYou can also provide a custom label for screen readers if you want to render something different for them.\n\nFor example, if you are building a progress bar, you can use `aria-label` to provide a more descriptive label for screen readers.\n\n```jsx\n<Box>\n\t<Box width=\"50%\" height={1} backgroundColor=\"green\" />\n\t<Text aria-label=\"Progress: 50%\">50%</Text>\n</Box>\n```\n\nIn the example above, the screen reader will read \"Progress: 50%\" instead of \"50%\".\n\n### `aria-label`\n\nType: `string`\n\nA label for the element for screen readers.\n\n### `aria-hidden`\n\nType: `boolean`\\\nDefault: `false`\n\nHide the element from screen readers.\n\n### `aria-role`\n\nType: `string`\n\nThe role of the element.\n\nSupported values:\n\n- `button`\n- `checkbox`\n- `combobox`\n- `list`\n- `listbox`\n- `listitem`\n- `menu`\n- `menuitem`\n- `option`\n- `progressbar`\n- `radio`\n- `radiogroup`\n- `tab`\n- `tablist`\n- `table`\n- `textbox`\n- `timer`\n- `toolbar`\n\n### `aria-state`\n\nType: `object`\n\nThe state of the element.\n\nSupported values:\n\n- `busy` (boolean)\n- `checked` (boolean)\n- `disabled` (boolean)\n- `expanded` (boolean)\n- `multiline` (boolean)\n- `multiselectable` (boolean)\n- `readonly` (boolean)\n- `required` (boolean)\n- `selected` (boolean)\n\n## Creating Components\n\nWhen building custom components, it's important to keep accessibility in mind. While Ink provides the building blocks, ensuring your components are accessible will make your CLIs usable by a wider audience.\n\n### General Principles\n\n- **Provide screen reader-friendly output:** Use the `useIsScreenReaderEnabled` hook to detect if a screen reader is active. You can then render more descriptive output for screen reader users.\n- **Leverage ARIA props:** For components that have a specific role (e.g., a checkbox or button), use the `aria-role`, `aria-state`, and `aria-label` props on `<Box>` and `<Text>` to provide semantic meaning to screen readers.\n\nFor a practical example of building an accessible component, see the [ARIA example](/examples/aria/aria.tsx).\n\n## Useful Components\n\n- [ink-text-input](https://github.com/vadimdemedes/ink-text-input) - Text input.\n- [ink-spinner](https://github.com/vadimdemedes/ink-spinner) - Spinner.\n- [ink-select-input](https://github.com/vadimdemedes/ink-select-input) - Select (dropdown) input.\n- [ink-link](https://github.com/sindresorhus/ink-link) - Link.\n- [ink-gradient](https://github.com/sindresorhus/ink-gradient) - Gradient color.\n- [ink-big-text](https://github.com/sindresorhus/ink-big-text) - Awesome text.\n- [ink-picture](https://github.com/endernoke/ink-picture) - Display images.\n- [ink-tab](https://github.com/jdeniau/ink-tab) - Tab.\n- [ink-color-pipe](https://github.com/LitoMore/ink-color-pipe) - Create color text with simpler style strings.\n- [ink-multi-select](https://github.com/karaggeorge/ink-multi-select) - Select one or more values from a list\n- [ink-divider](https://github.com/JureSotosek/ink-divider) - A divider.\n- [ink-progress-bar](https://github.com/brigand/ink-progress-bar) - Progress bar.\n- [ink-table](https://github.com/maticzav/ink-table) - Table.\n- [ink-ascii](https://github.com/hexrcs/ink-ascii) - Awesome text component with more font choices, based on Figlet.\n- [ink-markdown](https://github.com/cameronhunter/ink-markdown) - Render syntax highlighted Markdown.\n- [ink-quicksearch-input](https://github.com/Eximchain/ink-quicksearch-input) - Select component with fast, quicksearch-like navigation.\n- [ink-confirm-input](https://github.com/kevva/ink-confirm-input) - Yes/No confirmation input.\n- [ink-syntax-highlight](https://github.com/vsashyn/ink-syntax-highlight) - Code syntax highlighting.\n- [ink-form](https://github.com/lukasbach/ink-form) - Form.\n- [ink-task-list](https://github.com/privatenumber/ink-task-list) - Task list.\n- [ink-spawn](https://github.com/kraenhansen/ink-spawn) - Spawn child processes.\n- [ink-titled-box](https://github.com/mishieck/ink-titled-box) - Box with a title.\n- [ink-chart](https://github.com/pppp606/ink-chart) - Sparkline and bar chart.\n- [ink-scroll-view](https://github.com/ByteLandTechnology/ink-scroll-view) - Scroll container.\n- [ink-scroll-list](https://github.com/ByteLandTechnology/ink-scroll-list) - Scrollable list.\n- [ink-stepper](https://github.com/archcorsair/ink-stepper) - Step-by-step wizard.\n- [ink-virtual-list](https://github.com/archcorsair/ink-virtual-list) - Virtualized list that renders only visible items for performance.\n- [ink-color-picker](https://github.com/sina-byn/ink-color-picker) - Color picker.\n\n## Useful Hooks\n\n- [ink-use-stdout-dimensions](https://github.com/cameronhunter/ink-monorepo/tree/master/packages/ink-use-stdout-dimensions) - Subscribe to stdout dimensions.\n\n## Recipes\n\n- [Routing with React Router](recipes/routing.md) - Navigate between routes using `MemoryRouter`.\n\n## Examples\n\nThe [`examples`](/examples) directory contains a set of real examples. You can run them with:\n\n```bash\nnpm run example examples/[example name]\n# e.g. npm run example examples/borders\n```\n\n- [Jest](examples/jest/jest.tsx) - Implementation of basic Jest UI.\n- [Counter](examples/counter/counter.tsx) - A simple counter that increments every 100ms.\n- [Form with validation](https://github.com/final-form/rff-cli-example) - Manage form state using [Final Form](https://github.com/final-form/final-form#-final-form).\n- [Borders](examples/borders/borders.tsx) - Add borders to the `<Box>` component.\n- [Suspense](examples/suspense/suspense.tsx) - Use React Suspense.\n- [Table](examples/table/table.tsx) - Renders a table with multiple columns and rows.\n- [Focus management](examples/use-focus/use-focus.tsx) - Use the `useFocus` hook to manage focus between components.\n- [User input](examples/use-input/use-input.tsx) - Listen for user input.\n- [Write to stdout](examples/use-stdout/use-stdout.tsx) - Write to stdout, bypassing main Ink output.\n- [Write to stderr](examples/use-stderr/use-stderr.tsx) - Write to stderr, bypassing main Ink output.\n- [Static](examples/static/static.tsx) - Use the `<Static>` component to render permanent output.\n- [Child process](examples/subprocess-output) - Renders output from a child process.\n- [Router](examples/router/router.tsx) - Navigate between routes using React Router's `MemoryRouter`.\n\n## Continuous Integration\n\nWhen running on CI (detected via the `CI` environment variable), Ink adapts its rendering:\n\n- Only the last frame is rendered on exit, instead of continuously updating the terminal. This is because most CI environments don't support the ANSI escape sequences used to overwrite previous output.\n- Terminal resize events are not listened to.\n\nIf your CI environment supports full terminal rendering and you want to opt out of this behavior, set `CI=false`:\n\n```sh\nCI=false node my-cli.js\n```\n\n## Maintainers\n\n- [Vadim Demedes](https://github.com/vadimdemedes)\n- [Sindre Sorhus](https://github.com/sindresorhus)\n","_attachments":{},"homepage":"https://github.com/vadimdemedes/ink#readme","bugs":{"url":"https://github.com/vadimdemedes/ink/issues"},"license":"MIT"}