diff --git a/README.md b/README.md index 9c8d3a3ce0..23b342b1ca 100644 --- a/README.md +++ b/README.md @@ -132,34 +132,11 @@ Assuming you've already merged any changes to master and are on master locally.. 1. Fill out the release notes for the tag on GitHub and attach `dist.zip` to your notes. This is so that if you built for the development Chrome store, you can then distribute the same `dist.zip` to the production Chrome store without having to rebuild everything. If the tag is known to *not* be a release candidate, mark it as a pre-release. -# electron-react-boilerplate - -[![Build Status][travis-image]][travis-url] -[![Appveyor Build Status][appveyor-image]][appveyor-url] -[![Dependency Status][david_img]][david_site] -[![NPM version][npm-image]][npm-url] -[![Join the chat at https://gitter.im/electron-react-boilerplate/Lobby](https://badges.gitter.im/electron-react-boilerplate/Lobby.svg)](https://gitter.im/electron-react-boilerplate/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - -![](./erb-logo.png) - -> Live editing development on desktop app - -[Electron](http://electron.atom.io/) application boilerplate based on [React](https://facebook.github.io/react/), [Redux](https://github.com/reactjs/redux), [React Router](https://github.com/reactjs/react-router), [Webpack](http://webpack.github.io/docs/), [React Transform HMR](https://github.com/gaearon/react-transform-hmr) for rapid application development - -## Screenshot - -![Electron Boilerplate Demo](https://cloud.githubusercontent.com/assets/3382565/10557547/b1f07a4e-74e3-11e5-8d27-79ab6947d429.gif) - ## Install * **Note: requires a node version >= 6 and an npm version >= 3.** * **If you have installation or compilation issues with this project, please see [our debugging guide](https://github.com/chentsulin/electron-react-boilerplate/issues/400)** -First, clone the repo via git: - -```bash -git clone https://github.com/chentsulin/electron-react-boilerplate.git your-project-name -``` And then install dependencies. **ProTip**: Install with [yarn](https://github.com/yarnpkg/yarn) for faster and safer installation @@ -168,8 +145,6 @@ And then install dependencies. $ cd your-project-name && npm install ``` -:bulb: *In order to remove boilerplate sample code, simply run `npm run cleanup`. After this is run, the initial sample boilerplate code will be removed in order for a clean project for starting custom dev* - ## Run Run these two commands __simultaneously__ in different console tabs. @@ -217,7 +192,7 @@ apm install editorconfig es6-javascript atom-ternjs javascript-snippets linter l #### DevTools extension -This boilerplate is included following DevTools extensions: +This boilerplate includes the following DevTools extensions: * [Devtron](https://github.com/electron/devtron) - Install via [electron-debug](https://github.com/sindresorhus/electron-debug). * [React Developer Tools](https://github.com/facebook/react-devtools) - Install via [electron-devtools-installer](https://github.com/GPMDP/electron-devtools-installer). @@ -303,8 +278,6 @@ This boilerplate uses a [two package.json structure](https://github.com/electron 2. If a module is `import`ed by another module, include it in `dependencies` in `./package.json`. See [this ESLint rule](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-extraneous-dependencies.md). 3. Otherwise, modules used for building, testing and debugging should be included in `devDependencies` in `./package.json`. -## Static Type Checking -This project comes with Flow support out of the box! You can annotate your code with types, [get Flow errors as ESLint errors](https://github.com/amilajack/eslint-plugin-flowtype-errors), and get [type errors during runtime](https://github.com/gcanti/babel-plugin-tcomb-boilerplate) during development. Types are completely optional. ## Native-like UI diff --git a/package.json b/package.json index 645e895dda..680788f524 100644 --- a/package.json +++ b/package.json @@ -35,30 +35,25 @@ "blueimp-md5": "2.3.0", "classnames": "2.2.3", "commander": "2.9.0", + "electron-debug": "1.1.0", + "font-awesome": "4.7.0", "lodash": "3.10.1", "node-uuid": "1.4.7", - "react": "0.14.7", - "react-addons-update": "0.14.7", - "react-dom": "0.14.7", - "react-redux": "4.4.1", + "react": "15.4.2", + "react-addons-update": "15.4.2", + "react-dom": "15.4.2", + "react-redux": "5.0.2", + "react-router": "3.0.2", + "react-router-redux": "4.0.7", "react-select": "1.0.0-rc.2", - "redux": "3.3.1", - "redux-form": "5.3.1", - "redux-thunk": "2.0.1", + "redux": "3.6.0", + "redux-form": "5.3.4", + "redux-thunk": "2.2.0", "semver": "5.1.0", + "source-map-support": "0.4.10", "stack-trace": "0.0.9", "sundial": "1.6.0", - "tidepool-platform-client": "0.28.0", - "electron-debug": "^1.1.0", - "font-awesome": "^4.7.0", - "react": "^15.4.2", - "react-dom": "^15.4.2", - "react-redux": "^5.0.2", - "react-router": "^3.0.2", - "react-router-redux": "^4.0.7", - "redux": "^3.6.0", - "redux-thunk": "^2.2.0", - "source-map-support": "^0.4.10" + "tidepool-platform-client": "0.28.0" }, "browserslist": "electron 1.4", "build": { @@ -106,19 +101,55 @@ "electron": "./node_modules/.bin/electron" }, "devDependencies": { - "babel-core": "5.8.38", - "babel-eslint": "5.0.1", - "babel-loader": "5.3.3", + "asar": "0.13.0", + "babel-core": "6.22.1", + "babel-eslint": "7.1.1", + "babel-loader": "6.2.10", + "babel-plugin-add-module-exports": "0.2.1", + "babel-plugin-dev-expression": "0.2.1", "babel-plugin-rewire": "0.1.22", + "babel-plugin-tcomb": "0.3.24", + "babel-plugin-transform-class-properties": "6.22.0", + "babel-plugin-transform-es2015-classes": "6.22.0", + "babel-plugin-webpack-loaders": "0.8.0", + "babel-polyfill": "6.22.0", + "babel-preset-env": "1.1.8", + "babel-preset-react": "6.22.0", + "babel-preset-react-hmre": "1.1.1", + "babel-preset-react-optimize": "1.0.1", + "babel-preset-stage-0": "6.22.0", + "babel-register": "6.22.0", "babel-runtime": "5.8.38", + "babili-webpack-plugin": "0.0.9", + "boiler-room-custodian": "0.6.1", "chai": "3.5.0", - "css-loader": "0.23.1", + "concurrently": "3.1.0", + "cross-env": "3.1.4", + "css-loader": "0.26.1", "d3": "3.5.16", - "eslint": "1.10.3", - "eslint-plugin-react": "4.2.3", - "express": "4.13.4", + "devtron": "1.4.0", + "electron": "1.4.15", + "electron-builder": "12.2.2", + "electron-devtools-installer": "2.0.1", + "enzyme": "2.7.1", + "eslint": "3.14.0", + "eslint-config-airbnb": "14.0.0", + "eslint-formatter-pretty": "1.1.0", + "eslint-import-resolver-webpack": "0.8.1", + "eslint-plugin-compat": "1.0.1", + "eslint-plugin-import": "2.2.0", + "eslint-plugin-jsx-a11y": "3.0.2", + "eslint-plugin-mocha": "4.8.0", + "eslint-plugin-promise": "3.4.0", + "eslint-plugin-react": "6.9.0", + "express": "4.14.0", + "extract-text-webpack-plugin": "1.0.1", + "fbjs-scripts": "0.7.1", + "file-loader": "0.10.0", "flux-standard-action": "0.6.1", "gitbook-cli": "1.0.1", + "html-webpack-plugin": "2.26.0", + "jsdom": "9.9.1", "json-loader": "0.5.4", "karma": "0.13.22", "karma-chai": "0.1.0", @@ -131,85 +162,29 @@ "less": "2.6.1", "less-loader": "2.2.3", "merge-stream": "1.0.0", - "mocha": "2.4.5", + "minimist": "1.2.0", + "mocha": "3.2.0", "object-invariant-test-helper": "0.1.1", "phantomjs-prebuilt": "2.1.7", "proxyquire": "1.7.4", - "react-addons-test-utils": "0.14.7", + "react-addons-test-utils": "15.4.2", "react-hot-loader": "1.3.0", - "redux-devtools": "3.1.1", - "redux-devtools-dock-monitor": "1.1.0", - "redux-devtools-log-monitor": "1.0.5", - "redux-logger": "2.6.1", + "redux-logger": "2.7.4", "redux-mock-store": "1.1.2", "salinity": "0.0.8", - "sinon": "1.17.3", + "sinon": "1.17.7", "sinon-chai": "2.8.0", + "spectron": "3.4.1", "style-loader": "0.13.1", - "webpack": "1.12.14", + "tcomb": "3.2.16", + "url-loader": "0.5.7", + "webpack": "1.14.0", + "webpack-dev-middleware": "1.9.0", "webpack-dev-server": "1.14.1", - "write-file-webpack-plugin": "3.1.8", - "asar": "^0.13.0", - "babel-core": "^6.22.1", - "babel-eslint": "^7.1.1", - "babel-loader": "^6.2.10", - "babel-plugin-add-module-exports": "^0.2.1", - "babel-plugin-dev-expression": "^0.2.1", - "babel-plugin-tcomb": "^0.3.24", - "babel-plugin-transform-class-properties": "^6.22.0", - "babel-plugin-transform-es2015-classes": "^6.22.0", - "babel-plugin-webpack-loaders": "^0.8.0", - "babel-polyfill": "^6.22.0", - "babel-preset-env": "^1.1.8", - "babel-preset-react": "^6.22.0", - "babel-preset-react-hmre": "^1.1.1", - "babel-preset-react-optimize": "^1.0.1", - "babel-preset-stage-0": "^6.22.0", - "babel-register": "^6.22.0", - "babili-webpack-plugin": "^0.0.9", - "boiler-room-custodian": "^0.6.1", - "chai": "^3.5.0", - "concurrently": "^3.1.0", - "cross-env": "^3.1.4", - "css-loader": "^0.26.1", - "devtron": "^1.4.0", - "electron": "^1.4.15", - "electron-builder": "^12.2.2", - "electron-devtools-installer": "^2.0.1", - "enzyme": "^2.7.1", - "eslint": "^3.14.0", - "eslint-config-airbnb": "^14.0.0", - "eslint-formatter-pretty": "^1.1.0", - "eslint-import-resolver-webpack": "^0.8.1", - "eslint-plugin-compat": "^1.0.1", - "eslint-plugin-flowtype": "^2.30.0", - "eslint-plugin-flowtype-errors": "^2.0.3", - "eslint-plugin-import": "^2.2.0", - "eslint-plugin-jsx-a11y": "^3.0.2", - "eslint-plugin-mocha": "^4.8.0", - "eslint-plugin-promise": "^3.4.0", - "eslint-plugin-react": "^6.9.0", - "express": "^4.14.0", - "extract-text-webpack-plugin": "^1.0.1", - "fbjs-scripts": "^0.7.1", - "file-loader": "^0.10.0", - "html-webpack-plugin": "^2.26.0", - "jsdom": "^9.9.1", - "json-loader": "^0.5.4", - "minimist": "^1.2.0", - "mocha": "^3.2.0", - "react-addons-test-utils": "^15.4.2", - "redux-logger": "^2.7.4", - "sinon": "^1.17.7", - "spectron": "^3.4.1", - "style-loader": "^0.13.1", - "tcomb": "^3.2.16", - "url-loader": "^0.5.7", - "webpack": "^1.14.0", - "webpack-dev-middleware": "^1.9.0", - "webpack-hot-middleware": "^2.15.0", - "webpack-merge": "^2.4.0", - "webpack-validator": "^2.3.0" + "webpack-hot-middleware": "2.15.0", + "webpack-merge": "2.4.0", + "webpack-validator": "2.3.0", + "write-file-webpack-plugin": "3.1.8" }, "devEngines": { "node": ">=6.x",