diff --git a/scripts/bootstrap.js b/scripts/bootstrap.js index 209b7c89e2..d76f98ad06 100755 --- a/scripts/bootstrap.js +++ b/scripts/bootstrap.js @@ -33,12 +33,17 @@ packages.forEach(function (root) { mkdir("-p", nodeModulesLoc); packages.forEach(function (sub) { - if (!root.pkg.dependencies || !root.pkg.dependencies[sub.name]) return; + var valid = false; + if (root.pkg.dependencies && root.pkg.dependencies[sub.name]) valid = true; + if (root.pkg.devDependencies && root.pkg.devDependencies[sub.name]) valid = true; + if (!valid) return; - if (!fs.existsSync(nodeModulesLoc + "/" + sub.name)) { - console.log("Linking", "packages/" + sub.folder, "to", nodeModulesLoc + "/" + sub.name); - ln("-s", "packages/" + sub.folder, nodeModulesLoc + "/" + sub.name); - } + var linkSrc = "packages/" + sub.folder; + var linkDest = nodeModulesLoc + "/" + sub.name; + + console.log("Linking", linkSrc, "to", linkDest); + if (fs.existsSync(linkDest)) fs.unlinkSync(linkDest); + ln("-s", linkSrc, linkDest); }); cd("packages/" + root.folder);