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
							
								
									397e848e26
								
							
						
					
					
						commit
						dcdd5ac31d
					
				
							
								
								
									
										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