:fire: A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.

Overview

react boilerplate banner


Start your next react project in seconds
A highly scalable, offline-first foundation with the best DX and a focus on performance and best practices


Created by Max Stoiber and maintained with ❀️ by an amazing team of developers.

Features

Quick scaffolding
Create components, containers, routes, selectors and sagas - and their tests - right from the CLI!
Instant feedback
Enjoy the best DX (Developer eXperience) and code your app at the speed of thought! Your saved changes to the CSS and JS are reflected instantaneously without refreshing the page. Preserve application state even when you update something in the underlying code!
Predictable state management
Unidirectional data flow allows for change logging and time travel debugging.
Next generation JavaScript
Use template strings, object destructuring, arrow functions, JSX syntax and more.
Next generation CSS
Write composable CSS that's co-located with your components for complete modularity. Unique generated class names keep the specificity low while eliminating style clashes. Ship only the styles that are on the page for the best performance.
Industry-standard routing
It's natural to want to add pages (e.g. `/about`) to your application, and routing makes this possible.
Industry-standard i18n internationalization support
Scalable apps need to support multiple languages, easily add and support multiple languages with `react-intl`.
Offline-first
The next frontier in performant web apps: availability without a network connection from the instant your users load the app.
Static code analysis
Focus on writing new features without worrying about formatting or code quality. With the right editor setup, your code will automatically be formatted and linted as you work.
SEO
We support SEO (document head tags management) for search engines that support indexing of JavaScript content. (eg. Google)

But wait... there's more!

  • The best test setup: Automatically guarantee code quality and non-breaking changes. (Seen a react app with 100% test coverage before?)
  • Native web app: Your app's new home? The home screen of your users' phones.
  • The fastest fonts: Say goodbye to vacant text.
  • Stay fast: Profile your app's performance from the comfort of your command line!
  • Catch problems: AppVeyor and TravisCI setups included by default, so your tests get run automatically on Windows and Unix.

There’s also a fantastic video on how to structure your React.js apps with scalability in mind. It provides rationale for the majority of boilerplate's design decisions.

Keywords: React.js, Redux, Hot Reloading, ESNext, Babel, react-router, Offline First, ServiceWorker, styled-components, redux-saga, FontFaceObserver

Quick start

  1. Make sure that you have Node.js v8.15.1 and npm v5 or above installed.
  2. Clone this repo using git clone --depth=1 https://github.com/react-boilerplate/react-boilerplate.git <YOUR_PROJECT_NAME>
  3. Move to the appropriate directory: cd <YOUR_PROJECT_NAME>.
  4. Run npm run setup in order to install dependencies and clean the git repo.
    At this point you can run npm start to see the example app at http://localhost:3000.
  5. Run npm run clean to delete the example app.

Now you're ready to rumble!

Please note that this boilerplate is production-ready and not meant for beginners! If you're just starting out with react or redux, please refer to https://github.com/petehunt/react-howto instead. If you want a solid, battle-tested base to build your next product upon and have some experience with react, this is the perfect start for you.

Documentation

Contributors

Thanks goes to these wonderful people (emoji key):

Max Stoiber
Max Stoiber

πŸ’» πŸ“– πŸ€” πŸ‘€ ⚠️
Julien Benchetrit
Julien Benchetrit

πŸ’» πŸ’¬ πŸ“– πŸ‘€ 🚧
Sara Federico
Sara Federico

πŸ’» πŸ‘€ πŸ’¬ πŸ“– 🚧
Justin Greenberg
Justin Greenberg

πŸ’» πŸ‘€
Jon Winn
Jon Winn

πŸ’» πŸ‘€
Johan Meester
Johan Meester

πŸ’» ⚠️ πŸ“–
Yaroslav Kiliba
Yaroslav Kiliba

πŸ’»
Glen Ihrig
Glen Ihrig

πŸ’»
Somasundaram Ayyappan
Somasundaram Ayyappan

πŸ’»
Oliver Turner
Oliver Turner

πŸ’»
Samuel Sharpe
Samuel Sharpe

πŸ’»
Mihir Karandikar
Mihir Karandikar

πŸ’»
Vaibhav Verma
Vaibhav Verma

πŸ’»
SΓ©bastien Dubois
SΓ©bastien Dubois

πŸ’»
Chainarong Tangsurakit
Chainarong Tangsurakit

πŸ’»
Amila Welihinda
Amila Welihinda

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

Supporters

This project would not be possible without the support of these amazing folks. Become a sponsor to get your company in front of thousands of engaged react developers and help us out!


License

This project is licensed under the MIT license, Copyright (c) 2019 Maximilian Stoiber. For more information see LICENSE.md.

Comments
  • Server side rendering

    Server side rendering

    Implements #1103

    I've managed to extract the SSR code from one of our apps based on this boilerplate. There are still a few issues to fix (see below) but I thought I could ask you guys to help me with reviewing it.

    I'm including the CSS during the server side rendering but the styled components inject it anyway. It would be great if we could avoid it. Any ideas? Is there any "virtual-css" yet :) ?

    TODO

    • [x] Use hashes in assets' names (vendor.css, main.js)
    • [x] Fix the content flash (this is not FOUC, but for some reason there is an ugly blink)
    • [x] Tests
    • [x] Split dev/production middlewares into separate modules
    • [x] Handle 404
    • [x] npm run clean
    • [x] How do people with JS disabled access the german version?
    • [x] npm run generate route
    discussion 
    opened by tomazy 224
  • react-intl i18n internationalization and pluralization integration

    react-intl i18n internationalization and pluralization integration

    This integrates Yahoo's react-intl internationalization and pluralization package into the react-boilerplate.

    This PR is a first pass at internationalization and integration. We can further this with multi-language support, in-app redux support (so language can be changed on the fly) and other features we deep not too bulky.

    This PR adds the IntlProvider object to the main app.js in both the app and templates folder.

    It also adds the FormattedMessage and FormattedNumber components to all text and numbers used within the example app and the internals/templates containers/components.

    react-intl titles each formatted message and number with an ID. The ID naming scheme I've choosen is similar to that of the constants naming scheme used in the example app and scaffolding with some slight modifications for component thinking and dot notation. The ID system is used to build language JSON files that can be front-loaded in the IntlProvider. Having all language in JSON files allows others to mak language support easier.

    Example ID use:

    <FormattedMessage
      id="boilerplate.components.Footer.license.message"
      defaultMessage={`
        This project is licensed under the MIT license.
      `}
    />
    

    Some intl ID examples:

    boilerplate.containers.HomePage.start_project.header
    boilerplate.containers.HomePage.start_project.message
    boilerplate.containers.FeaturePage.features.header
    boilerplate.components.Footer.license.message
    boilerplate.components.Footer.author.message
    
    • Here you can see the full app name being used. The container or component it is picking out. The capitalized exact component name. The text and context that is being referred too.
    • This way, language files can point exactly to the component or container.
    • Component pointers are exact names. While other sub-text and sections are lowercase and using underscores.

    Pitfalls: (1) react-intl has a few snags that should be made aware of in the docs.

    One is that for enzyme testing, template literal spacing, if even slightly incorrect, between what FormattedMessage is being tested, will not equal the same text spacing in enzyme.

    To prevent this, exact spacing should be used, or unused spacing should be removed. Otherwise the components wont match in enzyme thus causing an error.

    (2) Another pitfall is that scrollSpy among others require the IntlProvider object to be wrapped around the mount enzyme tests. I'm less worried about this. But it is a requirement.

    (3) React-native support, see: https://github.com/yahoo/react-intl/issues/119 -- not sure if this is our concern right now.

    I think these pitfalls are minor, as I believe the benefits to internationalization outweigh the negatives here.

    We may want to rename a few components here or ID's. And consider the pitfalls that I have found so far.

    Thoughts?

    in progress 
    opened by SilentCicero 135
  • Migrate to react router v4.

    Migrate to react router v4.

    React router v4 is a big change in paradigm, resulting in big changes in routing-related generators and templates. I'm hoping that future PRs can re-enable true hot-reloading after this is in.

    Routes have been migrated to a component, and loading logic has been moved to separate modules instead of inlining to make it easier to define child routes.

    App has been made a connected component to ensure it always has the location as a prop to ensure route rerendering even if its changed to a PureComponent or redux component.

    Fixes #1033

    React Boilerplate

    Thank you for contributing! Please take a moment to review our contributing guidelines to make the process easy and effective for everyone involved.

    Please open an issue before embarking on any significant pull request, especially those that add a new library or change existing tests, otherwise you risk spending a lot of time working on something that might not end up being merged into the project.

    Before opening a pull request, please ensure:

    • [X] You have followed our contributing guidelines
    • [X] double-check your branch is based on dev and targets dev
    • [X] Pull request has tests (we are going for 100% coverage!)
    • [X] Code is well-commented, linted and follows project conventions
    • [X] Documentation is updated (if necessary)
    • [X] Internal code generators and templates are updated (if necessary)
    • [X] Description explains the issue/use-case resolved and auto-closes related issues

    Be kind to code reviewers, please try to keep pull requests as small and focused as possible :)

    IMPORTANT: By submitting a patch, you agree to allow the project owners to license your work under the terms of the MIT License.

    opened by anuraaga 122
  • GraphQL client

    GraphQL client

    Facebook's GraphQL appears to me a natural choice of backend protocol for new React projects vs. REST. Within the React ecosystem, it moreover goes nicely with Facebook's Relay, Meteor's Apollo or other client libraries to provide modern UX and DX.

    Although it is of course possible to just let the developer call their GraphQL API within a Redux saga, it seems natural to replace Redux with Relay/Apollo/other (also in order to use all current and upcoming features such as caching, optimistic updates, realtime/subscriptions, etc). Apollo actually uses Redux under the hood and documents how to interoperate with an existing Redux store. It means an opinionated restriction of the backend protocol to GraphQL, but that appears in line with the doc: "start your app with our community's current ideas on what represents optimal developer experience, best practice, most efficient tooling and cleanest project structure."

    Conveniently, GitHub just released a GraphQL API, so the example could be updated with it.

    Is the choice of redux(-saga) set in stone? If not, what do others think of replacing it with Relay/Apollo/other?

    discussion 
    opened by sedubois 100
  • Feature/route progress bar

    Feature/route progress bar

    This PR is pertaining to #933

    Motivation for the new feature: Route transitions are not smooth over the network because chunks generated by webpack take some time to load. It causes a terrible user experience especially for the ones having slow internet. So it would make sense to show some kind of progress bar or loader to the users while browser downloads the chunk and renders it.

    Changes in the project

    1. Created a new ProgressBar component. Added tests for the same. (Might need some help with the test coverage)
    2. Created a new Higher order component withProgressBar. Wrote tests.
    3. ~~Converted React component in App/index from stateless function to es6 class. Added tests.~~
    4. ~~Please note that a higher order component (HoC) withRouter (from react-router) is used in App/index to access newer API of react-router.~~

    How it works The ProgressBar percentage depends on listen hook of react-router and React's component life cycle methods.

    1. Initially, the percentage is -1.
    2. Progress is set to 0 when the location changes and it keeps on increasing until the new route is mounted or it reaches 99 (whichever is faster).
    3. Percentage is set to 100 when the new route mounts.
    4. Percentage is reset to -1 and ProgressBar is ready for a new route change.
    opened by KarandikarMihir 91
  • Universal rendering

    Universal rendering

    Adding server-side rendering to this boilerplate is probably the n1 request I get, and it does look quite useful.

    Me personally, I haven't played with that at all, so I'm not yet sure if I want to include it by default or not. What do you think?

    https://gist.github.com/rgrove/3e612aa366541845161c

    enhancement 
    opened by mxstbr 86
  • Application Structure

    Application Structure

    Changing the application structure might be worth thinking about, right now the thing might seem quite bloated and randomly thrown together for newcomers.

    help wanted discussion 
    opened by mxstbr 76
  • v3.4.0

    v3.4.0

    It's time for another release!

    Thanks so much for contributing everybody, please test this branch thoroughly and let me know if everything works as expected!

    @gihrig @Dattaya et al is there any PRs we need to land before shipping this?

    Changelog

    Main

    • Switch to Jest for testing, massive thanks to @dmitriiabramov
    • Update to webpack 2 RC (includes switching from System.import to import()), thanks to @Dattaya
    • Add progress bar while loading code splitted routes, thanks to @KarandikarMihir
    • Add the "Hitchhikers Guide to react-boilerplate to the docs, massive thanks to @KarandikarMihir
    • Update all dependencies, as always huge thanks to @gihrig, our master of dependencies
    • Enable import/first eslint rule and rewrite all imports, huge thanks to @KarandikarMihir
    • Add Node v7 support and deprecate v4 support, thanks to @samit4me @MariusRumpf
    • Prevent i18n language duplication, thanks to @harijoe
    • Add the webpack circular dependency plugin to avoid hard to debug errors, thanks to @haikyuu
    • Refactor all selectors and generators with new naming convention, thanks to @Dattaya
    • Update generator templates, thanks to @Virsaviya @jeremyadavis
    • Add support for the --host parameter when running npm start, thanks to @ifedotov
    • Showcase reselects createStructuredSelector in the example, thanks to @Dattaya
    • Exclude test files from coverage report, thanks to @samit4me
    • Lint the templates for the generators, thanks to @Dattaya
    • Huge improvement to DX testing a freshly cleaned project, thanks to @outdooricon

    Other Updates

    • Remove the webpack DedupePlugin as it leads to errors in production and is now included by default, thanks to @samit4me
    • Remove the npm run pagespeed command and all related dependencies and files, thanks to @mkhazov
    • Trigger a full page reload when HMR fails, thanks @kachkaev
    • Don't import all of lodash, thanks to @jwinn
    • Improve .editconfig, thanks to @avdeev
    • Improve the example components, thanks to @tomazy
    • Fix npm run clean not working as expected, thanks to @adjnor
    • Fix the i18n button not updating with new state, thanks to @adjnor
    • Fix console error when changing language, thanks to @samit4me
    • Fix default polyfill language, thanks to @web2style
    • Fix language generation, thanks to @chaintng
    • Switch to new webpack query syntax, thanks to @shrynx
    • Add an Introductory document to help people get started, thanks to @KarandikarMihir
    • Add security configuration recommendations for Nginx (.nginx.conf), thanks to @supergicko
    • Add and fix lots to stuff in the documentation, thanks to @pavlin-policar, @samit4me @outdooricon @PierrickGT @nndung179 @outdooricon @kelsonic @jimmyheaddon
    • A wide variety of small fixes, thanks to @Dattaya @gihrig @outdooricon

    News

    Welcome @KarandikarMihir to the team! Karandikar has been all over the repo, providing fixes and features. Happy to have him on board to make react-boilerplate even better!

    Special thanks as always to @gihrig for diligently testing everything and keeping our dependencies up to date!

    Also, huge props to @samit4me and @Dattaya for being everywhere and fixing so many issues and of course to @KarandikarMihir for all his hard work.

    If you want to help us make react-boilerplate great, please use the dev branch, test all the things and report all the bugs!

    Supporters

    This release was made possible by Fullstack React and Serverless! Want to support us too? Click here!

    help wanted 
    opened by mxstbr 70
  • Wanted: Server-side rendering

    Wanted: Server-side rendering

    Hi! I work on OpenCollective - we help other open source projects (including react-boilerplate get funding.

    We'd like to rebuild our frontend using React-boilerplate. But, Server-side rendering is a must for us - mostly for search crawlers and faster performance.

    We are willing to pay someone to implement SSR in react-boilerplate and help the community out in the process. Would anyone be interested? You can reply on this issue.

    Needless to say that whatever you build has to meet @mxstbr's approval and be merged into react-boilerplate to be considered complete.

    Update: removed my email address. Prefer to discuss this publicly.

    enhancement 
    opened by asood123 62
  • Move reducer/saga injection to separate library

    Move reducer/saga injection to separate library

    Is your feature request related to a problem? Please describe. I use this boilerplate for multiple projects, which means I have some duplicate code in my utils folders for the reducer/saga injection.

    Describe the solution you'd like It would be nice to move the reducer/saga injection to a separate library, that this boilerplate then imports as a dependency. This would reduce code duplication when using this boilerplate for multiple projects. It would also let developers use the reducer/saga injection without using the entire boilerplate.

    Describe alternatives you've considered N/A

    Additional context I'd like to work on this if I can get the blessing of the maintainers. I'd probably also need help from the maintainers in creating a separate repo within the react-boilerplate organization. Alternatively, we could set up a monorepo, but that would be more work.

    enhancement 
    opened by BenLorantfy 49
  • Add Jest

    Add Jest

    The two main things that need to be done first:

    • jest/jasmine does not support generator functions in test descriptions. We can either add suporrt for it to jest and remove those tests from react boilerplate for now.
    • chai and jest both use expect for assertions and that can get a little confusing. I can either migrate everything from chai to jest-matchers, or we can import const jestExpect = require('jest-matchers') separately to use jest snapshot testing feature (will require some work on jest side as well)
    in progress 
    opened by aaronabramov 49
  • not working on macbook

    not working on macbook

    Before opening a new issue, please take a moment to review our community guidelines to make the contribution process easy and effective for everyone involved.

    Description

    A clear and concise description of what the bug is.

    Steps to reproduce

    Steps to reproduce the behavior:

    (Add link to a demo on https://jsfiddle.net or similar if possible)

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Versions

    • React-Boilerplate:
    • Node/NPM:
    • Browser:
    opened by Rajatsinha05 0
  • Bump qs and express

    Bump qs and express

    Bumps qs to 6.5.3 and updates ancestor dependency express. These dependencies need to be updated together.

    Updates qs from 6.5.2 to 6.5.3

    Changelog

    Sourced from qs's changelog.

    6.5.3

    • [Fix] parse: ignore __proto__ keys (#428)
    • [Fix] utils.merge: avoid a crash with a null target and a truthy non-array source
    • [Fix] correctly parse nested arrays
    • [Fix] stringify: fix a crash with strictNullHandling and a custom filter/serializeDate (#279)
    • [Fix] utils: merge: fix crash when source is a truthy primitive & no options are provided
    • [Fix] when parseArrays is false, properly handle keys ending in []
    • [Fix] fix for an impossible situation: when the formatter is called with a non-string value
    • [Fix] utils.merge: avoid a crash with a null target and an array source
    • [Refactor] utils: reduce observable [[Get]]s
    • [Refactor] use cached Array.isArray
    • [Refactor] stringify: Avoid arr = arr.concat(...), push to the existing instance (#269)
    • [Refactor] parse: only need to reassign the var once
    • [Robustness] stringify: avoid relying on a global undefined (#427)
    • [readme] remove travis badge; add github actions/codecov badges; update URLs
    • [Docs] Clean up license text so it’s properly detected as BSD-3-Clause
    • [Docs] Clarify the need for "arrayLimit" option
    • [meta] fix README.md (#399)
    • [meta] add FUNDING.yml
    • [actions] backport actions from main
    • [Tests] always use String(x) over x.toString()
    • [Tests] remove nonexistent tape option
    • [Dev Deps] backport from main
    Commits
    • 298bfa5 v6.5.3
    • ed0f5dc [Fix] parse: ignore __proto__ keys (#428)
    • 691e739 [Robustness] stringify: avoid relying on a global undefined (#427)
    • 1072d57 [readme] remove travis badge; add github actions/codecov badges; update URLs
    • 12ac1c4 [meta] fix README.md (#399)
    • 0338716 [actions] backport actions from main
    • 5639c20 Clean up license text so it’s properly detected as BSD-3-Clause
    • 51b8a0b add FUNDING.yml
    • 45f6759 [Fix] fix for an impossible situation: when the formatter is called with a no...
    • f814a7f [Dev Deps] backport from main
    • Additional commits viewable in compare view

    Updates express from 4.16.4 to 4.18.2

    Release notes

    Sourced from express's releases.

    4.18.2

    4.18.1

    • Fix hanging on large stack of sync routes

    4.18.0

    ... (truncated)

    Changelog

    Sourced from express's changelog.

    4.18.2 / 2022-10-08

    4.18.1 / 2022-04-29

    • Fix hanging on large stack of sync routes

    4.18.0 / 2022-04-25

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • The DLL files are missing. Sit back while we build them for you with

    The DLL files are missing. Sit back while we build them for you with "npm run build-dll"

    It was fine moments ago. But when I try to execute the command "yarn start", it thorws this error. Even there is no scripts written with build-dll I found. I looked up at the source code and I found it was running npm run postinstall. I tried o run it manually but it's still stucked!

    Node.js v19.0.1
    [webpack-cli] Failed to load 'D:\Codes\MERN\App\electron-react-boilerplate\.erb\configs\webpack.config.renderer.dev.ts' config
    [webpack-cli] Error: Command failed: npm run postinstall
    node:internal/modules/cjs/loader:998
      throw err;
      ^
    
    Error: Cannot find module './check-native-dep.js'
    Require stack:
    - D:\Codes\MERN\App\electron-react-boilerplate\.erb\sripts\imaginaryUncacheableRequireResolveScript
        at Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
        at Function.resolve (node:internal/modules/cjs/helpers:109:19)
        at requireResolveNonCached (D:\Codes\MERN\App\electron-react-boilerplate\node_modules\ts-node\dist\bin.js:549:16)
        at getProjectSearchDir (D:\Codes\MERN\App\electron-react-boilerplate\node_modules\ts-node\dist\bin.js:519:40)
        at phase3 (D:\Codes\MERN\App\electron-react-boilerplate\node_modules\ts-node\dist\bin.js:267:27)
        at bootstrap (D:\Codes\MERN\App\electron-react-boilerplate\node_modules\ts-node\dist\bin.js:47:30)
        at main (D:\Codes\MERN\App\electron-react-boilerplate\node_modules\ts-node\dist\bin.js:33:12)
        at Object.<anonymous> (D:\Codes\MERN\App\electron-react-boilerplate\node_modules\ts-node\dist\bin.js:579:5)
        at Module._compile (node:internal/modules/cjs/loader:1159:14)
        at Module._extensions..js (node:internal/modules/cjs/loader:1213:10) {
      code: 'MODULE_NOT_FOUND',
      requireStack: [
        'D:\\Codes\\MERN\\App\\electron-react-boilerplate\\.erb\\sripts\\imaginaryUncacheableRequireResolveScript'
      ]
    }
    
    Node.js v19.0.1
    
        at checkExecSyncError (node:child_process:871:11)
        at execSync (node:child_process:943:15)    
        at Object.<anonymous> (D:\Codes\MERN\App\electron-react-boilerplate\.erb\configs\webpack.config.renderer.dev.ts:38:11)
        at Module._compile (node:internal/modules/cjs/loader:1159:14)
        at Module.m._compile (D:\Codes\MERN\App\electron-react-boilerplate\node_modules\ts-node\src\index.ts:1618:23)
        at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
        at Object.require.extensions.<computed> [as .ts] (D:\Codes\MERN\App\electron-react-boilerplate\node_modules\ts-node\src\index.ts:1621:12)    at Module.load (node:internal/modules/cjs/loader:1037:32)
        at Function.Module._load (node:internal/modules/cjs/loader:878:12) {
      status: 1,
      signal: null,
      output: [
        null,
        <Buffer 0a 3e 20 70 6f 73 74 69 6e 73 74 61 6c 6c 0a 3e 20 74 73 2d 6e 6f 64 65 20 2e 65 72 62 2f 73 72 69 70 74 73 2f 63 68 65 63 6b 2d 
    6e 61 74 69 76 65 2d ... 174 more bytes>,      
        <Buffer 6e 6f 64 65 3a 69 6e 74 65 72 6e 61 6c 2f 6d 6f 64 75 6c 65 73 2f 63 6a 73 2f 6c 6f 61 64 65 72 3a 39 39 38 0d 0a 20 20 74 68 72 
    6f 77 20 65 72 72 3b ... 1301 more bytes>      
      ],
      pid: 10024,
      stdout: <Buffer 0a 3e 20 70 6f 73 74 69 6e 73 74 61 6c 6c 0a 3e 20 74 73 2d 6e 6f 64 65 20 2e 65 72 62 2f 73 72 69 70 74 73 2f 63 68 65 63 6b 2d 6e 61 74 69 76 65 2d ... 174 more bytes>,  stderr: <Buffer 6e 6f 64 65 3a 69 6e 74 
    65 72 6e 61 6c 2f 6d 6f 64 75 6c 65 73 2f 63 6a 73 2f 6c 6f 61 64 65 72 3a 39 39 38 0d 0a 20 20 74 68 72 6f 77 20 65 72 72 3b ... 1301 more bytes>}
    error Command failed with exit code 2.
    
    opened by EttisafRup 0
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump simple-git and lint-staged

    Bump simple-git and lint-staged

    Removes simple-git. It's no longer used after updating ancestor dependency lint-staged. These dependencies need to be updated together.

    Removes simple-git

    Updates lint-staged from 8.1.5 to 13.1.0

    Release notes

    Sourced from lint-staged's releases.

    v13.1.0

    13.1.0 (2022-12-04)

    Features

    • expose cli entrance from "lint-staged/bin" (#1237) (eabf1d2)

    v13.0.4

    13.0.4 (2022-11-25)

    Bug Fixes

    • deps: update all dependencies (336f3b5)
    • deps: update all dependencies (ec995e5)

    v13.0.3

    13.0.3 (2022-06-24)

    Bug Fixes

    • correctly handle git stash when using MSYS2 (#1178) (0d627a5)

    v13.0.2

    13.0.2 (2022-06-16)

    Bug Fixes

    • use new --diff and --diff-filter options when checking task modifications (1a5a66a)

    v13.0.1

    13.0.1 (2022-06-08)

    Bug Fixes

    • correct spelling of "0 files" (f27f1d4)
    • suppress error from process.kill when killing tasks on failure (f2c6bdd)
    • deps: update pidtree@^0.6.0 to fix screen size error in WSL (1a77e42)
    • ignore "No matching pid found" error (cb8a432)
    • prevent possible race condition when killing tasks on failure (bc92aff)

    Performance Improvements

    • use EventsEmitter instead of setInterval for killing tasks on failure (c508b46)

    ... (truncated)

    Commits
    • eabf1d2 feat: expose cli entrance from "lint-staged/bin" (#1237)
    • a987e6a docs: add note about multiple configs files to README
    • c4fb7b8 docs: add note about git hook TTY to README
    • e2bfce1 test: remove Windows snapshot workaround
    • 81ea7fd test: allow file protocol in git submodule test
    • 3ea9b7e test: update Jest snapshot format
    • 0c635c7 ci: install latest npm for older Node.js versions
    • 5f1a00e ci: bump GitHub Actions' versions
    • 336f3b5 fix(deps): update all dependencies
    • ec995e5 fix(deps): update all dependencies
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump minimatch from 3.0.4 to 3.1.2

    Bump minimatch from 3.0.4 to 3.1.2

    Bumps minimatch from 3.0.4 to 3.1.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v4.0.0)
  • v4.0.0(Apr 18, 2019)

    v4.0: "The One With Hooks (And Much More)" Edition

    React Boilerplate v4.0 is out and it's a doozy! Here are the highlights:

    • React has added many new features and it's time for React Boilerplate to embrace them.
      • We now use React.lazy and Suspense for component lazy-loading instead of an external library.
      • We've added useInjectSaga and useInjectReducer hooks to manage saga and reducer injection. They're integrated into the generators and thus become the new defaults. (Should you need them, the HOCs are still there.)
      • The generators don't support classes anymore. The PureComponent vs Component choice was replaced with an option to wrap your component inside React.memo.
    • After much deliberation, Immutable.js is finally gone. We've added Immer instead. With it, we can write very concise and readable reducers while sticking to native JavaScript data structures.
    • Following the release of React Hooks, it's become even clearer that react-testing-library is now the industry-standard for React DOM testing. Workarounds for the incompatibilities between enzyme and styled-components are gone and we can now write leaner and more meaningful tests.

    There are many more changes to our documentation, internals and general project setup. You can find a full changelog below.

    Huge thanks to @Mensae, @gretzky, @jwinn and everyone who helped review or submit PRs! If I've forgotten your contribution in the credits below, please let me know.

    We hope you enjoy this release and welcome any feedback, bug reports or feature suggestions you can send our way!

    Main

    • Remove Immutable.js in favor of Immer (@julienben, @robertaird)
    • Migrate from enzyme to react-testing-library (@mensae)
      • New instructions for snapshot and behavior testing
    • Embracing Hooks (@julienben)
      • Add eslint-plugin-react-hooks
      • Migrate all class components to functions
      • Add useInjectSaga and useInjectReducer hooks
      • Remove generator options to extend Component or PureComponent. Replace with a React.memo option.
    • Use React.lazy and Suspense instead of loadable-components to code-split and asynchronously load components (@julienben)

    Documentation updates

    • Update Heroku deployment instructions (@TheAncientGoat)
    • Add subfolder deployment instructions (@nshimiye)
    • Add AWS EB deployment instructions (@Al-un)
    • Spelling and grammar fixes (@khayyamsaleem, @ngtan)

    Internals updates

    • Many dependency updates including: (@julienben)
      • react and react-dom (16.6 to 16.8.6)
      • react-redux (5 to 7) (@bumi001, @jwinn)
      • connected-react-router (4 to 6)
      • react-router-dom (4 to 5)
      • redux-saga (0.16 to 1)
      • sanitize.css (4 to 8)
    • Update default saga injection mode to DAEMON (@howardya)
    • Update generators to reflect all the stack changes
    • Migrate default Node version to lts/dubnium (@julienben)
    • Fix support for stylelint (@jwinn)
    • Fix setup script for Windows environments (@mensae)
    • Generate passing tests for components/containers (@mjhost)
    • Rewrite generators code (@mensae)
    • Complete rewrite or generate-templates-for-linting.js (@mensae)
    • webpack.DefinePlugin => webpack.EnvironmentPlugin (@nshimiye)
    • New Webpack code splitting config (@julienben)
    • Remove process.noDeprecation = true (@spawnia)
    • Miscellaneous fixes (@ngtan)

    Project maintenance

    • Switch from Gitter to Spectrum (@gretzky)
    • Update Code of Conduct and Contribution Guidelines (@julienben)
    • New Issue Templates (@gretzky)
    • New bots to help with issue management (@gretzky)
    • Better recognition of contributors via adherence to All Contributors specification (@julienben)

    Commits & Changes

    v3.7.0...v4.0.0

    Source code(tar.gz)
    Source code(zip)
  • v3.7.0(Oct 25, 2018)

    News

    Welcome to a new React Boilerplate release with improvements aplenty, bug fixes and major dependency upgrades! Big thanks to @gretzky, @justingreenberg, @jwinn and everyone who helped review and submit PRs for this release!

    For existing projects, the only way to upgrade from 3.6.0 is to manually apply the changes from #2403 to your project. Please be careful when doing so as it isn't officially supported and could break things on your end.

    Next steps will include re-thinking immutability in the store (RFC @ #2092), re-organizing docs, saga improvements, smart bundling and plenty more. Please keep the PRs coming. And if you're up for it, remember that you can use the dev branch to test all the latest updates and report bugs!

    Main

    • Upgrades to Babel 7, React 16.6, ESLint 5, styled-components 4 (@julienben)
      • Config file and Babel plugin cleanup (@gretzky)
      • Fix extract-intl script for Babel 7 (@fanixk)
    • Webpack improvements
      • Removal of dll plugin (@gretzky)
      • Gzipping and better optimization config in prod (@gretzky)
      • react-app-polyfill for targeted IE support (@gretzky)
      • Switch from UglifyJS to Terser plugin (@robertaird)
      • Icons generated by webpack-pwa-manifest plugin (@Mensae)
    • Switch from Yarn back to npm (@julienben)
      • CI improvements (@jwinn)
    • New documentation section for forks
      • SSR (@gretzky)
      • Electron (@mjangir)
      • TypeScript (@Can-Sahin)

    Other Updates

    • Migration from deprecated react-router-redux to connected-react-router (@julienben)
    • Migration from react-loadable to loadable-components (@julienben)
    • Quick start - Clone to a named directory (@spawnia)
    • Scoped variables in i18n messages (@hatsuo)
    • Use .prettierrc path relative to .eslintrc.js (@abeMedia)
    • Fixes to generators (@julienben, @hatsuo, @ngtan)
    • babel-plugin-lodash for easier import syntax (@julienben)
    • Bug fix in setup script (@autechr3)

    Lots of additional documentation updates thanks to @doaboa, @cheickmec, @nicogreenarry, @sduquej, @diwakar-s-maurya.

    Commits & Changes

    v3.6.0...v3.7.0

    Source code(tar.gz)
    Source code(zip)
  • v3.6.0(Jun 21, 2018)

    News

    Major version updates are finally here! It's been awhile, but we're a small team that's been pushing this for awhile. Thanks to several users' PRs, we were able to cherry-pick a lot from the dev branch to push this release out. We decided because of the amount of dependencies that needed to be updated- we would overshoot some of the changes made on the dev branch and just grab the most pressing ones.

    Next steps for us will be revisiting the dev branch, revisiting outstanding PRs and RFCs (like Immutable), and also plugging away at a create-react-app spinoff for react-boilerplate.

    Main

    • Upgrade Webpack to v4 (@julienben @stern-shawn)
      • Syntax / function changes (mode, optimization, etc.)
      • Remove webpack loader syntax from main app
      • Better SVG handling
    • Upgrade Redux to v4 (@gretzky)
    • Upgrade React to v16 (@blling @gretzky)
    • Upgrade Enzyme to v3 (@blling @gretzky)
      • Add in new Adapter, as required
      • Minor Jest config tweaks to include new Enzyme setup config
    • Upgrade styled-components to v3 (@julienben)
      • Reconfigure Jest snapshot testing for styled-components (@gretzky)
    • Added support for node v9, v8 (@julienben)
      • Removed support for node v6
    • Add Prettier (@julienben)
    • Upgrade ESLint to v4 (@julienben)
    • Add stylelint and stylelint config (@julienben)

    Other Updates

    • Add --fix flag to eslint command (@shobhitchittora)
    • Correct babel plugin order (@petrhanak)
    • Add missing import PropTypes to component generators (@GoldAnna)
    • Remove unnecessary onRejected() from FontFaceObserver (@akarve)
    • Include "Setting Up Your Editor" in documentation (@mjbvz)
    • Add login / authentication flow example into documentation (@tinavanschelt)
    • More detailed redux-saga usage documentation (@acharlop)
    • Fix ejection error of done sagas (@outdooricon)

    Commits & Changes

    v3.5.0...v3.6.0

    Source code(tar.gz)
    Source code(zip)
  • v3.5.0(Sep 22, 2017)

    The eagle has landed πŸŽ‰

    As always, thank you to all of our awesome contributors, community and team members!!

    News

    So, a few things have changed in the JS ecosystem since the original release of React Boilerplate, and there was a discussion in #1776 around the it's future. TLDR; we had two incompatible PRs β€”Β one for server-side rendering, and another for react-router v4. The community decided that we would keep our dependencies up to date (upgrade react-router) and establish a clear mission for React Boilerplate:

    React Boilerplate is a rock-solid foundation for crafting large, high-performance enterprise-grade frontend web applications that have advanced/custom requirements.

    • Static output designed for CDN and edge caches
    • Extreme Developer Ergonomics
      • Parallelized Tests
      • DLL manifest in development for blazing rebuilds
      • Scaffolding tools
    • Pre-baked i18n support
    • Low level tooling that gives developer complete control

    We may include SSR in a future version, but for now this is our focus... create-react-app and next.js are doing an awesome job and strongly recommend these projects for most use cases.

    Breaking

    • Upgrade React Router to v4.x.x (@anuraaga, @Dattaya, et al)
      • Use React-Loadable for data lifecycle management
      • Refactor asyncInjectors: improve code splitting/saga management
      • For a complete overview of changes, please see #1746

    Main

    • Upgrade React to v15.6 (@g0ddish)
    • Upgrade Webpack and related dependencies to v3.x.x (@KarandikarMihir)
    • Upgrade styled-components to v2.x.x (@justingreenberg)
    • Replace babel-preset-hmre with vanilla Webpack HMR (@Dattaya)
    • Serve Dlls via add-asset-html-webpack-plugin (@skidding)
    • Migrate from React.PropTypes to prop-types (@dennybiasiolli)

    Other Updates

    • Add Stateless Functions to Container generator (@outdooricon)
    • Change development sourcemap style (@samit4me)
    • Create new documentation for dependency updates (@gihrig)
    • Downgrade sanitize.css (@Dattaya)
    • Enable rule react/no-array-index-key (@carloscuatin)
    • Fix Intl polyfill in language generator (@tmf)
    • Handle 204 and 205 HTTP response (@williamdclt)
    • Icon updates and improvements (@samit4me)
    • Import only necessary components for RRv4 (@sorin-davidoi)
    • Improve <List> component tests (@chaintng)
    • Improve component tests in demo (@dennybiasiolli)
    • Improve setup to recognize repo before clearing git (@Aftabnack)
    • Make build output less verbose (@KarandikarMihir)
    • Move onSubmitForm test into mapDispatchToProps test (@tomasfrancisco)
    • NPM script and dependency updates, many fixes (@gihrig)
    • Remove state update in componentWillUpdate (@mawi12345)
    • Remove unused Sinon dependency (@avdeev)
    • Remove route names from app/routes (@beardedtim)
    • Rename store.js to configureStore.js to prevent conflict (@howardya)
    • Separate dev and prod middleware (@tomazy)
    • Sort ESLint config in package.json (@bt)
    • Support OpenType fonts with .otf file extension (@kachkaev)
    • Turn App into a functional component (@Dattaya)
    • Update FAQ for styles getting overridden (@samit4me)
    • Update the 'tagged template literals' link (@joncass)
    • Use camelcase for reducer and saga key to match selector (@anuraaga)
    • Use correct selector names in tests (@Dattaya)
    • Use local instance of shelljs (@KarandikarMihir)
    • Use optimized version of the RBP banner (@tomazy)
    • Use relative path for manifest.json (@mrharel)

    Many fixes to documentation thanks to @Aftabnack, @auchenberg, @danielrob, @gregoralbrecht, @JonathanMerklin, @marciopuga, @NicholasAnthony, @Skaronator, and @vedatmahir

    Source code(tar.gz)
    Source code(zip)
  • v3.4.0(Jan 14, 2017)

    An amazing release full of new goodies, just for you! Let's dive right into it...

    News

    Welcome @KarandikarMihir to the team! Karandikar has been all over the repo, providing fixes and features. Happy to have him on board to make react-boilerplate even better!

    Special thanks as always to @gihrig for diligently testing everything and keeping our dependencies up to date!

    Also, huge props to @samit4me and @Dattaya for being everywhere and fixing so many issues and of course to @KarandikarMihir for all his hard work.

    If you want to help us make react-boilerplate great, please use the dev branch, test all the things and report all the bugs!

    Changelog

    Main

    • Switch to Jest for testing, massive thanks to @dmitriiabramov
    • Update to webpack 2 RC (includes switching from System.import to import()), thanks to @Dattaya
    • Add progress bar while loading code splitted routes, thanks to @KarandikarMihir
    • Add the "Hitchhikers Guide to react-boilerplate to the docs, massive thanks to @KarandikarMihir
    • Update all dependencies, as always huge thanks to @gihrig, our master of dependencies
    • Enable import/first eslint rule and rewrite all imports, huge thanks to @KarandikarMihir
    • Add Node v7 support and deprecate v4 support, thanks to @samit4me @MariusRumpf
    • Prevent i18n language duplication, thanks to @harijoe
    • Add the webpack circular dependency plugin to avoid hard to debug errors, thanks to @haikyuu
    • Refactor all selectors and generators with new naming convention, thanks to @Dattaya
    • Update generator templates, thanks to @Virsaviya @jeremyadavis
    • Add support for the --host parameter when running npm start, thanks to @ifedotov
    • Showcase reselects createStructuredSelector in the example, thanks to @Dattaya
    • Exclude test files from coverage report, thanks to @samit4me
    • Lint the templates for the generators, thanks to @Dattaya
    • Huge improvement to DX testing a freshly cleaned project, thanks to @outdooricon

    Other Updates

    • Remove the webpack DedupePlugin as it leads to errors in production and is now included by default, thanks to @samit4me
    • Remove the npm run pagespeed command and all related dependencies and files, thanks to @mkhazov
    • Trigger a full page reload when HMR fails, thanks @kachkaev
    • Don't import all of lodash, thanks to @jwinn
    • Improve .editconfig, thanks to @avdeev
    • Improve the example components, thanks to @tomazy
    • Fix npm run clean not working as expected, thanks to @adjnor
    • Fix the i18n button not updating with new state, thanks to @adjnor
    • Fix console error when changing language, thanks to @samit4me
    • Fix default polyfill language, thanks to @web2style
    • Fix language generation, thanks to @chaintng
    • Switch to new webpack query syntax, thanks to @shrynx
    • Add an Introductory document to help people get started, thanks to @KarandikarMihir
    • Add security configuration recommendations for Nginx (.nginx.conf), thanks to @supergicko
    • Add and fix lots to stuff in the documentation, thanks to @pavlin-policar, @samit4me @outdooricon @PierrickGT @nndung179 @outdooricon @kelsonic @jimmyheaddon
    • A wide variety of small fixes, thanks to @Dattaya @gihrig @outdooricon

    Supporters

    This release was made possible by Fullstack React and Serverless! Want to support us too? Click here!

    Source code(tar.gz)
    Source code(zip)
  • v3.3.3(Nov 7, 2016)

  • v3.3.2(Nov 4, 2016)

  • v3.3.0(Nov 3, 2016)

    This release directly contains the brainpower of 25 individual contributors, with many more chiming into discussions. Thank you so much for helping out, without you react-boilerplate wouldn't be as great as it is!

    Changelog

    Main

    • Use πŸ’… styled-components, huge thanks to @samit4me
    • New, smaller translation messages format, thanks @chaintng
    • Fix sync reducer HMR, thanks @justingreenberg
    • Add pure component support to the generator, thanks @justingreenberg
    • Add eslint-plugin-redux-saga, thanks @jstockwin
    • Remove offline-plugin warning in dev, thanks @sedubois
    • Show a warning if a user has JavaScript disabled, thanks @Vadorequest
    • Add yarn support, thanks @EugeneHlushko @sedubois
    • Add NamedModulesPlugin, thanks @simobasso

    Other Updates

    • Update dependencies, thanks to @gihrig
    • Fix container generator, thanks to @lsanders
    • Add a key to LanguageProvider to force rerenders, thanks @andregoncalvesdev
    • Remove DevTools code in production, thanks @ansumanshah
    • Showcase sCU in FeaturePage, thanks @justingreenberg
    • Use browser field of modules that supply it, thanks @chaintng @episage
    • Fix npm run analyze, thanks @chaintng
    • Fix dependency warnings, thanks @sedubois
    • Migrate to eslint-config-airbnb v12, thanks @amilajack
    • Update webpack, thanks @peter-mouland
    • Update Redux DevTools, thanks @zalmoxisus
    • Update documentation with lots of info, thanks @Vadorequest @nappels @KarandikarMihir @GGAlanSmithee @malixsys @sethmcleod
    • Clean up script files, thanks @lvarayut
    • Make AppVeyor faster by caching node_modules, thanks @amilajack
    • Fix cleaned state, thanks @rubenmoya
    • Simplify example CSS, thanks @sedubois
    • Clean up example, thanks @sedubois @nktssh
    • Use takeLatest in example saga, thanks @pyjac

    News

    Welcome @chaintng and @sedubois to the team, they'll be around the repo closing issues and answering questions! Special thanks as always to @gihrig for diligently testing everything and keeping our dependencies up to date!

    If you want to help us make react-boilerplate great, please use the dev branch, test all the things and report all the bugs!

    Supporters

    This release was made possible by Fullstack React and Serverless! Want to support us too? Click here!

    Source code(tar.gz)
    Source code(zip)
  • v3.2.1(Sep 26, 2016)

    Changelog

    • Updated dependencies (thanks @gihrig!)
    • Speed up travis builds (thanks @jstockwin!)
    • Test all current Node versions on CI (thanks @amilajack!)
    • Use babel-preset-latest to get all the ESNext goodies automatically (thanks @samit4me!)
    • Hotfix eslint-config-airbnb (thanks @chaintng!)

    News

    Welcome @amilajack to the team, he'll be around the repo closing issues and answering questions! Special thanks as always to @gihrig for diligently testing everything and keeping our dependencies up to date!

    If you want to help us make react-boilerplate great, please use the dev branch, test all the things and report all the bugs!

    Supporters

    This release was made possible by React.js Program, Fullstack React and Serverless! Want to support us too? Click here!

    Source code(tar.gz)
    Source code(zip)
  • v3.2.0(Sep 17, 2016)

    Changelog

    • Use babel-plugin-istanbul for more accurate code coverage (thanks to @kane-c!)
    • Move cross-env and minimist to dependencies so npm install --production works (thanks @Dattaya!)
    • Update dependencies (thanks @gihrig!)
    • Fix indentation of Helmet when generating a container (thanks @Dattaya!)
    • Fix intl polyfill race condition (thanks @kachkaev!)
    • Fix container template (thanks @tbash!)
    • Fix spelling errors around the codebase (thanks @stevenspiel!)
    • Fix reducers stacking up (thanks @justingreenberg!)
    • Fix new linting errors due to eslint upgrade and enable stricter linting (thanks @peter-mouland!)
    • Fix test warnings in example (thanks @samit4me!)

    News

    We have a new release process! There now is an unstable dev branch, which all PRs will be merged into. Every few weeks, we'll open a PR against master, do some last testing and then merge and release!

    This way, we'll avoid some of the instability issues we've had in the past where PRs weren't thoroughly tested. (sorry!) Special thanks to @gihrig for diligently testing everything and keeping our dependencies up to date!

    If you want to help us make react-boilerplate great, please use the dev branch, test all the things and report all the bugs!

    Supporters

    This release was made possible by React.js Program, Fullstack React and Serverless! Want to support us too? Click here!

    Source code(tar.gz)
    Source code(zip)
  • v3.1.0(Aug 17, 2016)

    • i18n support!!
    • More docs
    • Bug fixes and various improvements
    • Now using an unstable dev branch for development stuff so master is 100% stable. Please test dev and tell us where some problems are!
    Source code(tar.gz)
    Source code(zip)
  • v3.0.0(May 18, 2016)

    v3.0: The "JS Fatigue Antivenin" Edition

    React Boilerplate v3.0.0 is out, and it's a complete rewrite! :tada:

    We've focused on becoming a rock-solid foundation to start your next project with, no matter what its scale. You get to focus on writing your app because we focus on making that as easy as pie.

    We also have a proper website now, thanks to @webdesserts! Check it out: http://reactboilerplate.com

    Highlights

    • Scaffolding: Thanks to @somus, you can now run $ npm run generate in your terminal and immediately create new components, containers, sagas, routes and selectors! No more context switching, no more "Create new file, copy and paste that boilerplate structure, bla bla": just npm run generate <thing> and go.

      Oh... and starting a project got a whole lot easier too: npm run setup. Done.

    • Revamped architecture: Following the incredible discussion in #27 (thanks everybody for sharing your thoughts), we now have a weapons-grade, domain-driven application architecture.

      "Smart" containers are now isolated from stateless and/or generic components, tests are now co-located with the code that they validate.

    • New industry-standard JS utilties We're now making the most of...

      • ImmutableJS
      • reselect
      • react-router-redux
      • redux-saga
    • Huge CSS Improvements

      • CSS Modules: Finally, truly modular, reusable styles!
      • Page-specific CSS: smart Webpack configuration means that only the CSS your components need is served
      • Standards rock: Nothing beats consistent styling so we beefed up the quality checks with stylelint to help ensure that you and your team stay on point.
    • Performance

      • Code splitting: splitting/chunking by route means the leanest, meanest payload (because the fastest code is the code you don't load!)
      • PageSpeed Metrics are built right in with npm run pagespeed
    • Testing setup: Thanks to @jbinto's herculean efforts, testing is now a first-class citizen of this boilerplate. (the example app has 99% test coverage!) Karma and enzyme take care of unit testing, while ngrok tunnels your local server for access from anywhere in the world – perfect for testing on different devices in different locations.

    • New server setup: Thanks to the mighty @grabbou, we now use express.js to give users a production-ready server right out of the box. Hot reloading is still as available as always, but adding a custom API or a non-React page to your application is now easier than ever :smile:

    • Cleaner layout: We've taken no prisoners with our approach to keeping your code the star of the show: wherever possible, the new file layout keeps the config in the background so that you can keep your focus where it needs to be.

    • Documentation: Thanks to @oliverturner, this boilerplate has some of the best documentation going. Not just clearly explained usage guides, but easy-to-follow removal guides for most features too. RBP is just a launchpad: don't want to use a bundled feature? Get rid of it quickly and easily without having to dig through the code.

    • Countless small improvements: Everything, from linting pre-commit (thanks @okonet!) to code splitting to cross-OS compatibility is now tested and ready to go:

      • We finally added a CoC
      • Windows compatibility has improved massively
    Source code(tar.gz)
    Source code(zip)
  • v2.5.0(Dec 20, 2015)

    • Remove the ServiceWorker cache polyfill, which is deprecated. See coonsta/cache-polyfill#17
    • Hot reloadable reducers
    • Upgrade to Babel 6
    • Add globbing support to CSS @imports
    • Better output when starting the server
    • Stop caching .htaccess in the AppCache
    • Envify react in production
    • Bug fixes: eslint, docs
    Source code(tar.gz)
    Source code(zip)
  • v2.4.0(Dec 17, 2015)

  • v2.3.1(Dec 17, 2015)

    Mainly slight bug fixes. We now have a wrapper component that is rendered around all pages, and some default apache server configuration.

    Source code(tar.gz)
    Source code(zip)
  • v2.3.0(Nov 19, 2015)

    redux-thunk is a redux store middleware that lets you do asynchronous stuff in your actions.

    Popular examples include fetching something like an API, or doing animations. This lets you keep your reducer side-effect free.

    Source code(tar.gz)
    Source code(zip)
Owner
react-boilerplate
πŸ”₯ A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.
react-boilerplate
Postgres Node.js Express TypeScript application boilerplate with best practices for API development.

Node TypeScript Boilerplate Postgres Developer Ready: A comprehensive template. Works out of the box for most Node.js projects. This project is intend

Chirag Mehta 9 Aug 28, 2022
A Node template that follows the Clean Architecture principles and encourages established practices.

Clean Architecture Template A Node template that follows the Clean Architecture principles and encourages established practices. Features TypeScript f

Jamie Livingstone 91 Dec 25, 2022
IDE and toolkit for building scalable web applications with React, Redux and React-router

An all-in-one solution for creating modern React apps Rekit is a toolkit for building scalable web applications with React, Redux and React-router. It

Rekit 4.5k Jan 2, 2023
About Folder pattern for express rest api starterkit clean architecture, easy to scalable and easy to maintenance.

Express Rest Api Clean Architecture The following is a folder pattern for express rest api starterkit structure pattern that I usually use, so if you

Restu Wahyu Saputra 50 Dec 20, 2022
A highly opinionated and complete starter for Next.js projects ready to production

The aim for this starter is to give you a starting point with everything ready to work and launch to production. Web Vitals with 100% by default. Folder structure ready. Tooling ready. SEO ready. SSR ready.

Fukuro Studio 28 Nov 27, 2022
An upgradable boilerplate for Progressive web applications (PWA) with server side rendering, build with SEO in mind and achieving max page speed and optimized user experience.

React PWA v2 A highly scalable, Progressive Web Application foundation,boilerplate, with the best Developer Experience. Demo: https://demo.reactpwa.co

Atyantik 2.5k Dec 26, 2022
πŸ‘©πŸ»β€πŸ’» Developer Ready: A comprehensive template. Works out of the box for most Node.js projects.

node-typescript-boilerplate ????‍?? Developer Ready: A comprehensive template. Works out of the box for most Node.js projects. ???? Instant Value: All

IAD S.r.l. 6 Dec 15, 2022
An example of a mobile-first responsive web design

Mobile-First-RWD This demo is an example of a mobile-first responsive web design. This is a companion demo to the tutorial I wrote on HTML5 Rocks and

Brad Frost 68 Sep 24, 2022
Nestjs boilerplate template (mongodb, typeorm, graphql - code first, i18n, global exception handling etc.)

Description City-Library-Demo project for boilerplate. (node version: 16.14.0, npm version: 8.5.2) First Steps Create .env file in root directory. (Th

Mert Kaygusuz 7 Nov 21, 2022
A few simple, but solid patterns for responsive HTML email templates and newsletters. Even in Outlook and Gmail.

Cerberus Responsive Email Patterns Coding regular emails is hard enough by itself. Making them responsive shouldn’t add to the headache. A few simple,

Ted Goas 4.6k Dec 28, 2022
πŸš€ A well-structured boilerplate and Starter for Next.js 12+, Tailwind CSS 3, Redux, Redux Thunk, and TypeScript

?? A well-structured boilerplate and Starter for Next.js 12+, Tailwind CSS 3, Redux, Redux Thunk, and TypeScript ⚑️ Made with developer experience first ESLint + Prettier + Lint-Staged + VSCode setup

null 4 Nov 28, 2022
A default Next.js project with boilerplate packages and configurations. Includes Tailwind, TypeScript (strict), ESLint, Prettier, and Husky.

Yet another Next.js project template This template includes a set of our favorite dev tools scaffolded into a Next.js project. Tools include: TypeScri

Joey McKenzie 16 Dec 27, 2022
A professional front-end template for building fast, robust, and adaptable web apps or sites.

HTML5 Boilerplate HTML5 Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites. This project is t

H5BP 53.8k Dec 28, 2022
An intro page with a full width background image, a bold animated menu and an iOS-like blurred effect behind the navigation

Full Page Intro & Navigation An intro page, focused around a full width background image and a bold animated menu. And, for browsers that support it,

CodyHouse 45 Sep 24, 2022
React + Redux starter kit / boilerplate with Babel, hot reloading, testing, linting and a working example app built in

A comprehensive starter kit for rapid application development using React. Why Slingshot? One command to get started - Type npm start to start develop

Cory House 9.8k Jan 3, 2023
A toolkit for React, Preact, Inferno & vanilla JS apps, React libraries and other npm modules for the web, with no configuration (until you need it)

nwb nwb is a toolkit for: Quick Development with React, Inferno, Preact or vanilla JavaScript Developing: React Apps Preact Apps Inferno Apps Vanilla

Jonny Buchanan 5.5k Jan 3, 2023
Web applications with node.js and React

Electrode Web Applications with node.js and React The Electrode project was developed to make node.js and React the primary tech choices for developin

Electrode 2.1k Dec 10, 2022
Starting a new JS app? Build, test and run advanced apps with kyt πŸ”₯

kyt Every sizable JavaScript web app needs a common foundation: a setup to build, run, test and lint your code. kyt is a toolkit that encapsulates and

The New York Times 1.9k Dec 26, 2022
Full-Stack solution to quickly build PWA applications with Vue.js and Firebase

Welcome to bento-starter ?? ?? bento-starter is an Open-Source Full-Stack solution that helps you to build fast and maintainable web applications usin

Franck Abgrall 1.5k Jan 5, 2023