diff --git a/src/lib/before-prepare.js b/src/lib/before-prepare.js index 314933e..d346195 100644 --- a/src/lib/before-prepare.js +++ b/src/lib/before-prepare.js @@ -8,5 +8,5 @@ module.exports = function ($logger, $projectData, $usbLiveSyncService) { return; } - return converter.convert($logger, $projectData.projectDir); + return converter.convert($logger, $projectData.projectDir, $projectData.appDirectoryPath); } diff --git a/src/lib/before-watchPatterns.js b/src/lib/before-watchPatterns.js index 1880991..6b3f018 100644 --- a/src/lib/before-watchPatterns.js +++ b/src/lib/before-watchPatterns.js @@ -1,8 +1,13 @@ +var path = require('path'); + module.exports = function (hookArgs) { if (hookArgs.liveSyncData && !hookArgs.liveSyncData.bundle) { return (args, originalMethod) => { - return originalMethod().then(originalPatterns => { - originalPatterns.push("!app/**/*.scss"); + return originalMethod(...args).then(originalPatterns => { + const projectData = hookArgs.projectData; + const appRelativePath = path.relative(projectData.projectDir, projectData.appDirectoryPath); + const pattern = `!${appRelativePath}/**/*.scss`; + originalPatterns.push(pattern); return originalPatterns; }); diff --git a/src/lib/converter.js b/src/lib/converter.js index effd22d..de56f7e 100644 --- a/src/lib/converter.js +++ b/src/lib/converter.js @@ -6,11 +6,10 @@ var fs = require('fs'); var path = require('path'); var currentSassProcess = null; -function convert(logger, projectDir, options) { +function convert(logger, projectDir, appDir, options) { return new Promise(function (resolve, reject) { options = options || {}; var sassPath = require.resolve('node-sass/bin/node-sass'); - var appDir = path.join(projectDir, "app"); var importerPath = path.join(__dirname, "importer.js"); if (fs.existsSync(sassPath)) { @@ -36,6 +35,7 @@ function convert(logger, projectDir, options) { logger.trace(process.execPath, nodeArgs.join(' ')); var env = Object.create( process.env ); env.PROJECT_DIR = projectDir; + env.APP_DIR = appDir; currentSassProcess = spawn(process.execPath, nodeArgs, { env: env }); var isResolved = false; diff --git a/src/lib/importer.js b/src/lib/importer.js index 8073df7..11a4315 100644 --- a/src/lib/importer.js +++ b/src/lib/importer.js @@ -6,7 +6,7 @@ module.exports = function(url, prev, done) { url = path.resolve(process.env.PROJECT_DIR, "node_modules", url.substr(1)); } else if (url[0] === '~' && url[1] === '/') { // Resolve "~/" paths to the app root - url = path.resolve(process.env.PROJECT_DIR, "app/"+ url.substr(2)); + url = path.resolve(process.env.APP_DIR, url.substr(2)); } return { file: url }; diff --git a/src/lib/watch.js b/src/lib/watch.js index 290a80c..5afcfb0 100644 --- a/src/lib/watch.js +++ b/src/lib/watch.js @@ -9,5 +9,5 @@ module.exports = function (logger, projectData, usbLiveSyncService, hookArgs) { } } - return converter.convert(logger, projectData.projectDir, { watch: true }); + return converter.convert(logger, projectData.projectDir, projectData.appDirectoryPath, { watch: true }); }