update to working search
This commit is contained in:
3
dist/index.d.ts
vendored
3
dist/index.d.ts
vendored
@ -1 +1,2 @@
|
||||
export declare let standardExport: string;
|
||||
export * from './smartnpm.classes.npmregistry';
|
||||
export * from './smartnpm.classes.npmpackage';
|
||||
|
8
dist/index.js
vendored
8
dist/index.js
vendored
@ -1,4 +1,8 @@
|
||||
"use strict";
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.standardExport = 'Hi there! :) This is a exported string';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVXLFFBQUEsY0FBYyxHQUFHLHdDQUF3QyxDQUFBIn0=
|
||||
__export(require("./smartnpm.classes.npmregistry"));
|
||||
__export(require("./smartnpm.classes.npmpackage"));
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLG9EQUE4QztBQUM5QyxtREFBNkMifQ==
|
32
dist/smartnpm.classes.npmpackage.d.ts
vendored
Normal file
32
dist/smartnpm.classes.npmpackage.d.ts
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
export declare class NpmPackage {
|
||||
name: string;
|
||||
scope: string;
|
||||
version: string;
|
||||
description: string;
|
||||
keywords: string[];
|
||||
date: '2017-08-02T11:22:49.144Z';
|
||||
links: {
|
||||
npm: string;
|
||||
homepage: string;
|
||||
repository: string;
|
||||
bugs: string;
|
||||
};
|
||||
author: {
|
||||
name: 'Lossless GmbH';
|
||||
};
|
||||
publisher: {
|
||||
username: 'gitzone';
|
||||
email: 'npm@git.zone';
|
||||
};
|
||||
maintainers: any;
|
||||
score: {
|
||||
final: number;
|
||||
detail: {
|
||||
quality: number;
|
||||
popularity: number;
|
||||
maintenance: number;
|
||||
};
|
||||
};
|
||||
searchScore: number;
|
||||
constructor(descriptionArg: any);
|
||||
}
|
24
dist/smartnpm.classes.npmpackage.js
vendored
Normal file
24
dist/smartnpm.classes.npmpackage.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
class NpmPackage {
|
||||
constructor(descriptionArg) {
|
||||
this.name = null;
|
||||
this.scope = null;
|
||||
this.version = null;
|
||||
this.description = null;
|
||||
this.keywords = null;
|
||||
this.links = null;
|
||||
this.author = null;
|
||||
this.publisher = null;
|
||||
this.maintainers = null;
|
||||
this.score = null;
|
||||
this.searchScore = null;
|
||||
for (let key in descriptionArg) {
|
||||
if (this[key] === null) {
|
||||
this[key] = descriptionArg[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.NpmPackage = NpmPackage;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRucG0uY2xhc3Nlcy5ucG1wYWNrYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRucG0uY2xhc3Nlcy5ucG1wYWNrYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7SUE4QkUsWUFBYSxjQUFjO1FBN0IzQixTQUFJLEdBQVcsSUFBSSxDQUFBO1FBQ25CLFVBQUssR0FBVyxJQUFJLENBQUE7UUFDcEIsWUFBTyxHQUFXLElBQUksQ0FBQTtRQUN0QixnQkFBVyxHQUFXLElBQUksQ0FBQTtRQUMxQixhQUFRLEdBQWEsSUFBSSxDQUFBO1FBRXpCLFVBQUssR0FLRCxJQUFJLENBQUE7UUFDUixXQUFNLEdBRUYsSUFBSSxDQUFBO1FBQ1IsY0FBUyxHQUVMLElBQUksQ0FBQTtRQUNSLGdCQUFXLEdBQVEsSUFBSSxDQUFBO1FBQ3ZCLFVBQUssR0FPRCxJQUFJLENBQUE7UUFDUixnQkFBVyxHQUFXLElBQUksQ0FBQTtRQUd4QixHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQy9CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBckNELGdDQXFDQyJ9
|
6
dist/smartnpm.classes.npmregistry.d.ts
vendored
Normal file
6
dist/smartnpm.classes.npmregistry.d.ts
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import { ISearchObject } from './smartnpm.interfaces';
|
||||
import { NpmPackage } from './smartnpm.classes.npmpackage';
|
||||
export declare class NpmRegistry {
|
||||
private searchDomain;
|
||||
search(searchObjectArg: ISearchObject): Promise<NpmPackage[]>;
|
||||
}
|
94
dist/smartnpm.classes.npmregistry.js
vendored
Normal file
94
dist/smartnpm.classes.npmregistry.js
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const plugins = require("./smartnpm.plugins");
|
||||
// classes
|
||||
const smartnpm_classes_npmpackage_1 = require("./smartnpm.classes.npmpackage");
|
||||
class NpmRegistry {
|
||||
constructor() {
|
||||
this.searchDomain = 'https://api.npms.io/v2/search?q=';
|
||||
}
|
||||
search(searchObjectArg) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
let searchString = '';
|
||||
let addToSearchString = (addStringArg) => {
|
||||
searchString = `${searchString}+${addStringArg}`;
|
||||
};
|
||||
// name
|
||||
if (searchObjectArg.name) {
|
||||
searchString = `${searchObjectArg.name}`;
|
||||
}
|
||||
// metadata
|
||||
if (searchObjectArg.author) {
|
||||
addToSearchString(`author:${searchObjectArg.author}`);
|
||||
}
|
||||
if (searchObjectArg.maintainer) {
|
||||
addToSearchString(`maintainer:${searchObjectArg.maintainer}`);
|
||||
}
|
||||
if (searchObjectArg.scope) {
|
||||
addToSearchString(`scope:${searchObjectArg.scope}`);
|
||||
}
|
||||
// status
|
||||
if (searchObjectArg.deprecated) {
|
||||
if (searchObjectArg.deprecated === true) {
|
||||
addToSearchString(`is:deprecated`);
|
||||
}
|
||||
else {
|
||||
addToSearchString(`not:deprecated`);
|
||||
}
|
||||
}
|
||||
if (searchObjectArg.unstable) {
|
||||
if (searchObjectArg.unstable === true) {
|
||||
addToSearchString(`is:unstable`);
|
||||
}
|
||||
else {
|
||||
addToSearchString(`not:unstable`);
|
||||
}
|
||||
}
|
||||
if (searchObjectArg.insecure) {
|
||||
if (searchObjectArg.insecure === true) {
|
||||
addToSearchString(`is:insecure`);
|
||||
}
|
||||
else {
|
||||
addToSearchString(`not:insecure`);
|
||||
}
|
||||
}
|
||||
// search behaviour
|
||||
if (searchObjectArg.boostExact) {
|
||||
addToSearchString(`boost-exact:${searchObjectArg.boostExact}`);
|
||||
}
|
||||
if (searchObjectArg.scoreEffect) {
|
||||
addToSearchString(`score-effect:${searchObjectArg.scoreEffect}`);
|
||||
}
|
||||
// analytics
|
||||
if (searchObjectArg.qualityWeight) {
|
||||
addToSearchString(`author:${searchObjectArg.qualityWeight}`);
|
||||
}
|
||||
if (searchObjectArg.popularityWeight) {
|
||||
addToSearchString(`author:${searchObjectArg.popularityWeight}`);
|
||||
}
|
||||
if (searchObjectArg.maintenanceWeight) {
|
||||
addToSearchString(`author:${searchObjectArg.maintenanceWeight}`);
|
||||
}
|
||||
plugins.beautylog.log(`Search for "${searchString}" on npm`);
|
||||
let response = (yield plugins.smartrequest.get(this.searchDomain + searchString, {}));
|
||||
let body = response.body;
|
||||
// lets create the response
|
||||
let packageArray = [];
|
||||
for (let packageArg of body.results) {
|
||||
let localPackage = new smartnpm_classes_npmpackage_1.NpmPackage(packageArg.package);
|
||||
packageArray.push(localPackage);
|
||||
}
|
||||
return packageArray;
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.NpmRegistry = NpmRegistry;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRucG0uY2xhc3Nlcy5ucG1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0bnBtLmNsYXNzZXMubnBtcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDhDQUE2QztBQUs3QyxVQUFVO0FBQ1YsK0VBQTBEO0FBRTFEO0lBQUE7UUFDVSxpQkFBWSxHQUFHLGtDQUFrQyxDQUFBO0lBOEQzRCxDQUFDO0lBN0RPLE1BQU0sQ0FBRSxlQUE4Qjs7WUFDMUMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFBO1lBQ3JCLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxZQUFvQjtnQkFDM0MsWUFBWSxHQUFHLEdBQUcsWUFBWSxJQUFJLFlBQVksRUFBRSxDQUFBO1lBQ2xELENBQUMsQ0FBQTtZQUVELE9BQU87WUFDUCxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFBQyxZQUFZLEdBQUcsR0FBRyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUE7WUFBQyxDQUFDO1lBRXRFLFdBQVc7WUFDWCxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFBQyxpQkFBaUIsQ0FBQyxVQUFVLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1lBQUMsQ0FBQztZQUNyRixFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBQyxpQkFBaUIsQ0FBQyxjQUFjLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO1lBQUMsQ0FBQztZQUNqRyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFBQyxpQkFBaUIsQ0FBQyxTQUFTLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO1lBQUMsQ0FBQztZQUVsRixTQUFTO1lBQ1QsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDeEMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUE7Z0JBQ3BDLENBQUM7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04saUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtnQkFDckMsQ0FBQztZQUNILENBQUM7WUFDRCxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDN0IsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUN0QyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtnQkFDbEMsQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDTixpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDbkMsQ0FBQztZQUNILENBQUM7WUFDRCxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDN0IsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUN0QyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtnQkFDbEMsQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDTixpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDbkMsQ0FBQztZQUNILENBQUM7WUFFRCxtQkFBbUI7WUFDbkIsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsaUJBQWlCLENBQUMsZUFBZSxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtZQUFDLENBQUM7WUFDbEcsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1lBQUMsQ0FBQztZQUVyRyxZQUFZO1lBQ1osRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsaUJBQWlCLENBQUMsVUFBVSxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtZQUFDLENBQUM7WUFDbkcsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFBQyxpQkFBaUIsQ0FBQyxVQUFVLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUE7WUFBQyxDQUFDO1lBQ3pHLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsaUJBQWlCLENBQUMsVUFBVSxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFBO1lBQUMsQ0FBQztZQUUzRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLFlBQVksVUFBVSxDQUFDLENBQUE7WUFFNUQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDckYsSUFBSSxJQUFJLEdBQVEsUUFBUSxDQUFDLElBQUksQ0FBQTtZQUU3QiwyQkFBMkI7WUFDM0IsSUFBSSxZQUFZLEdBQWlCLEVBQUUsQ0FBQTtZQUVuQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDcEMsSUFBSSxZQUFZLEdBQUcsSUFBSSx3Q0FBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDckQsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUNqQyxDQUFDO1lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQTtRQUNyQixDQUFDO0tBQUE7Q0FDRjtBQS9ERCxrQ0ErREMifQ==
|
15
dist/smartnpm.interfaces.d.ts
vendored
Normal file
15
dist/smartnpm.interfaces.d.ts
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
export interface ISearchObject {
|
||||
name?: string;
|
||||
author?: string;
|
||||
maintainer?: string;
|
||||
scope?: string;
|
||||
keywords?: string[];
|
||||
deprecated?: boolean;
|
||||
unstable?: boolean;
|
||||
insecure?: boolean;
|
||||
boostExact?: boolean;
|
||||
scoreEffect?: number;
|
||||
qualityWeight?: number;
|
||||
popularityWeight?: number;
|
||||
maintenanceWeight?: number;
|
||||
}
|
3
dist/smartnpm.interfaces.js
vendored
Normal file
3
dist/smartnpm.interfaces.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRucG0uaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0bnBtLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
3
dist/smartnpm.plugins.d.ts
vendored
3
dist/smartnpm.plugins.d.ts
vendored
@ -1 +1,4 @@
|
||||
import 'typings-global';
|
||||
import * as beautylog from 'beautylog';
|
||||
import * as smartrequest from 'smartrequest';
|
||||
export { beautylog, smartrequest };
|
||||
|
6
dist/smartnpm.plugins.js
vendored
6
dist/smartnpm.plugins.js
vendored
@ -1,4 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
require("typings-global");
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRucG0ucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0bnBtLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUIifQ==
|
||||
const beautylog = require("beautylog");
|
||||
exports.beautylog = beautylog;
|
||||
const smartrequest = require("smartrequest");
|
||||
exports.smartrequest = smartrequest;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRucG0ucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0bnBtLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFFdkIsdUNBQXNDO0FBSXBDLDhCQUFTO0FBSFgsNkNBQTRDO0FBSTFDLG9DQUFZIn0=
|
Reference in New Issue
Block a user