{"id":22147171,"url":"https://github.com/busterc/jstdin","last_synced_at":"2025-07-26T02:31:39.961Z","repository":{"id":57286395,"uuid":"122235178","full_name":"busterc/jstdin","owner":"busterc","description":":heavy_dollar_sign: a better `node -p` that accepts stdin and can format and highlight output","archived":false,"fork":false,"pushed_at":"2020-06-03T08:47:28.000Z","size":4372,"stargazers_count":4,"open_issues_count":17,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-31T18:05:56.127Z","etag":null,"topics":["cli","eval","javascript","jq","js","json","json-parser","node","node-js","node-repl","nodejs","npx","pretty-print","stdin"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/busterc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-20T18:04:31.000Z","updated_at":"2024-02-24T12:04:43.000Z","dependencies_parsed_at":"2022-09-20T00:20:19.851Z","dependency_job_id":null,"html_url":"https://github.com/busterc/jstdin","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/busterc%2Fjstdin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/busterc%2Fjstdin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/busterc%2Fjstdin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/busterc%2Fjstdin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/busterc","download_url":"https://codeload.github.com/busterc/jstdin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227563100,"owners_count":17787057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","eval","javascript","jq","js","json","json-parser","node","node-js","node-repl","nodejs","npx","pretty-print","stdin"],"created_at":"2024-12-01T23:13:45.628Z","updated_at":"2024-12-01T23:13:46.302Z","avatar_url":"https://github.com/busterc.png","language":"JavaScript","readme":"# jstdin [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] [![Coverage percentage][coveralls-image]][coveralls-url] [![Greenkeeper badge][greenkeeper-image]][greenkeeper-url]\n\n\u003e a better `node -p` that accepts stdin and can format and highlight output\n\n### FYI\n\n`jstdin` works really well in conjunction with [`lbl`](https://github.com/busterc/lbl) (a line-by-line stdin parser, sort of like AWK, but 100% JS)\n\n## Installation\n\n```sh\n$ npm install jstdin --global\n```\n\n## Usage\n\n```sh\n$ jstdin --help\n\n  Usage:\n\n    $ jstdin [code] [options]\n\n  Description:\n\n    executes javascript on the command line like `node -p`\n    but also accepts data via stdin so long as [code] is wrapped\n    with an anonymous function; it also formats output.\n\n  Options:\n\n    -r, --raw   prevent formatting output\n    -h, --help  show this usage information\n\n  Examples:\n\n    # eval and print js (like node -p)\n    $ jstdin '2*2'\n    4\n\n    # use stdin, process and pretty print\n    $ echo '[1,2,3]' | jstdin 'x =\u003e x.map(x =\u003e x*2)'\n    [\n      2,\n      4,\n      6\n    ]\n\n    # use stdin, process and do not pretty print\n    $ echo '[1,2,3]' | jstdin 'x =\u003e x.map(x =\u003e x*2)' --raw\n    [2,4,6]\n\n    # use stdin and just pretty print\n    $ echo '[{\"n\":1,\"a\":{\"b\":\"c\"}},{\"n\":2,\"a\":{\"d\":{\"e\":\"f\"}}}]' | jstdin'\n    [\n      {\n        \"n\": 1,\n        \"a\": {\n          \"b\": \"c\"\n        }\n      },\n      {\n        \"n\": 2,\n        \"a\": {\n          \"d\": \"e\"\n        }\n      }\n    ]\n```\n\n## Inspiration:\n\n- [`js`](https://www.npmjs.com/package/js)\n- [`jq`](https://www.npmjs.com/package/node-jq)\n- [`jq.node`](https://www.npmjs.com/package/jq.node)\n- [`fx`](https://www.npmjs.com/package/fx)\n\n## License\n\nISC © [Buster Collings](https://about.me/buster)\n\n[npm-image]: https://badge.fury.io/js/jstdin.svg\n[npm-url]: https://npmjs.org/package/jstdin\n[travis-image]: https://travis-ci.org/busterc/jstdin.svg?branch=master\n[travis-url]: https://travis-ci.org/busterc/jstdin\n[daviddm-image]: https://david-dm.org/busterc/jstdin.svg?theme=shields.io\n[daviddm-url]: https://david-dm.org/busterc/jstdin\n[coveralls-image]: https://coveralls.io/repos/busterc/jstdin/badge.svg\n[coveralls-url]: https://coveralls.io/r/busterc/jstdin\n[greenkeeper-image]: https://badges.greenkeeper.io/busterc/jstdin.svg\n[greenkeeper-url]: https://greenkeeper.io/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbusterc%2Fjstdin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbusterc%2Fjstdin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbusterc%2Fjstdin/lists"}