From c8ac2b8368af79a1704afb4e7725f4847a664079 Mon Sep 17 00:00:00 2001 From: Rahul Kadyan Date: Wed, 17 May 2017 13:29:20 +0530 Subject: [PATCH 1/3] Add tests for import style --- test/expects/import-less.css | 3 +++ test/expects/import-less.js | 3 +++ test/expects/import-scss.css | 2 ++ test/expects/import-scss.js | 3 +++ test/fixtures/import-less.vue | 11 +++++++++++ test/fixtures/import-scss.vue | 11 +++++++++++ test/fixtures/some.less | 5 +++++ test/fixtures/some.scss | 5 +++++ test/test.js | 10 ++++++---- 9 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 test/expects/import-less.css create mode 100644 test/expects/import-less.js create mode 100644 test/expects/import-scss.css create mode 100644 test/expects/import-scss.js create mode 100644 test/fixtures/import-less.vue create mode 100644 test/fixtures/import-scss.vue create mode 100644 test/fixtures/some.less create mode 100644 test/fixtures/some.scss diff --git a/test/expects/import-less.css b/test/expects/import-less.css new file mode 100644 index 0000000..e7c946d --- /dev/null +++ b/test/expects/import-less.css @@ -0,0 +1,3 @@ +.hello { + color: red; +} \ No newline at end of file diff --git a/test/expects/import-less.js b/test/expects/import-less.js new file mode 100644 index 0000000..32ac936 --- /dev/null +++ b/test/expects/import-less.js @@ -0,0 +1,3 @@ +var importLess = { template: "
",}; + +export default importLess; \ No newline at end of file diff --git a/test/expects/import-scss.css b/test/expects/import-scss.css new file mode 100644 index 0000000..81a6d50 --- /dev/null +++ b/test/expects/import-scss.css @@ -0,0 +1,2 @@ +.hello { + color: red; } \ No newline at end of file diff --git a/test/expects/import-scss.js b/test/expects/import-scss.js new file mode 100644 index 0000000..daffe4e --- /dev/null +++ b/test/expects/import-scss.js @@ -0,0 +1,3 @@ +var importScss = { template: "
",}; + +export default importScss; \ No newline at end of file diff --git a/test/fixtures/import-less.vue b/test/fixtures/import-less.vue new file mode 100644 index 0000000..6c9a0ce --- /dev/null +++ b/test/fixtures/import-less.vue @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/test/fixtures/import-scss.vue b/test/fixtures/import-scss.vue new file mode 100644 index 0000000..6c49f89 --- /dev/null +++ b/test/fixtures/import-scss.vue @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/test/fixtures/some.less b/test/fixtures/some.less new file mode 100644 index 0000000..4970069 --- /dev/null +++ b/test/fixtures/some.less @@ -0,0 +1,5 @@ +@var: red; + +.hello { + color: @var; +} diff --git a/test/fixtures/some.scss b/test/fixtures/some.scss new file mode 100644 index 0000000..33eb96f --- /dev/null +++ b/test/fixtures/some.scss @@ -0,0 +1,5 @@ +$var: red; + +.hello { + color: $var; +} diff --git a/test/test.js b/test/test.js index 9f881f6..4a8f154 100644 --- a/test/test.js +++ b/test/test.js @@ -49,14 +49,16 @@ function test(name) { // Check css output if ([ - 'style', 'css-modules', 'css-modules-static', + 'import-scss', + 'import-less', + 'less', + 'pug', 'scoped-css', 'scoped-css-with-no-auto-style', 'scss', - 'pug', - 'less', + 'style', 'stylus' ].indexOf(name) > -1) { var css = read('expects/' + name + '.css') @@ -75,7 +77,7 @@ function test(name) { describe('rollup-plugin-vue', function () { fs.readdirSync(path.resolve(__dirname, 'fixtures')) .forEach(function (file) { - test(file.substr(0, file.length - 4)) + if (/\.vue$/.test(file)) test(file.substr(0, file.length - 4)) }) }) From 89c434c82b438a4b3e37a733ae4e4c6f4435d6ce Mon Sep 17 00:00:00 2001 From: Rahul Kadyan Date: Wed, 17 May 2017 13:36:06 +0530 Subject: [PATCH 2/3] Add parent directory to paths --- src/style/less.js | 20 -------------------- src/style/less/index.js | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 20 deletions(-) delete mode 100644 src/style/less.js create mode 100644 src/style/less/index.js diff --git a/src/style/less.js b/src/style/less.js deleted file mode 100644 index edb4074..0000000 --- a/src/style/less.js +++ /dev/null @@ -1,20 +0,0 @@ -export default async function (style, options) { - const less = require('less') - const { css, map } = await less.render( - 'data' in options.less ? `${options.less.data}\n${style.code}` : 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/less/index.js b/src/style/less/index.js new file mode 100644 index 0000000..41054a9 --- /dev/null +++ b/src/style/less/index.js @@ -0,0 +1,27 @@ +import path from 'path' + +export default async function (style, options) { + const less = require('less') + const config = { + plugins: [], + paths: [], + sourceMap: { + sourceMapFullFilename: style.id, + sourceMapFileInline: false + }, + ...options.less + } + + config.paths.unshift(path.dirname(style.id)) + + const { css, map } = await less.render( + 'data' in options.less ? `${options.less.data}\n${style.code}` : style.code, config + ) + + style.$compiled = { + code: css.toString(), + map: map.toString() + } + + return style +} From d92b2ed2ca2cb8bf121f128973d6558a7cdc17e5 Mon Sep 17 00:00:00 2001 From: Rahul Kadyan Date: Wed, 17 May 2017 13:42:55 +0530 Subject: [PATCH 3/3] Fix import statement --- src/style/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/style/index.js b/src/style/index.js index 74473b0..10da810 100644 --- a/src/style/index.js +++ b/src/style/index.js @@ -2,7 +2,7 @@ import { writeFile, mkdirSync as mkdir, existsSync as exists } from 'fs' import { dirname, isAbsolute, resolve as resolvePath } from 'path' import compileCSS from './css' import compileSCSS from './scss' -import compileLESS from './less' +import compileLESS from './less/index' import compileSTYLUS from './stylus' const compilers = {