index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. module.exports = (api, options) => {
  2. api.render('./template', {
  3. doesCompile: api.hasPlugin('babel') || api.hasPlugin('typescript')
  4. })
  5. api.extendPackage({
  6. scripts: {
  7. 'serve': 'vue-cli-service serve',
  8. 'build': 'vue-cli-service build'
  9. },
  10. dependencies: {
  11. 'vue': '^2.6.11'
  12. },
  13. devDependencies: {
  14. 'vue-template-compiler': '^2.6.11'
  15. },
  16. browserslist: [
  17. '> 1%',
  18. 'last 2 versions',
  19. 'not dead'
  20. ]
  21. })
  22. if (options.cssPreprocessor) {
  23. const deps = {
  24. sass: {
  25. sass: '^1.26.5',
  26. 'sass-loader': '^8.0.2'
  27. },
  28. 'node-sass': {
  29. 'node-sass': '^4.12.0',
  30. 'sass-loader': '^8.0.2'
  31. },
  32. 'dart-sass': {
  33. sass: '^1.26.5',
  34. 'sass-loader': '^8.0.2'
  35. },
  36. less: {
  37. 'less': '^3.0.4',
  38. 'less-loader': '^5.0.0'
  39. },
  40. stylus: {
  41. 'stylus': '^0.54.7',
  42. 'stylus-loader': '^3.0.2'
  43. }
  44. }
  45. api.extendPackage({
  46. devDependencies: deps[options.cssPreprocessor]
  47. })
  48. }
  49. // for v3 compatibility
  50. if (options.router && !api.hasPlugin('router')) {
  51. require('./router')(api, options)
  52. }
  53. // for v3 compatibility
  54. if (options.vuex && !api.hasPlugin('vuex')) {
  55. require('./vuex')(api)
  56. }
  57. // additional tooling configurations
  58. if (options.configs) {
  59. api.extendPackage(options.configs)
  60. }
  61. }