From ec16eb22daa3b2c76da41ca898ef13007ac39320 Mon Sep 17 00:00:00 2001 From: George Taveras Date: Sun, 20 Nov 2016 08:51:16 -0500 Subject: [PATCH] Allow relative paths in scoped packages --- lib/importer.js | 9 +++++++-- .../scoped-packages-with-relative-path/index.scss | 1 + .../scoped-packages-with-relative-path/package.json | 8 ++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 test/test-cases/scoped-packages-with-relative-path/index.scss create mode 100644 test/test-cases/scoped-packages-with-relative-path/package.json diff --git a/lib/importer.js b/lib/importer.js index c41ff33..2ff09ff 100644 --- a/lib/importer.js +++ b/lib/importer.js @@ -4,9 +4,10 @@ var findup = require('findup'), var local = require('./local'); function find(dir, file, callback) { - var name; + var name, isScoped = false; if (file.split('/')[0][0] === '@') { name = file.split('/').slice(0, 2).join('/'); + isScoped = true; } else { name = file.split('/')[0]; } @@ -36,7 +37,11 @@ function find(dir, file, callback) { } // if a full path is provided } else { - location = path.join('../', file); + if(isScoped) { + location = path.join('..', '..', file); + } else { + location = path.join('..', file); + } } callback(null, path.resolve(root, location)); }); diff --git a/test/test-cases/scoped-packages-with-relative-path/index.scss b/test/test-cases/scoped-packages-with-relative-path/index.scss new file mode 100644 index 0000000..b477d39 --- /dev/null +++ b/test/test-cases/scoped-packages-with-relative-path/index.scss @@ -0,0 +1 @@ +@import "@lennym/npm-sass-test-sass/child-file"; diff --git a/test/test-cases/scoped-packages-with-relative-path/package.json b/test/test-cases/scoped-packages-with-relative-path/package.json new file mode 100644 index 0000000..3d5db72 --- /dev/null +++ b/test/test-cases/scoped-packages-with-relative-path/package.json @@ -0,0 +1,8 @@ +{ + "name": "npm-sass-test-npm-modules", + "version": "0.0.0", + "description": "sass compilation with npm aware include paths", + "dependencies": { + "@lennym/npm-sass-test-sass": "0.0.0" + } +}