New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

taze

Package Overview
Dependencies
Maintainers
1
Versions
102
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

taze - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

77

dist/cli.js

@@ -103,2 +103,3 @@ 'use strict';

// ported from: https://github.com/raineorshine/npm-check-updates/blob/master/lib/package-managers/npm.js
// needed until pacote supports full npm config compatibility

@@ -114,4 +115,5 @@ // See: https://github.com/zkat/pacote/issues/156

npmConfig.cache = false;
const versionCache = {};
function getLatestVersion(name) {
function getLatestVersions(name) {
return __awaiter(this, void 0, void 0, function* () {

@@ -121,19 +123,37 @@ if (versionCache[name])

const data = yield pacote.packument(name, Object.assign({}, npmConfig));
versionCache[name] = data['dist-tags'].latest;
versionCache[name] = Object.keys(data.versions || {});
return versionCache[name];
});
}
function checkUpdates(deps) {
function resetRange(version, mode) {
if (mode === 'any')
return '*';
if (!semver.validRange(version))
return null;
if (mode === 'range')
return version;
const min = semver.minVersion(version);
if (!min)
return null;
return {
major: '>=',
minor: '^',
patch: '~',
}[mode] + min;
}
function checkUpdates(deps, mode) {
return __awaiter(this, void 0, void 0, function* () {
return Promise.all(deps.map((dep) => __awaiter(this, void 0, void 0, function* () {
try {
// TODO: range should based on user override or current version range
dep.latestVersion = `^${yield getLatestVersion(dep.name)}`;
const versions = yield getLatestVersions(dep.name);
const range = resetRange(dep.currentVersion, mode);
if (range) {
const max = semver.maxSatisfying(versions, range);
// TODO: align the range
dep.latestVersion = max ? `^${max}` : dep.currentVersion;
dep.diff = semver.diff(semver.minVersion(dep.currentVersion), semver.minVersion(dep.latestVersion));
dep.update = dep.diff !== null;
}
catch (e) {
console.error(e);
dep.latestVersion = dep.currentVersion || 'error';
dep.diff = dep.diff || 'error';
else {
dep.latestVersion = dep.currentVersion;
dep.diff = 'error';
dep.update = false;

@@ -259,10 +279,2 @@ }

function rangeFilter(deps, range) {
var _a;
const target = (_a = DiffMap[range || '']) !== null && _a !== void 0 ? _a : 1000;
return deps.forEach((dep) => {
dep.update = dep.update && DiffMap[dep.diff || ''] >= target;
});
}
function check(options) {

@@ -278,3 +290,3 @@ return __awaiter(this, void 0, void 0, function* () {

],
cwd: options.path,
cwd: options.cwd,
onlyFiles: true,

@@ -291,5 +303,5 @@ });

});
logger.log();
for (const file of packages)
yield checkSinglePackage(file, options, logger);
logger.log();
logger.output();

@@ -300,11 +312,11 @@ });

return __awaiter(this, void 0, void 0, function* () {
const filepath = path.resolve(options.path, relative);
const filepath = path.resolve(options.cwd, relative);
const { pkg, deps } = yield loadDependencies(filepath);
const resolved = yield checkUpdates(deps);
rangeFilter(resolved, options.range);
const resolved = yield checkUpdates(deps, options.mode);
diffSorter(resolved);
logPackagesChanges(pkg, resolved.filter(i => i.update), relative, logger);
if (options.write) {
const changes = resolved.filter(i => i.update);
logPackagesChanges(pkg, changes, relative, logger);
if (options.write && changes.length) {
yield writeDependencies(filepath, resolved);
logger.log(chalk.yellow('changes written to package.json'));
logger.log(chalk.yellow('changes wrote to package.json'));
logger.log();

@@ -328,4 +340,4 @@ }

.command('*', 'check npm version update', {
path: {
alias: 'p',
cwd: {
alias: 'C',
default: path.resolve('.'),

@@ -339,4 +351,5 @@ coerce: (p) => path.resolve(p),

},
range: {
default: 'major',
mode: {
alias: 'm',
default: 'range',
string: true,

@@ -349,6 +362,4 @@ },

},
}, (args) => __awaiter(void 0, void 0, void 0, function* () {
return yield check(args);
}))
}, check)
.help()
.argv;
{
"name": "taze",
"version": "0.0.2",
"version": "0.0.3",
"license": "MIT",

@@ -5,0 +5,0 @@ "scripts": {

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc