From 1100b7efcff1365526f42415b4f9d3960dcb9921 Mon Sep 17 00:00:00 2001 From: Bogdan Chadkin Date: Sat, 3 Jun 2017 21:39:41 +0300 Subject: [PATCH] Trim quote from import path --- src/extractICSS.js | 4 ++-- test/extractICSS.test.js | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/extractICSS.js b/src/extractICSS.js index 8afa88c..ff903b1 100644 --- a/src/extractICSS.js +++ b/src/extractICSS.js @@ -1,4 +1,4 @@ -const importPattern = /^:import\(("[^"]*"|'[^']*'|[\w-\.]+)\)$/; +const importPattern = /^:import\(("[^"]*"|'[^']*'|[^"']+)\)$/; const getDeclsObject = rule => { const object = {}; @@ -16,7 +16,7 @@ const extractICSS = (css, removeRules = true) => { if (node.selector.slice(0, 7) === ":import") { const matches = importPattern.exec(node.selector); if (matches) { - const path = matches[1]; + const path = matches[1].replace(/'|"/g, ""); const aliases = Object.assign( icssImports[path] || {}, getDeclsObject(node) diff --git a/test/extractICSS.test.js b/test/extractICSS.test.js index a85c591..6148dc5 100644 --- a/test/extractICSS.test.js +++ b/test/extractICSS.test.js @@ -21,7 +21,7 @@ test("extract :import statements with identifier", () => { test("extract :import statements with single quoted path", () => { expect(runExtract(`:import('./colors.css') {}`)).toEqual({ icssImports: { - "'./colors.css'": {} + "./colors.css": {} }, icssExports: {} }); @@ -30,18 +30,18 @@ test("extract :import statements with single quoted path", () => { test("extract :import statements with double quoted path", () => { expect(runExtract(':import("./colors.css") {}')).toEqual({ icssImports: { - '"./colors.css"': {} + "./colors.css": {} }, icssExports: {} }); }); -test("extract :import with values", () => { +test("not extract :import with values", () => { expect( - runExtract(":import(colors) { i__blue: blue; i__red: red; }") + runExtract(":import(./colors.css) { i__blue: blue; i__red: red; }") ).toEqual({ icssImports: { - colors: { + "./colors.css": { i__blue: "blue", i__red: "red" } @@ -51,7 +51,7 @@ test("extract :import with values", () => { }); test("not extract invalid :import", () => { - expect(runExtract(":import(./color.css) {}")).toEqual({ + expect(runExtract(":import(\\'./colors.css) {}")).toEqual({ icssImports: {}, icssExports: {} });