diff --git a/Makefile b/Makefile index b8fbfc907..f2426ea7f 100644 --- a/Makefile +++ b/Makefile @@ -115,8 +115,8 @@ node_modules/%/package.json : .events/npm else -node_modules/%/package.json : - npm install $* +node_modules/%/package.json : package.json + npm install $(call QUOTE,$*@$(version_$*)) endif diff --git a/tools/pkgvars.js b/tools/pkgvars.js index 811cf7308..38259c2fb 100644 --- a/tools/pkgvars.js +++ b/tools/pkgvars.js @@ -2,9 +2,17 @@ var fs = require('fs'); var pkg = JSON.parse(fs.readFileSync('package.json')); -console.log( -`$(eval name := ${pkg.name}) -$(eval meta_name := ${pkg.meta.name}) -$(eval meta_distBranch := ${pkg.meta.distBranch}) -$(eval meta_uploadPath := ${pkg.meta.uploadPath}) -`); +var vars = {}; +var k; + +vars.name = pkg.name; +for (k in pkg.meta) { + vars[`meta_${k}`] = pkg.meta[k]; +} +for (k in pkg.devDependencies) { + vars[`version_${k}`] = pkg.devDependencies[k]; +} + +for (k in vars) { + console.log(`\$(eval ${k} := ${vars[k]})`); +}