mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	Setup react, webpack, babel, hmr etc #153
This commit is contained in:
		
							parent
							
								
									9103d8b10c
								
							
						
					
					
						commit
						1ef53117c9
					
				
							
								
								
									
										8
									
								
								packages/unleash-frontend-next/.babelrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								packages/unleash-frontend-next/.babelrc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| { | ||||
|   "presets": ["react", "es2015", "stage-0"], | ||||
|   "env": { | ||||
|     "development": { | ||||
|       "presets": ["react-hmre"] | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										6
									
								
								packages/unleash-frontend-next/.eslintrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								packages/unleash-frontend-next/.eslintrc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| { | ||||
|     "extends": [ | ||||
|         "finn", | ||||
|         "finn/node" | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										11
									
								
								packages/unleash-frontend-next/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								packages/unleash-frontend-next/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!doctype html> | ||||
| <html> | ||||
|   <head> | ||||
|     <title>Sample App</title> | ||||
|   </head> | ||||
|   <body> | ||||
|     <div id='root'> | ||||
|     </div> | ||||
|     <script src="/static/bundle.js"></script> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										9
									
								
								packages/unleash-frontend-next/jest-preprocessor.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								packages/unleash-frontend-next/jest-preprocessor.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| // preprocessor.js
 | ||||
| 'use strict'; | ||||
| 
 | ||||
| const ReactTools = require('react-tools'); | ||||
| module.exports = { | ||||
|     process (src) { | ||||
|         return ReactTools.transform(src); | ||||
|     }, | ||||
| }; | ||||
							
								
								
									
										64
									
								
								packages/unleash-frontend-next/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								packages/unleash-frontend-next/package.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| { | ||||
|   "name": "unleash-frontend", | ||||
|   "description": "unleash your features", | ||||
|   "version": "1.0.0-alpha.2", | ||||
|   "keywords": [ | ||||
|     "unleash", | ||||
|     "feature toggle", | ||||
|     "feature", | ||||
|     "toggle" | ||||
|   ], | ||||
|   "files": [ | ||||
|     "public" | ||||
|   ], | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "ssh://git@github.com:finn-no/unleash.git" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/finn-no/unleash/issues" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": "6" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "build": "webpack -p", | ||||
|     "start": "NODE_ENV=development node server", | ||||
|     "hot-dev-server": "webpack-dev-server --config webpack-hot-dev-server.config.js --hot --progress --colors --port 3000 --inline", | ||||
|     "test": "jest", | ||||
|     "test:ci": "npm run test" | ||||
|   }, | ||||
|   "main": "./lib/index.js", | ||||
|   "dependencies": { | ||||
|     "react": "^15.3.1", | ||||
|     "react-dom": "^15.3.1", | ||||
|     "react-router": "^2.8.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "babel-core": "^6.14.0", | ||||
|     "babel-loader": "^6.2.5", | ||||
|     "babel-preset-es2015": "^6.14.0", | ||||
|     "babel-preset-react": "^6.11.1", | ||||
|     "babel-preset-react-hmre": "^1.1.1", | ||||
|     "babel-preset-stage-0": "^6.5.0", | ||||
|     "webpack": "^1.13.2", | ||||
|     "webpack-dev-server": "^1.15.1" | ||||
|   }, | ||||
|   "jest": { | ||||
|     "scriptPreprocessor": "<rootDir>/jest-preprocessor.js", | ||||
|     "modulePathIgnorePatterns": [ | ||||
|       "<rootDir>/node_modules/npm" | ||||
|     ], | ||||
|     "unmockedModulePathPatterns": [ | ||||
|       "<rootDir>/node_modules/react", | ||||
|       "<rootDir>/node_modules/reflux" | ||||
|     ], | ||||
|     "moduleFileExtensions": [ | ||||
|       "jsx", | ||||
|       "js" | ||||
|     ] | ||||
|   }, | ||||
|   "pre-commit": [ | ||||
|     "lint" | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										16
									
								
								packages/unleash-frontend-next/server.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								packages/unleash-frontend-next/server.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| 'use strict'; | ||||
| const webpack = require('webpack'); | ||||
| const WebpackDevServer = require('webpack-dev-server'); | ||||
| const config = require('./webpack.config'); | ||||
| 
 | ||||
| new WebpackDevServer(webpack(config), { | ||||
|     colors: true, | ||||
|     publicPath: config.output.publicPath, | ||||
|     hot: true, | ||||
|     historyApiFallback: true, | ||||
| }).listen(3000, 'localhost', (err) => { | ||||
|     if (err) { | ||||
|         return console.log(err); | ||||
|     } | ||||
|     console.log('Listening at http://localhost:3000/'); | ||||
| }); | ||||
							
								
								
									
										9
									
								
								packages/unleash-frontend-next/src/App.jsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								packages/unleash-frontend-next/src/App.jsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| import React, { Component } from 'react'; | ||||
| 
 | ||||
| export default class App extends Component { | ||||
|   render() { | ||||
|     return ( | ||||
|       <h1>Hello, world</h1> | ||||
|     ); | ||||
|   } | ||||
| } | ||||
							
								
								
									
										7
									
								
								packages/unleash-frontend-next/src/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								packages/unleash-frontend-next/src/index.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| 'use strict'; | ||||
| 
 | ||||
| import React from 'react'; | ||||
| import ReactDOM from 'react-dom'; | ||||
| import App from './App'; | ||||
| 
 | ||||
| ReactDOM.render(<App />, document.getElementById('root')); | ||||
							
								
								
									
										48
									
								
								packages/unleash-frontend-next/webpack.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								packages/unleash-frontend-next/webpack.config.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | ||||
| // docs: http://webpack.github.io/docs/configuration.html
 | ||||
| 
 | ||||
| 'use strict'; | ||||
| 
 | ||||
| const path = require('path'); | ||||
| const webpack = require('webpack'); | ||||
| 
 | ||||
| module.exports = { | ||||
|     entry: [ | ||||
|         'webpack-dev-server/client?http://localhost:3000', | ||||
|         'webpack/hot/only-dev-server', | ||||
|         './src/index', | ||||
|     ], | ||||
| 
 | ||||
|     resolve: { | ||||
|         root: [path.join(__dirname, 'src')], | ||||
|         extensions: ['', '.js', '.jsx'], | ||||
|         modulesDirectories: ['web_modules', 'node_modules'], | ||||
|     }, | ||||
| 
 | ||||
|     output: { | ||||
|         path: path.join(__dirname, 'dist'), | ||||
|         filename: 'bundle.js', | ||||
|         publicPath: '/static/', | ||||
|     }, | ||||
| 
 | ||||
|     module: { | ||||
|         loaders: [ | ||||
|             { | ||||
|                 test: /\.jsx?$/, | ||||
|                 exclude: /node_modules/, | ||||
|                 loaders: ['babel'], | ||||
|                 include: path.join(__dirname, 'src'), | ||||
|             }, | ||||
|         ], | ||||
|     }, | ||||
| 
 | ||||
|     plugins: [ | ||||
|         new webpack.HotModuleReplacementPlugin(), | ||||
|     ], | ||||
| 
 | ||||
|     devtool: 'source-map', | ||||
| 
 | ||||
|     externals: { | ||||
|         // stuff not in node_modules can be resolved here.
 | ||||
|     }, | ||||
| 
 | ||||
| }; | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user