{"id":13393221,"url":"https://github.com/reactopt/reactopt","last_synced_at":"2025-05-15T09:02:31.440Z","repository":{"id":40003005,"uuid":"109064980","full_name":"reactopt/reactopt","owner":"reactopt","description":"A CLI React performance optimization tool that identifies potential unnecessary re-rendering","archived":false,"fork":false,"pushed_at":"2018-03-23T21:27:27.000Z","size":731,"stargazers_count":1988,"open_issues_count":9,"forks_count":42,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T17:12:34.721Z","etag":null,"topics":["chromium","command-line-interface","commandline","commandline-interface","component","developer-tools","javascript","npm","npm-module","npm-package","optimization","puppeteer","react","react-component","react-devtools","reactjs","testing","testing-tools"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reactopt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-31T23:58:33.000Z","updated_at":"2024-10-14T14:48:31.000Z","dependencies_parsed_at":"2022-06-26T07:08:00.403Z","dependency_job_id":null,"html_url":"https://github.com/reactopt/reactopt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactopt%2Freactopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactopt%2Freactopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactopt%2Freactopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactopt%2Freactopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reactopt","download_url":"https://codeload.github.com/reactopt/reactopt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248941605,"owners_count":21186917,"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":["chromium","command-line-interface","commandline","commandline-interface","component","developer-tools","javascript","npm","npm-module","npm-package","optimization","puppeteer","react","react-component","react-devtools","reactjs","testing","testing-tools"],"created_at":"2024-07-30T17:00:46.673Z","updated_at":"2025-04-14T18:52:08.414Z","avatar_url":"https://github.com/reactopt.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003e\n\t\u003cimg width=\"600\" src=\"https://cdn.rawgit.com/reactopt/reactopt/f25673ed/media/logo.png\" alt=\"reactopt\"\u003e\n\t\u003cbr\u003e\n\t\u003cbr\u003e\n\u003c/h1\u003e\n\n# reactopt\n[![npm version](https://badge.fury.io/js/reactopt.svg)](https://badge.fury.io/js/reactopt)\n\nA CLI React performance optimization tool that identifies potential unnecessary re-rendering. \n\n# About\nReactopt identifies specific events that may be causing unnecessary re-rendering of components in your application, and which components may benefit from utilizing shouldComponentUpdate.\n\nPrior to React 16, the module react-addons-perf helped identify locations that developers may want to implement shouldComponentUpdate to limit over-rendering. However, since the module is no longer supported we created Reactopt to fill the gap, and also provide increased functionality for any version of React.\n\nUpon initiating Reactopt, your application will be launched in a browser for you to interact with. After you're finished and type 'done', you will see an audit on your application's component performance. \n\n1.5.0 is the first working version of this module. Utilizes async/await, which is natively supported in Node 7.6+.\n\n### Interaction Events Currently Supported:\n- Click/Double Click\n- Drag\n- KeyPress\n- KeyDown\n- Input\n\nWe welcome contributions that add additional functionality.\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"600\" src=\"https://cdn.rawgit.com/reactopt/reactopt/2341c162/media/screenshot.png\" alt=\"reactopt-screenshot\"\u003e\u003c/p\u003e\n\n## Install and Use\nnpm install\n```bash\nnpm install --save-dev reactopt\n```\n\nInclude this code at the top of your main React component file (our module is meant to be used in [development mode](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)):\n```js\nimport React from 'react'\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst { reactopt } = require('reactopt');\n\treactopt(React);\n}\n```\n\nInclude this script in your package.json:\n```js\n\"reactopt\": \"node node_modules/reactopt/main.js\"\n```\n\nRun command\n```bash\nnpm run reactopt localhost:####\n```\n## In the Pipeline\n- Support for React Native\n- Currently gathering feedback from users on useful updates to documentation/readme\n\n## Team\nThis module was created by [Candace Rogers](https://github.com/candacerogue), [Pam Lam](https://github.com/itspamlam), [Vu Phung](https://github.com/Jin6Coding), [Selina Zawacki](https://github.com/szmoon)\n\n## Contact\nLike our app, found a bug?\n\nLet us know! \n\n[reactopt@gmail.com](reactopt@gmail.com)\n\nVisit us at www.reactopt.com\n\n## Acknowledgements\nUtilizes a modified version of ([why-did-you-update by maicki](https://github.com/maicki/why-did-you-update))\n","funding_links":[],"categories":["Tools","JavaScript"],"sub_categories":["HTTP Client"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freactopt%2Freactopt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freactopt%2Freactopt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freactopt%2Freactopt/lists"}