{"id":14984143,"url":"https://github.com/hashemkhalifa/webpack-react-boilerplate","last_synced_at":"2025-05-16T14:08:07.630Z","repository":{"id":30431178,"uuid":"124873127","full_name":"HashemKhalifa/webpack-react-boilerplate","owner":"HashemKhalifa","description":"Minimal React 16 and Webpack 4 boilerplate with babel 7, using the new webpack-dev-server, react-hot-loader, CSS-Modules","archived":false,"fork":false,"pushed_at":"2025-05-06T17:23:15.000Z","size":1807,"stargazers_count":395,"open_issues_count":36,"forks_count":144,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-16T14:08:02.694Z","etag":null,"topics":["babel","css-modules","enzyme","eslint","jest","prettier","react","react-boilerplate","react-hot-loader","reactjs","reactjs-with-es6","webpack-boilerplate","webpack4","webpack4starter"],"latest_commit_sha":null,"homepage":"https://github.com/HashemKhalifa/webpack-react-boilerplate","language":"JavaScript","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/HashemKhalifa.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2018-03-12T10:35:44.000Z","updated_at":"2025-03-17T13:41:16.000Z","dependencies_parsed_at":"2023-12-16T01:24:31.770Z","dependency_job_id":"61aa16a8-f8ae-4254-ada0-6e9f353acd22","html_url":"https://github.com/HashemKhalifa/webpack-react-boilerplate","commit_stats":{"total_commits":1008,"total_committers":12,"mean_commits":84.0,"dds":"0.15674603174603174","last_synced_commit":"51e018a5b8bada0cab51fabf80b070130504633a"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashemKhalifa%2Fwebpack-react-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashemKhalifa%2Fwebpack-react-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashemKhalifa%2Fwebpack-react-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HashemKhalifa%2Fwebpack-react-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HashemKhalifa","download_url":"https://codeload.github.com/HashemKhalifa/webpack-react-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254544146,"owners_count":22088807,"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","css-modules","enzyme","eslint","jest","prettier","react","react-boilerplate","react-hot-loader","reactjs","reactjs-with-es6","webpack-boilerplate","webpack4","webpack4starter"],"created_at":"2024-09-24T14:08:32.437Z","updated_at":"2025-05-16T14:08:04.135Z","avatar_url":"https://github.com/HashemKhalifa.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Minimal React and Webpack 4 boilerplate with babel\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"dependencies\" title=\"dependencies\" src=\"https://img.shields.io/david/hashemkhalifa/webpack-react-boilerplate.svg\" \u003e\n   \u003cimg alt=\"dependencies\" title=\"dependencies\" src=\"https://img.shields.io/github/last-commit/hashemkhalifa/webpack-react-boilerplate.svg\" \u003e\n\u003c/p\u003e\n\n\u003e Minimal webpack and react boilerplate using latest version of react and babel as well as jest and enzyme for more details about technologies used. [click](#technologies-used)\n\u003e with real time server changes ;)\n\n\u003e check out [Medium article](https://medium.com/@hashem.khalifa/minimal-webpack-and-react-starter-boilerplate-seriously-d90a673e134f) for more details\n\n![Real time change](https://cdn-images-1.medium.com/max/1600/1*0Slpwk3trmF7kLeoFp5UOw.gif)\n\n### Table of contents\n\n[Project structure](#project-structure)\n\n[Installation](#installation)\n\n[Configuration](#configuration)\n\n[Technologies used](#technologies-used)\n\n### Project structure\n\n```\nbuild/\nsrc/\n|- index.jsx _______________________________ # Application entry\n|- App.jsx _________________________________ # Application init\n|  |- Components/\n|    |- hello-world/\n|       |- index.jsx _______________________ # Sample component\n\nwebpack\n|- paths.js ________________________________ # webpack paths needed\n|- webpack.common.js _______________________ # common webpack config\n|- webpack.dev.js __________________________ # development config\n|- webpack.prod.js _________________________ # production config\n```\n\n### Installation\n\n1- Clone the boilerplate repo\n\n`git clone git@github.com:HashemKhalifa/webpack-react-boilerplate.git`\n\n2- `yarn` or `npm install` to install npm packages\n\n3- start dev server using `yarn start` or `npm start`.\n\n3- build and bundling your resources for production `yarn build`.\n\n4- Unit testing will watch all your changes in the test files as well as create coverage folder for you.\n`yarn test`\n\n### Configuration\n\n- Webpack Config paths based on your file structure you can go to `webpack/paths.js` and modify the source and file names based on your need.\n- `webpack/webpack.common.js` config common webpack for both dev and production environments.\n- webpack/webpack.dev.js config webpack for dev environment.\n- `webpack/webpack.prod.js` config webpack for production environment.\n- `/webpack.config.js` main webpack config that merge common and webpack environment based config.\n- Enzyme config `/setupTest.js` here you will have all setup for enzyme to test your component.\n- Prettier config `/.prettierc`.\n- Browsers list config `/.browserslistrc`.\n\n#### Technologies used\n\n- [Webpack 4](https://github.com/webpack/webpack)\n- [Babel 7](https://github.com/babel/babel) [ transforming JSX and ES6,ES7,ES8 ]\n- [React](https://github.com/facebook/react) `16.8`\n- [Lodash](https://github.com/lodash/lodash)\n- [Jest](https://github.com/facebook/jest) [ Unit test]\n- [Enzyme](http://airbnb.io/enzyme/) for UI testing.\n- [Eslint](https://github.com/eslint/eslint/) with airbnb config\n- [Prettier](https://github.com/prettier/prettier) [ Code formatter ]\n- [Style](https://github.com/webpack-contrib/style-loader) \u0026 [CSS Loader](https://github.com/webpack-contrib/css-loader) \u0026 [SASS-loader](https://github.com/webpack-contrib/sass-loader)\n- [CSS modules](https://github.com/css-modules/css-modules) [ Isolated style based on each component ]\n- [Browsers list](https://github.com/browserslist/browserslist) [ Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env ]\n  [React Fast Refresh](https://github.com/pmmmwh/react-refresh-webpack-plugin)[For react hot module replacement]\n- [Webpack dev serve](https://github.com/webpack/webpack-dev-server)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashemkhalifa%2Fwebpack-react-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhashemkhalifa%2Fwebpack-react-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashemkhalifa%2Fwebpack-react-boilerplate/lists"}