openatc-components 0.0.19 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +29 -29
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +107 -107
  11. package/build/package.prod.config.js +160 -160
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +114 -114
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/dev.env.js +8 -8
  18. package/config/index.js +90 -90
  19. package/config/prod.env.js +5 -5
  20. package/config/test.env.js +7 -7
  21. package/index.html +12 -12
  22. package/package/kisscomps/components/BoardCard/BoardCard.vue +85 -85
  23. package/package/kisscomps/components/BoardCard/index.js +2 -2
  24. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +119 -119
  25. package/package/kisscomps/components/CommonKanban/index.js +2 -2
  26. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -170
  27. package/package/kisscomps/components/FaultDetailModal/index.js +2 -2
  28. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -497
  29. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  30. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +295 -295
  31. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  32. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  33. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  34. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  35. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  36. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  37. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -1179
  38. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  39. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  40. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  41. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  42. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  43. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  44. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  45. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  46. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  47. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  48. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  49. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  50. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  51. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  52. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  53. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +860 -858
  54. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -112
  55. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -112
  56. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -111
  57. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  58. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  59. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -99
  60. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -99
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -99
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +78 -78
  64. package/package/kisscomps/components/IntersectionMap/index.js +2 -2
  65. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +144 -144
  66. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +273 -273
  67. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  68. package/package/kisscomps/components/OverLap/OverLap.vue +193 -193
  69. package/package/kisscomps/components/OverLap/index.js +2 -2
  70. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +832 -832
  71. package/package/kisscomps/components/PatternStatus/index.js +2 -2
  72. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +772 -772
  73. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +195 -195
  74. package/package/kisscomps/components/SchemeConfig/index.js +2 -2
  75. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +198 -198
  76. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +177 -177
  77. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +298 -298
  78. package/package/kisscomps/components/StageStatus/StageStatus.vue +304 -304
  79. package/package/kisscomps/components/StageStatus/index.js +2 -2
  80. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  81. package/package/kisscomps/components/SvgIcon/index.js +2 -2
  82. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +522 -522
  83. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  84. package/package/kisscomps/components/patternList/index.js +2 -2
  85. package/package/kisscomps/components/patternList/patternList.vue +558 -558
  86. package/package/kisscomps/index.js +69 -69
  87. package/package/kissui.min.js +1 -1
  88. package/package.json +122 -122
  89. package/src/App.vue +24 -24
  90. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  91. package/src/EdgeMgr/controller/crossDiagramMgr.js +120 -120
  92. package/src/api/authapi.js +31 -31
  93. package/src/api/config.js +21 -21
  94. package/src/api/control.js +76 -76
  95. package/src/api/fault.js +66 -66
  96. package/src/api/index.js +24 -24
  97. package/src/api/login.js +46 -46
  98. package/src/api/optimize.js +72 -72
  99. package/src/api/param.js +154 -154
  100. package/src/api/passwdAssest.js +101 -101
  101. package/src/api/template.js +27 -27
  102. package/src/i18n/index.js +26 -26
  103. package/src/i18n/language/en.js +1108 -1108
  104. package/src/i18n/language/index.js +25 -25
  105. package/src/i18n/language/zh.js +1107 -1107
  106. package/src/icons/index.js +20 -20
  107. package/src/icons/svg/bendi.svg +110 -110
  108. package/src/icons/svg/bujin.svg +36 -36
  109. package/src/icons/svg/connectBlue.svg +7 -7
  110. package/src/icons/svg/currentvolume.svg +0 -0
  111. package/src/icons/svg/cutRed.svg +7 -7
  112. package/src/icons/svg/cycle.svg +0 -0
  113. package/src/icons/svg/dingzhouqi.svg +34 -34
  114. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  115. package/src/icons/svg/guandeng.svg +81 -81
  116. package/src/icons/svg/huangshan.svg +71 -71
  117. package/src/icons/svg/maincontrol.svg +0 -0
  118. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  119. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  120. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  121. package/src/icons/svg/model.svg +0 -0
  122. package/src/icons/svg/phasediff.svg +0 -0
  123. package/src/icons/svg/quanhong.svg +86 -86
  124. package/src/icons/svg/shanghe.svg +11 -11
  125. package/src/icons/svg/shoudong.svg +103 -103
  126. package/src/icons/svg/time.svg +0 -0
  127. package/src/icons/svg/wuxianlan.svg +46 -46
  128. package/src/icons/svg/xiala.svg +11 -11
  129. package/src/icons/svg/xingrenguojie.svg +33 -33
  130. package/src/icons/svg/xitong.svg +89 -89
  131. package/src/icons/svg/youxian.svg +41 -41
  132. package/src/icons/svg/zizhukongzhi.svg +43 -43
  133. package/src/kisscomps/components/BoardCard/BoardCard.vue +85 -85
  134. package/src/kisscomps/components/BoardCard/index.js +2 -2
  135. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +119 -119
  136. package/src/kisscomps/components/CommonKanban/index.js +2 -2
  137. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -170
  138. package/src/kisscomps/components/FaultDetailModal/index.js +2 -2
  139. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -497
  140. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  141. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +295 -295
  142. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  143. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  144. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  145. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  146. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  147. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  148. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -1179
  149. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  150. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  151. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  152. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  153. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  154. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  155. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  156. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  157. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  158. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  159. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  160. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  161. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  162. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  163. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  164. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +860 -858
  165. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -112
  166. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -112
  167. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -111
  168. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  169. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  170. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -99
  171. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -99
  172. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  173. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -99
  174. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +78 -78
  175. package/src/kisscomps/components/IntersectionMap/index.js +2 -2
  176. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +144 -144
  177. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +273 -273
  178. package/src/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  179. package/src/kisscomps/components/OverLap/OverLap.vue +193 -193
  180. package/src/kisscomps/components/OverLap/index.js +2 -2
  181. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +832 -832
  182. package/src/kisscomps/components/PatternStatus/index.js +2 -2
  183. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +772 -772
  184. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +195 -195
  185. package/src/kisscomps/components/SchemeConfig/index.js +2 -2
  186. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +198 -198
  187. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +177 -177
  188. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +298 -298
  189. package/src/kisscomps/components/StageStatus/StageStatus.vue +304 -304
  190. package/src/kisscomps/components/StageStatus/index.js +2 -2
  191. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  192. package/src/kisscomps/components/SvgIcon/index.js +2 -2
  193. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +522 -522
  194. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  195. package/src/kisscomps/components/patternList/index.js +2 -2
  196. package/src/kisscomps/components/patternList/patternList.vue +558 -558
  197. package/src/kisscomps/index.js +69 -69
  198. package/src/lib/publicjs/ArryListUtil.js +38 -38
  199. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  200. package/src/lib/publicjs/KissApi.js +156 -156
  201. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  202. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  203. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  204. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  205. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  206. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  207. package/src/lib/publicjs/basecomponents.js +65 -65
  208. package/src/lib/publicjs/localStorage.js +112 -112
  209. package/src/lib/publicjs/objdeepcopy.js +32 -32
  210. package/src/lib/publicjs/pageScroll.js +30 -30
  211. package/src/lib/publicjs/passwdAssest.js +101 -101
  212. package/src/lib/publicjs/styleclassfactory.js +32 -32
  213. package/src/main.js +44 -44
  214. package/src/router/index.js +29 -29
  215. package/src/store/getters.js +16 -16
  216. package/src/store/index.js +26 -26
  217. package/src/store/modules/globalParam.js +27 -27
  218. package/src/utils/RingDataModel.js +98 -98
  219. package/src/utils/auth.js +102 -102
  220. package/src/utils/dateFormat.js +41 -41
  221. package/src/utils/errorcode.js +224 -224
  222. package/src/utils/fault.js +195 -195
  223. package/src/utils/faultcode.js +209 -209
  224. package/src/utils/index.js +69 -69
  225. package/src/utils/pedphasedesc.js +119 -119
  226. package/src/utils/phasedesc.js +124 -124
  227. package/src/utils/responseMessage.js +21 -21
  228. package/src/utils/validate.js +43 -43
  229. package/src/views/home.1.vue +479 -479
  230. package/src/views/home.vue +63 -63
  231. package/src/views/intersection.vue +86 -86
  232. package/src/views/schemeconfig.vue +146 -146
  233. package/static/apiconfig.json +336 -336
  234. package/static/styles/common.scss +17 -17
  235. package/static/styles/commonkanban.scss +87 -87
  236. package/static/styles/dark/index.scss +2 -2
  237. package/static/styles/dark/theme/element-dark.scss +42 -42
  238. package/static/styles/index.scss +84 -84
  239. package/static/styles/intersection.scss +143 -143
  240. package/static/styles/light/index.scss +2 -2
  241. package/static/styles/light/theme/element-light.scss +42 -42
  242. package/static/styles/schemeconfig.scss +298 -298
  243. package/static/token.json +2 -2
  244. package/test/e2e/custom-assertions/elementCount.js +27 -27
  245. package/test/e2e/nightwatch.conf.js +46 -46
  246. package/test/e2e/runner.js +48 -48
  247. package/test/e2e/specs/test.js +19 -19
  248. package/test/unit/.eslintrc +7 -7
  249. package/test/unit/jest.conf.js +30 -30
  250. package/test/unit/setup.js +3 -3
  251. package/test/unit/specs/HelloWorld.spec.js +11 -11
package/build/utils.js CHANGED
@@ -1,101 +1,101 @@
1
- 'use strict'
2
- const path = require('path')
3
- const config = require('../config')
4
- const ExtractTextPlugin = require('extract-text-webpack-plugin')
5
- const packageConfig = require('../package.json')
6
-
7
- exports.assetsPath = function (_path) {
8
- const assetsSubDirectory = process.env.NODE_ENV === 'production'
9
- ? config.build.assetsSubDirectory
10
- : config.dev.assetsSubDirectory
11
-
12
- return path.posix.join(assetsSubDirectory, _path)
13
- }
14
-
15
- exports.cssLoaders = function (options) {
16
- options = options || {}
17
-
18
- const cssLoader = {
19
- loader: 'css-loader',
20
- options: {
21
- sourceMap: options.sourceMap
22
- }
23
- }
24
-
25
- const postcssLoader = {
26
- loader: 'postcss-loader',
27
- options: {
28
- sourceMap: options.sourceMap
29
- }
30
- }
31
-
32
- // generate loader string to be used with extract text plugin
33
- function generateLoaders (loader, loaderOptions) {
34
- const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
35
-
36
- if (loader) {
37
- loaders.push({
38
- loader: loader + '-loader',
39
- options: Object.assign({}, loaderOptions, {
40
- sourceMap: options.sourceMap
41
- })
42
- })
43
- }
44
-
45
- // Extract CSS when that option is specified
46
- // (which is the case during production build)
47
- if (options.extract) {
48
- return ExtractTextPlugin.extract({
49
- use: loaders,
50
- fallback: 'vue-style-loader'
51
- })
52
- } else {
53
- return ['vue-style-loader'].concat(loaders)
54
- }
55
- }
56
-
57
- // https://vue-loader.vuejs.org/en/configurations/extract-css.html
58
- return {
59
- css: generateLoaders(),
60
- postcss: generateLoaders(),
61
- less: generateLoaders('less'),
62
- sass: generateLoaders('sass', { indentedSyntax: true }),
63
- scss: generateLoaders('sass'),
64
- stylus: generateLoaders('stylus'),
65
- styl: generateLoaders('stylus')
66
- }
67
- }
68
-
69
- // Generate loaders for standalone style files (outside of .vue)
70
- exports.styleLoaders = function (options) {
71
- const output = []
72
- const loaders = exports.cssLoaders(options)
73
-
74
- for (const extension in loaders) {
75
- const loader = loaders[extension]
76
- output.push({
77
- test: new RegExp('\\.' + extension + '$'),
78
- use: loader
79
- })
80
- }
81
-
82
- return output
83
- }
84
-
85
- exports.createNotifierCallback = () => {
86
- const notifier = require('node-notifier')
87
-
88
- return (severity, errors) => {
89
- if (severity !== 'error') return
90
-
91
- const error = errors[0]
92
- const filename = error.file && error.file.split('!').pop()
93
-
94
- notifier.notify({
95
- title: packageConfig.name,
96
- message: severity + ': ' + error.name,
97
- subtitle: filename || '',
98
- icon: path.join(__dirname, 'logo.png')
99
- })
100
- }
101
- }
1
+ 'use strict'
2
+ const path = require('path')
3
+ const config = require('../config')
4
+ const ExtractTextPlugin = require('extract-text-webpack-plugin')
5
+ const packageConfig = require('../package.json')
6
+
7
+ exports.assetsPath = function (_path) {
8
+ const assetsSubDirectory = process.env.NODE_ENV === 'production'
9
+ ? config.build.assetsSubDirectory
10
+ : config.dev.assetsSubDirectory
11
+
12
+ return path.posix.join(assetsSubDirectory, _path)
13
+ }
14
+
15
+ exports.cssLoaders = function (options) {
16
+ options = options || {}
17
+
18
+ const cssLoader = {
19
+ loader: 'css-loader',
20
+ options: {
21
+ sourceMap: options.sourceMap
22
+ }
23
+ }
24
+
25
+ const postcssLoader = {
26
+ loader: 'postcss-loader',
27
+ options: {
28
+ sourceMap: options.sourceMap
29
+ }
30
+ }
31
+
32
+ // generate loader string to be used with extract text plugin
33
+ function generateLoaders (loader, loaderOptions) {
34
+ const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
35
+
36
+ if (loader) {
37
+ loaders.push({
38
+ loader: loader + '-loader',
39
+ options: Object.assign({}, loaderOptions, {
40
+ sourceMap: options.sourceMap
41
+ })
42
+ })
43
+ }
44
+
45
+ // Extract CSS when that option is specified
46
+ // (which is the case during production build)
47
+ if (options.extract) {
48
+ return ExtractTextPlugin.extract({
49
+ use: loaders,
50
+ fallback: 'vue-style-loader'
51
+ })
52
+ } else {
53
+ return ['vue-style-loader'].concat(loaders)
54
+ }
55
+ }
56
+
57
+ // https://vue-loader.vuejs.org/en/configurations/extract-css.html
58
+ return {
59
+ css: generateLoaders(),
60
+ postcss: generateLoaders(),
61
+ less: generateLoaders('less'),
62
+ sass: generateLoaders('sass', { indentedSyntax: true }),
63
+ scss: generateLoaders('sass'),
64
+ stylus: generateLoaders('stylus'),
65
+ styl: generateLoaders('stylus')
66
+ }
67
+ }
68
+
69
+ // Generate loaders for standalone style files (outside of .vue)
70
+ exports.styleLoaders = function (options) {
71
+ const output = []
72
+ const loaders = exports.cssLoaders(options)
73
+
74
+ for (const extension in loaders) {
75
+ const loader = loaders[extension]
76
+ output.push({
77
+ test: new RegExp('\\.' + extension + '$'),
78
+ use: loader
79
+ })
80
+ }
81
+
82
+ return output
83
+ }
84
+
85
+ exports.createNotifierCallback = () => {
86
+ const notifier = require('node-notifier')
87
+
88
+ return (severity, errors) => {
89
+ if (severity !== 'error') return
90
+
91
+ const error = errors[0]
92
+ const filename = error.file && error.file.split('!').pop()
93
+
94
+ notifier.notify({
95
+ title: packageConfig.name,
96
+ message: severity + ': ' + error.name,
97
+ subtitle: filename || '',
98
+ icon: path.join(__dirname, 'logo.png')
99
+ })
100
+ }
101
+ }
@@ -1,22 +1,22 @@
1
- 'use strict'
2
- const utils = require('./utils')
3
- const config = require('../config')
4
- const isProduction = process.env.NODE_ENV === 'production'
5
- const sourceMapEnabled = isProduction
6
- ? config.build.productionSourceMap
7
- : config.dev.cssSourceMap
8
-
9
- module.exports = {
10
- loaders: utils.cssLoaders({
11
- sourceMap: sourceMapEnabled,
12
- extract: isProduction
13
- }),
14
- cssSourceMap: sourceMapEnabled,
15
- cacheBusting: config.dev.cacheBusting,
16
- transformToRequire: {
17
- video: ['src', 'poster'],
18
- source: 'src',
19
- img: 'src',
20
- image: 'xlink:href'
21
- }
22
- }
1
+ 'use strict'
2
+ const utils = require('./utils')
3
+ const config = require('../config')
4
+ const isProduction = process.env.NODE_ENV === 'production'
5
+ const sourceMapEnabled = isProduction
6
+ ? config.build.productionSourceMap
7
+ : config.dev.cssSourceMap
8
+
9
+ module.exports = {
10
+ loaders: utils.cssLoaders({
11
+ sourceMap: sourceMapEnabled,
12
+ extract: isProduction
13
+ }),
14
+ cssSourceMap: sourceMapEnabled,
15
+ cacheBusting: config.dev.cacheBusting,
16
+ transformToRequire: {
17
+ video: ['src', 'poster'],
18
+ source: 'src',
19
+ img: 'src',
20
+ image: 'xlink:href'
21
+ }
22
+ }
@@ -1,114 +1,114 @@
1
- 'use strict'
2
- const path = require('path')
3
- const utils = require('./utils')
4
- const config = require('../config')
5
- const vueLoaderConfig = require('./vue-loader.conf')
6
- var webpack = require('webpack')
7
-
8
- function resolve (dir) {
9
- return path.join(__dirname, '..', dir)
10
- }
11
-
12
- const createLintingRule = () => ({
13
- test: /\.(js|vue)$/,
14
- loader: 'eslint-loader',
15
- enforce: 'pre',
16
- include: [resolve('src'), resolve('test')],
17
- options: {
18
- formatter: require('eslint-friendly-formatter'),
19
- emitWarning: !config.dev.showEslintErrorsInOverlay
20
- }
21
- })
22
-
23
- module.exports = {
24
- context: path.resolve(__dirname, '../'),
25
- entry: {
26
- app: './src/main.js'
27
- },
28
- output: {
29
- path: config.build.assetsRoot,
30
- filename: '[name].js',
31
- publicPath: process.env.NODE_ENV === 'production'
32
- ? config.build.assetsPublicPath
33
- : config.dev.assetsPublicPath
34
- },
35
- resolve: {
36
- extensions: ['.js', '.vue', '.json'],
37
- alias: {
38
- 'vue$': 'vue/dist/vue.esm.js',
39
- '@': resolve('src'),
40
- 'jquery': path.resolve(__dirname, '../node_modules/jquery/src/jquery')
41
- }
42
- },
43
- module: {
44
- rules: [
45
- ...(config.dev.useEslint ? [createLintingRule()] : []),
46
- {
47
- test: /\.vue$/,
48
- loader: 'vue-loader',
49
- options: vueLoaderConfig
50
- },
51
- {
52
- test: /\.js$/,
53
- loader: 'babel-loader',
54
- include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
55
- },
56
- {
57
- test: /\.svg$/,
58
- loader: 'svg-sprite-loader',
59
- include: [resolve('src/icons')],
60
- options: {
61
- symbolId: 'icon-[name]'
62
- }
63
- },
64
- {
65
- test: /\.less$/,
66
- loader: ['style', 'css', 'less'],
67
- },
68
- {
69
- test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
70
- loader: 'url-loader',
71
- exclude: [resolve('src/icons')],
72
- options: {
73
- limit: 10000,
74
- name: utils.assetsPath('img/[name].[hash:7].[ext]')
75
- }
76
- },
77
- {
78
- test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
79
- loader: 'url-loader',
80
- options: {
81
- limit: 10000,
82
- name: utils.assetsPath('media/[name].[hash:7].[ext]')
83
- }
84
- },
85
- {
86
- test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
87
- loader: 'url-loader',
88
- options: {
89
- limit: 10000,
90
- name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
91
- }
92
- }
93
- ]
94
- },
95
- plugins: [// 3. 配置全局使用 jquery
96
- new webpack.ProvidePlugin({
97
- $: 'jquery',
98
- jQuery: 'jquery',
99
- jquery: 'jquery',
100
- 'window.jQuery': 'jquery'
101
- })],
102
- node: {
103
- // prevent webpack from injecting useless setImmediate polyfill because Vue
104
- // source contains it (although only uses it if it's native).
105
- setImmediate: false,
106
- // prevent webpack from injecting mocks to Node native modules
107
- // that does not make sense for the client
108
- dgram: 'empty',
109
- fs: 'empty',
110
- net: 'empty',
111
- tls: 'empty',
112
- child_process: 'empty'
113
- }
114
- }
1
+ 'use strict'
2
+ const path = require('path')
3
+ const utils = require('./utils')
4
+ const config = require('../config')
5
+ const vueLoaderConfig = require('./vue-loader.conf')
6
+ var webpack = require('webpack')
7
+
8
+ function resolve (dir) {
9
+ return path.join(__dirname, '..', dir)
10
+ }
11
+
12
+ const createLintingRule = () => ({
13
+ test: /\.(js|vue)$/,
14
+ loader: 'eslint-loader',
15
+ enforce: 'pre',
16
+ include: [resolve('src'), resolve('test')],
17
+ options: {
18
+ formatter: require('eslint-friendly-formatter'),
19
+ emitWarning: !config.dev.showEslintErrorsInOverlay
20
+ }
21
+ })
22
+
23
+ module.exports = {
24
+ context: path.resolve(__dirname, '../'),
25
+ entry: {
26
+ app: './src/main.js'
27
+ },
28
+ output: {
29
+ path: config.build.assetsRoot,
30
+ filename: '[name].js',
31
+ publicPath: process.env.NODE_ENV === 'production'
32
+ ? config.build.assetsPublicPath
33
+ : config.dev.assetsPublicPath
34
+ },
35
+ resolve: {
36
+ extensions: ['.js', '.vue', '.json'],
37
+ alias: {
38
+ 'vue$': 'vue/dist/vue.esm.js',
39
+ '@': resolve('src'),
40
+ 'jquery': path.resolve(__dirname, '../node_modules/jquery/src/jquery')
41
+ }
42
+ },
43
+ module: {
44
+ rules: [
45
+ ...(config.dev.useEslint ? [createLintingRule()] : []),
46
+ {
47
+ test: /\.vue$/,
48
+ loader: 'vue-loader',
49
+ options: vueLoaderConfig
50
+ },
51
+ {
52
+ test: /\.js$/,
53
+ loader: 'babel-loader',
54
+ include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
55
+ },
56
+ {
57
+ test: /\.svg$/,
58
+ loader: 'svg-sprite-loader',
59
+ include: [resolve('src/icons')],
60
+ options: {
61
+ symbolId: 'icon-[name]'
62
+ }
63
+ },
64
+ {
65
+ test: /\.less$/,
66
+ loader: ['style', 'css', 'less'],
67
+ },
68
+ {
69
+ test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
70
+ loader: 'url-loader',
71
+ exclude: [resolve('src/icons')],
72
+ options: {
73
+ limit: 10000,
74
+ name: utils.assetsPath('img/[name].[hash:7].[ext]')
75
+ }
76
+ },
77
+ {
78
+ test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
79
+ loader: 'url-loader',
80
+ options: {
81
+ limit: 10000,
82
+ name: utils.assetsPath('media/[name].[hash:7].[ext]')
83
+ }
84
+ },
85
+ {
86
+ test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
87
+ loader: 'url-loader',
88
+ options: {
89
+ limit: 10000,
90
+ name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
91
+ }
92
+ }
93
+ ]
94
+ },
95
+ plugins: [// 3. 配置全局使用 jquery
96
+ new webpack.ProvidePlugin({
97
+ $: 'jquery',
98
+ jQuery: 'jquery',
99
+ jquery: 'jquery',
100
+ 'window.jQuery': 'jquery'
101
+ })],
102
+ node: {
103
+ // prevent webpack from injecting useless setImmediate polyfill because Vue
104
+ // source contains it (although only uses it if it's native).
105
+ setImmediate: false,
106
+ // prevent webpack from injecting mocks to Node native modules
107
+ // that does not make sense for the client
108
+ dgram: 'empty',
109
+ fs: 'empty',
110
+ net: 'empty',
111
+ tls: 'empty',
112
+ child_process: 'empty'
113
+ }
114
+ }
@@ -1,95 +1,95 @@
1
- 'use strict'
2
- const utils = require('./utils')
3
- const webpack = require('webpack')
4
- const config = require('../config')
5
- const merge = require('webpack-merge')
6
- const path = require('path')
7
- const baseWebpackConfig = require('./webpack.base.conf')
8
- const CopyWebpackPlugin = require('copy-webpack-plugin')
9
- const HtmlWebpackPlugin = require('html-webpack-plugin')
10
- const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
11
- const portfinder = require('portfinder')
12
-
13
- const HOST = process.env.HOST
14
- const PORT = process.env.PORT && Number(process.env.PORT)
15
-
16
- const devWebpackConfig = merge(baseWebpackConfig, {
17
- module: {
18
- rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
19
- },
20
- // cheap-module-eval-source-map is faster for development
21
- devtool: config.dev.devtool,
22
-
23
- // these devServer options should be customized in /config/index.js
24
- devServer: {
25
- clientLogLevel: 'warning',
26
- historyApiFallback: {
27
- rewrites: [
28
- { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }
29
- ]
30
- },
31
- hot: true,
32
- contentBase: false, // since we use CopyWebpackPlugin.
33
- compress: true,
34
- host: HOST || config.dev.host,
35
- port: PORT || config.dev.port,
36
- open: config.dev.autoOpenBrowser,
37
- overlay: config.dev.errorOverlay
38
- ? { warnings: false, errors: true }
39
- : false,
40
- publicPath: config.dev.assetsPublicPath,
41
- proxy: config.dev.proxyTable,
42
- quiet: true, // necessary for FriendlyErrorsPlugin
43
- watchOptions: {
44
- poll: config.dev.poll
45
- }
46
- },
47
- plugins: [
48
- new webpack.DefinePlugin({
49
- 'process.env': require('../config/dev.env')
50
- }),
51
- new webpack.HotModuleReplacementPlugin(),
52
- new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
53
- new webpack.NoEmitOnErrorsPlugin(),
54
- // https://github.com/ampedandwired/html-webpack-plugin
55
- new HtmlWebpackPlugin({
56
- filename: 'index.html',
57
- template: 'index.html',
58
- inject: true
59
- }),
60
- // copy custom static assets
61
- new CopyWebpackPlugin([
62
- {
63
- from: path.resolve(__dirname, '../static'),
64
- to: config.dev.assetsSubDirectory,
65
- ignore: ['.*']
66
- }
67
- ])
68
- ]
69
- })
70
-
71
- module.exports = new Promise((resolve, reject) => {
72
- portfinder.basePort = process.env.PORT || config.dev.port
73
- portfinder.getPort((err, port) => {
74
- if (err) {
75
- reject(err)
76
- } else {
77
- // publish the new Port, necessary for e2e tests
78
- process.env.PORT = port
79
- // add port to devServer config
80
- devWebpackConfig.devServer.port = port
81
-
82
- // Add FriendlyErrorsPlugin
83
- devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
84
- compilationSuccessInfo: {
85
- messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`]
86
- },
87
- onErrors: config.dev.notifyOnErrors
88
- ? utils.createNotifierCallback()
89
- : undefined
90
- }))
91
-
92
- resolve(devWebpackConfig)
93
- }
94
- })
95
- })
1
+ 'use strict'
2
+ const utils = require('./utils')
3
+ const webpack = require('webpack')
4
+ const config = require('../config')
5
+ const merge = require('webpack-merge')
6
+ const path = require('path')
7
+ const baseWebpackConfig = require('./webpack.base.conf')
8
+ const CopyWebpackPlugin = require('copy-webpack-plugin')
9
+ const HtmlWebpackPlugin = require('html-webpack-plugin')
10
+ const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
11
+ const portfinder = require('portfinder')
12
+
13
+ const HOST = process.env.HOST
14
+ const PORT = process.env.PORT && Number(process.env.PORT)
15
+
16
+ const devWebpackConfig = merge(baseWebpackConfig, {
17
+ module: {
18
+ rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
19
+ },
20
+ // cheap-module-eval-source-map is faster for development
21
+ devtool: config.dev.devtool,
22
+
23
+ // these devServer options should be customized in /config/index.js
24
+ devServer: {
25
+ clientLogLevel: 'warning',
26
+ historyApiFallback: {
27
+ rewrites: [
28
+ { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }
29
+ ]
30
+ },
31
+ hot: true,
32
+ contentBase: false, // since we use CopyWebpackPlugin.
33
+ compress: true,
34
+ host: HOST || config.dev.host,
35
+ port: PORT || config.dev.port,
36
+ open: config.dev.autoOpenBrowser,
37
+ overlay: config.dev.errorOverlay
38
+ ? { warnings: false, errors: true }
39
+ : false,
40
+ publicPath: config.dev.assetsPublicPath,
41
+ proxy: config.dev.proxyTable,
42
+ quiet: true, // necessary for FriendlyErrorsPlugin
43
+ watchOptions: {
44
+ poll: config.dev.poll
45
+ }
46
+ },
47
+ plugins: [
48
+ new webpack.DefinePlugin({
49
+ 'process.env': require('../config/dev.env')
50
+ }),
51
+ new webpack.HotModuleReplacementPlugin(),
52
+ new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
53
+ new webpack.NoEmitOnErrorsPlugin(),
54
+ // https://github.com/ampedandwired/html-webpack-plugin
55
+ new HtmlWebpackPlugin({
56
+ filename: 'index.html',
57
+ template: 'index.html',
58
+ inject: true
59
+ }),
60
+ // copy custom static assets
61
+ new CopyWebpackPlugin([
62
+ {
63
+ from: path.resolve(__dirname, '../static'),
64
+ to: config.dev.assetsSubDirectory,
65
+ ignore: ['.*']
66
+ }
67
+ ])
68
+ ]
69
+ })
70
+
71
+ module.exports = new Promise((resolve, reject) => {
72
+ portfinder.basePort = process.env.PORT || config.dev.port
73
+ portfinder.getPort((err, port) => {
74
+ if (err) {
75
+ reject(err)
76
+ } else {
77
+ // publish the new Port, necessary for e2e tests
78
+ process.env.PORT = port
79
+ // add port to devServer config
80
+ devWebpackConfig.devServer.port = port
81
+
82
+ // Add FriendlyErrorsPlugin
83
+ devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
84
+ compilationSuccessInfo: {
85
+ messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`]
86
+ },
87
+ onErrors: config.dev.notifyOnErrors
88
+ ? utils.createNotifierCallback()
89
+ : undefined
90
+ }))
91
+
92
+ resolve(devWebpackConfig)
93
+ }
94
+ })
95
+ })