forked from boranton/testcafe-workshop
Upgrade to the latest babel AND webpack@beta
This commit is contained in:
parent
938ba06efb
commit
f80ec74553
@ -2,13 +2,12 @@ import 'todomvc-common/base.css';
|
|||||||
import 'todomvc-app-css/index.css';
|
import 'todomvc-app-css/index.css';
|
||||||
|
|
||||||
import View from './view';
|
import View from './view';
|
||||||
import helpers from './helpers';
|
import {$on} from './helpers';
|
||||||
import Controller from './controller';
|
import Controller from './controller';
|
||||||
import Model from './model';
|
import Model from './model';
|
||||||
import Store from './store';
|
import Store from './store';
|
||||||
import Template from './template';
|
import Template from './template';
|
||||||
|
|
||||||
var $on = helpers.$on;
|
|
||||||
/**
|
/**
|
||||||
* Sets up a brand new Todo list.
|
* Sets up a brand new Todo list.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*global NodeList */
|
/*global NodeList */
|
||||||
export default {qs, qsa, $on, $delegate, $parent};
|
export {qs, qsa, $on, $delegate, $parent};
|
||||||
|
|
||||||
// Get element(s) by CSS selector:
|
// Get element(s) by CSS selector:
|
||||||
function qs(selector, scope) {
|
function qs(selector, scope) {
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import {qs, qsa, $on, $parent, $delegate} from './helpers';
|
|||||||
* - render(command, parameterObject)
|
* - render(command, parameterObject)
|
||||||
* Renders the given command with the options
|
* Renders the given command with the options
|
||||||
*/
|
*/
|
||||||
export default class View {
|
class View {
|
||||||
constructor(template) {
|
constructor(template) {
|
||||||
this.template = template;
|
this.template = template;
|
||||||
|
|
||||||
@ -204,3 +204,5 @@ function _itemId(element) {
|
|||||||
var li = $parent(element, 'li');
|
var li = $parent(element, 'li');
|
||||||
return parseInt(li.dataset.id, 10);
|
return parseInt(li.dataset.id, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default View
|
||||||
|
|||||||
@ -72,13 +72,5 @@ module.exports = function (config) {
|
|||||||
// Continuous Integration mode
|
// Continuous Integration mode
|
||||||
// if true, Karma captures browsers, runs the tests and exits
|
// if true, Karma captures browsers, runs the tests and exits
|
||||||
singleRun: false,
|
singleRun: false,
|
||||||
|
|
||||||
plugins: [
|
|
||||||
require('karma-webpack'),
|
|
||||||
'karma-jasmine',
|
|
||||||
'karma-firefox-launcher',
|
|
||||||
'karma-chrome-launcher',
|
|
||||||
'karma-coverage'
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
36
package.json
36
package.json
@ -1,27 +1,27 @@
|
|||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"todomvc-common": "1.0.2",
|
"todomvc-app-css": "2.0.4",
|
||||||
"todomvc-app-css": "2.0.1"
|
"todomvc-common": "1.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel": "5.8.21",
|
"babel": "6.5.2",
|
||||||
"babel-core": "5.8.22",
|
"babel-core": "6.7.4",
|
||||||
"babel-loader": "5.3.2",
|
"babel-loader": "6.2.4",
|
||||||
"css-loader": "0.15.6",
|
"babel-plugin-__coverage__": "0.1111.1",
|
||||||
"isparta": "3.0.3",
|
"babel-preset-es2015-webpack": "6.4.0",
|
||||||
"isparta-loader": "0.2.0",
|
"babel-preset-stage-2": "6.5.0",
|
||||||
"istanbul": "0.3.17",
|
"css-loader": "0.23.1",
|
||||||
"jasmine-core": "2.3.4",
|
"jasmine-core": "2.4.1",
|
||||||
"karma": "0.13.8",
|
"karma": "0.13.22",
|
||||||
"karma-chrome-launcher": "0.2.0",
|
"karma-chrome-launcher": "0.2.3",
|
||||||
"karma-coverage": "0.5.0",
|
"karma-coverage": "0.5.5",
|
||||||
"karma-firefox-launcher": "0.1.6",
|
"karma-firefox-launcher": "0.1.7",
|
||||||
"karma-jasmine": "0.3.6",
|
"karma-jasmine": "0.3.8",
|
||||||
"karma-webpack": "1.7.0",
|
"karma-webpack": "1.7.0",
|
||||||
"style-loader": "0.12.3",
|
"style-loader": "0.13.1",
|
||||||
"webpack": "1.11.0",
|
"webpack": "2.1.0-beta.4",
|
||||||
"webpack-dev-server": "1.10.1"
|
"webpack-dev-server": "2.0.0-beta"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "NODE_ENV=test karma start",
|
"test": "NODE_ENV=test karma start",
|
||||||
|
|||||||
@ -1,39 +1,62 @@
|
|||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
|
||||||
var config = {
|
var config = {
|
||||||
entry: './app.js',
|
entry: './app.js',
|
||||||
output: {
|
output: {
|
||||||
filename: 'bundle.js',
|
filename: 'bundle.js',
|
||||||
path: here()
|
path: here()
|
||||||
},
|
},
|
||||||
context: here('js'),
|
context: here('js'),
|
||||||
devtool: 'eval',
|
devtool: 'eval',
|
||||||
module: {
|
module: {
|
||||||
loaders: [
|
loaders: [
|
||||||
{test: /\.css$/, loader: 'style!css'}
|
{test: /\.css$/, loader: 'style!css'}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
config.module.loaders = getJSLoaders().concat(config.module.loaders);
|
config.module.loaders = getJSLoaders().concat(config.module.loaders);
|
||||||
|
|
||||||
if (process.env.NODE_ENV === 'test') {
|
if (process.env.NODE_ENV === 'test') {
|
||||||
config.entry = './ControllerSpec.js';
|
config.entry = './ControllerSpec.js';
|
||||||
config.context = here('test');
|
config.context = here('test');
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = config;
|
module.exports = config;
|
||||||
|
|
||||||
function getJSLoaders() {
|
function getJSLoaders() {
|
||||||
var jsLoaders = [];
|
var jsLoaders = [];
|
||||||
if (process.env.NODE_ENV === 'test') {
|
var presets = ['es2015-webpack', 'stage-2']
|
||||||
jsLoaders.push({test: /js\/.*\.js$/, loader: 'isparta', exclude: /node_modules/});
|
var test = process.env.NODE_ENV === 'test'
|
||||||
jsLoaders.push({test: /test\/.*\.js$/, loader: 'babel', exclude: /node_modules/});
|
if (test) {
|
||||||
} else {
|
jsLoaders.push({
|
||||||
jsLoaders.push({test: /\.js$/, loader: 'babel', exclude: /node_modules/});
|
test: /js\/.*\.js$/,
|
||||||
}
|
loader: 'babel',
|
||||||
return jsLoaders;
|
exclude: /node_modules/,
|
||||||
|
query: {
|
||||||
|
presets: presets,
|
||||||
|
plugins: ['__coverage__'],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
jsLoaders.push({
|
||||||
|
test: /test\/.*\.js$/,
|
||||||
|
loader: 'babel',
|
||||||
|
exclude: /node_modules/,
|
||||||
|
query: {
|
||||||
|
presets: presets,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
jsLoaders.push({
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'babel',
|
||||||
|
exclude: /node_modules/,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return jsLoaders;
|
||||||
}
|
}
|
||||||
|
|
||||||
function here(d) {
|
function here(d) {
|
||||||
return d ? path.join(__dirname, d) : __dirname;
|
return d ? path.join(__dirname, d) : __dirname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user