Skip to content
This repository was archived by the owner on Dec 26, 2018. It is now read-only.

Commit 2fb8281

Browse files
committed
include insert-css and vue-hot-reload-api by default
1 parent af07cd2 commit 2fb8281

File tree

14 files changed

+44
-30
lines changed

14 files changed

+44
-30
lines changed

lib/compiler.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ var chalk = require('chalk')
1212
var assign = require('object-assign')
1313
var deindent = require('de-indent')
1414
var Emitter = require('events').EventEmitter
15-
var ensureRequire = require('./ensure-require.js')
1615

1716
var htmlMinifyOptions = {
1817
collapseWhitespace: true,
@@ -111,10 +110,10 @@ compiler.compile = function (content, filePath, cb) {
111110
// styles
112111
var style = extract(parts, 'style')
113112
if (style) {
114-
ensureRequire('styles','vueify-insert-css')
115113
style = JSON.stringify(style)
116114
output +=
117-
'var __vueify_style__ = require("vueify-insert-css").insert(' + style + ')\n'
115+
'var __vueify_insert__ = require(' + JSON.stringify(require.resolve('./insert-css')) + ')\n' +
116+
'var __vueify_style__ = __vueify_insert__.insert(' + style + ')\n'
118117
}
119118
// script
120119
var script = extract(parts, 'script')
@@ -134,18 +133,17 @@ compiler.compile = function (content, filePath, cb) {
134133
}
135134
// hot reload
136135
if (process.env.NODE_ENV !== 'production' && !process.env.VUEIFY_TEST) {
137-
ensureRequire('hot-reload','vue-hot-reload-api')
138136
output +=
139137
'if (module.hot) {(function () {' +
140138
' module.hot.accept()\n' +
141-
' var hotAPI = require("vue-hot-reload-api")\n' +
139+
' var hotAPI = require(' + JSON.stringify(require.resolve('vue-hot-reload-api')) + ')\n' +
142140
' hotAPI.install(require("vue"), true)\n' +
143141
' if (!hotAPI.compatible) return\n' +
144142
' var id = ' + JSON.stringify(filePath) + '\n' +
145143
// remove style tag on dispose
146144
(style
147145
? ' module.hot.dispose(function () {\n' +
148-
' require("vueify-insert-css").cache[' + style + '] = false\n' +
146+
' __vueify_insert__.cache[' + style + '] = false\n' +
149147
' document.head.removeChild(__vueify_style__)\n' +
150148
' })\n'
151149
: ''

lib/insert-css.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
var inserted = exports.cache = {}
2+
3+
exports.insert = function (css) {
4+
if (inserted[css]) return
5+
inserted[css] = true
6+
7+
var elem = document.createElement('style')
8+
elem.setAttribute('type', 'text/css')
9+
10+
if ('textContent' in elem) {
11+
elem.textContent = css
12+
} else {
13+
elem.styleSheet.cssText = css
14+
}
15+
16+
document.getElementsByTagName('head')[0].appendChild(elem)
17+
return elem
18+
}

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"postcss": "^5.0.10",
3535
"postcss-selector-parser": "^1.3.0",
3636
"through": "^2.3.6",
37+
"vue-hot-reload-api": "^1.3.2",
3738
"vue-template-validator": "^1.0.1"
3839
},
3940
"devDependencies": {
@@ -48,8 +49,6 @@
4849
"node-sass": "^3.3.3",
4950
"pug": "^2.0.0-alpha6",
5051
"rewire": "^2.5.1",
51-
"stylus": "^0.52.4",
52-
"vue-hot-reload-api": "^1.2.0",
53-
"vueify-insert-css": "^1.0.0"
52+
"stylus": "^0.52.4"
5453
}
5554
}

test/expects/autoprefix.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
var __vueify_style__ = require("vueify-insert-css").insert("body{-webkit-transform:scale(1);transform:scale(1)}")
1+
var __vueify_insert__ = require("/Users/evan/Vue/vueify/lib/insert-css.js")
2+
var __vueify_style__ = __vueify_insert__.insert("body{-webkit-transform:scale(1);transform:scale(1)}")

test/expects/basic.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
var __vueify_style__ = require("vueify-insert-css").insert("html{font-size:20px}")
1+
var __vueify_insert__ = require("/Users/evan/Vue/vueify/lib/insert-css.js")
2+
var __vueify_style__ = __vueify_insert__.insert("html{font-size:20px}")
23
"use strict";
34

45
Object.defineProperty(exports, "__esModule", {

test/expects/less.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
var __vueify_style__ = require("vueify-insert-css").insert(".box{color:#fe33ac;border-color:#fdcdea}.box div{-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.box:before{content:'\\f101'}")
1+
var __vueify_insert__ = require("/Users/evan/Vue/vueify/lib/insert-css.js")
2+
var __vueify_style__ = __vueify_insert__.insert(".box{color:#fe33ac;border-color:#fdcdea}.box div{-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.box:before{content:'\\f101'}")

test/expects/multiple-styles.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
var __vueify_style__ = require("vueify-insert-css").insert("h1{font-size:20px}\n#test h1{font-size:18px}\nh2{font-size:14px}")
1+
var __vueify_insert__ = require("/Users/evan/Vue/vueify/lib/insert-css.js")
2+
var __vueify_style__ = __vueify_insert__.insert("h1{font-size:20px}\n#test h1{font-size:18px}\nh2{font-size:14px}")

test/expects/multiple.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
var __vueify_style__ = require("vueify-insert-css").insert("body{font:12px Helvetica,Arial,sans-serif}a.button{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}")
1+
var __vueify_insert__ = require("/Users/evan/Vue/vueify/lib/insert-css.js")
2+
var __vueify_style__ = __vueify_insert__.insert("body{font:12px Helvetica,Arial,sans-serif}a.button{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}")
23
module.exports = {
34
data: function() {
45
return {

test/expects/non-minified.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
var __vueify_style__ = require("vueify-insert-css").insert("\nhtml {\n font-size: 20px;\n}\n")
1+
var __vueify_insert__ = require("/Users/evan/Vue/vueify/lib/insert-css.js")
2+
var __vueify_style__ = __vueify_insert__.insert("\nhtml {\n font-size: 20px;\n}\n")
23
;(typeof module.exports === "function"? module.exports.options: module.exports).template = "\n<h1 :id=\"id\" @click=\"hi\">hello</h1>\n"

test/expects/sass.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
var __vueify_style__ = require("vueify-insert-css").insert("body{font:100% Helvetica,sans-serif;color:#333}")
1+
var __vueify_insert__ = require("/Users/evan/Vue/vueify/lib/insert-css.js")
2+
var __vueify_style__ = __vueify_insert__.insert("body{font:100% Helvetica,sans-serif;color:#333}")

0 commit comments

Comments
 (0)