{"id":13652556,"url":"https://github.com/WhitestormJS/whitestorm-typescript-boilerplate","last_synced_at":"2025-04-23T03:30:59.193Z","repository":{"id":126476095,"uuid":"87646288","full_name":"WhitestormJS/whitestorm-typescript-boilerplate","owner":"WhitestormJS","description":"📦 🚀 TypeScript boilerplate for WhitestormJS using react/redux ⚛","archived":false,"fork":false,"pushed_at":"2018-08-28T17:39:46.000Z","size":211,"stargazers_count":288,"open_issues_count":1,"forks_count":18,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-09T23:17:08.938Z","etag":null,"topics":["boilerplate","react","react-redux","redux","starter-kit","threejs","typescript","whitestormjs","whs"],"latest_commit_sha":null,"homepage":"https://github.com/WhitestormJS/whitestorm-typescript-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/WhitestormJS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-04-08T16:05:18.000Z","updated_at":"2025-02-23T12:39:15.000Z","dependencies_parsed_at":"2023-06-16T23:15:26.697Z","dependency_job_id":null,"html_url":"https://github.com/WhitestormJS/whitestorm-typescript-boilerplate","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhitestormJS%2Fwhitestorm-typescript-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhitestormJS%2Fwhitestorm-typescript-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhitestormJS%2Fwhitestorm-typescript-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhitestormJS%2Fwhitestorm-typescript-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WhitestormJS","download_url":"https://codeload.github.com/WhitestormJS/whitestorm-typescript-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250365377,"owners_count":21418680,"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":["boilerplate","react","react-redux","redux","starter-kit","threejs","typescript","whitestormjs","whs"],"created_at":"2024-08-02T02:01:00.443Z","updated_at":"2025-04-23T03:30:56.422Z","avatar_url":"https://github.com/WhitestormJS.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# WhiteStormJS - React/Redux - three.js - TypeScript boilerplate\n[![Build Status](https://travis-ci.org/WhitestormJS/whitestorm-typescript-boilerplate.svg?branch=master)](https://travis-ci.org/WhitestormJS/whitestorm-typescript-boilerplate)\n[![Dependency Status](https://david-dm.org/whitestormJS/whitestorm-typescript-boilerplate.svg)](https://david-dm.org/whitestormJS/whitestorm-typescript-boilerplate)\n[![devDependency Status](https://david-dm.org/whitestormJS/whitestorm-typescript-boilerplate/dev-status.svg)](https://david-dm.org/whitestormJS/whitestorm-typescript-boilerplate#info=devDependencies)\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/hirako2000/polypack/blob/master/LICENSE)\n\n**WhiteStorm TypeScript Boilerplate** is a starter kit for crafting  3D applications using modern technologies:\n- [TypeScript](https://www.typescriptlang.org/)\n- [WhiteStormJS](https://whs.io)\n- [three.js](https://threejs.org/)\n- [React](https://github.com/facebook/react) \u0026 [Redux](https://github.com/reactjs/redux)\n\n## [Video](https://streamable.com/nvvlv)\n\n[![](http://i.imgur.com/QUPK7Ej.jpg)](https://streamable.com/nvvlv)\n\n## Dynamic updates - Redux\n\n![](http://i.imgur.com/JQoXKp1.png)\n\n## Libraries\nThis starter kit also uses the following libraries and tools:\n\n#### Core\n- [React DOM](https://github.com/facebook/react) for views.\n- [React Router](https://github.com/reactjs/react-router) to handle in-app routing.\n- [React-Redux](https://github.com/reactjs/react-redux) to use React-Redux bindings.\n- [React-Router-Redux](https://github.com/reactjs/react-router-redux) to keep application state sync with route changes.\n\n#### Utilities\n- [Redux Thunk](https://github.com/gaearon/redux-thunk) for dispatching async actions.\n- [Redux Connect](https://github.com/makeomatic/redux-connect) for resolving async props in react-router.\n- [React Helmet](https://github.com/nfl/react-helmet)\n- [classnames](https://github.com/JedWatson/classnames)\n\n#### Build System\n- [Webpack](https://github.com/webpack/webpack) for bundling.\n  - [Awesome TypeScript Loader](https://github.com/s-panferov/awesome-typescript-loader) as ts loader.\n  - [Babel Loader](https://github.com/babel/babel-loader) as js loader.\n  - [React Hot Loader](https://github.com/gaearon/react-hot-loader) for providing hot reload capability to our development server\n  - [Style Loader](https://github.com/webpack/style-loader)\n  - [CSS Loader](https://github.com/webpack/css-loader)\n  - [PostCSS Loader](https://github.com/postcss/postcss)\n    - [PostCSS cssnext](https://github.com/MoOx/postcss-cssnext)\n    - [PostCSS Assets](https://github.com/assetsjs/postcss-assets)\n  - [JSON Loader](https://github.com/webpack/json-loader)\n  - [File Loader](https://github.com/webpack/file-loader)\n  - [URL Loader](https://github.com/webpack/url-loader)\n  - [Sourcemap Loader](https://github.com/webpack/source-map-loader)\n  - [Manifest Plugin](https://github.com/danethurber/webpack-manifest-plugin)\n  - [Extract Text Plugin](https://github.com/webpack/extract-text-webpack-plugin) for exporting bundled css.\n  - [tslint Loader](https://github.com/wbuchwalter/tslint-loader) for using tslint as preloader on build process.\n  - [stylelint Loader](https://github.com/adrianhall/stylelint-loader) for using stylelint as preloader on build process.\n\n#### Dev \u0026 Prod Server\n- [Webpack Dev Server](https://github.com/webpack/webpack-dev-server)\n  - [Webpack Dev Middleware](https://github.com/webpack/webpack-dev-middleware)\n  - [Webpack Hot Middleware](https://github.com/webpack/webpack-hot-middleware)\n- [Express](https://github.com/expressjs/express) for running server both on client and server side.\n- [Compression](https://github.com/expressjs/compression) for gzip compression\n- [Serve Favicon](https://github.com/expressjs/serve-favicon) for serving favicon.\n\n#### Developer Experience\n- [Typings](https://github.com/typings/typings) for installing type definitions of external libraries.\n- [tslint](https://github.com/palantir/tslint) for linting TypeScript files.\n- [stylelint](https://github.com/stylelint/stylelint) for linting styles.\n- [Redux Logger](https://github.com/theaqua/redux-logger)\n- [Redux DevTools](https://github.com/gaearon/redux-devtools)\n- [Chalk](https://github.com/chalk/chalk) for colored terminal logs.\n\n#### Testing\n- [Jest](https://facebook.github.io/jest/) for unit testing.\n- [Fetch Mock](https://github.com/wheresrhys/fetch-mock) for testing async actions.\n- [Redux Mock Store](https://github.com/arnaudbenard/redux-mock-store) for creating mock stores.\n\n## Directory Structure\n```bash\n.\n├── build                       # Built, ready to serve app.\n├── config                      # Root folder for configurations.\n│   ├── types                   # Global type definitions, written by us.\n│   ├── webpack                 # Webpack configurations.\n│   └── main.ts                 # Generic App configurations.\n├── node_modules                # Node Packages.\n├── src                         # Source code.\n│   ├── app                     # App folder.\n│   │ ├── components            # React Components.\n│   │ ├── containers            # React/Redux Containers.\n│   │ ├── helpers               # Helper Functions \u0026 Components.\n│   │ ├── redux                 # Redux related code aka data layer of the app.\n│   │ │   ├── modules           # Redux modules.   \n│   │ │   ├── reducers.ts       # Main reducers file to combine them.  \n│   │ │   └── store.ts          # Redux store, contains global app state.   \n│   │ └── routes.tsx            # Routes.\n│   ├── client.tsx              # Entry point for client side rendering.\n│   ├── index.html              # root page template\n│   └── server.tsx              # Entry point for server of static content.\n├── typings                     # Type definitions installed with typings.              \n├── .gitignore                  # Tells git which files to ignore.\n├── .stylelintrc                # Configures stylelint.\n├── Dockerfile                  # Dockerfile.\n├── favicon.ico                 # Favicon.\n├── package.json                # Package configuration.\n├── README.md                   # This file\n├── tsconfig.json               # TypeScript transpiler configuration.\n├── tslint.json                 # Configures tslint.\n└── typings.json                # Typings package configuration.\n```\n\n## Installation\n\nYou can clone from this repository or [install the latest version](https://github.com/whitestormJS/whitestorm-typescript-boilerplate/releases) as a zip file.\n\n```bash\n$ git clone https://github.com/whitestormJS/whitestorm-typescript-boilerplate\n$ cd whitestorm-typescript-boilerplate\n$ npm install\n```\n\n## Usage\n\nAll commands defaults to development environment. You can set `NODE_ENV` to `production` or use the shortcuts below.\n\n```bash\n# Running\n\n$ npm start # This starts the app in development mode\n\n# Starting it with the production build\n$ NODE_ENV=production npm start # or\n$ npm run start:prod\n\n# Building\n\n$ npm build # This builds the app in development mode\n\n# Commands below builds the production build\n$ NODE_ENV=production npm build # or\n$ npm run build:prod\n\n# Testing\n$ npm test\n```\n\n## Notes\n```bash\n# If you want install additional libraries, you can also install their typings from DefinitelyTyped\n$ typings install dt~\u003cpackage\u003e --global --save\n# or if it's located on npm\n$ typings install \u003cpackage\u003e --save-dev\n```\n\n## Credits\n\n[MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWhitestormJS%2Fwhitestorm-typescript-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWhitestormJS%2Fwhitestorm-typescript-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWhitestormJS%2Fwhitestorm-typescript-boilerplate/lists"}