Skip to content

Commit e2d0d62

Browse files
committed
fix: local plugins whose name starts with @ are not getting installed.
1 parent d715dd6 commit e2d0d62

3 files changed

Lines changed: 17 additions & 7 deletions

File tree

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@wavemaker/wm-cordova-cli",
3-
"version": "1.6.0",
3+
"version": "1.6.1",
44
"description": "command line tool to easily build a wavemaker mobile project",
55
"main": "index.js",
66
"preferGlobal": true,

src/command.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,20 @@ const extractZip = async(zip, dest) => {
5959
});
6060
};
6161

62+
const findRootPackage = (d) => {
63+
var rootPackage = null;
64+
if (fs.statSync(d).isDirectory()) {
65+
if (fs.existsSync(d + 'package.json')) {
66+
return d;
67+
}
68+
fs.readdirSync(d).find(c => {
69+
rootPackage = findRootPackage(d + c + '/');
70+
return !!rootPackage;
71+
});
72+
}
73+
return rootPackage;
74+
};
75+
6276
async function updatePackageJson(dest, cordovaVersion, cordovaIosVersion, cordovaAndroidVersion) {
6377
const projectDir = dest;
6478
const packageJsonPath = `${projectDir}package.json`;
@@ -113,11 +127,7 @@ async function updatePackageJson(dest, cordovaVersion, cordovaIosVersion, cordov
113127

114128
return extractZip(pluginsFolder + spec, extractFolder)
115129
.then(() => {
116-
const target = fs.readdirSync(extractFolder).find(c => {
117-
const d = extractFolder + c;
118-
return fs.statSync(d).isDirectory() && fs.existsSync(d + '/package.json');
119-
});
120-
data = data.replace(spec, 'file://' + extractFolder + target);
130+
data = data.replace(spec, findRootPackage(extractFolder));
121131
});
122132
}
123133
});

0 commit comments

Comments
 (0)