1 // verify that prepublish runs on pack and publish
2 var common = require("../common-tap")
3 var test = require("tap").test
4 var fs = require("graceful-fs")
5 var join = require("path").join
6 var mkdirp = require("mkdirp")
7 var rimraf = require("rimraf")
9 var pkg = join(__dirname, "prepublish_package")
10 var tmp = join(pkg, "tmp")
11 var cache = join(pkg, "cache")
13 test("setup", function (t) {
21 return function (er) {
28 fs.writeFile(join(pkg, "package.json"), JSON.stringify({
29 name: "npm-test-prepublish",
31 scripts: { prepublish: "echo ok" }
32 }), "ascii", function (er) {
41 test("test", function (t) {
43 "npm_config_cache" : cache,
44 "npm_config_tmp" : tmp,
45 "npm_config_prefix" : pkg,
46 "npm_config_global" : "false"
48 for (var i in process.env) {
49 if (!/^npm_config_/.test(i))
50 env[i] = process.env[i]
56 ], { cwd: pkg, env: env }, function(err, code, stdout, stderr) {
57 t.equal(code, 0, "pack finished successfully")
58 t.ifErr(err, "pack finished successfully")
60 t.notOk(stderr, "got stderr data:" + JSON.stringify("" + stderr))
62 var regex = new RegExp("" +
63 "> npm-test-prepublish@1.2.5 prepublish [^\\r\\n]+\\r?\\n" +
67 "npm-test-prepublish-1.2.5.tgz", "ig")
74 test("cleanup", function (t) {