commit a8fabb15fd58bccf26ea9041079c80524ea71d45 Author: saplf Date: Fri Sep 28 15:20:43 2018 +0800 First init diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..9dee646 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not ie <= 8 diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..a28165f --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,30 @@ +module.exports = { + root: true, + env: { + browser: true, + }, + 'extends': [ + // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention + // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules. + 'plugin:vue/essential', + // https://github.com/standard/standard/blob/master/docs/RULES-en.md + 'standard', + ], + rules: { + // allow async-await + 'generator-star-spacing': 'off', + // allow debugger during development + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + // comma dangle + 'comma-dangle': ['error', 'always-multiline'], + // space between function and parentheses + 'space-before-function-paren': ['error', { + 'anonymous': 'never', + 'named': 'never', + 'asyncArrow': 'always', + }], + }, + parserOptions: { + parser: 'babel-eslint', + }, +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..185e663 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +.DS_Store +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* diff --git a/README.md b/README.md new file mode 100644 index 0000000..6f84c1f --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# console + +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Run your tests +``` +npm run test +``` + +### Lints and fixes files +``` +npm run lint +``` + +### Run your unit tests +``` +npm run test:unit +``` diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..d39e57b --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/app', + ], +} diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..56cb2bc --- /dev/null +++ b/jest.config.js @@ -0,0 +1,23 @@ +module.exports = { + moduleFileExtensions: [ + 'js', + 'jsx', + 'json', + 'vue', + ], + transform: { + '^.+\\.vue$': 'vue-jest', + '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub', + '^.+\\.jsx?$': 'babel-jest', + }, + moduleNameMapper: { + '^@/(.*)$': '/src/$1', + }, + snapshotSerializers: [ + 'jest-serializer-vue', + ], + testMatch: [ + '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)', + ], + testURL: 'http://localhost/', +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b68dc33 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "console", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint", + "test:unit": "vue-cli-service test:unit" + }, + "dependencies": { + "vue": "^2.5.17", + "vue-router": "^3.0.1", + "vuex": "^3.0.1" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "^3.0.4", + "@vue/cli-plugin-eslint": "^3.0.4", + "@vue/cli-plugin-unit-jest": "^3.0.4", + "@vue/cli-service": "^3.0.4", + "@vue/eslint-config-standard": "^3.0.4", + "@vue/test-utils": "^1.0.0-beta.20", + "babel-core": "7.0.0-bridge.0", + "babel-jest": "^23.0.1", + "node-sass": "^4.9.0", + "sass-loader": "^7.0.1", + "vue-template-compiler": "^2.5.17" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..90d9fff --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {}, + }, +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..c7b9a43 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..709892f --- /dev/null +++ b/public/index.html @@ -0,0 +1,17 @@ + + + + + + + + console + + + +
+ + + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..f300d4b --- /dev/null +++ b/src/App.vue @@ -0,0 +1,29 @@ + + + diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000..f3d2503 Binary files /dev/null and b/src/assets/logo.png differ diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..a9ef81c --- /dev/null +++ b/src/main.js @@ -0,0 +1,15 @@ +import Vue from 'vue' +import App from './App.vue' +import router from './router' +import store from './store' +import { app } from './services' + +Vue.config.productionTip = false +Vue.config.devtools = app.dev +Vue.config.performance = !app.dev + +new Vue({ + router, + store, + render: h => h(App), +}).$mount('#app') diff --git a/src/router.js b/src/router.js new file mode 100644 index 0000000..5cacada --- /dev/null +++ b/src/router.js @@ -0,0 +1,23 @@ +import Vue from 'vue' +import Router from 'vue-router' +import Home from './views/Home.vue' + +Vue.use(Router) + +export default new Router({ + routes: [ + { + path: '/', + name: 'home', + component: Home, + }, + { + path: '/about', + name: 'about', + // route level code-splitting + // this generates a separate chunk (about.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('./views/About.vue'), + }, + ], +}) diff --git a/src/services/app.js b/src/services/app.js new file mode 100644 index 0000000..6246c42 --- /dev/null +++ b/src/services/app.js @@ -0,0 +1,3 @@ +export default { + dev: process.env.NODE_ENV === 'development', +} diff --git a/src/services/index.js b/src/services/index.js new file mode 100644 index 0000000..694eac2 --- /dev/null +++ b/src/services/index.js @@ -0,0 +1 @@ +export { default as app } from './app' diff --git a/src/store/chain.js b/src/store/chain.js new file mode 100644 index 0000000..56e2b7b --- /dev/null +++ b/src/store/chain.js @@ -0,0 +1,8 @@ +import Vuex from 'vuex' + +export default new Vuex.Store({ + state: {}, + mutations: {}, + actions: {}, + getters: {}, +}) diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..e215d1e --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,15 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import chain from './chain' +import market from './market' +import network from './network' +import owner from './owner' + +Vue.use(Vuex) + +export default new Vuex.Store({ + chain, + owner, + market, + network, +}) diff --git a/src/store/market.js b/src/store/market.js new file mode 100644 index 0000000..56e2b7b --- /dev/null +++ b/src/store/market.js @@ -0,0 +1,8 @@ +import Vuex from 'vuex' + +export default new Vuex.Store({ + state: {}, + mutations: {}, + actions: {}, + getters: {}, +}) diff --git a/src/store/network.js b/src/store/network.js new file mode 100644 index 0000000..56e2b7b --- /dev/null +++ b/src/store/network.js @@ -0,0 +1,8 @@ +import Vuex from 'vuex' + +export default new Vuex.Store({ + state: {}, + mutations: {}, + actions: {}, + getters: {}, +}) diff --git a/src/store/node.js b/src/store/node.js new file mode 100644 index 0000000..56e2b7b --- /dev/null +++ b/src/store/node.js @@ -0,0 +1,8 @@ +import Vuex from 'vuex' + +export default new Vuex.Store({ + state: {}, + mutations: {}, + actions: {}, + getters: {}, +}) diff --git a/src/store/owner.js b/src/store/owner.js new file mode 100644 index 0000000..56e2b7b --- /dev/null +++ b/src/store/owner.js @@ -0,0 +1,8 @@ +import Vuex from 'vuex' + +export default new Vuex.Store({ + state: {}, + mutations: {}, + actions: {}, + getters: {}, +}) diff --git a/src/views/About.vue b/src/views/About.vue new file mode 100644 index 0000000..3fa2807 --- /dev/null +++ b/src/views/About.vue @@ -0,0 +1,5 @@ + diff --git a/src/views/Home.vue b/src/views/Home.vue new file mode 100644 index 0000000..0e5cba5 --- /dev/null +++ b/src/views/Home.vue @@ -0,0 +1,11 @@ + + + diff --git a/tests/unit/.eslintrc.js b/tests/unit/.eslintrc.js new file mode 100644 index 0000000..c529c26 --- /dev/null +++ b/tests/unit/.eslintrc.js @@ -0,0 +1,5 @@ +module.exports = { + env: { + jest: true, + }, +} diff --git a/tests/unit/example.spec.js b/tests/unit/example.spec.js new file mode 100644 index 0000000..ec66979 --- /dev/null +++ b/tests/unit/example.spec.js @@ -0,0 +1,12 @@ +// import { shallowMount } from '@vue/test-utils' +// import HelloWorld from '@/components/HelloWorld.vue' +// +// describe('HelloWorld.vue', () => { +// it('renders props.msg when passed', () => { +// const msg = 'new message' +// const wrapper = shallowMount(HelloWorld, { +// propsData: { msg }, +// }) +// expect(wrapper.text()).toMatch(msg) +// }) +// }) diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..52bf563 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,9 @@ +module.exports = { + baseUrl: undefined, + outputDir: undefined, + assetsDir: undefined, + runtimeCompiler: undefined, + productionSourceMap: false, + parallel: undefined, + css: undefined, +}