Files
react-native-devtools-frontend/node_modules/read-installed/test/linked-dep-dev-deps-extraneous.js
T
Paul Lewis 911c1b8a93 Updates node_modules
DISABLE_THIRD_PARTY_CHECK=Package needs updating with node_modules
Change-Id: I889f1b86c586e37307a3e13ad762aa56d1ece150
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1946468
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2019-12-02 14:54:54 +00:00

60 lines
1.3 KiB
JavaScript

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()
})