]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/read-installed/test/linked-dep-dev-deps-extraneous.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / read-installed / test / linked-dep-dev-deps-extraneous.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/read-installed/test/linked-dep-dev-deps-extraneous.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/read-installed/test/linked-dep-dev-deps-extraneous.js
new file mode 100644 (file)
index 0000000..6560513
--- /dev/null
@@ -0,0 +1,59 @@
+var test = require('tap').test
+var path = require('path')
+var fs = require('fs')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var readInstalled = require('../')
+
+var root = path.resolve(__dirname, 'root')
+var pkg = path.resolve(root, 'pkg')
+var pkgnm = path.resolve(pkg, 'node_modules')
+var linkdepSrc = path.resolve(root, 'linkdep')
+var linkdepLink = path.resolve(pkgnm, 'linkdep')
+var devdep = path.resolve(linkdepSrc, 'node_modules', 'devdep')
+
+function pjson (dir, data) {
+  mkdirp.sync(dir)
+  var d = path.resolve(dir, 'package.json')
+  fs.writeFileSync(d, JSON.stringify(data))
+}
+
+test('setup', function (t) {
+  rimraf.sync(root)
+  pjson(pkg, {
+    name: 'root',
+    version: '1.2.3',
+    dependencies: {
+      linkdep: ''
+    }
+  })
+  pjson(linkdepSrc, {
+    name: 'linkdep',
+    version: '1.2.3',
+    devDependencies: {
+      devdep: ''
+    }
+  })
+  pjson(devdep, {
+    name: 'devdep',
+    version: '1.2.3'
+  })
+
+  mkdirp.sync(pkgnm)
+  fs.symlinkSync(linkdepSrc, linkdepLink, 'dir')
+
+  t.end()
+})
+
+test('basic', function (t) {
+  readInstalled(pkg, { dev: true }, function (er, data) {
+    var dd = data.dependencies.linkdep.dependencies.devdep
+    t.notOk(dd.extraneous, 'linked dev dep should not be extraneous')
+    t.end()
+  })
+})
+
+test('cleanup', function (t) {
+  rimraf.sync(root)
+  t.end()
+})