Skip to content
This repository has been archived by the owner on Aug 11, 2022. It is now read-only.

Commit

Permalink
prune: Added back --production support
Browse files Browse the repository at this point in the history
fixes #4509

Test by @isaacs
  • Loading branch information
davglass authored and isaacs committed Feb 15, 2014
1 parent 8a26f6f commit acc4d02
Show file tree
Hide file tree
Showing 3 changed files with 121 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/prune.js
Expand Up @@ -21,7 +21,7 @@ function prune (args, cb) {
}) })


function next() { function next() {
var opt = { depth: npm.config.get("depth") } var opt = { depth: npm.config.get("depth"), dev: npm.config.get("production") }
readInstalled(npm.prefix, opt, function (er, data) { readInstalled(npm.prefix, opt, function (er, data) {
if (er) return cb(er) if (er) return cb(er)
prune_(args, data, cb) prune_(args, data, cb)
Expand Down
107 changes: 107 additions & 0 deletions test/tap/prune.js
@@ -0,0 +1,107 @@
var test = require("tap").test
var fs = require("fs")
var node = process.execPath
var npm = require.resolve("../../bin/npm-cli.js")
var rimraf = require("rimraf")
var mr = require("npm-registry-mock")
var common = require("../common-tap.js")
var spawn = require("child_process").spawn

var pkg = __dirname + "/prune"

var server

test("reg mock", function (t) {
mr(common.port, function (s) {
server = s
t.pass("registry mock started")
t.end()
})
})

test("npm install", function (t) {
var c = spawn(node, [
npm, "install",
"--registry=" + common.registry,
"--loglevel=silent",
"--production=false"
], { cwd: pkg })
c.stderr.on("data", function(d) {
t.fail("Should not get data on stderr: " + d)
})
c.on("close", function(code) {
t.notOk(code, "exit ok")
t.end()
})
})

test("npm install test-package", function (t) {
var c = spawn(node, [
npm, "install", "test-package",
"--registry=" + common.registry,
"--loglevel=silent",
"--production=false"
], { cwd: pkg })
c.stderr.on("data", function(d) {
t.fail("Should not get data on stderr: " + d)
})
c.on("close", function(code) {
t.notOk(code, "exit ok")
t.end()
})
})

test("verify installs", function (t) {
var dirs = fs.readdirSync(pkg + "/node_modules").sort()
t.same(dirs, [ "test-package", "mkdirp", "underscore" ].sort())
t.end()
})

test("npm prune", function (t) {
var c = spawn(node, [
npm, "prune",
"--loglevel=silent",
"--production=false"
], { cwd: pkg })
c.stderr.on("data", function(d) {
t.fail("Should not get data on stderr: " + d)
})
c.on("close", function(code) {
t.notOk(code, "exit ok")
t.end()
})
})

test("verify installs", function (t) {
var dirs = fs.readdirSync(pkg + "/node_modules").sort()
t.same(dirs, [ "mkdirp", "underscore" ])
t.end()
})

test("npm prune", function (t) {
var c = spawn(node, [
npm, "prune",
"--loglevel=silent",
"--production"
], { cwd: pkg })
c.stderr.on("data", function(d) {
t.fail("Should not get data on stderr: " + d)
})
c.on("close", function(code) {
t.notOk(code, "exit ok")
t.end()
})
})

test("verify installs", function (t) {
var dirs = fs.readdirSync(pkg + "/node_modules").sort()
t.same(dirs, [ "underscore" ])
t.end()
})

test("cleanup", function (t) {
server.close()
rimraf.sync(pkg + "/node_modules")
t.pass("cleaned up")
t.end()
})
13 changes: 13 additions & 0 deletions test/tap/prune/package.json
@@ -0,0 +1,13 @@
{
"name": "bla",
"description": "fixture",
"version": "0.0.1",
"main": "index.js",
"dependencies": {
"underscore": "1.3.1"
},
"devDependencies": {
"mkdirp": "*"
},
"repository": "git://github.com/robertkowalski/bogusfixture"
}

0 comments on commit acc4d02

Please sign in to comment.