Socket
Socket
Sign inDemoInstall

npe

Package Overview
Dependencies
3
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.4 to 1.2.0

21

index.js

@@ -9,3 +9,7 @@ #!/usr/bin/env node

var stringToArray = require('./lib/string-to-array')
var args = require('minimist')(process.argv.slice(2))
var args = require('minimist')(process.argv.slice(2),
{
string: ['package'],
boolean: ['delete']
})
var endOfLine = require('os').EOL

@@ -20,2 +24,5 @@

var pkg = require(args.package)
var write = function (file, data) {
fs.writeFileSync(file, JSON.stringify(data, null, 2) + endOfLine)
}

@@ -33,2 +40,11 @@ // Usage

// Delete
if (args.delete) {
for (var idx in args._) {
steelToe(pkg).set(args._[idx], undefined)
}
write(args.package, pkg)
process.exit()
}
// Get

@@ -61,3 +77,2 @@ if (args._.length === 1) {

})
fs.writeFileSync(args.package, JSON.stringify(pkg, null, 2) + endOfLine)
write(args.package, pkg)

2

package.json
{
"name": "npe",
"version": "1.1.4",
"version": "1.2.0",
"description": "Node Package Editor: a CLI for one-off inspection and editing of properties in package.json files.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -235,2 +235,82 @@ 'use strict'

})
describe('with --delete flag', function () {
var pkg
var tmpFile
beforeEach(function (done) {
tmpFile = util.format('/tmp/package-%s.json', Math.random() * 10000)
nixt()
.run('cp ' + fixturePath + ' ' + tmpFile)
.end(done)
})
it("check that entry 'main' exists", function (done) {
nixt()
.run('./index.js main --package=' + tmpFile)
.stdout(/index\.js/)
.end(done)
})
it("it deletes entry 'main'", function (done) {
nixt()
.expect(function (result) {
pkg = require(tmpFile)
if (!pkg || pkg.main) {
return new Error('main should be deleted')
}
})
.run('./index.js --delete main --package=' + tmpFile)
.end(done)
})
it('it deletes multiple keys', function (done) {
nixt()
.expect(function (result) {
pkg = require(tmpFile)
if (!pkg || pkg.main || pkg.scripts) {
return new Error('main and scripts should be deleted')
}
})
.run('./index.js --delete main --package=' + tmpFile + ' ' + 'scripts')
.end(done)
})
it("check that entry 'repository.url' exists", function (done) {
nixt()
.run('./index.js repository.url --package=' + tmpFile)
.stdout(/^https:\/\/github\.com\/example\/normal$/)
.end(done)
})
it('it deletes nested keys', function (done) {
nixt()
.expect(function (result) {
pkg = require(tmpFile)
if (!pkg || !pkg.repository || pkg.repository.url) {
return new Error('repository.url should be deleted')
}
})
.run('./index.js --delete "repository.url" --package=' + tmpFile)
.end(done)
})
it('delete all nested keys leaves empty object', function (done) {
nixt()
.expect(function (result) {
pkg = require(tmpFile)
if (!pkg || !pkg.repository || pkg.repository.url || pkg.repository.type) {
return new Error('repository.url should be deleted')
}
if (typeof pkg.repository !== 'object') {
return new Error('repository is not of type object')
}
if (Object.keys(pkg.repository).length > 0) {
return new Error('expect repository to be empty')
}
})
.run('./index.js --delete repository.url repository.type --package=' + tmpFile)
.end(done)
})
})
})

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc