Giter Site home page Giter Site logo

react-regl-electron-boilerplate's Introduction

React Regl Electron Boilerplate

Dependencies Status Dev Dependencies Status Peer Dependencies Status

Build Status codecov

The essential framework for Regl and React-Electron development.

Included

Requirements

Follow instructions to setup based on system.

Note for Windows, you may run npm install --global windows-build-tools instead of manually installing Visual C++ Redistributable (requires 2015 or higher).

Setup

  1. Clone the repository
  2. Install the latest Node JS and Yarn and simply run yarn or yarn install command in the project directory.
  3. git remote add base https://github.com/psychobolt/react-electron-boilerplate

Local development

During development, run watch task:

yarn start # compile new code changes and reloads the app

Alternatively, you can launch "Debug App" in Visual Studio Code in debugger.

Testing only with production code (watch and debug unnecessary):

yarn prod

Adding dependencies (libraries)

yarn add [package-name] --dev
yarn add [package-name]

For any packages you wish to include in the app build, install as a non-development dependency in src/package.json and specify it as externals in webpack config. Any native code included in src/package.json will be compiled for platform target during npm's postinstall.

Adding DevTools

Modify the file devtools.json. For example:

{
    "Redux DevTools": {
        "id": "lmhkpmbekcpmknklioeibfkpmmfibljd",
        "version": "2.17.0"
    }
}

Merging from base project

This project is a fork from psychobolt's react-electron-boilerplate. To fetch latest changes, git remote add base https://github.com/psychobolt/react-electron-boilerplate.git. On a clean working branch, git pull base master, and fix any conflicts before commit.

Static Type Checker

yarn flow

Some extensions such as in Visual Studio Code detect .flowconfig and run type checking in the editor.

Static Types

yarn flow # performs type checking on files

See official documentation for a usage guide.

Yarn will usually run postinstall for updating flowtype definitions when new packages are added. To manually update typed definitions yourself:

yarn flow-typed-install:dev # installs development flowtypes
yarn flow-typed-install:app # installs app flowtypes

See additional documentation for adding type definitions.

Lint

The watch task will automatically lint on file changes. However, you can invoke the linter directly:

yarn lint # runs linter to detect any style issues (CSS & JSS)

yarn lint:css # lint only CSS
yarn lint:css --fix # tries to fix CSS lint issues

yarn lint:js # lint only JS
yarn lint:js --fix # tries to fix CSS lint issues

See official documentation for a usage guide.

Test

yarn test # runs functional/unit tests using Jest
yarn test --coverage # with coverage
yarn test-e2e # run end-to-end tests. (build required)

Build

yarn build

For configuration details, see electron-builder.

react-regl-electron-boilerplate's People

Contributors

psychobolt avatar

Watchers

 avatar James Cloos avatar  avatar

react-regl-electron-boilerplate's Issues

Support point light shadows

  • Use gl frame buffer cube to create a shadow cube
  • Ability to switch lighting modes (point light, directional light)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.