{"id":15193920,"url":"https://github.com/nfq-eta/react-typescript","last_synced_at":"2025-10-02T08:31:25.593Z","repository":{"id":53140154,"uuid":"103060964","full_name":"nfq-eta/react-typescript","owner":"nfq-eta","description":"React16 + HMR + typescript + webpack + tslint + tests","archived":true,"fork":false,"pushed_at":"2021-04-05T21:57:51.000Z","size":2280,"stargazers_count":20,"open_issues_count":5,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-28T22:08:12.150Z","etag":null,"topics":["babel","editorconfig","enzyme","git","hmr","jest","jest-tests","react","react16","tests","tslint","typescript","wallaby","webpack3","yarn"],"latest_commit_sha":null,"homepage":"https://nfq-eta.github.io/react-typescript/","language":"TypeScript","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/nfq-eta.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-10T20:51:49.000Z","updated_at":"2024-05-01T19:01:01.000Z","dependencies_parsed_at":"2022-09-11T02:21:12.506Z","dependency_job_id":null,"html_url":"https://github.com/nfq-eta/react-typescript","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfq-eta%2Freact-typescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfq-eta%2Freact-typescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfq-eta%2Freact-typescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfq-eta%2Freact-typescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfq-eta","download_url":"https://codeload.github.com/nfq-eta/react-typescript/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234957843,"owners_count":18913359,"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","editorconfig","enzyme","git","hmr","jest","jest-tests","react","react16","tests","tslint","typescript","wallaby","webpack3","yarn"],"created_at":"2024-09-27T22:08:06.744Z","updated_at":"2025-10-02T08:31:20.171Z","avatar_url":"https://github.com/nfq-eta.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React \u0026 typescript boilerplate [![Build is passing?](https://travis-ci.org/nfq-eta/react-typescript.svg?branch=master)](https://travis-ci.org/nfq-eta/react-typescript) [![Coverage Status](https://coveralls.io/repos/github/nfq-eta/react-typescript/badge.svg)](https://coveralls.io/github/nfq-eta/react-typescript) [![Maintainability](https://api.codeclimate.com/v1/badges/7f1962ba5828c6273d14/maintainability)](https://codeclimate.com/github/nfq-eta/react-typescript/maintainability)\n\n# Deprecated notice\nUse [nextjs](https://nextjs.org/)\n\n## Why?\nMake it fast as possible. Current development environment starts in \u003c10s\nBuild time as fast as possible ~35s.\nBundle size should be minimum as possible\n![performance](https://i.imgur.com/t3AS08T.png)\n\n### How to start\n1. `yarn` Install dependencies\n1. Copy `.env.example` to `.env`\n1. `yarn start` Start development\n1. `yarn start:storybook` Start storybook\n1. `yarn build` Build for production\n  * **Optional:** Install [wallaby](https://wallabyjs.com/download/) plug-in for you IDE\n1. [Configure wallaby test runner](https://wallabyjs.com/docs/intro/install.html)\n1. `yarn test` Run tests to check if everything is working\n1. `yarn prepush` Run before each push\n1. `yarn start:server` Start the server with SR (Server side rendering)\n\n#### What's inside\n* webpack v3\n    * [dashboard](https://github.com/FormidableLabs/webpack-dashboard)\n    * webpack settings with typescript\n    * separated settings for development and production\n* [typescript](https://www.typescriptlang.org/) v2.8\n    * import json supported\n    * [tslint](https://palantir.github.io/tslint/) (lint typescript)\n    * [prettier](https://github.com/prettier/prettier) Automatic code formatter\n* SourceMaps\n    * Source maps for typescript\n    * Source maps for scss/css modules\n* react v16\n    * [react hot loader](https://github.com/gaearon/react-hot-loader)\n* redux\n    * react-redux\n    * redux-loger\n    * hot reload\n* scss/css [module](https://github.com/css-modules/css-modules)\n    * [stylelint](https://github.com/stylelint/stylelint) (lint scss and css)\n    * [auto typings](https://github.com/Quramy/typed-css-modules) for [css modules](https://github.com/Jimdo/typings-for-css-modules-loader)\n    * [scss/css hot loader](https://github.com/shepherdwind/css-hot-loader)\n* [jest](https://facebook.github.io/jest/) (for tests)\n    * [enzyme](http://airbnb.io/enzyme/)\n    * [wallaby](https://wallabyjs.com/) (for fast tests development)\n* git\n    * [attributes](https://github.com/nfq-eta/react-typescript/blob/87722dafa58006fa6bf672110ffc6d87fe5ae8a5/.gitattributes)\n    * [hooks](https://www.npmjs.com/package/husky) (run tasks before push)\n* [travis](https://travis-ci.org) (for [deployment](https://github.com/nfq-eta/react-typescript/blob/6312bdfdbb62130f8df8581c99407f89c20f590c/.travis.yml))\n* [yarn](https://yarnpkg.com/) (For better dependencies lock)\n    * save [exact version](https://github.com/nfq-eta/react-typescript/blob/6312bdfdbb62130f8df8581c99407f89c20f590c/.yarnrc#L1)\n    * [configured](https://github.com/nfq-eta/react-typescript/blob/6312bdfdbb62130f8df8581c99407f89c20f590c/.yarnrc#L2-L3) [releases](https://yarnpkg.com/lang/en/docs/cli/version/) `yarn version`\n* [editorconfig](http://editorconfig.org/) (consistent coding styles for different IDE)\n* IDE settings\n    * [live templates](https://github.com/nfq-eta/react-typescript/blob/41feb9fd606e4f024ff3724703141aa899d595d9/config/jetBrains/settings.jar) for JetBrains\n    * [settings](https://github.com/nfq-eta/react-typescript/tree/master/.vscode) for [Visual Studio Code](https://code.visualstudio.com/Download)\n* Storybook [Demo](https://nfq-eta.github.io/react-typescript/docs)\n    * With actions\n    * Addons\n\n## Available commands\n|              Command  | Description                            |\n|---------------------: |----------------------------------------|\n| `yarn dev`            | Start development environment          |\n| `yarn start`          | Start production environment           |\n| `yarn start:storybook`| Start storybook                        |\n| `yarn lint`           | Lint typescript files                  |\n| `yarn lint:css`       | Lint scss/css files                    |\n| `yarn test`           | Start test enviroiment for development |\n| `yarn test:coverage`  | Display tests coverage                 |\n| `yarn start:server`   | Test SSR locally                       |\n\n## Contribute\n## \u003ca name=\"commits\"\u003e\u003c/a\u003e Git Commit Guidelines\n\nWe have very precise rules over how our git commit messages can be formatted.  This leads to **more readable messages** that are easy to follow when looking through the **project history**.  But also,\nwe use the git commit messages to **generate the our change log**.\n\nThe commit message formatting can be added using a typical git workflow or through the use of a CLI\nwizard ([Commitizen](https://github.com/commitizen/cz-cli)). To use the wizard, run `yarn run cm`\nin your terminal after staging your changes in git.\n\nA detailed explanation borrowed from angular and can be found in this [document][commit-message-format].\n\n## Todo\n* [x] Automate Changelist.md\n* [ ] E2E Tests\n* [ ] i18n\n* [ ] Red box for react errors?\n* [x] Server side rendering\n* [ ] Use redux-observable instead saga\n* [ ] Assets (css, js) caching\n* [x] HMR route v4\n* [ ] PWA\n\n[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfq-eta%2Freact-typescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfq-eta%2Freact-typescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfq-eta%2Freact-typescript/lists"}