Skip to content

Commit f8ba6b9

Browse files
Dimitar TachevDimitar Tachev
Dimitar Tachev
authored and
Dimitar Tachev
committed
fix: stop creating hooks on npm i in plugin folders.
1 parent 088a20c commit f8ba6b9

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

index.js

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,29 +24,42 @@ function generateHookName(pkg, hook) {
2424
}
2525

2626
function findProjectDir(pkgdir) {
27-
if (process.env.INIT_CWD) {
27+
if (process.env.INIT_CWD && _isNativeScriptAppRoot(process.env.INIT_CWD)) {
2828
return process.env.INIT_CWD;
2929
}
3030

3131
var candidateDir = pkgdir;
32+
var oldCandidateDir = null;
3233

3334
while (true) {
34-
var oldCandidateDir = candidateDir;
3535
candidateDir = path.dirname(candidateDir);
36+
if (oldCandidateDir === candidateDir) {
37+
return;
38+
}
39+
3640
if (path.basename(candidateDir) === 'node_modules') {
3741
continue;
3842
}
39-
var packageJsonFile = path.join(candidateDir, 'package.json');
40-
if (fs.existsSync(packageJsonFile)) {
43+
44+
if (_isNativeScriptAppRoot(candidateDir)) {
4145
return candidateDir;
4246
}
4347

44-
if (oldCandidateDir === candidateDir) {
45-
return;
46-
}
48+
oldCandidateDir = candidateDir;
4749
}
4850
}
4951

52+
function _isNativeScriptAppRoot(dir) {
53+
var isNativeScriptAppRoot = false;
54+
var packageJsonFile = path.join(dir, 'package.json');
55+
if (fs.existsSync(packageJsonFile)) {
56+
var packageJsonContent = require(packageJsonFile);
57+
isNativeScriptAppRoot = !!packageJsonContent.nativescript && !!packageJsonContent.nativescript.id;
58+
}
59+
60+
return isNativeScriptAppRoot;
61+
}
62+
5063
function forEachHook(pkgdir, callback) {
5164
var pkg = require(path.join(pkgdir, 'package.json'));
5265
var ns = pkg.nativescript;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nativescript-hook",
3-
"version": "0.2.2",
3+
"version": "0.2.3",
44
"description": "Helper module for installing hooks into NativeScript projects",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)