{"_id":"t-bench-player","_rev":"2-72389f190ebf9d7b03cfe15adbeb1f5c","name":"t-bench-player","dist-tags":{"latest":"3.9.2-rc.1"},"versions":{"3.9.1-rc.1":{"name":"t-bench-player","version":"3.9.1-rc.1","author":{"name":"Mike Merrill"},"license":"Apache-2.0","_id":"t-bench-player@3.9.1-rc.1","maintainers":[{"name":"mikeam","email":"mchlmerrill@gmail.com"}],"homepage":"https://github.com/TheMikeMerrill/t-bench-player","bugs":{"url":"https://github.com/TheMikeMerrill/t-bench-player/issues"},"dist":{"shasum":"d6b27e1a15f61198d8751ed1862b220a0125eb12","tarball":"https://registry.npmjs.org/t-bench-player/-/t-bench-player-3.9.1-rc.1.tgz","fileCount":16,"integrity":"sha512-DtotqaP89sbQtWLE4H76k8nCfWsc9/+kK25xa8mC6kmQqDCuwdt3hIN+y/RVpVEcpS9xNoOHEApnGlBPZp/i4g==","signatures":[{"sig":"MEUCIBhJiRzlS3o2alkSvWcS+PJuS7hTV0JDudN/RApg82bXAiEAtaGf3iBm48Qux5gptwR+fJ0uDDYdKs0gzd0n44sWQgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1335416},"main":"dist/index.js","type":"module","exports":{".":"./dist/index.js","./ui.js":"./dist/ui.js","./dist/bundle/asciinema-player.css":"./dist/bundle/asciinema-player.css","./dist/bundle/asciinema-player.min.js":"./dist/bundle/asciinema-player.min.js","./dist/bundle/asciinema-player-ui.min.js":"./dist/bundle/asciinema-player-ui.min.js","./dist/bundle/asciinema-player-worker.min.js":"./dist/bundle/asciinema-player-worker.min.js"},"gitHead":"160b5861f0d7b5e00d0982248983a04745cbc47a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c --environment production && lessc src/less/asciinema-player.less >dist/bundle/asciinema-player.css","format":"prettier src/**/*.js --write"},"_npmUser":{"name":"mikeam","email":"mchlmerrill@gmail.com"},"prettier":{"printWidth":100},"repository":{"url":"git+https://github.com/TheMikeMerrill/t-bench-player.git","type":"git"},"_npmVersion":"10.8.2","description":"Web player for t-bench session recordings.","directories":{},"_nodeVersion":"18.20.5","browserslist":["defaults and supports wasm"],"dependencies":{"solid-js":"^1.3.0","@babel/runtime":"^7.21.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.1.1","eslint":"^7.27.0","rollup":"^3.18.0","prettier":"3.2.5","@babel/core":"^7.21.3","@babel/preset-env":"^7.20.2","babel-preset-solid":"^1.6.13","eslint-plugin-jest":"^24.3.6","@rollup/plugin-babel":"^6.0.3","eslint-plugin-import":"^2.23.3","@rollup/plugin-terser":"^0.4.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","@rollup/plugin-commonjs":"^24.0.1","eslint-config-airbnb-base":"^14.2.1","@rollup/plugin-node-resolve":"^15.0.1","@wasm-tool/rollup-plugin-rust":"^2.3.3","@babel/plugin-transform-runtime":"^7.21.0"},"_npmOperationalInternal":{"tmp":"tmp/t-bench-player_3.9.1-rc.1_1744761137513_0.8021619494814178","host":"s3://npm-registry-packages-npm-production"}},"3.9.2-rc.1":{"name":"t-bench-player","description":"Web player for t-bench session recordings.","version":"3.9.2-rc.1","author":{"name":"Mike Merrill"},"homepage":"https://github.com/TheMikeMerrill/t-bench-player","repository":{"type":"git","url":"git+https://github.com/TheMikeMerrill/t-bench-player.git"},"license":"Apache-2.0","main":"dist/index.js","exports":{".":"./dist/index.js","./ui.js":"./dist/ui.js","./dist/bundle/asciinema-player.css":"./dist/bundle/asciinema-player.css","./dist/bundle/asciinema-player.min.js":"./dist/bundle/asciinema-player.min.js","./dist/bundle/asciinema-player-ui.min.js":"./dist/bundle/asciinema-player-ui.min.js","./dist/bundle/asciinema-player-worker.min.js":"./dist/bundle/asciinema-player-worker.min.js"},"type":"module","scripts":{"build":"rollup -c --environment production && lessc src/less/asciinema-player.less >dist/bundle/asciinema-player.css","test":"echo \"Error: no test specified\" && exit 1","format":"prettier src/**/*.js --write"},"browserslist":["defaults and supports wasm"],"prettier":{"printWidth":100},"dependencies":{"@babel/runtime":"^7.21.0","solid-js":"^1.3.0"},"devDependencies":{"@babel/core":"^7.21.3","@babel/plugin-transform-runtime":"^7.21.0","@babel/preset-env":"^7.20.2","@rollup/plugin-babel":"^6.0.3","@rollup/plugin-commonjs":"^24.0.1","@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.0","@wasm-tool/rollup-plugin-rust":"^2.3.3","babel-preset-solid":"^1.6.13","eslint":"^7.27.0","eslint-config-airbnb-base":"^14.2.1","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.23.3","eslint-plugin-jest":"^24.3.6","eslint-plugin-prettier":"^3.4.0","less":"^4.1.1","prettier":"3.2.5","rollup":"^3.18.0"},"_id":"t-bench-player@3.9.2-rc.1","gitHead":"e43f7f01acaebff58302bd6b7353da9826508ad9","bugs":{"url":"https://github.com/TheMikeMerrill/t-bench-player/issues"},"_nodeVersion":"23.10.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-wwVJd+ucQ0M1Ktcrf36ZN33VygRP82JYgcqvWua3V5d2GGS4AwlPWDafOw35TmM5MH2TuOP6rXtSggUME44GVA==","shasum":"abb2b3caca141c0cdf6820d387442c69af872997","tarball":"https://registry.npmjs.org/t-bench-player/-/t-bench-player-3.9.2-rc.1.tgz","fileCount":20,"unpackedSize":1663326,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEWMme46pYbf2zcMqVID0s9OOZn6xPyEkmoH/wOhMM18AiAfunzg7snHr+nQlYouqSqKCp4RpS+unum14f6zc669pg=="}]},"_npmUser":{"name":"mikeam","email":"mchlmerrill@gmail.com"},"directories":{},"maintainers":[{"name":"mikeam","email":"mchlmerrill@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/t-bench-player_3.9.2-rc.1_1747631929098_0.6471771099755235"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-15T23:52:17.512Z","modified":"2025-05-19T05:18:49.483Z","3.9.1-rc.1":"2025-04-15T23:52:17.802Z","3.9.2-rc.1":"2025-05-19T05:18:49.323Z"},"bugs":{"url":"https://github.com/TheMikeMerrill/t-bench-player/issues"},"author":{"name":"Mike Merrill"},"license":"Apache-2.0","homepage":"https://github.com/TheMikeMerrill/t-bench-player","repository":{"type":"git","url":"git+https://github.com/TheMikeMerrill/t-bench-player.git"},"description":"Web player for t-bench session recordings.","maintainers":[{"name":"mikeam","email":"mchlmerrill@gmail.com"}],"readme":"# asciinema player\n\n[![Build status](https://github.com/asciinema/asciinema-player/actions/workflows/build.yml/badge.svg)](https://github.com/asciinema/asciinema-player/actions/workflows/build.yml)\n\n__asciinema player__ is a web player for terminal sessions recordings.\n\nUnlike typical web _video_ players, which play heavyweight video files (`.mp4`,\n`.mov`), asciinema player plays lightweight terminal session recordings in the\ntext-based [asciicast](https://docs.asciinema.org/manual/asciicast/v2/) format\n(`.cast`), such as those produced by the [asciinema\nrecorder](https://docs.asciinema.org/manual/cli/).\n\nThe player is built from the ground up with JavaScript and\n[Rust](https://www.rust-lang.org/) ([WASM](https://webassembly.org/)), and is\navailable as [npm package](https://www.npmjs.com/package/asciinema-player) and a\n[standalone JS\nbundle](https://github.com/asciinema/asciinema-player/releases/latest).\n\nYou can use it on any HTML page - in a project documentation, on a blog, or in a\nconference talk presentation.\n\nIt's as easy as adding a single line of Javascript code to your web page:\n\n```javascript\nAsciinemaPlayer.create('demo.cast', document.getElementById('demo'));\n```\n\nCheck out the [quick start\nguide](https://docs.asciinema.org/manual/player/quick-start/) for basic setup\noverview.\n\nYou can see the player in action in [asciinema\ndocumentation](https://docs.asciinema.org/manual/player/).\n\nNotable features:\n\n* ability to copy-paste terminal content - it's just text after all!\n* smooth, timing-accurate playback,\n* [idle time optimization](https://docs.asciinema.org/manual/player/options/#idletimelimit) to skip periods of inactivity,\n* [posters](https://docs.asciinema.org/manual/player/options/#poster),\n* [markers](https://docs.asciinema.org/manual/player/markers/) for navigation or auto-pause,\n* configurable [font families](https://docs.asciinema.org/manual/player/fonts/) and [line height](https://docs.asciinema.org/manual/player/options/#terminallineheight),\n* [automatic terminal scaling](https://docs.asciinema.org/manual/player/options/#fit) to fit into container element in most efficient way,\n* full-screen mode,\n* [multiple color themes for standard 16 colors](https://docs.asciinema.org/manual/player/options/#theme) + support for 256 color palette and 24-bit true color (ISO-8613-3),\n* [adjustable playback speed](https://docs.asciinema.org/manual/player/options/#speed),\n* [looped playback](https://docs.asciinema.org/manual/player/options/#loop), infinite or finite,\n* [starting playback at specific time](https://docs.asciinema.org/manual/player/options/#startat),\n* [API for programmatic control](https://docs.asciinema.org/manual/player/api/),\n* [keyboard shortcuts](https://docs.asciinema.org/manual/player/shortcuts/),\n* [support for other recording formats](https://docs.asciinema.org/manual/player/parsers/) like ttyrec, typescript.\n\n## Building\n\nBuilding asciinema player from source requires:\n\n- [Node.js](https://nodejs.org/) and [npm](https://www.npmjs.com/),\n- [Rust](https://www.rust-lang.org/) compiler (1.77 or later) and [Cargo package\n  manager](https://doc.rust-lang.org/cargo/).\n\nTo build the project run:\n\n    git clone https://github.com/asciinema/asciinema-player\n    cd asciinema-player\n    rustup target add wasm32-unknown-unknown\n    npm install\n    npm run build\n\nThis produces following output files:\n\n- `dist/index.js` - monolithic ES module, to be `import`-ed in your JS bundle\n- `dist/bundle/asciinema-player.js` - standalone monolithic player script (IIFE), to be linked directly from a website\n- `dist/bundle/asciinema-player.min.js` - minimized version of the above\n- `dist/bundle/asciinema-player.css` - stylesheet, to be linked directly from a website or included in a CSS bundle\n\nThe monolithic version of the player covers majority of use cases, and it's all\nyou need to use the player.\n\nIn addition, the split version of the player is built with `npm run build`,\nproducing the following files:\n\n- `dist/ui.js` - UI ES module, to be `import`-ed in your JS bundle\n- `dist/bundle/asciinema-player-ui.js` - standalone UI script (IIFE), to be linked directly from a website\n- `dist/bundle/asciinema-player-ui.min.js` - minimized version of the above\n- `dist/bundle/asciinema-player-worker.js` - standalone web worker script (IIFE), to be linked directly from a website\n- `dist/bundle/asciinema-player-worker.min.js` - minimized version of the above\n\nThe split version runs the UI and data crunching (parsing, terminal emulation)\nin separate OS threads, which improves UI's responsiveness during playback. In\nthis setup the UI code runs in the window context, while the processing code\nruns in a\n[WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API).\nThe benefit of this configuration is typically observed only for high\nframe-rate / high bandwidth recordings. For typical demos/sessions it's\nnot worth the setup hassle.\n\n## Donations\n\nSustainability of asciinema development relies on donations and sponsorships.\n\nPlease help the software project you use and love. Become a\n[supporter](https://docs.asciinema.org/donations/#individuals) or a [corporate\nsponsor](https://docs.asciinema.org/donations/#corporate-sponsorship).\n\nasciinema is sponsored by:\n\n- [Brightbox](https://www.brightbox.com/)\n- [DataDog](https://datadoghq.com/)\n\n## Consulting\n\nIf you're interested in integration or customization of asciinema player to suit\nyour needs, check [asciinema consulting\nservices](https://docs.asciinema.org/consulting/).\n\n## License\n\n© 2011 Marcin Kulik.\n\nAll code is licensed under the Apache License, Version 2.0. See\n[LICENSE](./LICENSE) file for details.\n","readmeFilename":"README.md"}