{"id":19903866,"url":"https://github.com/zerotohero-dev/optimusprime","last_synced_at":"2026-04-10T02:08:40.827Z","repository":{"id":57315842,"uuid":"90432138","full_name":"zerotohero-dev/optimusprime","owner":"zerotohero-dev","description":"Optimus Prime is a Transformer.","archived":false,"fork":false,"pushed_at":"2017-08-20T20:27:42.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-16T21:34:02.031Z","etag":null,"topics":["babel","byte-sized","bytesized-javascript","bytesized-tv","demos","education","javascript","jest","learning","optimus-prime","podcast","screencast","trainings","transformer","tutorials","vidcast","videocast","videos"],"latest_commit_sha":null,"homepage":"https://bytesized.tv/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zerotohero-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-06T02:35:21.000Z","updated_at":"2023-10-03T05:16:22.000Z","dependencies_parsed_at":"2022-08-25T20:40:37.531Z","dependency_job_id":null,"html_url":"https://github.com/zerotohero-dev/optimusprime","commit_stats":null,"previous_names":["jsbites/optimusprime"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerotohero-dev%2Foptimusprime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerotohero-dev%2Foptimusprime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerotohero-dev%2Foptimusprime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerotohero-dev%2Foptimusprime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zerotohero-dev","download_url":"https://codeload.github.com/zerotohero-dev/optimusprime/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241029633,"owners_count":19896963,"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":["babel","byte-sized","bytesized-javascript","bytesized-tv","demos","education","javascript","jest","learning","optimus-prime","podcast","screencast","trainings","transformer","tutorials","vidcast","videocast","videos"],"created_at":"2024-11-12T20:25:47.394Z","updated_at":"2025-12-31T01:07:48.762Z","avatar_url":"https://github.com/zerotohero-dev.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n                          /[-])//  ___\n                     __ --\\ `_/~--|  / \\\n                   /_-/~~--~~ /~~~\\\\_\\ /\\\n                   |  |___|===|_-- | \\ \\ \\\n _/~~~~~~~~|~~\\,   ---|---\\___/----|  \\/\\-\\\n ~\\________|__/   / // \\__ |  ||  / | |   | |\n          ,~-|~~~~~\\--, | \\|--|/~|||  |   | |\n          [3-|____---~~ _--'==;/ _,   |   |_|\n                      /   /\\__|_/  \\  \\__/--/\n```\n\n**Optimus Prime** is a Transformer (*okay, it’s an instance of a [babel-jest](babel-jest) transformer*). \n\n## About **Optimus Prime**\n\n**Optimus Prime** is a [babel-jest](babel-jest) transformer. \n\nI needed to create one, because I wanted to run a set of babel transformations in [jest][jest], and then realized that **jest** was swallowing the transform plugins that I specified in the `.babelrc` file.\n\nIt took a while for me to figure things out. And then as any good open-source citizen would do, [I patched jest, and created a Pull Request][jest-patch]; however, the pull requrest got rejected, suggesting that a better way would be to create a transformer to do this task instead.\n\nAnd thus, **Optimus Prime** was born **:)**.\n\n## Installation\n\nUsing [npm][npm]:\n\n```bash\nnpm install optimusprime\n```\n\nUsing [yarn][yarn]:\n\n```bash\nyarn add optimusprime\n```\n\n## Usage\n\nCreate an `OptimusPrime.js` in our project root:\n\n```js\n// ./OptimusPrime.js\nmodule.exports = require( 'optimusprime' );\n```\n\nConfigure `jest` to use **Optimus Prime**:\n\n```json\n// package.json\n…\n  \"jest\": {\n    \"transformIgnorePatterns\": [\n      \"\u003crootDir\u003e/node_modules/(?!bytesized)\"\n    ],\n    \"transform\": {\n      \"^.+\\\\.(js|jsx)$\": \"\u003crootDir\u003e/OptimusPrime.js\"\n    }\n  },\n…\n```\n\n## Dependencies\n\n**Optimus Prime** is a [jest][jest] transformer, so obviously you’ll need [jest][jest].\n\nYou will also need the **current** version of [Node.JS](https://nodejs.org/) with all the bells and whistles — [You can install it from nodejs.org](https://nodejs.org/).\n\n\u003e Note that **Optimus Prime** will probably work with older **Node.JS** versions too (*unless it’s archaic like v4.x or v5.x*); however, it’s being tested and developed only with the **current** Node.JS version at the moment. \n\u003e\n\u003e If you have problem using **Optimus Prime** in an older **Node.JS** runtime, [file an issue][issue], and we’ll see what we can do about it **;)**.\n\n## Package Scripts\n\nNone at the moment.\n\n## Important Files and Folders\n\n* `./lib/*`: The source files live here.\n* `./CHANGELOG.md`: A log of what has been done since the last version.\n* `./CODE_OF_CONDUCT.md`: Tells the collaborators to be nice to each other.\n* `./README.md`: This very file.\n* `./.eslintrc`: Used for development; configures [eslint][eslint].\n* `.travis.yml`: Used for CI; configures [Travis][travis].\n\n## Wanna Help?\n\nAny help is more than appreciated.\n\nIf you want to contribute to the source code, **fork this repository** and **create a pull request**.\n\n\u003e In lieu of a formal style guide, take care to maintain the existing coding style.\n\nAlso, don’t forget to add unit tests for any new or changed functionality.\n\nIf you want to report a bug; or share a comment or suggestion, [file an issue][issue].\n\n## I’ve Found a Bug; I Have an Idea\n\n[For bug reports and suggestions, please file an issue][issues].\n\n## Contact Information\n\n* **Project Maintainer**: [Volkan Özçelik](https://volkan.io/)\n* **Project Website**: [bytesized.tv](https://bytesized.tv/)\n\n## License\n\nMIT-licensed. — [See the license file for details](LICENSE.md).\n\n## Code of Conduct\n\nWe are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.\n\n[See the code of conduct for details](CODE_OF_CONDUCT.md).\n\n[npm]: https://www.npmjs.com \"npm\"\n[yarn]: https://yarnpkg.com \"yarn\"\n[babel-jest]: https://github.com/babel/babel-jest \"babel-jest\"\n[jest]: https://facebook.github.io/jest/ \"jest\"\n[issue]: https://github.com/jsbites/optimusprime/issues/new \"File an issue\"\n\n## A [ByteSized.TV][vidcast] Project\n\nThis repository is a part of the [Byte-Sized JavaScript VideoCasts][vidcast].\n\nIt is a compilation of short (*around ten minutes*) screencasts about **JavaScript** and related technologies.\n\n[**Learn**, **explore**, and **have fun**][vidcast]!\n\n[vidcast]: https://bytesized.tv/ \"ByteSized.TV\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzerotohero-dev%2Foptimusprime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzerotohero-dev%2Foptimusprime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzerotohero-dev%2Foptimusprime/lists"}