diff --git a/src/ui/Domo/build/css-loaders.js b/src/ui/Domo/build/css-loaders.js deleted file mode 100644 index ec8a9cc1..00000000 --- a/src/ui/Domo/build/css-loaders.js +++ /dev/null @@ -1,34 +0,0 @@ -var ExtractTextPlugin = require('extract-text-webpack-plugin') - -module.exports = function (options) { - // generate loader string to be used with extract text plugin - function generateLoaders (loaders) { - var sourceLoader = loaders.map(function (loader) { - var extraParamChar - if (/\?/.test(loader)) { - loader = loader.replace(/\?/, '-loader?') - extraParamChar = '&' - } else { - loader = loader + '-loader' - extraParamChar = '?' - } - return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '') - }).join('!') - - if (options.extract) { - return ExtractTextPlugin.extract('vue-style-loader', sourceLoader) - } else { - return ['vue-style-loader', sourceLoader].join('!') - } - } - - // http://vuejs.github.io/vue-loader/configurations/extract-css.html - return { - css: generateLoaders(['css']), - less: generateLoaders(['css', 'less']), - sass: generateLoaders(['css', 'sass?indentedSyntax']), - scss: generateLoaders(['css', 'sass']), - stylus: generateLoaders(['css', 'stylus']), - styl: generateLoaders(['css', 'stylus']) - } -} diff --git a/src/ui/Domo/build/dev-client.js b/src/ui/Domo/build/dev-client.js deleted file mode 100644 index 89f00795..00000000 --- a/src/ui/Domo/build/dev-client.js +++ /dev/null @@ -1,8 +0,0 @@ -require('eventsource-polyfill') -var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') - -hotClient.subscribe(function (event) { - if (event.action === 'reload') { - window.location.reload() - } -}) diff --git a/src/ui/Domo/build/dev-server.js b/src/ui/Domo/build/dev-server.js deleted file mode 100644 index 23976942..00000000 --- a/src/ui/Domo/build/dev-server.js +++ /dev/null @@ -1,66 +0,0 @@ -var express = require('express') -var webpack = require('webpack') -var config = require('./webpack.dev.conf') -var proxyMiddleware = require('http-proxy-middleware') - -var app = express() -var compiler = webpack(config) - -// Define HTTP proxies to your custom API backend -// https://github.com/chimurai/http-proxy-middleware -var proxyTable = { - // '/api': { - // target: 'http://jsonplaceholder.typicode.com', - // changeOrigin: true, - // pathRewrite: { - // '^/api': '' - // } - // } -} - -var devMiddleware = require('webpack-dev-middleware')(compiler, { - publicPath: config.output.publicPath, - stats: { - colors: true, - chunks: false - } -}) - -var hotMiddleware = require('webpack-hot-middleware')(compiler) -// force page reload when html-webpack-plugin template changes -compiler.plugin('compilation', function (compilation) { - compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { - hotMiddleware.publish({ action: 'reload' }) - cb() - }) -}) - -// proxy api requests -Object.keys(proxyTable).forEach(function (context) { - var options = proxyTable[context] - if (typeof options === 'string') { - options = { target: options } - } - app.use(proxyMiddleware(context, options)) -}) - -// handle fallback for HTML5 history API -app.use(require('connect-history-api-fallback')()) - -// serve webpack bundle output -app.use(devMiddleware) - -// enable hot-reload and state-preserving -// compilation error display -app.use(hotMiddleware) - -// serve pure static assets -app.use('/static', express.static('./static')) - -module.exports = app.listen(8080, function (err) { - if (err) { - console.log(err) - return - } - console.log('Listening at http://localhost:8080') -}) diff --git a/src/ui/Domo/build/webpack.base.conf.js b/src/ui/Domo/build/webpack.base.conf.js deleted file mode 100644 index 21c0c752..00000000 --- a/src/ui/Domo/build/webpack.base.conf.js +++ /dev/null @@ -1,77 +0,0 @@ -var path = require('path') -var cssLoaders = require('./css-loaders') -var projectRoot = path.resolve(__dirname, '../') - -module.exports = { - entry: { - app: './src/main.js' - }, - output: { - path: path.resolve(__dirname, '../dist/static'), - publicPath: '/static/', - filename: '[name].js' - }, - resolve: { - extensions: ['', '.js', '.vue'], - fallback: [path.join(__dirname, '../node_modules')], - alias: { - 'src': path.resolve(__dirname, '../src') - } - }, - resolveLoader: { - fallback: [path.join(__dirname, '../node_modules')] - }, - module: { - preLoaders: [ - { - test: /\.vue$/, - loader: 'eslint', - include: projectRoot, - exclude: /node_modules/ - }, - { - test: /\.js$/, - loader: 'eslint', - include: projectRoot, - exclude: /node_modules/ - } - ], - loaders: [ - { - test: /\.vue$/, - loader: 'vue' - }, - { - test: /\.js$/, - loader: 'babel', - include: projectRoot, - exclude: /node_modules/ - }, - { - test: /\.json$/, - loader: 'json' - }, - { - test: /\.html$/, - loader: 'vue-html' - }, - { - test: /\.(png|jpg|gif|svg|woff2?|eot|ttf)(\?.*)?$/, - loader: 'url', - query: { - limit: 10000, - name: '[name].[ext]?[hash:7]' - } - } - ] - }, - vue: { - loaders: cssLoaders({ - sourceMap: false, - extract: false - }) - }, - eslint: { - formatter: require('eslint-friendly-formatter') - } -} diff --git a/src/ui/Domo/build/webpack.dev.conf.js b/src/ui/Domo/build/webpack.dev.conf.js deleted file mode 100644 index 861da889..00000000 --- a/src/ui/Domo/build/webpack.dev.conf.js +++ /dev/null @@ -1,31 +0,0 @@ -var webpack = require('webpack') -var merge = require('webpack-merge') -var baseConfig = require('./webpack.base.conf') -var HtmlWebpackPlugin = require('html-webpack-plugin') - -// add hot-reload related code to entry chunks -Object.keys(baseConfig.entry).forEach(function (name) { - baseConfig.entry[name] = ['./build/dev-client'].concat(baseConfig.entry[name]) -}) - -module.exports = merge(baseConfig, { - // eval-source-map is faster for development - devtool: '#eval-source-map', - output: { - // necessary for the html plugin to work properly - // when serving the html from in-memory - publicPath: '/' - }, - plugins: [ - // https://github.com/glenjamin/webpack-hot-middleware#installation--usage - new webpack.optimize.OccurenceOrderPlugin(), - new webpack.HotModuleReplacementPlugin(), - new webpack.NoErrorsPlugin(), - // https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'index.html', - inject: true - }) - ] -}) diff --git a/src/ui/Domo/build/webpack.prod.conf.js b/src/ui/Domo/build/webpack.prod.conf.js deleted file mode 100644 index 752262f9..00000000 --- a/src/ui/Domo/build/webpack.prod.conf.js +++ /dev/null @@ -1,60 +0,0 @@ -var webpack = require('webpack') -var merge = require('webpack-merge') -var baseConfig = require('./webpack.base.conf') -var cssLoaders = require('./css-loaders') -var ExtractTextPlugin = require('extract-text-webpack-plugin') -var HtmlWebpackPlugin = require('html-webpack-plugin') - -// whether to generate source map for production files. -// disabling this can speed up the build. -var SOURCE_MAP = true - -module.exports = merge(baseConfig, { - stats: { - children: false - }, - devtool: SOURCE_MAP ? '#source-map' : false, - output: { - // naming output files with hashes for better caching. - // dist/index.html will be auto-generated with correct URLs. - filename: '[name].[chunkhash].js', - chunkFilename: '[id].[chunkhash].js' - }, - vue: { - loaders: cssLoaders({ - sourceMap: SOURCE_MAP, - extract: true - }) - }, - plugins: [ - // http://vuejs.github.io/vue-loader/workflow/production.html - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: '"production"' - } - }), - new webpack.optimize.UglifyJsPlugin({ - compress: { - warnings: false - } - }), - new webpack.optimize.OccurenceOrderPlugin(), - // extract css into its own file - new ExtractTextPlugin('[name].[contenthash].css'), - // generate dist index.html with correct asset hash for caching. - // you can customize output by editing /index.html - // see https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: '../index.html', - template: 'index.html', - inject: true, - minify: { - removeComments: true, - collapseWhitespace: true, - removeAttributeQuotes: true - // more options: - // https://github.com/kangax/html-minifier#options-quick-reference - } - }) - ] -}) diff --git a/src/ui/Domo/index.html b/src/ui/Domo/index.html index 6344377d..c3fa65fc 100644 --- a/src/ui/Domo/index.html +++ b/src/ui/Domo/index.html @@ -15,7 +15,9 @@ Domo - - +

pouet

+ + + diff --git a/src/ui/Domo/package.json b/src/ui/Domo/package.json index f6e37812..32648508 100644 --- a/src/ui/Domo/package.json +++ b/src/ui/Domo/package.json @@ -5,16 +5,11 @@ "author": "NADAL Jean-Baptiste", "private": true, "scripts": { - "dev": "node build/dev-server.js", - "build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js", - "unit": "karma start test/unit/karma.conf.js --single-run", - "e2e": "node test/e2e/runner.js", - "test": "npm run unit && npm run e2e" + "dev": "webpack-dev-server --inline --hot", + "build": "cross-env NODE_ENV=production webpack --progress --hide-modules" }, "dependencies": { - "vue": "^1.0.17", - "vue-router": "~0.7.11", - "vue-mdl": "~0.4.0" + "vue": "^1.0.17" }, "devDependencies": { "babel-core": "^6.0.0", @@ -22,50 +17,16 @@ "babel-plugin-transform-runtime": "^6.0.0", "babel-preset-es2015": "^6.0.0", "babel-preset-stage-2": "^6.0.0", - "chromedriver": "^2.21.2", - "connect-history-api-fallback": "^1.1.0", - "cross-env": "^1.0.7", - "cross-spawn": "^2.1.5", + "cross-env": "^1.0.6", "css-loader": "^0.23.0", - "eslint": "^2.0.0", - "eslint-config-standard": "^5.1.0", - "eslint-friendly-formatter": "^1.2.2", - "eslint-loader": "^1.3.0", - "eslint-plugin-html": "^1.3.0", - "eslint-plugin-promise": "^1.0.8", - "eslint-plugin-standard": "^1.3.2", - "eventsource-polyfill": "^0.9.6", - "express": "^4.13.3", - "extract-text-webpack-plugin": "^1.0.1", "file-loader": "^0.8.4", - "function-bind": "^1.0.2", - "html-webpack-plugin": "^2.8.1", - "http-proxy-middleware": "^0.11.0", - "inject-loader": "^2.0.1", - "isparta-loader": "^2.0.0", - "jasmine-core": "^2.4.1", "json-loader": "^0.5.4", - "karma": "^0.13.15", - "karma-coverage": "^0.5.5", - "karma-jasmine": "^0.3.6", - "karma-phantomjs-launcher": "^1.0.0", - "karma-sourcemap-loader": "^0.3.7", - "karma-spec-reporter": "0.0.24", - "karma-webpack": "^1.7.0", - "mkdirp": "^0.5.1", - "ncp": "^2.0.0", - "nightwatch": "^0.8.18", - "phantomjs-prebuilt": "^2.1.3", - "rimraf": "^2.5.0", - "selenium-server": "2.52.0", "url-loader": "^0.5.7", "vue-hot-reload-api": "^1.2.0", "vue-html-loader": "^1.0.0", "vue-loader": "^8.2.1", "vue-style-loader": "^1.0.0", "webpack": "^1.12.2", - "webpack-dev-middleware": "^1.4.0", - "webpack-hot-middleware": "^2.6.0", - "webpack-merge": "^0.8.3" + "webpack-dev-server": "^1.12.0" } } diff --git a/src/ui/Domo/src/App.vue b/src/ui/Domo/src/App.vue index c974f1a9..4145b6a4 100644 --- a/src/ui/Domo/src/App.vue +++ b/src/ui/Domo/src/App.vue @@ -1,46 +1,25 @@ diff --git a/src/ui/Domo/src/components/Hello.vue b/src/ui/Domo/src/components/Hello.vue deleted file mode 100644 index a177f07f..00000000 --- a/src/ui/Domo/src/components/Hello.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/src/ui/Domo/src/main.js b/src/ui/Domo/src/main.js index 02f99c37..6c68dc4b 100644 --- a/src/ui/Domo/src/main.js +++ b/src/ui/Domo/src/main.js @@ -1,19 +1,7 @@ import Vue from 'vue' -import VueRouter from 'vue-router' -import App from './App' -/* import routerMap from './router' */ +import App from './App.vue' -/* eslint-disable no-new */ new Vue({ el: 'body', components: { App } }) - -Vue.use(VueRouter); - -/*var router = new VueRouter() - -routerMap(router) - -router.start(App, 'app') -*/ \ No newline at end of file diff --git a/src/ui/Domo/src/router.js b/src/ui/Domo/src/router.js deleted file mode 100644 index e10b7e0f..00000000 --- a/src/ui/Domo/src/router.js +++ /dev/null @@ -1,32 +0,0 @@ -// define some components -var Foo = Vue.extend({ - template: '

This is foo!

' -}) - -var Bar = Vue.extend({ - template: '

This is bar!

' -}) - - -module.exports = function(router){ - router.map({ - '/foo': { - component: Foo - }, - '/bar': { - component: Bar - }, - '*': { - component: require('./components/index.vue') - }, - '/': { - component: require('./components/index.vue') - }, - '/list': { - component: require('./components/list.vue') - }, - '/asi': { - component: require('./components/asi.vue') - } - }) -} diff --git a/src/ui/Domo/test/e2e/custom-assertions/elementCount.js b/src/ui/Domo/test/e2e/custom-assertions/elementCount.js deleted file mode 100644 index c0d5fe00..00000000 --- a/src/ui/Domo/test/e2e/custom-assertions/elementCount.js +++ /dev/null @@ -1,26 +0,0 @@ -// A custom Nightwatch assertion. -// the name of the method is the filename. -// can be used in tests like this: -// -// browser.assert.elementCount(selector, count) -// -// for how to write custom assertions see -// http://nightwatchjs.org/guide#writing-custom-assertions -exports.assertion = function (selector, count) { - this.message = 'Testing if element <' + selector + '> has count: ' + count - this.expected = count - this.pass = function (val) { - return val === this.expected - } - this.value = function (res) { - return res.value - } - this.command = function (cb) { - var self = this - return this.api.execute(function (selector) { - return document.querySelectorAll(selector).length - }, [selector], function (res) { - cb.call(self, res) - }) - } -} diff --git a/src/ui/Domo/test/e2e/nightwatch.conf.js b/src/ui/Domo/test/e2e/nightwatch.conf.js deleted file mode 100644 index b959a3ab..00000000 --- a/src/ui/Domo/test/e2e/nightwatch.conf.js +++ /dev/null @@ -1,40 +0,0 @@ -// http://nightwatchjs.org/guide#settings-file -module.exports = { - "src_folders": ["test/e2e/specs"], - "output_folder": "test/e2e/reports", - "custom_assertions_path": ["test/e2e/custom-assertions"], - - "selenium": { - "start_process": true, - "server_path": "node_modules/selenium-server/lib/runner/selenium-server-standalone-2.52.0.jar", - "host": "127.0.0.1", - "port": 4444, - "cli_args": { - "webdriver.chrome.driver": require('chromedriver').path - } - }, - - "test_settings": { - "default": { - "selenium_port": 4444, - "selenium_host": "localhost", - "silent": true - }, - - "chrome": { - "desiredCapabilities": { - "browserName": "chrome", - "javascriptEnabled": true, - "acceptSslCerts": true - } - }, - - "firefox": { - "desiredCapabilities": { - "browserName": "firefox", - "javascriptEnabled": true, - "acceptSslCerts": true - } - } - } -} diff --git a/src/ui/Domo/test/e2e/runner.js b/src/ui/Domo/test/e2e/runner.js deleted file mode 100644 index 8ee195a7..00000000 --- a/src/ui/Domo/test/e2e/runner.js +++ /dev/null @@ -1,30 +0,0 @@ -// 1. start the dev server -var server = require('../../build/dev-server.js') - -// 2. run the nightwatch test suite against it -// to run in additional browsers: -// 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings" -// 2. add it to the --env flag below -// For more information on Nightwatch's config file, see -// http://nightwatchjs.org/guide#settings-file -var spawn = require('cross-spawn') -var runner = spawn( - './node_modules/.bin/nightwatch', - [ - '--config', 'test/e2e/nightwatch.conf.js', - '--env', 'chrome,firefox' - ], - { - stdio: 'inherit' - } -) - -runner.on('exit', function (code) { - server.close() - process.exit(code) -}) - -runner.on('error', function (err) { - server.close() - throw err -}) diff --git a/src/ui/Domo/test/e2e/specs/test.js b/src/ui/Domo/test/e2e/specs/test.js deleted file mode 100644 index 49bc7f70..00000000 --- a/src/ui/Domo/test/e2e/specs/test.js +++ /dev/null @@ -1,14 +0,0 @@ -// For authoring Nightwatch tests, see -// http://nightwatchjs.org/guide#usage - -module.exports = { - 'default e2e tests': function (browser) { - browser - .url('http://localhost:8080') - .waitForElementVisible('#app', 5000) - .assert.elementPresent('.logo') - .assert.containsText('h1', 'Hello World!') - .assert.elementCount('p', 3) - .end() - } -} diff --git a/src/ui/Domo/test/unit/.eslintrc b/src/ui/Domo/test/unit/.eslintrc deleted file mode 100644 index 52939e2a..00000000 --- a/src/ui/Domo/test/unit/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "env": { - "jasmine": true - } -} diff --git a/src/ui/Domo/test/unit/index.js b/src/ui/Domo/test/unit/index.js deleted file mode 100644 index 42202514..00000000 --- a/src/ui/Domo/test/unit/index.js +++ /dev/null @@ -1,13 +0,0 @@ -// Polyfill fn.bind() for PhantomJS -/* eslint-disable no-extend-native */ -Function.prototype.bind = require('function-bind') - -// require all test files (files that ends with .spec.js) -var testsContext = require.context('./specs', true, /\.spec$/) -testsContext.keys().forEach(testsContext) - -// require all src files except main.js for coverage. -// you can also change this to match only the subset of files that -// you want coverage for. -var srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/) -srcContext.keys().forEach(srcContext) diff --git a/src/ui/Domo/test/unit/karma.conf.js b/src/ui/Domo/test/unit/karma.conf.js deleted file mode 100644 index 85cf7255..00000000 --- a/src/ui/Domo/test/unit/karma.conf.js +++ /dev/null @@ -1,65 +0,0 @@ -// This is a karma config file. For more details see -// http://karma-runner.github.io/0.13/config/configuration-file.html -// we are also using it with karma-webpack -// https://github.com/webpack/karma-webpack - -var path = require('path') -var merge = require('webpack-merge') -var baseConfig = require('../../build/webpack.base.conf') -var projectRoot = path.resolve(__dirname, '../../') - -var webpackConfig = merge(baseConfig, { - // use inline sourcemap for karma-sourcemap-loader - devtool: '#inline-source-map', - vue: { - loaders: { - js: 'isparta' - } - } -}) - -// no need for app entry during tests -delete webpackConfig.entry - -// make sure isparta loader is applied before eslint -webpackConfig.module.preLoaders.unshift({ - test: /\.js$/, - loader: 'isparta', - include: projectRoot, - exclude: /test\/unit|node_modules/ -}) - -// only apply babel for test files when using isparta -webpackConfig.module.loaders.some(function (loader, i) { - if (loader.loader === 'babel') { - loader.include = /test\/unit/ - return true - } -}) - -module.exports = function (config) { - config.set({ - // to run in additional browsers: - // 1. install corresponding karma launcher - // http://karma-runner.github.io/0.13/config/browsers.html - // 2. add it to the `browsers` array below. - browsers: ['PhantomJS'], - frameworks: ['jasmine'], - reporters: ['spec', 'coverage'], - files: ['./index.js'], - preprocessors: { - './index.js': ['webpack', 'sourcemap'] - }, - webpack: webpackConfig, - webpackMiddleware: { - noInfo: true - }, - coverageReporter: { - dir: './coverage', - reporters: [ - { type: 'lcov', subdir: '.' }, - { type: 'text-summary' } - ] - } - }) -} diff --git a/src/ui/Domo/test/unit/specs/Hello.spec.js b/src/ui/Domo/test/unit/specs/Hello.spec.js deleted file mode 100644 index 65bcf4ce..00000000 --- a/src/ui/Domo/test/unit/specs/Hello.spec.js +++ /dev/null @@ -1,15 +0,0 @@ -import Vue from 'vue' -import Hello from 'src/components/Hello' - -describe('Hello.vue', () => { - it('should render correct contents', () => { - const vm = new Vue({ - template: '
', - components: { Hello } - }).$mount() - expect(vm.$el.querySelector('.hello h1').textContent).toBe('Hello World!') - }) -}) - -// also see example testing a component with mocks at -// https://github.com/vuejs/vue-loader-example/blob/master/test/unit/a.spec.js#L24-L49