Skip to content

Commit

Permalink
feat: return dist-tag on package registry
Browse files Browse the repository at this point in the history
  • Loading branch information
fengmk2 committed Aug 22, 2016
1 parent fb29419 commit d28d3a1
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 49 deletions.
12 changes: 0 additions & 12 deletions controllers/registry/package/dist_tag.js
@@ -1,17 +1,5 @@
/**!
* Copyright(c) cnpm and other contributors.
* MIT Licensed
*
* Authors:
* fengmk2 <fengmk2@gmail.com> (http://fengmk2.com)
*/

'use strict';

/**
* Module dependencies.
*/

var packageService = require('../../../services/package');

function ok() {
Expand Down
26 changes: 13 additions & 13 deletions controllers/registry/package/show.js
@@ -1,17 +1,5 @@
/**!
* Copyright(c) cnpm and other contributors.
* MIT Licensed
*
* Authors:
* fengmk2 <fengmk2@gmail.com> (http://fengmk2.com)
*/

'use strict';

/**
* Module dependencies.
*/

var debug = require('debug')('cnpmjs.org:controllers:registry:package:show');
var semver = require('semver');
var packageService = require('../../../services/package');
Expand Down Expand Up @@ -47,10 +35,22 @@ module.exports = function* show() {
if (mod) {
setDownloadURL(mod.package, this);
mod.package._cnpm_publish_time = mod.publish_time;
var maintainers = yield* packageService.listMaintainers(name);
var rs = yield [
packageService.listMaintainers(name),
packageService.listModuleTags(name),
];
var maintainers = rs[0];
if (maintainers.length > 0) {
mod.package.maintainers = maintainers;
}
var tags = rs[1];
var distTags = {};
for (var i = 0; i < tags.length; i++) {
var t = tags[i];
distTags[t.tag] = t.version;
}
// show tags for npminstall faster download
mod.package['dist-tags'] = distTags;
this.jsonp = mod.package;
return;
}
Expand Down
12 changes: 0 additions & 12 deletions services/package.js
@@ -1,17 +1,5 @@
/**
* Copyright(c) cnpm and other contributors.
* MIT Licensed
*
* Authors:
* fengmk2 <fengmk2@gmail.com> (http://fengmk2.com)
*/

'use strict';

/**
* Module dependencies.
*/

var semver = require('semver');
var models = require('../models');
var common = require('./common');
Expand Down
33 changes: 21 additions & 12 deletions test/controllers/registry/package/show.test.js
@@ -1,17 +1,5 @@
/**
* Copyright(c) cnpm and other contributors.
* MIT Licensed
*
* Authors:
* fengmk2 <fengmk2@gmail.com> (http://fengmk2.com)
*/

'use strict';

/**
* Module dependencies.
*/

var should = require('should');
var request = require('supertest');
var mm = require('mm');
Expand Down Expand Up @@ -55,6 +43,9 @@ describe('test/controllers/registry/package/show.test.js', function () {
var data = res.body;
data.name.should.equal('@cnpmtest/testmodule-show');
data.version.should.equal('0.0.1');
data['dist-tags'].should.eql({
latest: '1.1.0',
});
data.dist.tarball.should.containEql('/@cnpmtest/testmodule-show/download/@cnpmtest/testmodule-show-0.0.1.tgz');
done();
});
Expand All @@ -68,6 +59,9 @@ describe('test/controllers/registry/package/show.test.js', function () {
var data = res.body;
data.name.should.equal('@cnpmtest/testmodule-show');
data.version.should.equal('1.1.0');
data['dist-tags'].should.eql({
latest: '1.1.0',
});
data.dist.tarball.should.containEql('/@cnpmtest/testmodule-show/download/@cnpmtest/testmodule-show-1.1.0.tgz');
done();
});
Expand All @@ -81,6 +75,9 @@ describe('test/controllers/registry/package/show.test.js', function () {
var data = res.body;
data.name.should.equal('@cnpmtest/testmodule-show');
data.version.should.equal('0.0.1');
data['dist-tags'].should.eql({
latest: '1.1.0',
});
data.dist.tarball.should.containEql('/@cnpmtest/testmodule-show/download/@cnpmtest/testmodule-show-0.0.1.tgz');
done();
});
Expand All @@ -94,6 +91,9 @@ describe('test/controllers/registry/package/show.test.js', function () {
var data = res.body;
data.name.should.equal('@cnpmtest/testmodule-show');
data.version.should.equal('1.1.0');
data['dist-tags'].should.eql({
latest: '1.1.0',
});
data.dist.tarball.should.containEql('/@cnpmtest/testmodule-show/download/@cnpmtest/testmodule-show-1.1.0.tgz');
done();
});
Expand All @@ -107,6 +107,9 @@ describe('test/controllers/registry/package/show.test.js', function () {
var data = res.body;
data.name.should.equal('@cnpmtest/testmodule-only-beta');
data.version.should.equal('1.0.0-beta.1');
data['dist-tags'].should.eql({
latest: '1.0.0-beta.1',
});
data.dist.tarball.should.containEql('/@cnpmtest/testmodule-only-beta/download/@cnpmtest/testmodule-only-beta-1.0.0-beta.1.tgz');
done();
});
Expand All @@ -127,6 +130,9 @@ describe('test/controllers/registry/package/show.test.js', function () {
var data = res.body;
data.name.should.equal('@cnpmtest/testmodule-show');
data.version.should.equal('1.1.0');
data['dist-tags'].should.eql({
latest: '1.1.0',
});
done();
});
});
Expand All @@ -145,6 +151,9 @@ describe('test/controllers/registry/package/show.test.js', function () {
var data = res.body;
data.name.should.equal('@cnpmtest/testmodule-show');
data.version.should.equal('0.0.1');
data['dist-tags'].should.eql({
latest: '1.1.0',
});
done();
});
});
Expand Down

0 comments on commit d28d3a1

Please sign in to comment.