diff --git a/docs/introduction.md b/docs/introduction.md
index e7aa291..14b7164 100644
--- a/docs/introduction.md
+++ b/docs/introduction.md
@@ -1,4 +1,4 @@
-
+
diff --git a/package.json b/package.json
index b928f97..13b5c74 100644
--- a/package.json
+++ b/package.json
@@ -37,9 +37,11 @@
},
"homepage": "https://github.com/znck/rollup-plugin-vue#readme",
"dependencies": {
+ "babel-runtime": "^6.22.0",
"de-indent": "^1.0.2",
"debug": "^2.6.0",
"html-minifier": "^3.2.3",
+ "less": "^2.7.2",
"magic-string": "^0.19.0",
"node-sass": "^4.5.0",
"parse5": "^3.0.1",
@@ -69,11 +71,11 @@
"gulp": "^3.9.1",
"istanbul": "^0.4.5",
"laravel-elixir": "^6.0.0-15",
+ "merge-options": "0.0.64",
"mocha": "^3.2.0",
"mocha-lcov-reporter": "^1.2.0",
"rollup": "^0.41.4",
"rollup-plugin-babel": "^2.7.1",
- "rollup-plugin-buble": "^0.15.0",
"rollup-plugin-css-only": "^0.2.0",
"rollup-plugin-replace": "^1.1.1",
"uglify-js": "^2.7.5",
diff --git a/src/index.js b/src/index.js
index a8df0ca..8ca8e79 100644
--- a/src/index.js
+++ b/src/index.js
@@ -4,49 +4,33 @@ import vueTransform from './vueTransform'
import DEFAULT_OPTIONS from './options'
import compileStyle from './style/index'
import debug from './debug'
+import mergeOptions from 'merge-options'
-function mergeOptions (options, defaults) {
- Object.keys(defaults).forEach((key) => {
- const val = defaults[key]
-
- if (key in options) {
- if (typeof options[key] === 'object') {
- mergeOptions(options[key], val)
- }
- } else {
- options[key] = val
- }
- })
-
- return options
-}
-
-export default function vue (options = {}) {
+export default function vue (opts = {}) {
debug('Yo! rolling vue!')
- const filter = createFilter(options.include, options.exclude)
+ const filter = createFilter(opts.include, opts.exclude)
- delete options.include
- delete options.exclude
+ delete opts.include
+ delete opts.exclude
/* eslint-disable */
try {
const vueVersion = require('vue').version;
if (parseInt(vueVersion.split('.')[0], 10) >= 2) {
- if (!('compileTemplate' in options)) {
+ if (!('compileTemplate' in config)) {
debug('Vue 2.0 detected. Compiling template.');
- options.compileTemplate = true;
+ opts.compileTemplate = true;
}
} else {
- if (options.compileTemplate === true) {
+ if (opts.compileTemplate === true) {
console.warn('Vue version < 2.0.0 does not support compiled template.');
}
- options.compileTemplate = false;
+ opts.compileTemplate = false;
}
} catch (e) {}
/* eslint-enable */
- options = mergeOptions(options, DEFAULT_OPTIONS)
-
+ const config = mergeOptions(DEFAULT_OPTIONS, opts)
const styles = {}
return {
@@ -74,7 +58,9 @@ export default function vue (options = {}) {
return null
}
- const { code, css, map } = await vueTransform(source, id, options)
+ debug(`Compile: ${id}`)
+
+ const { code, css, map } = await vueTransform(source, id, config)
styles[id] = css
@@ -82,9 +68,9 @@ export default function vue (options = {}) {
},
ongenerate () {
- if (options.styleToImports !== true) {
- if (options.css === undefined || options.css === null) options.css = DEFAULT_OPTIONS.css
- compileStyle(styles, options)
+ if (config.styleToImports !== true) {
+ if (config.css === undefined || config.css === null) config.css = DEFAULT_OPTIONS.css
+ compileStyle(styles, config)
}
}
}
diff --git a/src/options.js b/src/options.js
index 846fe2e..b8db4e8 100644
--- a/src/options.js
+++ b/src/options.js
@@ -37,8 +37,8 @@ export default {
styleToImports: false,
autoStyles: true,
disableCssModuleStaticReplacement: false,
- modules: {
- generateScopedName: '[name]__[local]___[hash:base64:5]'
+ cssModules: {
+ generateScopedName: '[name]__[local]'
},
scss: {},
pug: {}
diff --git a/src/style/css.js b/src/style/css.js
index 2e150a8..55b038c 100644
--- a/src/style/css.js
+++ b/src/style/css.js
@@ -1,38 +1,67 @@
import postcss from 'postcss'
import modules from 'postcss-modules'
+import camelcase from 'camelcase'
+// import MagicString from 'magic-string'
+import debug from '../debug'
function compileModule (code, map, source, options) {
let style
+ debug(`CSS Modules: ${source.id}`)
return postcss([
modules({
getJSON (filename, json) {
style = json
},
- ...options.modules
+ ...options.cssModules
})
]).process(code, { map: { inline: false, prev: map }, from: source.id, to: source.id })
- .then(
- result => ({ code: result.css, map: result.map, module: style }),
- error => {
- throw error
- })
+ .then(
+ result => ({ code: result.css, map: result.map, module: style }),
+ error => {
+ throw error
+ }
+ )
}
export default async function (promise, options) {
const style = await promise
+ debug(`CSS: ${style.id}`)
const { code, map } = ('$compiled' in style) ? style.$compiled : style
if (style.module === true) {
return compileModule(code, map, style, options).then(compiled => {
if (style.$compiled) {
compiled.$prev = style.$compiled
+
+ const classes = Object.keys(compiled.module)
+ const cssModule = {}
+
+ if (classes.length) {
+ // Apply CSS modules to actual source.
+ // TODO: Update source map.
+ // const original = style.code
+
+ style.code = classes.reduce(
+ (result, name) => {
+ cssModule[camelcase(name)] = compiled.module[name]
+
+ return result.replace(`.${name}`, `.${compiled.module[name]}`)
+ },
+ style.code
+ )
+ // style.map = (new MagicString(original))
+
+ compiled.module = (
+ typeof (style.module) === 'string' && style.attrs.module.length
+ ) ? { [style.module]: cssModule } : cssModule
+ }
}
style.$compiled = compiled
return style
- })
+ }).catch(error => debug(error))
}
const output = { code, map, lang: 'css' }
diff --git a/src/style/index.js b/src/style/index.js
index 6193d66..cd61f11 100644
--- a/src/style/index.js
+++ b/src/style/index.js
@@ -1,10 +1,12 @@
import { writeFile } from 'fs'
import compileCSS from './css'
import compileSCSS from './scss'
+import compileLESS from './less'
const compilers = {
scss: compileSCSS,
- sass: compileSCSS
+ sass: compileSCSS,
+ less: compileLESS
}
export async function compile (style, options) {
@@ -30,7 +32,8 @@ export default function (files, options) {
Object.keys(files).forEach((file) => {
files[file].forEach((style) => {
- css += style.code + '\n'
+ css += ('$compiled' in style) ? `${style.$compiled.code}\n` : `${style.code}\n`
+
allStyles.push(style)
})
})
diff --git a/src/style/less.js b/src/style/less.js
new file mode 100644
index 0000000..bf197c8
--- /dev/null
+++ b/src/style/less.js
@@ -0,0 +1,18 @@
+import less from 'less'
+
+export default async function (style, options) {
+ const { css, map } = await less.render(style.code, {
+ sourceMap: {
+ sourceMapFullFilename: style.id,
+ sourceMapFileInline: false
+ },
+ ...options.less
+ })
+
+ style.$compiled = {
+ code: css.toString(),
+ map: map.toString()
+ }
+
+ return style
+}
diff --git a/src/style/scss.js b/src/style/scss.js
index 8efd5ca..aaff49f 100644
--- a/src/style/scss.js
+++ b/src/style/scss.js
@@ -1,6 +1,8 @@
import sass from 'node-sass'
+import debug from '../debug'
export default function (style, options) {
+ debug(`SASS: ${style.id}`)
const { css, map } = sass.renderSync({
file: style.id,
data: style.code,
diff --git a/src/vueTransform.js b/src/vueTransform.js
index 973d241..7b48c38 100644
--- a/src/vueTransform.js
+++ b/src/vueTransform.js
@@ -109,7 +109,7 @@ function injectTemplate (script, template, lang, options, modules) {
throw new Error('[rollup-plugin-vue] could not find place to inject template in script.')
}
-var validateTemplate = function (code, content, id) {
+function validateTemplate (code, content, id) {
const warnings = templateValidator(code, content)
if (warnings) {
const relativePath = relative(process.cwd(), id)
@@ -124,6 +124,8 @@ var validateTemplate = function (code, content, id) {
async function processTemplate (source, id, content, options, nodes, modules) {
if (source === undefined) return undefined
+ debug(`Process template: ${id}`)
+
const extras = { modules, id, lang: source.attrs.lang }
const { code } = source
const template = deIndent(
@@ -142,6 +144,8 @@ async function processTemplate (source, id, content, options, nodes, modules) {
async function processScript (source, id, content, options, nodes, modules) {
const template = await processTemplate(nodes.template[0], id, content, options, nodes, modules)
+ debug(`Process script: ${id}`)
+
const lang = source.attrs.lang || 'js'
const script = deIndent(padContent(content.slice(0, content.indexOf(source.code))) + source.code)
@@ -159,9 +163,10 @@ async function processScript (source, id, content, options, nodes, modules) {
}
}
+// eslint-disable-next-line complexity
async function processStyle (styles, id, content, options) {
+ debug(`Process styles: ${id}`)
const outputs = []
-
for (let i = 0; i < styles.length; i += 1) {
const style = styles[i]
@@ -176,21 +181,18 @@ async function processStyle (styles, id, content, options) {
code: code,
map: map,
lang: style.attrs.lang || 'css',
- module: 'module' in style.attrs,
- scoped: 'scoped' in style.attrs
+ module: 'module' in style.attrs ? style.attrs.module || true : false,
+ scoped: 'scoped' in style.attrs ? style.attrs.scoped || true : false
}
- if (options.autoStyles) {
- outputs.push(await compile(output, options))
- } else {
- outputs.push(output)
- }
+ outputs.push(options.autoStyles ? await compile(output, options) : output)
}
return outputs
}
function parseTemplate (code) {
+ debug('Parsing template....')
const fragment = parse5.parseFragment(code, { locationInfo: true })
const nodes = {
diff --git a/test/expects/css-modules-static.css b/test/expects/css-modules-static.css
index bee9afa..1abd677 100644
--- a/test/expects/css-modules-static.css
+++ b/test/expects/css-modules-static.css
@@ -1,3 +1,3 @@
-.test {
+.css-modules-static__test {
color: red;
}
\ No newline at end of file
diff --git a/test/expects/css-modules.css b/test/expects/css-modules.css
index bee9afa..9e35874 100644
--- a/test/expects/css-modules.css
+++ b/test/expects/css-modules.css
@@ -1,3 +1,3 @@
-.test {
+.css-modules__test {
color: red;
}
\ No newline at end of file
diff --git a/test/expects/less.css b/test/expects/less.css
new file mode 100644
index 0000000..92cfb71
--- /dev/null
+++ b/test/expects/less.css
@@ -0,0 +1,3 @@
+.less__test {
+ color: red;
+}
\ No newline at end of file
diff --git a/test/expects/less.js b/test/expects/less.js
new file mode 100644
index 0000000..ec5c631
--- /dev/null
+++ b/test/expects/less.js
@@ -0,0 +1,3 @@
+var less = { template: "
",cssModules: {"test":"less__test"},};
+
+export default less;
\ No newline at end of file
diff --git a/test/fixtures/less.vue b/test/fixtures/less.vue
new file mode 100644
index 0000000..fd3447d
--- /dev/null
+++ b/test/fixtures/less.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
diff --git a/test/test.js b/test/test.js
index 992ad9e..a0f0e15 100644
--- a/test/test.js
+++ b/test/test.js
@@ -41,7 +41,7 @@ function test(name) {
assert.equal(code.trim(), expected.trim(), 'should compile code correctly')
// Check css output
- if (['style', 'css-modules', 'css-modules-static', 'scss', 'pug'].indexOf(name) > -1) {
+ if (['style', 'css-modules', 'css-modules-static', 'scss', 'pug', 'less'].indexOf(name) > -1) {
var css = read('expects/' + name + '.css')
assert.equal(css.trim(), actualCss.trim(), 'should output style tag content')
} else {
diff --git a/yarn.lock b/yarn.lock
index 81c3428..b69fab5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3,8 +3,8 @@
"@types/node@^6.0.46":
- version "6.0.61"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.61.tgz#eea1748ad99decaf319b571017018631974ac6f0"
+ version "6.0.62"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.62.tgz#85222c077b54f25b57417bb708b9f877bda37f89"
abbrev@1, abbrev@1.0.x:
version "1.0.9"
@@ -35,23 +35,17 @@ acorn-globals@^3.0.0:
dependencies:
acorn "^4.0.4"
-acorn-jsx@^3.0.0, acorn-jsx@^3.0.1:
+acorn-jsx@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
dependencies:
acorn "^3.0.4"
-acorn-object-spread@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz#48ead0f4a8eb16995a17a0db9ffc6acaada4ba68"
- dependencies:
- acorn "^3.1.0"
-
-acorn@4.X, acorn@^4.0.1, acorn@^4.0.4, acorn@~4.0.2:
+acorn@4.0.4, acorn@4.X, acorn@^4.0.4, acorn@~4.0.2:
version "4.0.4"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
-acorn@^3.0.4, acorn@^3.1.0, acorn@^3.3.0, acorn@~3.3.0:
+acorn@^3.0.4, acorn@^3.1.0, acorn@~3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
@@ -197,11 +191,11 @@ atob@~1.1.0:
resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773"
autoprefixer@^6.0.0:
- version "6.7.0"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.0.tgz#88992cf04df141e7b8293550f2ee716c565d1cae"
+ version "6.7.2"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.2.tgz#172ab07b998ae9b957530928a59a40be54a45023"
dependencies:
- browserslist "~1.6.0"
- caniuse-db "^1.0.30000613"
+ browserslist "^1.7.1"
+ caniuse-db "^1.0.30000618"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
postcss "^5.2.11"
@@ -777,8 +771,8 @@ balanced-match@^0.4.1:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
bcrypt-pbkdf@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
dependencies:
tweetnacl "^0.14.3"
@@ -790,11 +784,11 @@ big.js@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
-bl@^1.0.0, bl@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398"
+bl@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.0.tgz#1397e7ec42c5f5dc387470c500e34a9f6be9ea98"
dependencies:
- readable-stream "~2.0.5"
+ readable-stream "^2.0.5"
block-stream@*:
version "0.0.9"
@@ -827,24 +821,12 @@ browser-stdout@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
-browserslist@~1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.6.0.tgz#85fb7c993540d3fda31c282baf7f5aee698ac9ee"
+browserslist@^1.7.1:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.1.tgz#cc9bd193979a2a4b09fdb3df6003fefe48ccefe1"
dependencies:
- caniuse-db "^1.0.30000613"
- electron-to-chromium "^1.2.0"
-
-buble@^0.15.0:
- version "0.15.2"
- resolved "https://registry.yarnpkg.com/buble/-/buble-0.15.2.tgz#547fc47483f8e5e8176d82aa5ebccb183b02d613"
- dependencies:
- acorn "^3.3.0"
- acorn-jsx "^3.0.1"
- acorn-object-spread "^1.0.0"
- chalk "^1.1.3"
- magic-string "^0.14.0"
- minimist "^1.2.0"
- os-homedir "^1.0.1"
+ caniuse-db "^1.0.30000617"
+ electron-to-chromium "^1.2.1"
buffer-shims@^1.0.0:
version "1.0.0"
@@ -890,9 +872,9 @@ camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
-caniuse-db@^1.0.30000613:
- version "1.0.30000613"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000613.tgz#639133b7a5380c1416f9701d23d54d093dd68299"
+caniuse-db@^1.0.30000617, caniuse-db@^1.0.30000618:
+ version "1.0.30000621"
+ resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000621.tgz#be8726af1a39315618a0f364998cf9c9a0431177"
cardinal@^1.0.0:
version "1.0.0"
@@ -932,7 +914,13 @@ circular-json@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
-clean-css@3.4.x, clean-css@^3.3.0, clean-css@^3.4.12, clean-css@^3.4.24:
+clean-css@4.0.x:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.4.tgz#629896cc364f3c3d00b9908ee60dd18e4c6c6462"
+ dependencies:
+ source-map "0.5.x"
+
+clean-css@^3.3.0, clean-css@^3.4.12, clean-css@^3.4.24:
version "3.4.24"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.24.tgz#89f5a5e9da37ae02394fe049a41388abbe72c3b5"
dependencies:
@@ -1082,14 +1070,14 @@ core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
coveralls@^2.11.15:
- version "2.11.15"
- resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.11.15.tgz#37d3474369d66c14f33fa73a9d25cee6e099fca0"
+ version "2.11.16"
+ resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.11.16.tgz#da9061265142ddee954f68379122be97be8ab4b1"
dependencies:
js-yaml "3.6.1"
lcov-parse "0.0.10"
log-driver "1.2.5"
minimist "1.2.0"
- request "2.75.0"
+ request "2.79.0"
cross-spawn@^3.0.0:
version "3.0.1"
@@ -1304,9 +1292,9 @@ ecc-jsbn@~0.1.1:
dependencies:
jsbn "~0.1.0"
-electron-to-chromium@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.0.tgz#3bd7761f85bd4163602259ae6c7ed338050b17e7"
+electron-to-chromium@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.1.tgz#63ac7579a1c5bedb296c8607621f2efc9a54b968"
emojis-list@^2.0.0:
version "2.1.0"
@@ -1463,16 +1451,16 @@ eslint-plugin-import@^2.2.0:
pkg-up "^1.0.0"
eslint-plugin-promise@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.0.tgz#6ba9048c2df57be77d036e0c68918bc9b4fc4195"
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.1.tgz#6911a9010bf84e17d82e19e0ab0f80ab3ad6db4c"
eslint-plugin-standard@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3"
eslint@^3.14.0:
- version "3.14.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.0.tgz#2c617e5f782fda5cbee5bc8be7ef5053af8e63a3"
+ version "3.15.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.15.0.tgz#bdcc6a6c5ffe08160e7b93c066695362a91e30f2"
dependencies:
babel-code-frame "^6.16.0"
chalk "^1.1.3"
@@ -1480,7 +1468,7 @@ eslint@^3.14.0:
debug "^2.1.1"
doctrine "^1.2.2"
escope "^3.6.0"
- espree "^3.3.1"
+ espree "^3.4.0"
estraverse "^4.2.0"
esutils "^2.0.2"
file-entry-cache "^2.0.0"
@@ -1509,11 +1497,11 @@ eslint@^3.14.0:
text-table "~0.2.0"
user-home "^2.0.0"
-espree@^3.3.1:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c"
+espree@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d"
dependencies:
- acorn "^4.0.1"
+ acorn "4.0.4"
acorn-jsx "^3.0.0"
esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1:
@@ -1708,13 +1696,13 @@ fork-stream@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70"
-form-data@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25"
+form-data@~2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.5"
- mime-types "^2.1.11"
+ mime-types "^2.1.12"
fs-exists-sync@^0.1.0:
version "0.1.0"
@@ -2002,8 +1990,8 @@ gulp-less@^3.0.5:
vinyl-sourcemaps-apply "^0.2.0"
gulp-load-plugins@^1.2.2:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/gulp-load-plugins/-/gulp-load-plugins-1.4.0.tgz#82fab03715ecf1838a958ec643a4d74274ddfece"
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/gulp-load-plugins/-/gulp-load-plugins-1.5.0.tgz#4c419f7e5764d9a0e33061bab9618f81b73d4171"
dependencies:
array-unique "^0.2.1"
fancy-log "^1.2.0"
@@ -2073,8 +2061,8 @@ gulp-shell@^0.5.2:
through2 "^2.0.0"
gulp-sourcemaps@^1.6.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.11.0.tgz#1b249bfe994361c370c168fe2508effc1f1523c9"
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.11.1.tgz#b534376deab49387d406c3aebeb8beaf02ef3548"
dependencies:
acorn "4.X"
convert-source-map "1.X"
@@ -2202,8 +2190,8 @@ hawk@~3.1.3:
sntp "1.x.x"
he@1.1.x, he@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/he/-/he-1.1.0.tgz#29319d49beec13a9b1f3c4f9b2a6dde4859bb2a7"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
hoek@2.x.x:
version "2.16.3"
@@ -2223,15 +2211,15 @@ homedir-polyfill@^1.0.0:
parse-passwd "^1.0.0"
hosted-git-info@^2.1.4:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b"
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5"
html-minifier@^3.2.3:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.2.3.tgz#d2ff536e24d95726c332493d8f77d84dbed85372"
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.3.0.tgz#a9b5b8eda501362d4c5699db02a8dc72013d1fab"
dependencies:
camel-case "3.0.x"
- clean-css "3.4.x"
+ clean-css "4.0.x"
commander "2.9.x"
he "1.1.x"
ncname "1.0.x"
@@ -2263,8 +2251,8 @@ icss-replace-symbols@1.0.2, icss-replace-symbols@^1.0.2:
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5"
ignore@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435"
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410"
image-size@~0.5.0:
version "0.5.1"
@@ -2449,7 +2437,7 @@ is-path-inside@^1.0.0:
dependencies:
path-is-inside "^1.0.1"
-is-plain-obj@^1.0.0:
+is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
@@ -2567,8 +2555,8 @@ js-stringify@^1.0.1:
resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db"
js-tokens@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.0.tgz#a2f2a969caae142fb3cd56228358c89366957bd1"
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
js-yaml@3.6.1, js-yaml@3.x, js-yaml@^3.5.1:
version "3.6.1"
@@ -2689,7 +2677,7 @@ lcov-parse@0.0.10:
version "0.0.10"
resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3"
-"less@2.6.x || ^2.7.1":
+"less@2.6.x || ^2.7.1", less@^2.7.2:
version "2.7.2"
resolved "https://registry.yarnpkg.com/less/-/less-2.7.2.tgz#368d6cc73e1fb03981183280918743c5dcf9b3df"
optionalDependencies:
@@ -2994,12 +2982,6 @@ lru-cache@^4.0.1:
pseudomap "^1.0.1"
yallist "^2.0.0"
-magic-string@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.14.0.tgz#57224aef1701caeed273b17a39a956e72b172462"
- dependencies:
- vlq "^0.2.1"
-
magic-string@^0.15.2:
version "0.15.2"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.15.2.tgz#0681d7388741bbc3addaa65060992624c6c09e9c"
@@ -3049,6 +3031,12 @@ meow@^3.7.0:
redent "^1.0.0"
trim-newlines "^1.0.0"
+merge-options@0.0.64:
+ version "0.0.64"
+ resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-0.0.64.tgz#cbe04f594a6985eaf27f7f8f0b2a3acf6f9d562d"
+ dependencies:
+ is-plain-obj "^1.1.0"
+
merge-stream@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
@@ -3077,7 +3065,7 @@ mime-db@~1.26.0:
version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
-mime-types@^2.1.11, mime-types@~2.1.7:
+mime-types@^2.1.12, mime-types@~2.1.7:
version "2.1.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
dependencies:
@@ -3110,7 +3098,7 @@ minimist@0.0.8, minimist@~0.0.1:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
+minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -3276,10 +3264,6 @@ node-sass@^4.5.0:
sass-graph "^2.1.1"
stdout-stream "^1.4.0"
-node-uuid@~1.4.7:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f"
-
node.extend@^1.1.3:
version "1.1.6"
resolved "https://registry.yarnpkg.com/node.extend/-/node.extend-1.1.6.tgz#a7b882c82d6c93a4863a5504bd5de8ec86258b96"
@@ -3573,8 +3557,8 @@ postcss@5.1.2:
supports-color "^3.1.2"
postcss@^5.0.14, postcss@^5.0.4, postcss@^5.2.11, postcss@^5.2.8:
- version "5.2.11"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.11.tgz#ff29bcd6d2efb98bfe08a022055ec599bbe7b761"
+ version "5.2.12"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.12.tgz#6a2b15e35dd65634441bb0961fa796904c7890e0"
dependencies:
chalk "^1.1.3"
js-base64 "^2.1.9"
@@ -3618,8 +3602,8 @@ pretty-hrtime@^1.0.0:
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
private@^0.1.6:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1"
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
process-nextick-args@^1.0.6, process-nextick-args@~1.0.6:
version "1.0.7"
@@ -3673,18 +3657,18 @@ pug-error@^1.3.2:
resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-1.3.2.tgz#53ae7d9d29bb03cf564493a026109f54c47f5f26"
pug-filters@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-2.1.0.tgz#4e1066df6271e70557baec3da56c686238150e40"
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-2.1.1.tgz#10ab2b6d7e5aeec99cad28a1e4c8085f823fc754"
dependencies:
clean-css "^3.3.0"
constantinople "^3.0.1"
jstransformer "1.0.0"
pug-error "^1.3.2"
- pug-walk "^1.1.0"
+ pug-walk "^1.1.1"
resolve "^1.1.6"
uglify-js "^2.6.1"
-pug-lexer@^2.3.2:
+pug-lexer@^2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-2.3.2.tgz#68b19d96ea5dc0e4a86148b01cb966c17815a614"
dependencies:
@@ -3693,18 +3677,18 @@ pug-lexer@^2.3.2:
pug-error "^1.3.2"
pug-linker@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-2.0.1.tgz#167096eeae722c02f0a718c9c12a0c57b6e2030d"
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-2.0.2.tgz#1deca67d741fab46b028c1366f178fbaee620233"
dependencies:
pug-error "^1.3.2"
- pug-walk "^1.1.0"
+ pug-walk "^1.1.1"
pug-load@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.4.tgz#51beb5c9af10269ea533d0a881223c3d8ccc0fd9"
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.5.tgz#eaaf46ccace8aff7461e0fad1e2b67305514f2c6"
dependencies:
object-assign "^4.1.0"
- pug-walk "^1.1.0"
+ pug-walk "^1.1.1"
pug-parser@^2.0.2:
version "2.0.2"
@@ -3723,17 +3707,17 @@ pug-strip-comments@^1.0.2:
dependencies:
pug-error "^1.3.2"
-pug-walk@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.0.tgz#f784cf94215d70ade49f1fc05c736dc741623051"
+pug-walk@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.1.tgz#b9976240d213692e6993fbc13ae1205c54052efe"
pug@^2.0.0-beta10:
- version "2.0.0-beta10"
- resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.0-beta10.tgz#0afdc58af0e6b36500390ed05fd1fe4ba038d6d7"
+ version "2.0.0-beta9"
+ resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.0-beta9.tgz#158ec6dbace5bb78f2b25e8825477d03ea6e14b0"
dependencies:
pug-code-gen "^1.1.1"
pug-filters "^2.1.0"
- pug-lexer "^2.3.2"
+ pug-lexer "^2.3.1"
pug-linker "^2.0.1"
pug-load "^2.0.4"
pug-parser "^2.0.2"
@@ -3748,9 +3732,9 @@ q@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
-qs@~6.2.0:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625"
+qs@~6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442"
randomatic@^1.1.3:
version "1.1.6"
@@ -3783,7 +3767,7 @@ read-pkg@^1.0.0:
isarray "0.0.1"
string_decoder "~0.10.x"
-readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2:
+readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
dependencies:
@@ -3804,17 +3788,6 @@ readable-stream@~1.1.8, readable-stream@~1.1.9:
isarray "0.0.1"
string_decoder "~0.10.x"
-readable-stream@~2.0.5:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "~1.0.0"
- process-nextick-args "~1.0.6"
- string_decoder "~0.10.x"
- util-deprecate "~1.0.1"
-
readable-stream@~2.1.0:
version "2.1.5"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
@@ -3933,18 +3906,17 @@ replace-ext@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
-request@2, request@2.75.0, request@^2.61.0, request@^2.72.0:
- version "2.75.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93"
+request@2, request@2.79.0, request@^2.61.0, request@^2.72.0:
+ version "2.79.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
- bl "~1.1.2"
caseless "~0.11.0"
combined-stream "~1.0.5"
extend "~3.0.0"
forever-agent "~0.6.1"
- form-data "~2.0.0"
+ form-data "~2.1.1"
har-validator "~2.0.6"
hawk "~3.1.3"
http-signature "~1.1.0"
@@ -3952,12 +3924,12 @@ request@2, request@2.75.0, request@^2.61.0, request@^2.72.0:
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.7"
- node-uuid "~1.4.7"
oauth-sign "~0.8.1"
- qs "~6.2.0"
+ qs "~6.3.0"
stringstream "~0.0.4"
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
+ uuid "^3.0.0"
require-dir@^0.3.0:
version "0.3.1"
@@ -4035,13 +4007,6 @@ rollup-plugin-babel@^2.7.1:
object-assign "^4.1.0"
rollup-pluginutils "^1.5.0"
-rollup-plugin-buble@^0.15.0:
- version "0.15.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-buble/-/rollup-plugin-buble-0.15.0.tgz#83c3e89c7fd2266c7918f41ba3980313519c7fd0"
- dependencies:
- buble "^0.15.0"
- rollup-pluginutils "^1.5.0"
-
rollup-plugin-css-only@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-css-only/-/rollup-plugin-css-only-0.2.0.tgz#e7c583b2726ff15c88e701ead5c9ad80e1cf4324"
@@ -4167,8 +4132,8 @@ source-map-resolve@^0.3.0:
urix "~0.1.0"
source-map-support@^0.4.0, source-map-support@^0.4.2:
- version "0.4.10"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.10.tgz#d7b19038040a14c0837a18e630a196453952b378"
+ version "0.4.11"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322"
dependencies:
source-map "^0.5.3"
@@ -4182,7 +4147,7 @@ source-map@0.4.x, source-map@^0.4.4:
dependencies:
amdefine ">=0.0.4"
-source-map@0.X, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
+source-map@0.5.x, source-map@0.X, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
@@ -4516,6 +4481,10 @@ util@^0.10.3:
dependencies:
inherits "2.0.1"
+uuid@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
+
v8flags@^2.0.2:
version "2.0.11"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881"