Skip to content
This repository was archived by the owner on Aug 7, 2021. It is now read-only.

Commit f51241c

Browse files
MartoYankovVasil Chimev
authored and
Vasil Chimev
committed
feat(sass): add conditional sass deps for webpack (#355)
Add sass dependency only if the dev-sass plugin is already installed.
1 parent 0b9febe commit f51241c

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

Diff for: dependencyManager.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { isAngular, isTypeScript } = require("./projectHelpers");
1+
const { isAngular, isTypeScript, isSass } = require("./projectHelpers");
22

33
const NEW_DEPS_MESSAGE = `\
44
A few new dependencies were added. \
@@ -76,6 +76,10 @@ function getRequiredDeps(packageJson) {
7676
Object.assign(deps, { "awesome-typescript-loader": "~3.1.3" });
7777
}
7878

79+
if (isSass({packageJson})) {
80+
Object.assign(deps, { "sass-loader": "~6.0.6" });
81+
}
82+
7983
return deps;
8084
}
8185

Diff for: projectHelpers.js

+13
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,18 @@ const isAngular = ({ projectDir, packageJson } = {}) => {
2121
.some(dependency => /^@angular\b/.test(dependency));
2222
};
2323

24+
const isSass = ({ projectDir, packageJson } = {}) => {
25+
packageJson = packageJson || getPackageJson(projectDir);
26+
27+
return (
28+
packageJson.dependencies &&
29+
packageJson.dependencies.hasOwnProperty("nativescript-dev-sass")
30+
) || (
31+
packageJson.devDependencies &&
32+
packageJson.devDependencies.hasOwnProperty("nativescript-dev-sass")
33+
);
34+
};
35+
2436
const getAndroidRuntimeVersion = (projectDir) => {
2537
try {
2638
const projectPackageJSON = getPackageJson(projectDir);
@@ -105,6 +117,7 @@ const getPackageJsonPath = projectDir => path.resolve(projectDir, "package.json"
105117
module.exports = {
106118
isTypeScript,
107119
isAngular,
120+
isSass,
108121
writePackageJson,
109122
getPackageJson,
110123
getProjectDir,

0 commit comments

Comments
 (0)