openatc-components 0.0.1
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.
- package/.babelrc +18 -0
- package/.editorconfig +9 -0
- package/.eslintignore +5 -0
- package/.eslintrc.js +29 -0
- package/.postcssrc.js +10 -0
- package/README.md +30 -0
- package/build/build.js +41 -0
- package/build/check-versions.js +54 -0
- package/build/logo.png +0 -0
- package/build/package.config.js +58 -0
- package/build/package.dev.config.js +25 -0
- package/build/package.prod.config.js +60 -0
- package/build/utils.js +101 -0
- package/build/vue-loader.conf.js +22 -0
- package/build/webpack.base.conf.js +109 -0
- package/build/webpack.dev.conf.js +95 -0
- package/build/webpack.prod.conf.js +149 -0
- package/config/dev.env.js +7 -0
- package/config/index.js +76 -0
- package/config/prod.env.js +4 -0
- package/config/test.env.js +7 -0
- package/index.html +12 -0
- package/package/kisscomps/components/CircleMenu/KissCircleMenu.vue +398 -0
- package/package/kisscomps/components/CircleMenu/index.js +2 -0
- package/package/kisscomps/components/DashBoard/MakeGradientColor.js +84 -0
- package/package/kisscomps/components/DashBoard/dashboard.js +471 -0
- package/package/kisscomps/components/DashBoard/dashboard.vue +57 -0
- package/package/kisscomps/components/DashBoard/index.js +2 -0
- package/package/kisscomps/components/Horizontal/KissHorizontal.vue +146 -0
- package/package/kisscomps/components/Horizontal/index.js +2 -0
- package/package/kisscomps/components/HorizontalChildren/KissHorizontalChildren.vue +196 -0
- package/package/kisscomps/components/HorizontalChildren/index.js +2 -0
- package/package/kisscomps/components/KissCircleMenu/CircleMenu.vue +113 -0
- package/package/kisscomps/components/KissCircleMenu/index.js +2 -0
- package/package/kisscomps/components/KissCircleMenu/style/index.less +2 -0
- package/package/kisscomps/components/KissCircleMenu/style/main/core.less +162 -0
- package/package/kisscomps/components/KissCircleMenu/style/main/other.less +94 -0
- package/package/kisscomps/components/KissCircleMenu/style/mixin/mixin.less +36 -0
- package/package/kisscomps/components/KissCircleMenu/style/var/var.less +21 -0
- package/package/kisscomps/components/KissCircleMenu/utils/colorRE.js +5 -0
- package/package/kisscomps/components/KissMessageBox/KissMessageBox.vue +108 -0
- package/package/kisscomps/components/KissMessageBox/index.js +2 -0
- package/package/kisscomps/components/KissSearchInput/index.js +2 -0
- package/package/kisscomps/components/KissSearchInput/kisssearchinput.vue +77 -0
- package/package/kisscomps/components/KissSimulationProgress/KissSimulationProgress.vue +294 -0
- package/package/kisscomps/components/KissSimulationProgress/index.js +2 -0
- package/package/kisscomps/components/StatusBar/StatusBar.vue +222 -0
- package/package/kisscomps/components/StatusBar/index.js +2 -0
- package/package/kisscomps/components/TragResize/index.js +2 -0
- package/package/kisscomps/components/TragResize/kissdragresize.vue +536 -0
- package/package/kisscomps/components/TragResize/util/dom.js +23 -0
- package/package/kisscomps/components/TragResize/util/fns.js +3 -0
- package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.1.vue +320 -0
- package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +345 -0
- package/package/kisscomps/components/XRDDirSelector/index.js +2 -0
- package/package/kisscomps/components/button/index.js +2 -0
- package/package/kisscomps/components/button/kissbtn.scss +0 -0
- package/package/kisscomps/components/button/kissbutton.vue +168 -0
- package/package/kisscomps/components/compass3D/compass.vue +180 -0
- package/package/kisscomps/components/compass3D/index.js +2 -0
- package/package/kisscomps/components/header/index.js +2 -0
- package/package/kisscomps/components/header/kissHead.vue +83 -0
- package/package/kisscomps/components/horizontalMenu/index.js +2 -0
- package/package/kisscomps/components/horizontalMenu/kissHorizontalMenu.vue +254 -0
- package/package/kisscomps/components/image/KissHead/headbg.png +0 -0
- package/package/kisscomps/components/image/KissInput/input.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/alart.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/alartselect.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/count.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/countselect.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/cross.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/crossselect.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/help.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/helpselect.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/home.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/homeselect.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/menubg.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/menubgselect.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/net.png +0 -0
- package/package/kisscomps/components/image/KissNavMenu/netselect.png +0 -0
- package/package/kisscomps/components/image/KissSearchInput/search.png +0 -0
- package/package/kisscomps/components/image/KissSearchInput/searchhover.png +0 -0
- package/package/kisscomps/components/image/KissSearchInput/searchinput.png +0 -0
- package/package/kisscomps/components/image/KissSelect/search.png +0 -0
- package/package/kisscomps/components/image/KissSelect/selectbg.png +0 -0
- package/package/kisscomps/components/image/KissSelect/selectdown.png +0 -0
- package/package/kisscomps/components/image/KissSelect/selectdownhover.png +0 -0
- package/package/kisscomps/components/image/KissSelect/selectup.png +0 -0
- package/package/kisscomps/components/image/KissSelect/selectuphover.png +0 -0
- package/package/kisscomps/components/image/button/btnCenter.png +0 -0
- package/package/kisscomps/components/image/button/btnCenterClick.png +0 -0
- package/package/kisscomps/components/image/button/btnCenterDisable.png +0 -0
- package/package/kisscomps/components/image/button/btnLeft.png +0 -0
- package/package/kisscomps/components/image/button/btnLeftClick.png +0 -0
- package/package/kisscomps/components/image/button/btnLeftDisable.png +0 -0
- package/package/kisscomps/components/image/button/btnRight.png +0 -0
- package/package/kisscomps/components/image/button/btnRightClick.png +0 -0
- package/package/kisscomps/components/image/button/btnRightDisable.png +0 -0
- package/package/kisscomps/components/image/button/btnSingle.png +0 -0
- package/package/kisscomps/components/image/button/btnSingleClick.png +0 -0
- package/package/kisscomps/components/image/button/btnSingleDisable.png +0 -0
- package/package/kisscomps/components/image/mutipletips/chartshowclose.png +0 -0
- package/package/kisscomps/components/image/mutipletips/messageshowclose.png +0 -0
- package/package/kisscomps/components/image/mutipletips/min.png +0 -0
- package/package/kisscomps/components/image/mutipletips/mutiplebglarge.png +0 -0
- package/package/kisscomps/components/image/mutipletips/mutiplebgmid.png +0 -0
- package/package/kisscomps/components/image/panel/lefticon.png +0 -0
- package/package/kisscomps/components/image/phaseHexagon/phasebg.png +0 -0
- package/package/kisscomps/components/image/tipdlg/alarmbg.png +0 -0
- package/package/kisscomps/components/image/tipdlg/close.png +0 -0
- package/package/kisscomps/components/image/tipdlg/closehover.png +0 -0
- package/package/kisscomps/components/image/tipdlg/tipsbg.png +0 -0
- package/package/kisscomps/components/image/tipdlg/tipsclose.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/bg.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/bgchoosed.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/flow.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/flowClicked.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/greenusage.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/greenusageClicked.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/intensity.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/intensityClicked.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/occupancy.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/occupancyClicked.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/queue.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/queueClicked.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/speed.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/speedClicked.png +0 -0
- package/package/kisscomps/components/image/trafficJudgementMenu/trafficJudgement.png +0 -0
- package/package/kisscomps/components/input/index.js +2 -0
- package/package/kisscomps/components/input/kissinput.vue +57 -0
- package/package/kisscomps/components/menu/index.js +2 -0
- package/package/kisscomps/components/menu/kissmenu.vue +324 -0
- package/package/kisscomps/components/mutipletips/Tdrag.js +585 -0
- package/package/kisscomps/components/mutipletips/index.js +2 -0
- package/package/kisscomps/components/mutipletips/kissmutipletips.vue +192 -0
- package/package/kisscomps/components/panel/index.js +2 -0
- package/package/kisscomps/components/panel/kissPanel.vue +151 -0
- package/package/kisscomps/components/select/chosen.jquery.min.js +3 -0
- package/package/kisscomps/components/select/index.js +2 -0
- package/package/kisscomps/components/select/kissselect.vue +527 -0
- package/package/kisscomps/components/tablebutton/index.js +2 -0
- package/package/kisscomps/components/tablebutton/tablebutton.vue +97 -0
- package/package/kisscomps/components/timectrl/KissTimeCtrl.vue +67 -0
- package/package/kisscomps/components/timectrl/index.js +2 -0
- package/package/kisscomps/components/timectrl/timectrl.css +851 -0
- package/package/kisscomps/components/tip/Tdrag.js +585 -0
- package/package/kisscomps/components/tip/index.js +2 -0
- package/package/kisscomps/components/tip/kisstips.1.vue +154 -0
- package/package/kisscomps/components/tip/kisstips.vue +154 -0
- package/package/kisscomps/components/tip/kisstips.vue.bak +211 -0
- package/package/kisscomps/index.js +71 -0
- package/package/kissui.js +53758 -0
- package/package/kissui.min.js +53834 -0
- package/package.json +110 -0
- package/src/App.vue +25 -0
- package/src/assets/logo.png +0 -0
- package/src/kisscomps/components/CircleMenu/KissCircleMenu.vue +398 -0
- package/src/kisscomps/components/CircleMenu/index.js +2 -0
- package/src/kisscomps/components/DashBoard/MakeGradientColor.js +84 -0
- package/src/kisscomps/components/DashBoard/dashboard.js +471 -0
- package/src/kisscomps/components/DashBoard/dashboard.vue +57 -0
- package/src/kisscomps/components/DashBoard/index.js +2 -0
- package/src/kisscomps/components/Horizontal/KissHorizontal.vue +146 -0
- package/src/kisscomps/components/Horizontal/index.js +2 -0
- package/src/kisscomps/components/HorizontalChildren/KissHorizontalChildren.vue +196 -0
- package/src/kisscomps/components/HorizontalChildren/index.js +2 -0
- package/src/kisscomps/components/KissCircleMenu/CircleMenu.vue +113 -0
- package/src/kisscomps/components/KissCircleMenu/index.js +2 -0
- package/src/kisscomps/components/KissCircleMenu/style/index.less +2 -0
- package/src/kisscomps/components/KissCircleMenu/style/main/core.less +162 -0
- package/src/kisscomps/components/KissCircleMenu/style/main/other.less +94 -0
- package/src/kisscomps/components/KissCircleMenu/style/mixin/mixin.less +36 -0
- package/src/kisscomps/components/KissCircleMenu/style/var/var.less +21 -0
- package/src/kisscomps/components/KissCircleMenu/utils/colorRE.js +5 -0
- package/src/kisscomps/components/KissMessageBox/KissMessageBox.vue +108 -0
- package/src/kisscomps/components/KissMessageBox/index.js +2 -0
- package/src/kisscomps/components/KissSearchInput/index.js +2 -0
- package/src/kisscomps/components/KissSearchInput/kisssearchinput.vue +77 -0
- package/src/kisscomps/components/KissSimulationProgress/KissSimulationProgress.vue +294 -0
- package/src/kisscomps/components/KissSimulationProgress/index.js +2 -0
- package/src/kisscomps/components/StatusBar/StatusBar.vue +222 -0
- package/src/kisscomps/components/StatusBar/index.js +2 -0
- package/src/kisscomps/components/TragResize/index.js +2 -0
- package/src/kisscomps/components/TragResize/kissdragresize.vue +536 -0
- package/src/kisscomps/components/TragResize/util/dom.js +23 -0
- package/src/kisscomps/components/TragResize/util/fns.js +3 -0
- package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.1.vue +320 -0
- package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +345 -0
- package/src/kisscomps/components/XRDDirSelector/index.js +2 -0
- package/src/kisscomps/components/button/index.js +2 -0
- package/src/kisscomps/components/button/kissbtn.scss +0 -0
- package/src/kisscomps/components/button/kissbutton.vue +168 -0
- package/src/kisscomps/components/compass3D/compass.vue +180 -0
- package/src/kisscomps/components/compass3D/index.js +2 -0
- package/src/kisscomps/components/header/index.js +2 -0
- package/src/kisscomps/components/header/kissHead.vue +83 -0
- package/src/kisscomps/components/horizontalMenu/index.js +2 -0
- package/src/kisscomps/components/horizontalMenu/kissHorizontalMenu.vue +254 -0
- package/src/kisscomps/components/image/KissHead/headbg.png +0 -0
- package/src/kisscomps/components/image/KissInput/input.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/alart.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/alartselect.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/count.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/countselect.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/cross.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/crossselect.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/help.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/helpselect.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/home.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/homeselect.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/menubg.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/menubgselect.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/net.png +0 -0
- package/src/kisscomps/components/image/KissNavMenu/netselect.png +0 -0
- package/src/kisscomps/components/image/KissSearchInput/search.png +0 -0
- package/src/kisscomps/components/image/KissSearchInput/searchhover.png +0 -0
- package/src/kisscomps/components/image/KissSearchInput/searchinput.png +0 -0
- package/src/kisscomps/components/image/KissSelect/search.png +0 -0
- package/src/kisscomps/components/image/KissSelect/selectbg.png +0 -0
- package/src/kisscomps/components/image/KissSelect/selectdown.png +0 -0
- package/src/kisscomps/components/image/KissSelect/selectdownhover.png +0 -0
- package/src/kisscomps/components/image/KissSelect/selectup.png +0 -0
- package/src/kisscomps/components/image/KissSelect/selectuphover.png +0 -0
- package/src/kisscomps/components/image/button/btnCenter.png +0 -0
- package/src/kisscomps/components/image/button/btnCenterClick.png +0 -0
- package/src/kisscomps/components/image/button/btnCenterDisable.png +0 -0
- package/src/kisscomps/components/image/button/btnLeft.png +0 -0
- package/src/kisscomps/components/image/button/btnLeftClick.png +0 -0
- package/src/kisscomps/components/image/button/btnLeftDisable.png +0 -0
- package/src/kisscomps/components/image/button/btnRight.png +0 -0
- package/src/kisscomps/components/image/button/btnRightClick.png +0 -0
- package/src/kisscomps/components/image/button/btnRightDisable.png +0 -0
- package/src/kisscomps/components/image/button/btnSingle.png +0 -0
- package/src/kisscomps/components/image/button/btnSingleClick.png +0 -0
- package/src/kisscomps/components/image/button/btnSingleDisable.png +0 -0
- package/src/kisscomps/components/image/mutipletips/chartshowclose.png +0 -0
- package/src/kisscomps/components/image/mutipletips/messageshowclose.png +0 -0
- package/src/kisscomps/components/image/mutipletips/min.png +0 -0
- package/src/kisscomps/components/image/mutipletips/mutiplebglarge.png +0 -0
- package/src/kisscomps/components/image/mutipletips/mutiplebgmid.png +0 -0
- package/src/kisscomps/components/image/panel/lefticon.png +0 -0
- package/src/kisscomps/components/image/phaseHexagon/phasebg.png +0 -0
- package/src/kisscomps/components/image/tipdlg/alarmbg.png +0 -0
- package/src/kisscomps/components/image/tipdlg/close.png +0 -0
- package/src/kisscomps/components/image/tipdlg/closehover.png +0 -0
- package/src/kisscomps/components/image/tipdlg/tipsbg.png +0 -0
- package/src/kisscomps/components/image/tipdlg/tipsclose.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/bg.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/bgchoosed.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/flow.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/flowClicked.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/greenusage.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/greenusageClicked.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/intensity.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/intensityClicked.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/occupancy.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/occupancyClicked.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/queue.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/queueClicked.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/speed.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/speedClicked.png +0 -0
- package/src/kisscomps/components/image/trafficJudgementMenu/trafficJudgement.png +0 -0
- package/src/kisscomps/components/input/index.js +2 -0
- package/src/kisscomps/components/input/kissinput.vue +57 -0
- package/src/kisscomps/components/menu/index.js +2 -0
- package/src/kisscomps/components/menu/kissmenu.vue +324 -0
- package/src/kisscomps/components/mutipletips/Tdrag.js +585 -0
- package/src/kisscomps/components/mutipletips/index.js +2 -0
- package/src/kisscomps/components/mutipletips/kissmutipletips.vue +192 -0
- package/src/kisscomps/components/panel/index.js +2 -0
- package/src/kisscomps/components/panel/kissPanel.vue +151 -0
- package/src/kisscomps/components/select/chosen.jquery.min.js +3 -0
- package/src/kisscomps/components/select/index.js +2 -0
- package/src/kisscomps/components/select/kissselect.vue +527 -0
- package/src/kisscomps/components/tablebutton/index.js +2 -0
- package/src/kisscomps/components/tablebutton/tablebutton.vue +97 -0
- package/src/kisscomps/components/timectrl/KissTimeCtrl.vue +67 -0
- package/src/kisscomps/components/timectrl/index.js +2 -0
- package/src/kisscomps/components/timectrl/timectrl.css +851 -0
- package/src/kisscomps/components/tip/Tdrag.js +585 -0
- package/src/kisscomps/components/tip/index.js +2 -0
- package/src/kisscomps/components/tip/kisstips.1.vue +154 -0
- package/src/kisscomps/components/tip/kisstips.vue +154 -0
- package/src/kisscomps/components/tip/kisstips.vue.bak +211 -0
- package/src/kisscomps/index.js +71 -0
- package/src/main.js +23 -0
- package/src/router/index.js +15 -0
- package/src/views/home.1.vue +479 -0
- package/src/views/home.vue +196 -0
- package/static/.gitkeep +0 -0
- package/static/img/KissNavMenu/alart.png +0 -0
- package/static/img/KissNavMenu/alart.svg +2531 -0
- package/static/img/KissNavMenu/alartselect.png +0 -0
- package/static/img/KissNavMenu/count.png +0 -0
- package/static/img/KissNavMenu/count.svg +2532 -0
- package/static/img/KissNavMenu/countselect.png +0 -0
- package/static/img/KissNavMenu/cross.png +0 -0
- package/static/img/KissNavMenu/cross.svg +2528 -0
- package/static/img/KissNavMenu/crossselect.png +0 -0
- package/static/img/KissNavMenu/help.png +0 -0
- package/static/img/KissNavMenu/help.svg +2532 -0
- package/static/img/KissNavMenu/helpselect.png +0 -0
- package/static/img/KissNavMenu/home.png +0 -0
- package/static/img/KissNavMenu/home.svg +2435 -0
- package/static/img/KissNavMenu/homeselect.png +0 -0
- package/static/img/KissNavMenu/menubg.png +0 -0
- package/static/img/KissNavMenu/menubgselect.png +0 -0
- package/static/img/KissNavMenu/net.png +0 -0
- package/static/img/KissNavMenu/net.svg +2530 -0
- package/static/img/KissNavMenu/netselect.png +0 -0
- package/static/img/MapPin/alartpin/alart.png +0 -0
- package/static/img/MapPin/alartpin/alart0.png +0 -0
- package/static/img/MapPin/alartpin/alart1.png +0 -0
- package/static/img/MapPin/alartpin/alart2.png +0 -0
- package/static/img/MapPin/alartpin/alart3.png +0 -0
- package/static/img/MapPin/alartpin/alart4.png +0 -0
- package/static/img/MapPin/alartpin/alart5.png +0 -0
- package/static/img/MapPin/pin_blue.png +0 -0
- package/static/img/trafficJudgementMenu/bg.png +0 -0
- package/static/img/trafficJudgementMenu/bgchoosed.png +0 -0
- package/static/img/trafficJudgementMenu/flow.png +0 -0
- package/static/img/trafficJudgementMenu/flowClicked.png +0 -0
- package/static/img/trafficJudgementMenu/greenusage.png +0 -0
- package/static/img/trafficJudgementMenu/greenusageClicked.png +0 -0
- package/static/img/trafficJudgementMenu/intensity.png +0 -0
- package/static/img/trafficJudgementMenu/intensityClicked.png +0 -0
- package/static/img/trafficJudgementMenu/occupancy.png +0 -0
- package/static/img/trafficJudgementMenu/occupancyClicked.png +0 -0
- package/static/img/trafficJudgementMenu/queue.png +0 -0
- package/static/img/trafficJudgementMenu/queueClicked.png +0 -0
- package/static/img/trafficJudgementMenu/speed.png +0 -0
- package/static/img/trafficJudgementMenu/speedClicked.png +0 -0
- package/static/img/trafficJudgementMenu/trafficJudgement.png +0 -0
- package/test/e2e/custom-assertions/elementCount.js +27 -0
- package/test/e2e/nightwatch.conf.js +46 -0
- package/test/e2e/runner.js +48 -0
- package/test/e2e/specs/test.js +19 -0
- package/test/unit/.eslintrc +7 -0
- package/test/unit/jest.conf.js +30 -0
- package/test/unit/setup.js +3 -0
- package/test/unit/specs/HelloWorld.spec.js +11 -0
package/.babelrc
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"presets": [
|
|
3
|
+
["env", {
|
|
4
|
+
"modules": false,
|
|
5
|
+
"targets": {
|
|
6
|
+
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
|
|
7
|
+
}
|
|
8
|
+
}],
|
|
9
|
+
"stage-2"
|
|
10
|
+
],
|
|
11
|
+
"plugins": ["transform-vue-jsx", "transform-runtime"],
|
|
12
|
+
"env": {
|
|
13
|
+
"test": {
|
|
14
|
+
"presets": ["env", "stage-2"],
|
|
15
|
+
"plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
package/.editorconfig
ADDED
package/.eslintignore
ADDED
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// https://eslint.org/docs/user-guide/configuring
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
root: true,
|
|
5
|
+
parserOptions: {
|
|
6
|
+
parser: 'babel-eslint'
|
|
7
|
+
},
|
|
8
|
+
env: {
|
|
9
|
+
browser: true,
|
|
10
|
+
},
|
|
11
|
+
extends: [
|
|
12
|
+
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
|
|
13
|
+
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
|
|
14
|
+
'plugin:vue/essential',
|
|
15
|
+
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
|
|
16
|
+
'standard'
|
|
17
|
+
],
|
|
18
|
+
// required to lint *.vue files
|
|
19
|
+
plugins: [
|
|
20
|
+
'vue'
|
|
21
|
+
],
|
|
22
|
+
// add your custom rules here
|
|
23
|
+
rules: {
|
|
24
|
+
// allow async-await
|
|
25
|
+
'generator-star-spacing': 'off',
|
|
26
|
+
// allow debugger during development
|
|
27
|
+
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
|
|
28
|
+
}
|
|
29
|
+
}
|
package/.postcssrc.js
ADDED
package/README.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# kissui
|
|
2
|
+
|
|
3
|
+
> A Vue.js project
|
|
4
|
+
|
|
5
|
+
## Build Setup
|
|
6
|
+
|
|
7
|
+
``` bash
|
|
8
|
+
# install dependencies
|
|
9
|
+
npm install
|
|
10
|
+
|
|
11
|
+
# serve with hot reload at localhost:8080
|
|
12
|
+
npm run dev
|
|
13
|
+
|
|
14
|
+
# build for production with minification
|
|
15
|
+
npm run build
|
|
16
|
+
|
|
17
|
+
# build for production and view the bundle analyzer report
|
|
18
|
+
npm run build --report
|
|
19
|
+
|
|
20
|
+
# run unit tests
|
|
21
|
+
npm run unit
|
|
22
|
+
|
|
23
|
+
# run e2e tests
|
|
24
|
+
npm run e2e
|
|
25
|
+
|
|
26
|
+
# run all tests
|
|
27
|
+
npm test
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
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).
|
package/build/build.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
require('./check-versions')()
|
|
3
|
+
|
|
4
|
+
process.env.NODE_ENV = 'production'
|
|
5
|
+
|
|
6
|
+
const ora = require('ora')
|
|
7
|
+
const rm = require('rimraf')
|
|
8
|
+
const path = require('path')
|
|
9
|
+
const chalk = require('chalk')
|
|
10
|
+
const webpack = require('webpack')
|
|
11
|
+
const config = require('../config')
|
|
12
|
+
const webpackConfig = require('./webpack.prod.conf')
|
|
13
|
+
|
|
14
|
+
const spinner = ora('building for production...')
|
|
15
|
+
spinner.start()
|
|
16
|
+
|
|
17
|
+
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
|
|
18
|
+
if (err) throw err
|
|
19
|
+
webpack(webpackConfig, (err, stats) => {
|
|
20
|
+
spinner.stop()
|
|
21
|
+
if (err) throw err
|
|
22
|
+
process.stdout.write(stats.toString({
|
|
23
|
+
colors: true,
|
|
24
|
+
modules: false,
|
|
25
|
+
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
|
|
26
|
+
chunks: false,
|
|
27
|
+
chunkModules: false
|
|
28
|
+
}) + '\n\n')
|
|
29
|
+
|
|
30
|
+
if (stats.hasErrors()) {
|
|
31
|
+
console.log(chalk.red(' Build failed with errors.\n'))
|
|
32
|
+
process.exit(1)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
console.log(chalk.cyan(' Build complete.\n'))
|
|
36
|
+
console.log(chalk.yellow(
|
|
37
|
+
' Tip: built files are meant to be served over an HTTP server.\n' +
|
|
38
|
+
' Opening index.html over file:// won\'t work.\n'
|
|
39
|
+
))
|
|
40
|
+
})
|
|
41
|
+
})
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
const chalk = require('chalk')
|
|
3
|
+
const semver = require('semver')
|
|
4
|
+
const packageConfig = require('../package.json')
|
|
5
|
+
const shell = require('shelljs')
|
|
6
|
+
|
|
7
|
+
function exec (cmd) {
|
|
8
|
+
return require('child_process').execSync(cmd).toString().trim()
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const versionRequirements = [
|
|
12
|
+
{
|
|
13
|
+
name: 'node',
|
|
14
|
+
currentVersion: semver.clean(process.version),
|
|
15
|
+
versionRequirement: packageConfig.engines.node
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
if (shell.which('npm')) {
|
|
20
|
+
versionRequirements.push({
|
|
21
|
+
name: 'npm',
|
|
22
|
+
currentVersion: exec('npm --version'),
|
|
23
|
+
versionRequirement: packageConfig.engines.npm
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
module.exports = function () {
|
|
28
|
+
const warnings = []
|
|
29
|
+
|
|
30
|
+
for (let i = 0; i < versionRequirements.length; i++) {
|
|
31
|
+
const mod = versionRequirements[i]
|
|
32
|
+
|
|
33
|
+
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
|
|
34
|
+
warnings.push(mod.name + ': ' +
|
|
35
|
+
chalk.red(mod.currentVersion) + ' should be ' +
|
|
36
|
+
chalk.green(mod.versionRequirement)
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (warnings.length) {
|
|
42
|
+
console.log('')
|
|
43
|
+
console.log(chalk.yellow('To use this template, you must update following to modules:'))
|
|
44
|
+
console.log()
|
|
45
|
+
|
|
46
|
+
for (let i = 0; i < warnings.length; i++) {
|
|
47
|
+
const warning = warnings[i]
|
|
48
|
+
console.log(' ' + warning)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
console.log()
|
|
52
|
+
process.exit(1)
|
|
53
|
+
}
|
|
54
|
+
}
|
package/build/logo.png
ADDED
|
Binary file
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const webpack = require('webpack')
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
entry: {
|
|
6
|
+
'kissui': './src/kisscomps/index.js'
|
|
7
|
+
},
|
|
8
|
+
output: {
|
|
9
|
+
path: path.resolve(__dirname, '../package'),
|
|
10
|
+
publicPath: '/package/',
|
|
11
|
+
library: 'kissui',
|
|
12
|
+
libraryTarget: 'umd',
|
|
13
|
+
umdNamedDefine: true
|
|
14
|
+
},
|
|
15
|
+
externals: {
|
|
16
|
+
vue: {
|
|
17
|
+
root: 'Vue',
|
|
18
|
+
commonjs: 'vue',
|
|
19
|
+
commonjs2: 'vue',
|
|
20
|
+
amd: 'vue'
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
resolve: {
|
|
24
|
+
extensions: ['.js', '.vue']
|
|
25
|
+
},
|
|
26
|
+
module: {
|
|
27
|
+
loaders: [{
|
|
28
|
+
test: /\.vue$/,
|
|
29
|
+
loader: 'vue-loader',
|
|
30
|
+
options: {
|
|
31
|
+
loaders: {
|
|
32
|
+
css: 'vue-style-loader!css-loader',
|
|
33
|
+
sass: 'vue-style-loader!css-loader!sass-loader'
|
|
34
|
+
},
|
|
35
|
+
postLoaders: {
|
|
36
|
+
html: 'babel-loader'
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}, {
|
|
40
|
+
test: /\.js$/,
|
|
41
|
+
loader: 'babel-loader',
|
|
42
|
+
exclude: /node_modules/
|
|
43
|
+
}, {
|
|
44
|
+
test: /\.css$/,
|
|
45
|
+
use: [
|
|
46
|
+
'style-loader',
|
|
47
|
+
'css-loader',
|
|
48
|
+
'autoprefixer-loader'
|
|
49
|
+
]
|
|
50
|
+
}, {
|
|
51
|
+
test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
|
|
52
|
+
loader: 'url-loader?limit=100000'
|
|
53
|
+
}]
|
|
54
|
+
},
|
|
55
|
+
plugins: [
|
|
56
|
+
new webpack.optimize.ModuleConcatenationPlugin()
|
|
57
|
+
]
|
|
58
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const webpack = require('webpack')
|
|
2
|
+
const merge = require('webpack-merge')
|
|
3
|
+
const baseWebpackConfig = require('./package.config')
|
|
4
|
+
const ExtractTextPlugin = require('extract-text-webpack-plugin')
|
|
5
|
+
const extractScss = new ExtractTextPlugin('/kissui.min.css')
|
|
6
|
+
|
|
7
|
+
module.exports = merge(baseWebpackConfig, {
|
|
8
|
+
output: {
|
|
9
|
+
filename: '[name].js'
|
|
10
|
+
},
|
|
11
|
+
module: {
|
|
12
|
+
loaders: [{
|
|
13
|
+
test: /\.scss$/i,
|
|
14
|
+
loader: extractScss.extract(['css-loader', 'sass-loader'])
|
|
15
|
+
}]
|
|
16
|
+
},
|
|
17
|
+
plugins: [
|
|
18
|
+
new webpack.DefinePlugin({
|
|
19
|
+
'process.env': {
|
|
20
|
+
NODE_ENV: '"development"'
|
|
21
|
+
}
|
|
22
|
+
}),
|
|
23
|
+
extractScss
|
|
24
|
+
]
|
|
25
|
+
})
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const webpack = require('webpack')
|
|
2
|
+
const merge = require('webpack-merge')
|
|
3
|
+
const config = require('../config')
|
|
4
|
+
const baseWebpackConfig = require('./package.config')
|
|
5
|
+
const ExtractTextPlugin = require('extract-text-webpack-plugin')
|
|
6
|
+
const extractScss = new ExtractTextPlugin('/kissui.min.css')
|
|
7
|
+
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
|
|
8
|
+
const CopyWebpackPlugin = require('copy-webpack-plugin')
|
|
9
|
+
|
|
10
|
+
module.exports = merge(baseWebpackConfig, {
|
|
11
|
+
output: {
|
|
12
|
+
filename: '[name].min.js'
|
|
13
|
+
},
|
|
14
|
+
module: {
|
|
15
|
+
loaders: [{
|
|
16
|
+
test: /\.scss$/,
|
|
17
|
+
loader: extractScss.extract(['css-loader', 'sass-loader'])
|
|
18
|
+
}]
|
|
19
|
+
},
|
|
20
|
+
plugins: [
|
|
21
|
+
new webpack.DefinePlugin({
|
|
22
|
+
'process.env': {
|
|
23
|
+
NODE_ENV: '"production"'
|
|
24
|
+
}
|
|
25
|
+
}),
|
|
26
|
+
new webpack.ProvidePlugin({
|
|
27
|
+
$: 'jquery',
|
|
28
|
+
jQuery: 'jquery',
|
|
29
|
+
jquery: 'jquery',
|
|
30
|
+
'window.jQuery': 'jquery'
|
|
31
|
+
}),
|
|
32
|
+
// new webpack.optimize.OccurrenceOrderPlugin(),
|
|
33
|
+
new webpack.optimize.UglifyJsPlugin({
|
|
34
|
+
uglifyOptions: {
|
|
35
|
+
ie8: false,
|
|
36
|
+
output: {
|
|
37
|
+
comments: false,
|
|
38
|
+
beautify: false
|
|
39
|
+
},
|
|
40
|
+
mangle: {
|
|
41
|
+
keep_fnames: true
|
|
42
|
+
},
|
|
43
|
+
compress: {
|
|
44
|
+
warnings: false,
|
|
45
|
+
drop_console: true
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}),
|
|
49
|
+
extractScss,
|
|
50
|
+
new OptimizeCSSPlugin({
|
|
51
|
+
cssProcessorOptions: config.build.productionSourceMap
|
|
52
|
+
? { safe: true, map: { inline: false } }
|
|
53
|
+
: { safe: true }
|
|
54
|
+
}),
|
|
55
|
+
new CopyWebpackPlugin([
|
|
56
|
+
// {output}/file.txt
|
|
57
|
+
{from: `./src/kisscomps`, to: `./kisscomps`}
|
|
58
|
+
])
|
|
59
|
+
]
|
|
60
|
+
})
|
package/build/utils.js
ADDED
|
@@ -0,0 +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
|
+
}
|
|
@@ -0,0 +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
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
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: /\.scss$/,
|
|
58
|
+
loaders: ['style', 'css', 'sass']
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
test: /\.less$/,
|
|
62
|
+
loader: ['style', 'css', 'less'],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
|
|
66
|
+
loader: 'url-loader',
|
|
67
|
+
options: {
|
|
68
|
+
limit: 50000,
|
|
69
|
+
name: utils.assetsPath('img/[name].[hash:7].[ext]')
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
|
|
74
|
+
loader: 'url-loader',
|
|
75
|
+
options: {
|
|
76
|
+
limit: 10000,
|
|
77
|
+
name: utils.assetsPath('media/[name].[hash:7].[ext]')
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
|
|
82
|
+
loader: 'url-loader',
|
|
83
|
+
options: {
|
|
84
|
+
limit: 10000,
|
|
85
|
+
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
plugins: [// 3. 配置全局使用 jquery
|
|
91
|
+
new webpack.ProvidePlugin({
|
|
92
|
+
$: 'jquery',
|
|
93
|
+
jQuery: 'jquery',
|
|
94
|
+
jquery: 'jquery',
|
|
95
|
+
'window.jQuery': 'jquery'
|
|
96
|
+
})],
|
|
97
|
+
node: {
|
|
98
|
+
// prevent webpack from injecting useless setImmediate polyfill because Vue
|
|
99
|
+
// source contains it (although only uses it if it's native).
|
|
100
|
+
setImmediate: false,
|
|
101
|
+
// prevent webpack from injecting mocks to Node native modules
|
|
102
|
+
// that does not make sense for the client
|
|
103
|
+
dgram: 'empty',
|
|
104
|
+
fs: 'empty',
|
|
105
|
+
net: 'empty',
|
|
106
|
+
tls: 'empty',
|
|
107
|
+
child_process: 'empty'
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +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
|
+
})
|