Compare commits

..

16 Commits

Author SHA1 Message Date
Chris 614fcfc54e 1.0.0 2015-11-17 07:39:46 +01:00
Chris bbd0f7666e Updated babel to 6.0 2015-11-17 07:39:34 +01:00
Chris 33150f0cf6 Reverted fix for config merge. 2015-10-29 08:34:29 +01:00
Chris 831fb6f8b9 Merge branch 'master' of https://github.com/weblogixx/react-webpack-template 2015-10-29 08:32:34 +01:00
Chris 2538e2c405 Reverted fix for config merge. 2015-10-29 08:32:27 +01:00
Chris 4cd213706e Merge pull request #10 from mjul/merge_order
Fix override order for base.js and dev.js / dist.js
2015-10-29 08:03:40 +01:00
Martin Jul b3f99eb73e Fix override order for base.js and dev.js / dist.js 2015-10-27 23:27:18 +01:00
Chris a6867e3c9f 0.3.2 2015-10-27 08:47:03 +01:00
Chris 827dd86a3c Added support for bower components, as requested in https://github.com/weblogixx/react-webpack-template/issues/8 2015-10-27 08:45:12 +01:00
Chris 89f6f1701b Added support for coverage reporting (as requested in https://github.com/newtriks/generator-react-webpack/issues/158) 2015-10-27 08:08:26 +01:00
Chris ed4e8a17f3 0.3.1 2015-10-23 09:46:08 +02:00
Chris 99ef0116e0 Updated changelog for 0.3.1 2015-10-23 09:45:53 +02:00
Chris 3027a257aa Added new dev dependencies and some badges 2015-10-23 09:41:39 +02:00
Chris 65ffe317bc Merge pull request #7 from mjul/autowatch
Update by @mjul: Don't rely Karma autoWatch being true in config
2015-10-23 00:08:57 +02:00
Martin Jul 61a6776cc8 Don't rely Karma autoWatch being true in config 2015-10-22 23:36:13 +02:00
Chris d548936421 Updated changelog to reflect new pull requests. 2015-10-22 12:47:03 +02:00
10 changed files with 118 additions and 18 deletions
+6
View File
@@ -0,0 +1,6 @@
{
"presets": [
"es2015",
"react"
]
}
+3
View File
@@ -25,3 +25,6 @@ build/Release
# Dependency directory
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
# Bower
bower_components/
+21
View File
@@ -1,5 +1,26 @@
# react-webpack-template - Changelog
## 1.0.0:
___Upgrades___:
1. Updated to babel core version (6.0.x)
2. Replaced isparta-loader with the more current (and better maintained) isparta-instrumenter-loader.
## 0.3.2:
___Features___:
1. Added support for bower components in webpack
2. Added coverage reporting via karma-coverage
## 0.3.1:
___Upgrades___:
1. Added bugfix for tests in watch mode (could be overridden by config)
2. Added new badges to README
3. Updated devDependencies to current ones
## 0.3.0:
___Upgrades___:
1. Added webpacks define plugin for dist version
2. Added new task ```test:watch``` to watch for changes
## 0.2.0:
___Upgrades:___
1. Updated React from 0.13 to 0.14 (using ```^0.14```) as version string. This included minor code changes for components (now use the splitted "React"-Package) and the runner (Using React-DOM).
+29 -4
View File
@@ -1,8 +1,8 @@
# Welcome to react-webpack-template
> This repository holds a base template for the new version of generator-react-webpack.
It can be understood as the prototype for newly generated projects.
> This repository holds the base template for the current version of [generator-react-webpack](https://github.com/newtriks/generator-react-webpack).
It can also be used as the prototype for newly generated projects.
[![Build Status](https://travis-ci.org/weblogixx/react-webpack-template.svg)](https://travis-ci.org/weblogixx/react-webpack-template)
[![Build Status](https://travis-ci.org/weblogixx/react-webpack-template.svg)](https://travis-ci.org/weblogixx/react-webpack-template) ![Amount of Downloads per month](https://img.shields.io/npm/dm/react-webpack-template.svg "Amount of Downloads") ![Dependency Tracker](https://img.shields.io/david/weblogixx/react-webpack-template.svg "Dependency Tracker") ![Dependency Tracker](https://img.shields.io/david/dev/weblogixx/react-webpack-template.svg "Dependency Tracker")
## Features
The following features are currently included:
@@ -10,9 +10,10 @@ The following features are currently included:
- [x] Webpack and Webpack-Dev-Server, including hot-loader
- [x] Babel and JSX
- [x] Mocha Unit tests (*optional*)
- [x] EsLint Support
- [x] esLint Support
- [x] No dependency on grunt, gulp or the next hot taskrunner!
- [x] Support for environment-specific configuration files
- [x] Support for code coverage via [isparta-loader](https://github.com/deepsweet/isparta-loader)
## Todo
- [ ] Better performance for webpack builds
@@ -64,6 +65,30 @@ webpack-dev-server --env=dev
webpack --env=dist
webpack-dev-server --env=dist
```
## A note on unit testing
When running tests, coverage information (provided via Istanbul) will also be written into the ```coverage/``` directory. If you do not need this, just comment out or remove the section in ```karma.conf``` like this:
```javascript
/* do not use coverage reporting!
coverageReporter: {
type: 'html',
dir: 'coverage/'
}*/
```
Also, you should adjust your webpack test configuration (located in ```cfg/test.js```) to reflect this:
```javascript
/* Uncomment this to prevent loading via isparta
{
test: /\.(js|jsx)$/,
loader: 'babel-loader',
include: [
path.join(__dirname, '/../src')
],
loader: 'isparta'
}*/
```
## License
react-webpack-template is available under MIT-License and can therefore be used in any project free of charge.
+7 -1
View File
@@ -4,6 +4,9 @@ var _ = require('lodash');
var baseConfig = require('./base');
// Add needed plugins here
var BowerWebpackPlugin = require('bower-webpack-plugin');
var config = _.merge({
entry: [
'webpack-dev-server/client?http://127.0.0.1:8000',
@@ -14,7 +17,10 @@ var config = _.merge({
devtool: 'eval',
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin()
new webpack.NoErrorsPlugin(),
new BowerWebpackPlugin({
searchResolveModulesDirectories: false
})
]
}, baseConfig);
+6
View File
@@ -4,6 +4,9 @@ var _ = require('lodash');
var baseConfig = require('./base');
// Add needed plugins here
var BowerWebpackPlugin = require('bower-webpack-plugin');
var config = _.merge({
entry: path.join(__dirname, '../src/components/run'),
cache: false,
@@ -13,6 +16,9 @@ var config = _.merge({
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"production"'
}),
new BowerWebpackPlugin({
searchResolveModulesDirectories: false
}),
new webpack.optimize.UglifyJsPlugin(),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.optimize.AggressiveMergingPlugin(),
+19 -2
View File
@@ -1,9 +1,21 @@
var path = require('path');
var srcPath = path.join(__dirname, '/../src/');
// Add needed plugins here
var BowerWebpackPlugin = require('bower-webpack-plugin');
module.exports = {
devtool: 'eval',
module: {
preLoaders: [
{
test: /\.(js|jsx)$/,
loader: 'isparta-instrumenter-loader',
include: [
path.join(__dirname, '/../src')
]
}
],
loaders: [
{
test: /\.(png|jpg|gif|woff|woff2|css|sass|scss|less|styl)$/,
@@ -20,7 +32,7 @@ module.exports = {
]
},
resolve: {
extensions: ['', '.js', '.jsx'],
extensions: [ '', '.js', '.jsx' ],
alias: {
actions: srcPath + 'actions/',
helpers: path.join(__dirname, '/../test/helpers'),
@@ -30,5 +42,10 @@ module.exports = {
styles: srcPath + 'styles/',
config: srcPath + 'config/' + process.env.REACT_WEBPACK_ENV
}
}
},
plugins: [
new BowerWebpackPlugin({
searchResolveModulesDirectories: false
})
]
};
+11 -4
View File
@@ -3,24 +3,31 @@ var webpackCfg = require('./webpack.config');
module.exports = function(config) {
config.set({
basePath: '',
browsers: ['PhantomJS'],
browsers: [ 'PhantomJS' ],
files: [
'test/loadtests.js'
],
port: 8080,
captureTimeout: 60000,
frameworks: ['phantomjs-shim', 'mocha', 'chai'],
frameworks: [ 'phantomjs-shim', 'mocha', 'chai' ],
client: {
mocha: {}
},
singleRun: true,
reporters: ['mocha'],
reporters: [ 'mocha', 'coverage' ],
preprocessors: {
'test/loadtests.js': ['webpack', 'sourcemap']
'test/loadtests.js': [ 'webpack', 'sourcemap' ]
},
webpack: webpackCfg,
webpackServer: {
noInfo: true
},
coverageReporter: {
dir: 'coverage/',
reporters: [
{ type: 'html' },
{ type: 'text' }
]
}
});
};
+12 -6
View File
@@ -1,12 +1,12 @@
{
"name": "react-webpack-template",
"version": "0.3.0",
"version": "1.0.0",
"description": "A base skeleton template for react and webpack without task runners",
"main": "server.js",
"scripts": {
"start": "node server.js --env=dev",
"test": "karma start",
"test:watch": "karma start --singleRun=false",
"test:watch": "karma start --autoWatch=true --singleRun=false",
"posttest": "npm run lint",
"serve": "node server.js --env=dev",
"serve:dist": "node server.js --env=dist",
@@ -36,17 +36,23 @@
},
"homepage": "https://github.com/weblogixx/react-webpack-template#readme",
"devDependencies": {
"babel-core": "^5.8.22",
"babel-loader": "^5.3.2",
"babel-core": "^6.0.0",
"babel-loader": "^6.0.0",
"babel-preset-es2015": "^6.0.15",
"babel-preset-react": "^6.0.15",
"bower-webpack-plugin": "^0.1.9",
"chai": "^3.2.0",
"copyfiles": "^0.2.1",
"css-loader": "^0.16.0",
"css-loader": "^0.21.0",
"eslint": "^1.2.1",
"eslint-loader": "^1.0.0",
"eslint-plugin-react": "^3.3.0",
"file-loader": "^0.8.4",
"glob": "^5.0.15",
"isparta-instrumenter-loader": "^0.2.2",
"karma": "^0.13.9",
"karma-chai": "^0.1.0",
"karma-coverage": "^0.5.3",
"karma-mocha": "^0.2.0",
"karma-mocha-reporter": "^1.1.1",
"karma-phantomjs-launcher": "^0.2.1",
@@ -60,7 +66,7 @@
"phantomjs": "^1.9.18",
"react-hot-loader": "^1.2.9",
"rimraf": "^2.4.3",
"style-loader": "^0.12.3",
"style-loader": "^0.13.0",
"url-loader": "^0.5.6",
"webpack": "^1.12.0",
"webpack-dev-server": "^1.12.0"
+4 -1
View File
@@ -1,2 +1,5 @@
var testsContext = require.context('.', true, /(Test\.js$)|(Helper\.js$)/);
'use strict';
// Add support for all files in the test directory
const testsContext = require.context('.', true, /(Test\.js$)|(Helper\.js$)/);
testsContext.keys().forEach(testsContext);