diff --git a/dependencyManager.js b/dependencyManager.js index dbdb484c..98ad552b 100644 --- a/dependencyManager.js +++ b/dependencyManager.js @@ -1,4 +1,4 @@ -const { isAngular, isTypeScript } = require("./projectHelpers"); +const { isAngular, isTypeScript, isSass } = require("./projectHelpers"); const NEW_DEPS_MESSAGE = `\ A few new dependencies were added. \ @@ -76,6 +76,10 @@ function getRequiredDeps(packageJson) { Object.assign(deps, { "awesome-typescript-loader": "~3.1.3" }); } + if (isSass({packageJson})) { + Object.assign(deps, { "sass-loader": "~6.0.6" }); + } + return deps; } diff --git a/projectHelpers.js b/projectHelpers.js index 629fcf8c..fb1b69bf 100644 --- a/projectHelpers.js +++ b/projectHelpers.js @@ -21,6 +21,18 @@ const isAngular = ({ projectDir, packageJson } = {}) => { .some(dependency => /^@angular\b/.test(dependency)); }; +const isSass = ({ projectDir, packageJson } = {}) => { + packageJson = packageJson || getPackageJson(projectDir); + + return ( + packageJson.dependencies && + packageJson.dependencies.hasOwnProperty("nativescript-dev-sass") + ) || ( + packageJson.devDependencies && + packageJson.devDependencies.hasOwnProperty("nativescript-dev-sass") + ); +}; + const getAndroidRuntimeVersion = (projectDir) => { try { const projectPackageJSON = getPackageJson(projectDir); @@ -105,6 +117,7 @@ const getPackageJsonPath = projectDir => path.resolve(projectDir, "package.json" module.exports = { isTypeScript, isAngular, + isSass, writePackageJson, getPackageJson, getProjectDir,