@ -0,0 +1,18 @@ | |||
{ | |||
"presets": [ | |||
["env", { | |||
"modules": false, | |||
"targets": { | |||
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"] | |||
} | |||
}], | |||
"stage-2" | |||
], | |||
"plugins": ["transform-vue-jsx", "transform-runtime"], | |||
"env": { | |||
"test": { | |||
"presets": ["env", "stage-2"], | |||
"plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"] | |||
} | |||
} | |||
} |
@ -0,0 +1,9 @@ | |||
root = true | |||
[*] | |||
charset = utf-8 | |||
indent_style = space | |||
indent_size = 2 | |||
end_of_line = lf | |||
insert_final_newline = true | |||
trim_trailing_whitespace = true |
@ -0,0 +1,5 @@ | |||
/build/ | |||
/config/ | |||
/dist/ | |||
/*.js | |||
/test/unit/coverage/ |
@ -0,0 +1,29 @@ | |||
// https://eslint.org/docs/user-guide/configuring | |||
module.exports = { | |||
root: true, | |||
parserOptions: { | |||
parser: 'babel-eslint' | |||
}, | |||
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' | |||
], | |||
// required to lint *.vue files | |||
plugins: [ | |||
'vue' | |||
], | |||
// add your custom rules here | |||
rules: { | |||
// allow async-await | |||
'generator-star-spacing': 'off', | |||
// allow debugger during development | |||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' | |||
} | |||
} |
@ -0,0 +1,10 @@ | |||
// https://github.com/michael-ciniawsky/postcss-load-config | |||
module.exports = { | |||
"plugins": { | |||
"postcss-import": {}, | |||
"postcss-url": {}, | |||
// to edit target browsers: use "browserslist" field in package.json | |||
"autoprefixer": {} | |||
} | |||
} |
@ -0,0 +1,30 @@ | |||
# music | |||
> A Vue.js project | |||
## Build Setup | |||
``` bash | |||
# install dependencies | |||
npm install | |||
# serve with hot reload at localhost:8080 | |||
npm run dev | |||
# build for production with minification | |||
npm run build | |||
# build for production and view the bundle analyzer report | |||
npm run build --report | |||
# run unit tests | |||
npm run unit | |||
# run e2e tests | |||
npm run e2e | |||
# run all tests | |||
npm test | |||
``` | |||
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). |
@ -0,0 +1,11 @@ | |||
<!DOCTYPE html> | |||
<html> | |||
<head> | |||
<meta charset="utf-8"> | |||
<meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
<title>音乐</title> | |||
</head> | |||
<body> | |||
<div id="app"></div> | |||
</body> | |||
</html> |
@ -0,0 +1,91 @@ | |||
{ | |||
"name": "music", | |||
"version": "1.0.0", | |||
"private": true, | |||
"scripts": { | |||
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", | |||
"start": "npm run dev", | |||
"unit": "jest --config test/unit/jest.conf.js --coverage", | |||
"e2e": "node test/e2e/runner.js", | |||
"test": "npm run unit && npm run e2e", | |||
"lint": "eslint --ext .js,.vue src test/unit test/e2e/specs", | |||
"build": "node build/build.js" | |||
}, | |||
"dependencies": { | |||
"axios": "^0.18.0", | |||
"element-ui": "^2.4.11", | |||
"vue": "^2.6.11", | |||
"vue-router": "^3.0.7", | |||
"vuex": "^3.0.1" | |||
}, | |||
"devDependencies": { | |||
"autoprefixer": "^7.1.2", | |||
"babel-core": "^6.22.1", | |||
"babel-eslint": "^8.2.1", | |||
"babel-helper-vue-jsx-merge-props": "^2.0.3", | |||
"babel-jest": "^21.0.2", | |||
"babel-loader": "^7.1.1", | |||
"babel-plugin-dynamic-import-node": "^1.2.0", | |||
"babel-plugin-syntax-jsx": "^6.18.0", | |||
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", | |||
"babel-plugin-transform-runtime": "^6.22.0", | |||
"babel-plugin-transform-vue-jsx": "^3.5.0", | |||
"babel-preset-env": "^1.3.2", | |||
"babel-preset-stage-2": "^6.22.0", | |||
"babel-register": "^6.22.0", | |||
"chalk": "^2.0.1", | |||
"chromedriver": "^2.27.2", | |||
"copy-webpack-plugin": "^4.0.1", | |||
"cross-spawn": "^5.0.1", | |||
"css-loader": "^0.28.11", | |||
"eslint": "^4.15.0", | |||
"eslint-config-standard": "^10.2.1", | |||
"eslint-friendly-formatter": "^3.0.0", | |||
"eslint-loader": "^1.7.1", | |||
"eslint-plugin-import": "^2.7.0", | |||
"eslint-plugin-node": "^5.2.0", | |||
"eslint-plugin-promise": "^3.4.0", | |||
"eslint-plugin-standard": "^3.0.1", | |||
"eslint-plugin-vue": "^4.0.0", | |||
"extract-text-webpack-plugin": "^3.0.0", | |||
"file-loader": "^1.1.4", | |||
"friendly-errors-webpack-plugin": "^1.6.1", | |||
"html-webpack-plugin": "^2.30.1", | |||
"jest": "^22.0.4", | |||
"jest-serializer-vue": "^0.3.0", | |||
"nightwatch": "^0.9.12", | |||
"node-notifier": "^5.1.2", | |||
"node-sass": "^4.14.0", | |||
"optimize-css-assets-webpack-plugin": "^3.2.0", | |||
"ora": "^1.2.0", | |||
"portfinder": "^1.0.13", | |||
"postcss-import": "^11.0.0", | |||
"postcss-loader": "^2.0.8", | |||
"postcss-url": "^7.2.1", | |||
"rimraf": "^2.6.0", | |||
"sass-loader": "^7.3.1", | |||
"selenium-server": "^3.0.1", | |||
"semver": "^5.3.0", | |||
"shelljs": "^0.7.6", | |||
"uglifyjs-webpack-plugin": "^1.1.1", | |||
"url-loader": "^0.5.8", | |||
"vue-jest": "^1.0.2", | |||
"vue-loader": "^13.3.0", | |||
"vue-router": "^3.0.7", | |||
"vue-style-loader": "^3.0.1", | |||
"vue-template-compiler": "^2.5.2", | |||
"webpack": "^3.6.0", | |||
"webpack-bundle-analyzer": "^3.6.0", | |||
"webpack-dev-server": "^2.9.1", | |||
"webpack-merge": "^4.1.0" | |||
}, | |||
"engines": { | |||
"node": ">= 6.0.0", | |||
"npm": ">= 3.0.0" | |||
}, | |||
"browserslist": [ | |||
"> 1%", | |||
"last 2 versions", | |||
"not ie <= 8" | |||
] | |||
} |