{"id":13394337,"url":"https://github.com/zouhir/jarvis","last_synced_at":"2025-05-14T00:03:27.980Z","repository":{"id":51078484,"uuid":"100657321","full_name":"zouhir/jarvis","owner":"zouhir","description":"A very intelligent browser based Webpack dashboard","archived":false,"fork":false,"pushed_at":"2023-02-17T09:20:53.000Z","size":2568,"stargazers_count":5433,"open_issues_count":20,"forks_count":193,"subscribers_count":100,"default_branch":"master","last_synced_at":"2025-04-10T01:05:00.968Z","etag":null,"topics":["build-tool","dashboard","webpack"],"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/zouhir.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-18T00:43:12.000Z","updated_at":"2025-03-31T13:23:18.000Z","dependencies_parsed_at":"2024-06-18T12:42:02.295Z","dependency_job_id":null,"html_url":"https://github.com/zouhir/jarvis","commit_stats":{"total_commits":128,"total_committers":26,"mean_commits":4.923076923076923,"dds":0.4765625,"last_synced_commit":"764ab8f9f2e7ea7ee088b8bffc966c1cecf8e61f"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zouhir%2Fjarvis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zouhir%2Fjarvis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zouhir%2Fjarvis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zouhir%2Fjarvis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zouhir","download_url":"https://codeload.github.com/zouhir/jarvis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137889,"owners_count":21053775,"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":["build-tool","dashboard","webpack"],"created_at":"2024-07-30T17:01:16.395Z","updated_at":"2025-04-10T01:05:06.863Z","avatar_url":"https://github.com/zouhir.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","性能","📦 Legacy \u0026 Inactive Projects","Webpack"],"sub_categories":["css处理","调试"],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/zouhir/jarvis/blob/master/.github/readme-logo.png?raw=true\"\u003e\n\u003c/h1\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/webpack-jarvis\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/webpack-jarvis.svg\" alt=\"version\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/webpack-jarvis\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/webpack-jarvis.svg\" alt=\"version\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://oss.ninja/mit/zouhir\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## About the Project\n\nJ.A.R.V.I.S. (Just A Rather Very Intelligent System) will put in your browser all the relevant information you need from your webpack build whether in dev or in prod.\n\nTons of features are on the roadmap but still, this beta version will improve the way you look at webpack-dev-server or webpack production build bundle, chunks and other output assets.\n\nIt is hugely inspired by other webpack dashboards and the core idea is not original, but here are some features:\n\n**Original Features**:\n\n* Shows you the count of ES Harmony module imports which can be treeshakable and the CJS ones which are not.\n* Shows you how well your assets perform in 12 different connection types.\n* Google or Stackoverflow Search for programming errors in 1 button click.\n\n**Other Features**:\n\n* Runs in the browser.\n* Beautified errors output.\n* Easy way figure out total assets size and individual bundles and chunks.\n* It's very beautiful.\n\n**Tech Stack:**\n\n* Preact with Sass pre-processor.\n* Socket IO.\n* [Polka](https://github.com/lukeed/polka) Server.\n\n**Screenshot:**\n\n\u003cp\u003e\n  \u003cimg src=\"https://github.com/zouhir/jarvis/blob/master/.github/screenshot.png?raw=true\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n## Installation\n\n```\n$ npm i -D webpack-jarvis\n```\n\nIn your webpack config file:\n\n```js\nconst Jarvis = require(\"webpack-jarvis\");\n\n/* the rest of your webpack configs */\n\nplugins: [\n  new Jarvis({\n    port: 1337 // optional: set a port\n  })\n];\n```\n\nIn your browser open:\n\n```\nlocalhost:1337\n```\n\nand you are all set!\n\n## Options\n\nOptions are (optionally) passed in to the constructor\n\n```javascript\nnew Jarvis(options);\n```\n\n### `options.port`\n\nType: `Number`\u003cbr\u003e\nDefault: `1337`\n\nThe Jarvis dashboard will open on a localhost server at this port.\n\n### `options.host`\n\nType: `String`\u003cbr\u003e\nDefault: `localhost`\n\nThe Jarvis dashboard will attach to this host, e.g. `0.0.0.0`.\n\n## `options.watchOnly`\n\nType: `Boolean`\u003cbr\u003e\nDefault: `true`\n\nIf set to false, then Jarvis will also run for non-watch builds, and keep running after the build completes.\n\n## `options.packageJsonPath`\n\nType: `String`\u003cbr\u003e\nDefault: `process.cwd()`\n\nJarvis will look inside this directory for your package.json.\n\n## Help \u0026 Contribute\n\nSetting up the dev environment\n\nInstall Dependencies:\n\n```\n$ npm install\n```\n\nRun Jarvis in your browser, Jarvis root:\n\n```\n$ npm run watch\n```\n\nFinally, open a browser to `http://localhost:1337`!\n\n**On the roadmap:**\n\n* Cleanup the hacky code in the client app, it's embarassing, I'm sorry!\n* Enforce best practices, structure and higher code quality standards.\n* Bundle size analyzer like feature in the table.\n* Build snippets page.\n* Build Oppurtunities Section to suggest loaders, plugins, etc. that can improve your build and bundle.\n\n**Note:**\n\n\u003e I am not entirely sure how many bugs you will catch while it's in beta, but what I know for sure is the whole app, especially the client Preact app can be dramatically improved, JS \u0026 CSS and structure wise as the whole thing has been built in a rush in a very hacky way.\n\n## Contributors\n\nThanks goes to these wonderful people\n([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\n\u003c!-- prettier-ignore --\u003e\n| [\u003cimg src=\"https://avatars3.githubusercontent.com/u/5052316?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZouhir ⚡️\u003c/b\u003e\u003c/sub\u003e](https://zouhir.org)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=zouhir \"Code\") [🤔](#ideas-zouhir \"Ideas, Planning, \u0026 Feedback\") | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/5855893?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLuke Edwards\u003c/b\u003e\u003c/sub\u003e](https://lukeed.com)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=lukeed \"Code\") | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/5226549?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAri Picker\u003c/b\u003e\u003c/sub\u003e](https://twitter.com/Pickra5000)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=Pickra \"Code\") | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/26097311?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarius Niveri\u003c/b\u003e\u003c/sub\u003e](https://maniyt.de)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=m4r1vs \"Code\") | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/6944095?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGagan\u003c/b\u003e\u003c/sub\u003e](https://github.com/gagan0723)\u003cbr /\u003e[📖](https://github.com/zouhir/jarvis/commits?author=gagan0723 \"Documentation\") | [\u003cimg src=\"https://avatars3.githubusercontent.com/u/9312426?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e石发磊\u003c/b\u003e\u003c/sub\u003e](https://github.com/safarishi)\u003cbr /\u003e[📖](https://github.com/zouhir/jarvis/commits?author=safarishi \"Documentation\") | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/15126380?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZiYingMai\u003c/b\u003e\u003c/sub\u003e](https://github.com/Sunshine168)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=Sunshine168 \"Code\") |\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n| [\u003cimg src=\"https://avatars3.githubusercontent.com/u/10326464?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003erachmulvey\u003c/b\u003e\u003c/sub\u003e](https://github.com/rachmulvey)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=rachmulvey \"Code\") | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/1705507?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStephan Schneider\u003c/b\u003e\u003c/sub\u003e](https://github.com/zcei)\u003cbr /\u003e[📖](https://github.com/zouhir/jarvis/commits?author=zcei \"Documentation\") | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/1403911?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristopher Peng\u003c/b\u003e\u003c/sub\u003e](https://github.com/Cap32)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=Cap32 \"Code\") | [\u003cimg src=\"https://avatars3.githubusercontent.com/u/984628?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFrancesco Soncina\u003c/b\u003e\u003c/sub\u003e](https://www.linkedin.com/in/phraa/)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=phra \"Code\") | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/8846086?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJeremy Monson\u003c/b\u003e\u003c/sub\u003e](http://www.forecastme.io)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=monsonjeremy \"Code\") | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/1333999?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGusten\u003c/b\u003e\u003c/sub\u003e](https://github.com/gust42)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=gust42 \"Code\") | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/11145949?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTamas Sule\u003c/b\u003e\u003c/sub\u003e](https://github.com/xjmdoo)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=xjmdoo \"Code\") |\n| [\u003cimg src=\"https://avatars3.githubusercontent.com/u/3317423?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eremmy hume\u003c/b\u003e\u003c/sub\u003e](http://remics.net)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=remhume \"Code\") | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/2655379?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichael Persson\u003c/b\u003e\u003c/sub\u003e](https://github.com/mippzon)\u003cbr /\u003e[📖](https://github.com/zouhir/jarvis/commits?author=mippzon \"Documentation\") | [\u003cimg src=\"https://avatars3.githubusercontent.com/u/5553498?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZach Gawlik\u003c/b\u003e\u003c/sub\u003e](https://zachgawlik.com/)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=ZachGawlik \"Code\") [📖](https://github.com/zouhir/jarvis/commits?author=ZachGawlik \"Documentation\") | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/8447007?s=460\u0026v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKhachatur\u003c/b\u003e\u003c/sub\u003e](https://github.com/Khachatour)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=Khachatour \"Code\") | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/5621996?s=460\u0026v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTimo M. Staudinger\u003c/b\u003e\u003c/sub\u003e](https://github.com/TimoSta)\u003cbr /\u003e[💻](https://github.com/zouhir/jarvis/commits?author=TimoSta \"Code\")|\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the\n[all-contributors](https://github.com/kentcdodds/all-contributors)\nspecification. Contributions of any kind are welcome!\n\n## Credits\n\n* [Webpack Dashboard by Formidable Labs](https://github.com/FormidableLabs/webpack-dashboard)\n\n## License\n\n[MIT © Zouhir](https://oss.ninja/mit/zouhir)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzouhir%2Fjarvis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzouhir%2Fjarvis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzouhir%2Fjarvis/lists"}