Skip to content

Commit 99754c0

Browse files
committed
feat: css modules + hmr
1 parent 234d48b commit 99754c0

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

Diff for: lib/hotReload.js

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
const hotReloadAPIPath = require.resolve('vue-hot-reload-api')
22

33
exports.genHotReloadCode = (id, functional) => {
4-
// TODO handle CSSModules and style injection disposal
54
return wrap(`
65
if (!module.hot.data) {
76
api.createRecord('${id}', component.options)

Diff for: lib/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ module.exports = function (source) {
7474
if (descriptor.template) {
7575
const src = descriptor.template.src || resourcePath
7676
const langQuery = getLangQuery(descriptor.template)
77-
const idQuery = hasScoped ? `&id=${id}` : ``
77+
const idQuery = `&id=${id}`
7878
const fnQuery = hasFunctional ? `&functional` : ``
7979
const commentQuery = hasComment ? `&comment` : ``
8080
const query = `?vue&type=template${idQuery}${langQuery}${fnQuery}${commentQuery}`

Diff for: lib/styleInjection.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ module.exports = function genStyleInjectionCode (
1414
let styleInjectionCode = ``
1515
let cssModulesHotReloadCode = ``
1616

17-
const hasCSSModules = false
17+
let hasCSSModules = false
1818
const cssModuleNames = new Map()
1919

2020
function genStyleRequest (style, i) {
@@ -26,6 +26,8 @@ module.exports = function genStyleInjectionCode (
2626
}
2727

2828
function genCSSModulesCode (style, request, i) {
29+
hasCSSModules = true
30+
2931
const moduleName = style.module === true ? '$style' : style.module
3032
if (cssModuleNames.has(moduleName)) {
3133
loaderContext.emitError(`CSS module name ${moduleName} is not unique!`)

Diff for: package.json

+17-16
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"scripts": {
77
"test": "jest --env node",
88
"lint": "eslint lib test --fix",
9-
"build": "webpack --config exploration/webpack.config.js"
9+
"build": "webpack --config exploration/webpack.config.js",
10+
"dev": "webpack-dev-server --config exploration/webpack.config.js --inline --hot"
1011
},
1112
"author": "Evan You",
1213
"license": "MIT",
@@ -31,6 +32,21 @@
3132
"css-loader": "*",
3233
"vue-template-compiler": "^2.0.0"
3334
},
35+
"dependencies": {
36+
"consolidate": "^0.15.0",
37+
"debug": "^3.1.0",
38+
"hash-sum": "^1.0.2",
39+
"loader-utils": "^1.1.0",
40+
"lru-cache": "^4.1.2",
41+
"postcss": "^6.0.20",
42+
"postcss-selector-parser": "^3.1.1",
43+
"prettier": "^1.11.1",
44+
"source-map": "^0.5.6",
45+
"vue-component-compiler": "vuejs/vue-component-compiler#master",
46+
"vue-hot-reload-api": "^2.3.0",
47+
"vue-style-loader": "^4.1.0",
48+
"vue-template-es2015-compiler": "^1.6.0"
49+
},
3450
"devDependencies": {
3551
"babel-core": "^6.26.0",
3652
"babel-loader": "^7.1.4",
@@ -61,20 +77,5 @@
6177
"webpack-dev-server": "^3.1.1",
6278
"webpack-merge": "^4.1.2",
6379
"yorkie": "^1.0.3"
64-
},
65-
"dependencies": {
66-
"consolidate": "^0.15.0",
67-
"debug": "^3.1.0",
68-
"hash-sum": "^1.0.2",
69-
"loader-utils": "^1.1.0",
70-
"lru-cache": "^4.1.2",
71-
"postcss": "^6.0.20",
72-
"postcss-selector-parser": "^3.1.1",
73-
"prettier": "^1.11.1",
74-
"source-map": "^0.5.6",
75-
"vue-component-compiler": "vuejs/vue-component-compiler#master",
76-
"vue-hot-reload-api": "^2.3.0",
77-
"vue-style-loader": "^4.1.0",
78-
"vue-template-es2015-compiler": "^1.6.0"
7980
}
8081
}

0 commit comments

Comments
 (0)