Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
6fbc179fcb | |||
c17db19b9f | |||
481ab58d02 | |||
9030619046 | |||
fcd559090a | |||
f946d5b1d8 | |||
4fee4ec822 | |||
94a431ef33 | |||
142cc52f95 | |||
040120d034 | |||
0618e46cd8 | |||
c255f08ea6 | |||
a7035a56fc | |||
bb926b7319 | |||
9edcf5140d | |||
e43322defd |
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,7 +1,9 @@
|
||||
.idea/
|
||||
coverage/
|
||||
node_modules
|
||||
docs/
|
||||
node_modules/
|
||||
|
||||
pages/
|
||||
public
|
||||
ts/**/*.js
|
||||
ts/**/*.js.map
|
||||
ts/typings/
|
||||
|
59
.gitlab-ci.yml
Normal file
59
.gitlab-ci.yml
Normal file
@ -0,0 +1,59 @@
|
||||
image: hosttoday/ht-docker-node:npmts
|
||||
|
||||
stages:
|
||||
- test
|
||||
- release
|
||||
- trigger
|
||||
- pages
|
||||
|
||||
testLEGACY:
|
||||
stage: test
|
||||
script:
|
||||
- npmci test legacy
|
||||
tags:
|
||||
- docker
|
||||
allow_failure: true
|
||||
|
||||
testLTS:
|
||||
stage: test
|
||||
script:
|
||||
- npmci test lts
|
||||
tags:
|
||||
- docker
|
||||
|
||||
testSTABLE:
|
||||
stage: test
|
||||
script:
|
||||
- npmci test stable
|
||||
tags:
|
||||
- docker
|
||||
|
||||
release:
|
||||
stage: release
|
||||
script:
|
||||
- npmci publish
|
||||
only:
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
|
||||
trigger:
|
||||
stage: trigger
|
||||
script:
|
||||
- npmci trigger
|
||||
only:
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
|
||||
pages:
|
||||
image: hosttoday/ht-docker-node:npmpage
|
||||
stage: pages
|
||||
script:
|
||||
- npmci command npmpage --host gitlab
|
||||
only:
|
||||
- tags
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- public
|
12
.travis.yml
12
.travis.yml
@ -1,12 +0,0 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- 'v4.2.6'
|
||||
- 'stable'
|
||||
deploy:
|
||||
provider: npm
|
||||
email: npm@lossless.digital
|
||||
api_key:
|
||||
secure: G2ZQYeDEokGCWQcXeT9SJ4aUF0uZ41B1kM9WD7hZKMGM5hzbGSTXjd/bLWf2HfujvN9FWQYVv0y5OpbRck4xTuEDBPmC5AqXCfrtNj77n151VLO0cF4+Ya1l8OQWvw13hX+cux8UfxRVHUAxUt7CoW3q6FBO/vt1Mvo9u9ucxKdB4QHXmPdq8TwuFusPJYC+l2LdWiaSCEz2LpnyrDf6OjLl2Bt+8rID3Ikbi+5yXWv/n7bfiXyIlpJX/i4Efh/mqsSWp+ziVWaSdKdpYMFPxqyOfqQ/kjbzLCwdR72cD3+UoJPdGQ46Vq3ncZRq3KighWkYRzN76EOTI/quzfcAoz5CekETPh419lPuqs2w8wEeE2oP0yCCSH1SG1ljH8ASrADWsoHzWyVa8c/ovzWMOc3hgLey6xgbYVar0sC94bjjqJh8Y5qOak4idOpI/SXf0UT1TkirZTGfdSgRzg/E1Zqj262sxLeIv0yHsbnzgwUduj6PjfLztgLVAGO13csxksUSiKxT8Mbbqozv1sdz/0SgoZTMYfZSO5kYdBCqguJkJdEj1Dr4tM/0ca+mugHibavQxPJiWqnfNqxdlmywpzPHPHe5G2wzba2W62l3yPHF4rJBJuUi35ddWWOkAN1g9D2NHlByWfqF+WYRuTv1DPlw7ZpmgEVPPUlBPhC5YO8=
|
||||
on:
|
||||
tags: true
|
||||
repo: pushrocks/projectinfo
|
16
README.md
Normal file
16
README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# projectinfo
|
||||
returns a projectoinfo object for a directory path. TypeScript ready.
|
||||
|
||||
## Status
|
||||
[](https://gitlab.com/pushrocks/projectinfo/commits/master)
|
||||
[](https://david-dm.org/pushrocks/projectinfo)
|
||||
[](https://david-dm.org/pushrocks/projectinfo#info=devDependencies)
|
||||
|
||||
## Usage
|
||||
|
||||
```TypeScript
|
||||
var projectinfo = require("projectinfo")
|
||||
|
||||
myProject = new ProjectinfoNpm("/somepath/to/projectroot");
|
||||
myProject.version // displays version
|
||||
```
|
8
dist/index.d.ts
vendored
Normal file
8
dist/index.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import 'typings-global';
|
||||
export * from './projectinfo.classes.git';
|
||||
export * from './projectinfo.classes.npm';
|
||||
export * from './projectinfo.classes.projectinfo';
|
||||
/**
|
||||
* gets the name from package.json in a specified directory
|
||||
*/
|
||||
export declare let getNpmNameForDir: (cwdArg: any) => string;
|
37
dist/index.js
vendored
37
dist/index.js
vendored
@ -1,16 +1,31 @@
|
||||
var projectinfo = {};
|
||||
//classes
|
||||
var ProjectinfoNPM = require("./projectinfo.npm");
|
||||
projectinfo.npm = function (cwdArg) {
|
||||
return new ProjectinfoNPM(cwdArg);
|
||||
};
|
||||
"use strict";
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
require("typings-global");
|
||||
// direct access to classes
|
||||
__export(require("./projectinfo.classes.git"));
|
||||
__export(require("./projectinfo.classes.npm"));
|
||||
__export(require("./projectinfo.classes.projectinfo"));
|
||||
// npm
|
||||
const projectinfo_classes_npm_1 = require("./projectinfo.classes.npm");
|
||||
// quick functions
|
||||
projectinfo.getName = function (cwdArg) {
|
||||
var localNpm = projectinfo.npm(cwdArg);
|
||||
if (localNpm.status === "ok") {
|
||||
/**
|
||||
* gets the name from package.json in a specified directory
|
||||
*/
|
||||
exports.getNpmNameForDir = function (cwdArg) {
|
||||
let localNpm = new projectinfo_classes_npm_1.ProjectinfoNpm(cwdArg);
|
||||
if (localNpm.status === 'ok') {
|
||||
return localNpm.name;
|
||||
}
|
||||
};
|
||||
module.exports = projectinfo;
|
||||
/* TODO
|
||||
projectinfo.git = function(){
|
||||
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQUksV0FBVyxHQUFPLEVBQUUsQ0FBQztBQUV6QixTQUFTO0FBQ1QsSUFBTyxjQUFjLFdBQVcsbUJBQW1CLENBQUMsQ0FBQztBQUNyRCxXQUFXLENBQUMsR0FBRyxHQUFHLFVBQVMsTUFBTTtJQUM3QixNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUYsaUJBQWlCO0FBQ2pCLFdBQVcsQ0FBQyxPQUFPLEdBQUcsVUFBUyxNQUFNO0lBQ2pDLElBQUksUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQSxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3pCLENBQUM7QUFDTCxDQUFDLENBQUM7QUFZRixpQkFBUyxXQUFXLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3Byb2plY3RpbmZvLnBsdWdpbnNcIik7XG52YXIgcHJvamVjdGluZm86YW55ID0ge307XG5cbi8vY2xhc3Nlc1xuaW1wb3J0IFByb2plY3RpbmZvTlBNID0gcmVxdWlyZShcIi4vcHJvamVjdGluZm8ubnBtXCIpO1xucHJvamVjdGluZm8ubnBtID0gZnVuY3Rpb24oY3dkQXJnKXtcbiAgICByZXR1cm4gbmV3IFByb2plY3RpbmZvTlBNKGN3ZEFyZyk7XG59O1xuXG4vL3F1aWNrIGZ1bmN0aW9uc1xucHJvamVjdGluZm8uZ2V0TmFtZSA9IGZ1bmN0aW9uKGN3ZEFyZyl7XG4gICAgdmFyIGxvY2FsTnBtID0gcHJvamVjdGluZm8ubnBtKGN3ZEFyZyk7XG4gICAgaWYgKGxvY2FsTnBtLnN0YXR1cyA9PT0gXCJva1wiKXtcbiAgICAgICAgcmV0dXJuIGxvY2FsTnBtLm5hbWU7XG4gICAgfVxufTtcblxuLyogVE9ET1xucHJvamVjdGluZm8uZ2l0ID0gZnVuY3Rpb24oKXtcblxufTtcblxucHJvamVjdGluZm8ubW9qbyA9IGZ1bmN0aW9uKCl7XG5cbn07XG4qL1xuXG5leHBvcnQgPSBwcm9qZWN0aW5mbzsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
|
||||
};
|
||||
|
||||
projectinfo.mojo = function(){
|
||||
|
||||
};
|
||||
*/
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMEJBQXVCO0FBR3ZCLDJCQUEyQjtBQUMzQiwrQ0FBeUM7QUFDekMsK0NBQXlDO0FBQ3pDLHVEQUFpRDtBQUVqRCxNQUFNO0FBQ04sdUVBQTBEO0FBRTFELGtCQUFrQjtBQUVsQjs7R0FFRztBQUNRLFFBQUEsZ0JBQWdCLEdBQUcsVUFBUyxNQUFNO0lBQ3pDLElBQUksUUFBUSxHQUFHLElBQUksd0NBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN6QyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUE7SUFDeEIsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVEOzs7Ozs7OztFQVFFIn0=
|
16
dist/projectinfo.classes.git.d.ts
vendored
Normal file
16
dist/projectinfo.classes.git.d.ts
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
export declare class ProjectinfoGit {
|
||||
isGit: boolean;
|
||||
githost: string;
|
||||
gituser: string;
|
||||
gitrepo: string;
|
||||
cwd: string;
|
||||
constructor(cwdArg: string);
|
||||
/**
|
||||
* get git info from path
|
||||
*/
|
||||
getGitInfoFromPath(): void;
|
||||
/**
|
||||
* get git info from remote url
|
||||
*/
|
||||
getGitInfoFromRemote(remoteUrlArg: string): void;
|
||||
}
|
24
dist/projectinfo.classes.git.js
vendored
Normal file
24
dist/projectinfo.classes.git.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
"use strict";
|
||||
const plugins = require("./projectinfo.plugins");
|
||||
class ProjectinfoGit {
|
||||
constructor(cwdArg) {
|
||||
this.cwd = cwdArg;
|
||||
this.getGitInfoFromPath();
|
||||
}
|
||||
/**
|
||||
* get git info from path
|
||||
*/
|
||||
getGitInfoFromPath() {
|
||||
let localSmartpath = new plugins.smartpath.Smartpath(this.cwd);
|
||||
this.gitrepo = localSmartpath.pathLevelsBackwards[0];
|
||||
this.gituser = localSmartpath.pathLevelsBackwards[1];
|
||||
}
|
||||
/**
|
||||
* get git info from remote url
|
||||
*/
|
||||
getGitInfoFromRemote(remoteUrlArg) {
|
||||
let gitRepoParsed = new plugins.smartstring.GitRepo(remoteUrlArg);
|
||||
}
|
||||
}
|
||||
exports.ProjectinfoGit = ProjectinfoGit;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGluZm8uY2xhc3Nlcy5naXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9wcm9qZWN0aW5mby5jbGFzc2VzLmdpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaURBQWdEO0FBRWhEO0lBTUksWUFBWSxNQUFjO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjtRQUNkLElBQUksY0FBYyxHQUFHLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFlBQW9CO1FBQ3JDLElBQUksYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDckUsQ0FBQztDQUNKO0FBMUJELHdDQTBCQyJ9
|
14
dist/projectinfo.classes.npm.d.ts
vendored
Normal file
14
dist/projectinfo.classes.npm.d.ts
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
import 'typings-global';
|
||||
import plugins = require('./projectinfo.plugins');
|
||||
export declare class ProjectinfoNpm {
|
||||
isNpm: boolean;
|
||||
packageJson: any;
|
||||
name: string;
|
||||
version: string;
|
||||
status: string;
|
||||
license: string;
|
||||
git: plugins.smartstring.GitRepo;
|
||||
constructor(cwdArg: string, optionsArg?: {
|
||||
gitAccessToken?: string;
|
||||
});
|
||||
}
|
24
dist/projectinfo.classes.npm.js
vendored
Normal file
24
dist/projectinfo.classes.npm.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
const plugins = require("./projectinfo.plugins");
|
||||
class ProjectinfoNpm {
|
||||
constructor(cwdArg, optionsArg = {}) {
|
||||
this.isNpm = false;
|
||||
let resolvedCwd = plugins.path.resolve(cwdArg);
|
||||
if (plugins.smartfile.fs.fileExists(plugins.path.join(resolvedCwd, 'package.json'))) {
|
||||
this.isNpm = true;
|
||||
this.packageJson = plugins.smartfile.fs.toObjectSync(plugins.path.join(resolvedCwd, 'package.json'), 'json');
|
||||
this.name = this.packageJson.name;
|
||||
this.version = this.packageJson.version;
|
||||
this.status = 'ok';
|
||||
this.license = this.packageJson.license;
|
||||
if (this.packageJson.repository) {
|
||||
this.git = new plugins.smartstring.GitRepo(this.packageJson.repository.url, optionsArg.gitAccessToken);
|
||||
}
|
||||
;
|
||||
}
|
||||
}
|
||||
;
|
||||
}
|
||||
exports.ProjectinfoNpm = ProjectinfoNpm;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGluZm8uY2xhc3Nlcy5ucG0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9wcm9qZWN0aW5mby5jbGFzc2VzLm5wbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEJBQXVCO0FBQ3ZCLGlEQUFpRDtBQUNqRDtJQVNJLFlBQVksTUFBYyxFQUFFLGFBQTBDLEVBQUU7UUFSeEUsVUFBSyxHQUFZLEtBQUssQ0FBQTtRQVNsQixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM5QyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1lBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUNoRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDYixXQUFXLEVBQ1gsY0FBYyxDQUNqQixFQUNELE1BQU0sQ0FDVCxDQUFBO1lBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtZQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFBO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUE7WUFDdkMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUMxRyxDQUFDO1lBQUEsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBQUEsQ0FBQztDQUNMO0FBN0JELHdDQTZCQyJ9
|
15
dist/projectinfo.classes.projectinfo.d.ts
vendored
Normal file
15
dist/projectinfo.classes.projectinfo.d.ts
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
import { ProjectinfoNpm } from './projectinfo.classes.npm';
|
||||
import { ProjectinfoGit } from './projectinfo.classes.git';
|
||||
export declare type TProjectType = 'git' | 'npm';
|
||||
/**
|
||||
* class projectinfo automatically examines a given directory and exposes relevant info about it
|
||||
*/
|
||||
export declare class ProjectInfo {
|
||||
type: TProjectType;
|
||||
npm: ProjectinfoNpm;
|
||||
git: ProjectinfoGit;
|
||||
/**
|
||||
* constructor of class ProjectInfo
|
||||
*/
|
||||
constructor(cwdArg: string);
|
||||
}
|
17
dist/projectinfo.classes.projectinfo.js
vendored
Normal file
17
dist/projectinfo.classes.projectinfo.js
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
const projectinfo_classes_npm_1 = require("./projectinfo.classes.npm");
|
||||
const projectinfo_classes_git_1 = require("./projectinfo.classes.git");
|
||||
/**
|
||||
* class projectinfo automatically examines a given directory and exposes relevant info about it
|
||||
*/
|
||||
class ProjectInfo {
|
||||
/**
|
||||
* constructor of class ProjectInfo
|
||||
*/
|
||||
constructor(cwdArg) {
|
||||
this.npm = new projectinfo_classes_npm_1.ProjectinfoNpm(cwdArg);
|
||||
this.git = new projectinfo_classes_git_1.ProjectinfoGit(cwdArg);
|
||||
}
|
||||
}
|
||||
exports.ProjectInfo = ProjectInfo;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGluZm8uY2xhc3Nlcy5wcm9qZWN0aW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Byb2plY3RpbmZvLmNsYXNzZXMucHJvamVjdGluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLHVFQUEwRDtBQUMxRCx1RUFBMEQ7QUFHMUQ7O0dBRUc7QUFDSDtJQUlJOztPQUVHO0lBQ0gsWUFBWSxNQUFjO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSx3Q0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSx3Q0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3pDLENBQUM7Q0FDSjtBQVhELGtDQVdDIn0=
|
19
dist/projectinfo.npm.js
vendored
19
dist/projectinfo.npm.js
vendored
@ -1,19 +0,0 @@
|
||||
/// <reference path="./typings/main.d.ts" />
|
||||
var plugins = require("./projectinfo.plugins");
|
||||
var ProjectinfoNPM = (function () {
|
||||
function ProjectinfoNPM(cwdArg) {
|
||||
this.packageJson = plugins.smartfile.readFileToObject(plugins.path.join(plugins.path.resolve(cwdArg), "package.json"));
|
||||
this.name = this.packageJson.name;
|
||||
this.version = this.packageJson.version;
|
||||
this.status = "ok";
|
||||
this.license = this.packageJson.license;
|
||||
if (this.packageJson.repository) {
|
||||
this.git = plugins.smartstring.git(this.packageJson.repository.url);
|
||||
}
|
||||
;
|
||||
}
|
||||
return ProjectinfoNPM;
|
||||
})();
|
||||
module.exports = ProjectinfoNPM;
|
||||
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RpbmZvLm5wbS50cyJdLCJuYW1lcyI6WyJQcm9qZWN0aW5mb05QTSIsIlByb2plY3RpbmZvTlBNLmNvbnN0cnVjdG9yIl0sIm1hcHBpbmdzIjoiQUFBQSw0Q0FBNEM7QUFDNUMsSUFBTyxPQUFPLFdBQVcsdUJBQXVCLENBQUMsQ0FBQztBQUNsRDtJQVFJQSx3QkFBWUEsTUFBYUE7UUFDckJDLElBQUlBLENBQUNBLFdBQVdBLEdBQUdBLE9BQU9BLENBQUNBLFNBQVNBLENBQUNBLGdCQUFnQkEsQ0FDakRBLE9BQU9BLENBQUNBLElBQUlBLENBQUNBLElBQUlBLENBQ2JBLE9BQU9BLENBQUNBLElBQUlBLENBQUNBLE9BQU9BLENBQUNBLE1BQU1BLENBQUNBLEVBQzVCQSxjQUFjQSxDQUNqQkEsQ0FDSkEsQ0FBQ0E7UUFDRkEsSUFBSUEsQ0FBQ0EsSUFBSUEsR0FBR0EsSUFBSUEsQ0FBQ0EsV0FBV0EsQ0FBQ0EsSUFBSUEsQ0FBQ0E7UUFDbENBLElBQUlBLENBQUNBLE9BQU9BLEdBQUdBLElBQUlBLENBQUNBLFdBQVdBLENBQUNBLE9BQU9BLENBQUNBO1FBQ3hDQSxJQUFJQSxDQUFDQSxNQUFNQSxHQUFHQSxJQUFJQSxDQUFDQTtRQUNuQkEsSUFBSUEsQ0FBQ0EsT0FBT0EsR0FBR0EsSUFBSUEsQ0FBQ0EsV0FBV0EsQ0FBQ0EsT0FBT0EsQ0FBQ0E7UUFDeENBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLFdBQVdBLENBQUNBLFVBQVVBLENBQUNBLENBQUFBLENBQUNBO1lBQzdCQSxJQUFJQSxDQUFDQSxHQUFHQSxHQUFHQSxPQUFPQSxDQUFDQSxXQUFXQSxDQUFDQSxHQUFHQSxDQUFDQSxJQUFJQSxDQUFDQSxXQUFXQSxDQUFDQSxVQUFVQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQTtRQUN4RUEsQ0FBQ0E7UUFBQUEsQ0FBQ0E7SUFFTkEsQ0FBQ0E7SUFDTEQscUJBQUNBO0FBQURBLENBeEJBLEFBd0JDQSxJQUFBO0FBRUQsaUJBQVMsY0FBYyxDQUFDIiwiZmlsZSI6InByb2plY3RpbmZvLm5wbS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vcHJvamVjdGluZm8ucGx1Z2luc1wiKTtcbmNsYXNzIFByb2plY3RpbmZvTlBNICB7XG4gICAgcGFja2FnZUpzb247XG4gICAgbmFtZTpzdHJpbmc7XG4gICAgdmVyc2lvbjpzdHJpbmc7XG4gICAgc3RhdHVzOnN0cmluZztcbiAgICBsaWNlbnNlOnN0cmluZztcbiAgICBnaXQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihjd2RBcmc6c3RyaW5nKXtcbiAgICAgICAgdGhpcy5wYWNrYWdlSnNvbiA9IHBsdWdpbnMuc21hcnRmaWxlLnJlYWRGaWxlVG9PYmplY3QoXG4gICAgICAgICAgICBwbHVnaW5zLnBhdGguam9pbihcbiAgICAgICAgICAgICAgICBwbHVnaW5zLnBhdGgucmVzb2x2ZShjd2RBcmcpLFxuICAgICAgICAgICAgICAgIFwicGFja2FnZS5qc29uXCJcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5wYWNrYWdlSnNvbi5uYW1lO1xuICAgICAgICB0aGlzLnZlcnNpb24gPSB0aGlzLnBhY2thZ2VKc29uLnZlcnNpb247XG4gICAgICAgIHRoaXMuc3RhdHVzID0gXCJva1wiO1xuICAgICAgICB0aGlzLmxpY2Vuc2UgPSB0aGlzLnBhY2thZ2VKc29uLmxpY2Vuc2U7XG4gICAgICAgIGlmICh0aGlzLnBhY2thZ2VKc29uLnJlcG9zaXRvcnkpe1xuICAgICAgICAgICAgdGhpcy5naXQgPSBwbHVnaW5zLnNtYXJ0c3RyaW5nLmdpdCh0aGlzLnBhY2thZ2VKc29uLnJlcG9zaXRvcnkudXJsKTtcbiAgICAgICAgfTtcblxuICAgIH1cbn1cblxuZXhwb3J0ID0gUHJvamVjdGluZm9OUE07Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
|
6
dist/projectinfo.plugins.d.ts
vendored
Normal file
6
dist/projectinfo.plugins.d.ts
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import 'typings-global';
|
||||
export import path = require('path');
|
||||
export import q = require('q');
|
||||
export import smartfile = require('smartfile');
|
||||
export import smartstring = require('smartstring');
|
||||
export import smartpath = require('smartpath');
|
18
dist/projectinfo.plugins.js
vendored
18
dist/projectinfo.plugins.js
vendored
@ -1,10 +1,8 @@
|
||||
/// <reference path="./typings/main.d.ts" />
|
||||
var plugins = {
|
||||
path: require("path"),
|
||||
Q: require("q"),
|
||||
smartfile: require("smartfile"),
|
||||
smartstring: require("smartstring")
|
||||
};
|
||||
module.exports = plugins;
|
||||
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RpbmZvLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNENBQTRDO0FBQzVDLElBQUksT0FBTyxHQUFHO0lBQ1YsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDZixTQUFTLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUMvQixXQUFXLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQztDQUN0QyxDQUFDO0FBRUYsaUJBQVMsT0FBTyxDQUFDIiwiZmlsZSI6InByb2plY3RpbmZvLnBsdWdpbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG52YXIgcGx1Z2lucyA9IHtcbiAgICBwYXRoOiByZXF1aXJlKFwicGF0aFwiKSxcbiAgICBROiByZXF1aXJlKFwicVwiKSxcbiAgICBzbWFydGZpbGU6IHJlcXVpcmUoXCJzbWFydGZpbGVcIiksXG4gICAgc21hcnRzdHJpbmc6IHJlcXVpcmUoXCJzbWFydHN0cmluZ1wiKVxufTtcblxuZXhwb3J0ID0gcGx1Z2luczsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
exports.path = require("path");
|
||||
exports.q = require("q");
|
||||
exports.smartfile = require("smartfile");
|
||||
exports.smartstring = require("smartstring");
|
||||
exports.smartpath = require("smartpath");
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGluZm8ucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Byb2plY3RpbmZvLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUF1QjtBQUN2QiwrQkFBb0M7QUFDcEMseUJBQThCO0FBQzlCLHlDQUE4QztBQUM5Qyw2Q0FBa0Q7QUFDbEQseUNBQThDIn0=
|
11
npmextra.json
Normal file
11
npmextra.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"npmts": {
|
||||
"mode": "default",
|
||||
"coverageTreshold": 80
|
||||
},
|
||||
"npmci": {
|
||||
"globalNpmTools": [
|
||||
"npmts"
|
||||
]
|
||||
}
|
||||
}
|
21
package.json
21
package.json
@ -1,14 +1,15 @@
|
||||
{
|
||||
"name": "projectinfo",
|
||||
"version": "1.0.0",
|
||||
"version": "3.0.0",
|
||||
"description": "gather information about projects. supports npm, git etc.",
|
||||
"main": "dist/index.js",
|
||||
"typings": "dist/index.d.ts",
|
||||
"scripts": {
|
||||
"test": "(npmts)"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/pushrocks/projectinfo.git"
|
||||
"url": "git+https://gitlab.com/pushrocks/projectinfo.git"
|
||||
},
|
||||
"keywords": [
|
||||
"project",
|
||||
@ -20,16 +21,20 @@
|
||||
"author": "Lossless GmbH",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/pushrocks/projectinfo/issues"
|
||||
"url": "https://gitlab.com/pushrocks/projectinfo/issues"
|
||||
},
|
||||
"homepage": "https://github.com/pushrocks/projectinfo#readme",
|
||||
"homepage": "https://gitlab.com/pushrocks/projectinfo#readme",
|
||||
"devDependencies": {
|
||||
"npmts": "^3.1.2",
|
||||
"should": "^8.2.2"
|
||||
"npmts-g": "^5.2.10",
|
||||
"should": "^11.1.1",
|
||||
"typings-test": "^1.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/q": "0.0.32",
|
||||
"q": "^1.4.1",
|
||||
"smartfile": "0.0.11",
|
||||
"smartstring": "0.0.2"
|
||||
"smartfile": "4.1.0",
|
||||
"smartpath": "^3.2.6",
|
||||
"smartstring": "2.0.22",
|
||||
"typings-global": "^1.0.14"
|
||||
}
|
||||
}
|
||||
|
1
test/test.d.ts
vendored
Normal file
1
test/test.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'typings-test';
|
55
test/test.js
55
test/test.js
@ -1,40 +1,33 @@
|
||||
/// <reference path="../ts/typings/main.d.ts" />
|
||||
var projectinfo = require("../dist/index.js");
|
||||
var should = require("should");
|
||||
var path = require("path");
|
||||
var testBasePath = path.resolve(__dirname);
|
||||
describe("projectinfo", function () {
|
||||
describe(".npm() return", function () {
|
||||
var myNpm = projectinfo.npm(testBasePath);
|
||||
it("should have .packageJson", function () {
|
||||
myNpm.packageJson
|
||||
.should.have.property("version", "1.0.0");
|
||||
myNpm.packageJson
|
||||
.should.have.property("name", "testpackage");
|
||||
"use strict";
|
||||
require("typings-test");
|
||||
const projectinfo = require("../dist/index");
|
||||
let should = require('should');
|
||||
let path = require('path');
|
||||
let testBasePath = path.resolve(__dirname);
|
||||
describe('projectinfo', function () {
|
||||
describe('.npm() return', function () {
|
||||
let myNpm = new projectinfo.ProjectinfoNpm(testBasePath, { gitAccessToken: 'sometoken' });
|
||||
it('should have .packageJson', function () {
|
||||
should(myNpm.packageJson).have.property('version', '1.0.0');
|
||||
should(myNpm.packageJson).have.property('name', 'testpackage');
|
||||
});
|
||||
it("should have .version", function () {
|
||||
myNpm
|
||||
.should.have.property("version", "1.0.0");
|
||||
it('should have .version', function () {
|
||||
should(myNpm).have.property('version', '1.0.0');
|
||||
});
|
||||
it("should have .name", function () {
|
||||
myNpm
|
||||
.should.have.property("name", "testpackage");
|
||||
it('should have .name', function () {
|
||||
should(myNpm).have.property('name', 'testpackage');
|
||||
});
|
||||
it("should have .license", function () {
|
||||
myNpm
|
||||
.should.have.property("license", "MIT");
|
||||
it('should have .license', function () {
|
||||
should(myNpm).have.property('license', 'MIT');
|
||||
});
|
||||
it("should have .git", function () {
|
||||
myNpm.git.httpsUrl
|
||||
.should.equal("https://github.com/someuser/somerepo.git");
|
||||
it('should have .git', function () {
|
||||
should(myNpm.git.httpsUrl).equal('https://sometoken@github.com/someuser/somerepo.git');
|
||||
});
|
||||
});
|
||||
describe(".getName()", function () {
|
||||
it("should return a name", function () {
|
||||
projectinfo.getName(testBasePath)
|
||||
.should.equal("testpackage");
|
||||
describe('.getNpmNameForDir()', function () {
|
||||
it('should return a name', function () {
|
||||
should(projectinfo.getNpmNameForDir(testBasePath)).equal('testpackage');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0RBQWdEO0FBQ2hELElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzlDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMvQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0IsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUUzQyxRQUFRLENBQUMsYUFBYSxFQUFDO0lBQ25CLFFBQVEsQ0FBQyxlQUFlLEVBQUM7UUFDckIsSUFBSSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxFQUFFLENBQUMsMEJBQTBCLEVBQUM7WUFDMUIsS0FBSyxDQUFDLFdBQVc7aUJBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLEtBQUssQ0FBQyxXQUFXO2lCQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxhQUFhLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztZQUN0QixLQUFLO2lCQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBQyxPQUFPLENBQUMsQ0FBQTtRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxtQkFBbUIsRUFBQztZQUNuQixLQUFLO2lCQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztZQUN0QixLQUFLO2lCQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxrQkFBa0IsRUFBQztZQUNsQixLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVE7aUJBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBRVAsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsWUFBWSxFQUFDO1FBQ2xCLEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztZQUN0QixXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztpQkFDNUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi90cy90eXBpbmdzL21haW4uZC50c1wiIC8+XG52YXIgcHJvamVjdGluZm8gPSByZXF1aXJlKFwiLi4vZGlzdC9pbmRleC5qc1wiKTtcbnZhciBzaG91bGQgPSByZXF1aXJlKFwic2hvdWxkXCIpO1xudmFyIHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbnZhciB0ZXN0QmFzZVBhdGggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lKTtcblxuZGVzY3JpYmUoXCJwcm9qZWN0aW5mb1wiLGZ1bmN0aW9uKCl7XG4gICAgZGVzY3JpYmUoXCIubnBtKCkgcmV0dXJuXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIG15TnBtID0gcHJvamVjdGluZm8ubnBtKHRlc3RCYXNlUGF0aCk7XG4gICAgICAgIGl0KFwic2hvdWxkIGhhdmUgLnBhY2thZ2VKc29uXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIG15TnBtLnBhY2thZ2VKc29uXG4gICAgICAgICAgICAgICAuc2hvdWxkLmhhdmUucHJvcGVydHkoXCJ2ZXJzaW9uXCIsXCIxLjAuMFwiKTtcbiAgICAgICAgICAgIG15TnBtLnBhY2thZ2VKc29uXG4gICAgICAgICAgICAgICAuc2hvdWxkLmhhdmUucHJvcGVydHkoXCJuYW1lXCIsXCJ0ZXN0cGFja2FnZVwiKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoXCJzaG91bGQgaGF2ZSAudmVyc2lvblwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBteU5wbVxuICAgICAgICAgICAgICAgIC5zaG91bGQuaGF2ZS5wcm9wZXJ0eShcInZlcnNpb25cIixcIjEuMC4wXCIpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KFwic2hvdWxkIGhhdmUgLm5hbWVcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgbXlOcG1cbiAgICAgICAgICAgICAgICAuc2hvdWxkLmhhdmUucHJvcGVydHkoXCJuYW1lXCIsXCJ0ZXN0cGFja2FnZVwiKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoXCJzaG91bGQgaGF2ZSAubGljZW5zZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBteU5wbVxuICAgICAgICAgICAgICAgIC5zaG91bGQuaGF2ZS5wcm9wZXJ0eShcImxpY2Vuc2VcIixcIk1JVFwiKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwic2hvdWxkIGhhdmUgLmdpdFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBteU5wbS5naXQuaHR0cHNVcmxcbiAgICAgICAgICAgICAgICAuc2hvdWxkLmVxdWFsKFwiaHR0cHM6Ly9naXRodWIuY29tL3NvbWV1c2VyL3NvbWVyZXBvLmdpdFwiKTtcbiAgICAgICAgfSk7XG5cbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKFwiLmdldE5hbWUoKVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHJldHVybiBhIG5hbWVcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgcHJvamVjdGluZm8uZ2V0TmFtZSh0ZXN0QmFzZVBhdGgpXG4gICAgICAgICAgICAgICAgLnNob3VsZC5lcXVhbChcInRlc3RwYWNrYWdlXCIpO1xuICAgICAgICB9KTtcbiAgICB9KVxufSk7Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFxQjtBQUNyQiw2Q0FBNkM7QUFDN0MsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQzlCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUMxQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRTFDLFFBQVEsQ0FBQyxhQUFhLEVBQUM7SUFDbkIsUUFBUSxDQUFDLGVBQWUsRUFBQztRQUNyQixJQUFJLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFDLEVBQUMsY0FBYyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUE7UUFDdEYsRUFBRSxDQUFDLDBCQUEwQixFQUFDO1lBQzFCLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUE7WUFDMUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxhQUFhLENBQUMsQ0FBQTtRQUNqRSxDQUFDLENBQUMsQ0FBQTtRQUVGLEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztZQUN0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUE7UUFDbEQsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsbUJBQW1CLEVBQUM7WUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ3JELENBQUMsQ0FBQyxDQUFBO1FBRUYsRUFBRSxDQUFDLHNCQUFzQixFQUFDO1lBQ3RCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQTtRQUNoRCxDQUFDLENBQUMsQ0FBQTtRQUNGLEVBQUUsQ0FBQyxrQkFBa0IsRUFBQztZQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtRQUMxRixDQUFDLENBQUMsQ0FBQTtJQUVOLENBQUMsQ0FBQyxDQUFBO0lBRUYsUUFBUSxDQUFDLHFCQUFxQixFQUFDO1FBQzNCLEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztZQUN0QixNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUM1QyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUM5QixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==
|
@ -1 +1 @@
|
||||
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,IAAI,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9C,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3B,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAE3C,QAAQ,CAAC,aAAa,EAAC;IACnB,QAAQ,CAAC,eAAe,EAAC;QACrB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,EAAE,CAAC,0BAA0B,EAAC;YAC1B,KAAK,CAAC,WAAW;iBACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAC,OAAO,CAAC,CAAC;YAC5C,KAAK,CAAC,WAAW;iBACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAC;YACtB,KAAK;iBACA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAC,OAAO,CAAC,CAAA;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mBAAmB,EAAC;YACnB,KAAK;iBACA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAC;YACtB,KAAK;iBACA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kBAAkB,EAAC;YAClB,KAAK,CAAC,GAAG,CAAC,QAAQ;iBACb,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAC;QAClB,EAAE,CAAC,sBAAsB,EAAC;YACtB,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;iBAC5B,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAC"}
|
||||
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,IAAI,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9C,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3B,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAE3C,QAAQ,CAAC,aAAa,EAAC;IACnB,QAAQ,CAAC,eAAe,EAAC;QACrB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,EAAC,EAAC,cAAc,EAAC,WAAW,EAAC,CAAC,CAAC;QACvE,EAAE,CAAC,0BAA0B,EAAC;YAC1B,KAAK,CAAC,WAAW;iBACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAC,OAAO,CAAC,CAAC;YAC5C,KAAK,CAAC,WAAW;iBACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAC;YACtB,KAAK;iBACA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAC,OAAO,CAAC,CAAA;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mBAAmB,EAAC;YACnB,KAAK;iBACA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAC;YACtB,KAAK;iBACA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kBAAkB,EAAC;YAClB,KAAK,CAAC,GAAG,CAAC,QAAQ;iBACb,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAC;QAClB,EAAE,CAAC,sBAAsB,EAAC;YACtB,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;iBAC5B,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAC"}
|
78
test/test.ts
78
test/test.ts
@ -1,44 +1,38 @@
|
||||
/// <reference path="../ts/typings/main.d.ts" />
|
||||
var projectinfo = require("../dist/index.js");
|
||||
var should = require("should");
|
||||
var path = require("path");
|
||||
var testBasePath = path.resolve(__dirname);
|
||||
import 'typings-test'
|
||||
import projectinfo = require('../dist/index')
|
||||
let should = require('should')
|
||||
let path = require('path')
|
||||
let testBasePath = path.resolve(__dirname)
|
||||
|
||||
describe("projectinfo",function(){
|
||||
describe(".npm() return",function(){
|
||||
var myNpm = projectinfo.npm(testBasePath);
|
||||
it("should have .packageJson",function(){
|
||||
myNpm.packageJson
|
||||
.should.have.property("version","1.0.0");
|
||||
myNpm.packageJson
|
||||
.should.have.property("name","testpackage");
|
||||
});
|
||||
|
||||
it("should have .version",function(){
|
||||
myNpm
|
||||
.should.have.property("version","1.0.0")
|
||||
});
|
||||
|
||||
it("should have .name",function(){
|
||||
myNpm
|
||||
.should.have.property("name","testpackage");
|
||||
});
|
||||
|
||||
it("should have .license",function(){
|
||||
myNpm
|
||||
.should.have.property("license","MIT");
|
||||
});
|
||||
it("should have .git",function(){
|
||||
myNpm.git.httpsUrl
|
||||
.should.equal("https://github.com/someuser/somerepo.git");
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe(".getName()",function(){
|
||||
it("should return a name",function(){
|
||||
projectinfo.getName(testBasePath)
|
||||
.should.equal("testpackage");
|
||||
});
|
||||
describe('projectinfo',function(){
|
||||
describe('.npm() return',function(){
|
||||
let myNpm = new projectinfo.ProjectinfoNpm(testBasePath,{gitAccessToken: 'sometoken'})
|
||||
it('should have .packageJson',function(){
|
||||
should(myNpm.packageJson).have.property('version','1.0.0')
|
||||
should(myNpm.packageJson).have.property('name','testpackage')
|
||||
})
|
||||
|
||||
it('should have .version',function(){
|
||||
should(myNpm).have.property('version','1.0.0')
|
||||
})
|
||||
|
||||
it('should have .name',function(){
|
||||
should(myNpm).have.property('name','testpackage')
|
||||
})
|
||||
|
||||
it('should have .license',function(){
|
||||
should(myNpm).have.property('license','MIT')
|
||||
})
|
||||
it('should have .git',function(){
|
||||
should(myNpm.git.httpsUrl).equal('https://sometoken@github.com/someuser/somerepo.git')
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
describe('.getNpmNameForDir()',function(){
|
||||
it('should return a name',function(){
|
||||
should(projectinfo.getNpmNameForDir(testBasePath)
|
||||
).equal('testpackage')
|
||||
})
|
||||
})
|
||||
})
|
||||
});
|
33
ts/index.ts
33
ts/index.ts
@ -1,20 +1,25 @@
|
||||
/// <reference path="./typings/main.d.ts" />
|
||||
import plugins = require("./projectinfo.plugins");
|
||||
var projectinfo:any = {};
|
||||
import 'typings-global'
|
||||
import plugins = require('./projectinfo.plugins')
|
||||
|
||||
//classes
|
||||
import ProjectinfoNPM = require("./projectinfo.npm");
|
||||
projectinfo.npm = function(cwdArg){
|
||||
return new ProjectinfoNPM(cwdArg);
|
||||
};
|
||||
// direct access to classes
|
||||
export * from './projectinfo.classes.git'
|
||||
export * from './projectinfo.classes.npm'
|
||||
export * from './projectinfo.classes.projectinfo'
|
||||
|
||||
// npm
|
||||
import { ProjectinfoNpm } from './projectinfo.classes.npm'
|
||||
|
||||
// quick functions
|
||||
projectinfo.getName = function(cwdArg){
|
||||
var localNpm = projectinfo.npm(cwdArg);
|
||||
if (localNpm.status === "ok"){
|
||||
return localNpm.name;
|
||||
|
||||
/**
|
||||
* gets the name from package.json in a specified directory
|
||||
*/
|
||||
export let getNpmNameForDir = function(cwdArg){
|
||||
let localNpm = new ProjectinfoNpm(cwdArg)
|
||||
if (localNpm.status === 'ok') {
|
||||
return localNpm.name
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/* TODO
|
||||
projectinfo.git = function(){
|
||||
@ -25,5 +30,3 @@ projectinfo.mojo = function(){
|
||||
|
||||
};
|
||||
*/
|
||||
|
||||
export = projectinfo;
|
29
ts/projectinfo.classes.git.ts
Normal file
29
ts/projectinfo.classes.git.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import * as plugins from './projectinfo.plugins'
|
||||
|
||||
export class ProjectinfoGit {
|
||||
isGit: boolean
|
||||
githost: string
|
||||
gituser: string
|
||||
gitrepo: string
|
||||
cwd: string
|
||||
constructor(cwdArg: string) {
|
||||
this.cwd = cwdArg
|
||||
this.getGitInfoFromPath()
|
||||
}
|
||||
|
||||
/**
|
||||
* get git info from path
|
||||
*/
|
||||
getGitInfoFromPath() {
|
||||
let localSmartpath = new plugins.smartpath.Smartpath(this.cwd)
|
||||
this.gitrepo = localSmartpath.pathLevelsBackwards[0]
|
||||
this.gituser = localSmartpath.pathLevelsBackwards[1]
|
||||
}
|
||||
|
||||
/**
|
||||
* get git info from remote url
|
||||
*/
|
||||
getGitInfoFromRemote(remoteUrlArg: string) {
|
||||
let gitRepoParsed = new plugins.smartstring.GitRepo(remoteUrlArg)
|
||||
}
|
||||
}
|
32
ts/projectinfo.classes.npm.ts
Normal file
32
ts/projectinfo.classes.npm.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import 'typings-global'
|
||||
import plugins = require('./projectinfo.plugins')
|
||||
export class ProjectinfoNpm {
|
||||
isNpm: boolean = false
|
||||
packageJson: any
|
||||
name: string
|
||||
version: string
|
||||
status: string
|
||||
license: string
|
||||
git: plugins.smartstring.GitRepo
|
||||
|
||||
constructor(cwdArg: string, optionsArg: { gitAccessToken?: string } = {}) {
|
||||
let resolvedCwd = plugins.path.resolve(cwdArg)
|
||||
if (plugins.smartfile.fs.fileExists(plugins.path.join(resolvedCwd, 'package.json'))) {
|
||||
this.isNpm = true
|
||||
this.packageJson = plugins.smartfile.fs.toObjectSync(
|
||||
plugins.path.join(
|
||||
resolvedCwd,
|
||||
'package.json'
|
||||
),
|
||||
'json'
|
||||
)
|
||||
this.name = this.packageJson.name
|
||||
this.version = this.packageJson.version
|
||||
this.status = 'ok'
|
||||
this.license = this.packageJson.license
|
||||
if (this.packageJson.repository) {
|
||||
this.git = new plugins.smartstring.GitRepo(this.packageJson.repository.url, optionsArg.gitAccessToken)
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
20
ts/projectinfo.classes.projectinfo.ts
Normal file
20
ts/projectinfo.classes.projectinfo.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import * as plugins from './projectinfo.plugins'
|
||||
import { ProjectinfoNpm } from './projectinfo.classes.npm'
|
||||
import { ProjectinfoGit } from './projectinfo.classes.git'
|
||||
export type TProjectType = 'git' | 'npm'
|
||||
|
||||
/**
|
||||
* class projectinfo automatically examines a given directory and exposes relevant info about it
|
||||
*/
|
||||
export class ProjectInfo {
|
||||
type: TProjectType
|
||||
npm: ProjectinfoNpm
|
||||
git: ProjectinfoGit
|
||||
/**
|
||||
* constructor of class ProjectInfo
|
||||
*/
|
||||
constructor(cwdArg: string) {
|
||||
this.npm = new ProjectinfoNpm(cwdArg)
|
||||
this.git = new ProjectinfoGit(cwdArg)
|
||||
}
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
/// <reference path="./typings/main.d.ts" />
|
||||
import plugins = require("./projectinfo.plugins");
|
||||
class ProjectinfoNPM {
|
||||
packageJson;
|
||||
name:string;
|
||||
version:string;
|
||||
status:string;
|
||||
license:string;
|
||||
git;
|
||||
|
||||
constructor(cwdArg:string){
|
||||
this.packageJson = plugins.smartfile.readFileToObject(
|
||||
plugins.path.join(
|
||||
plugins.path.resolve(cwdArg),
|
||||
"package.json"
|
||||
)
|
||||
);
|
||||
this.name = this.packageJson.name;
|
||||
this.version = this.packageJson.version;
|
||||
this.status = "ok";
|
||||
this.license = this.packageJson.license;
|
||||
if (this.packageJson.repository){
|
||||
this.git = plugins.smartstring.git(this.packageJson.repository.url);
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export = ProjectinfoNPM;
|
@ -1,9 +1,6 @@
|
||||
/// <reference path="./typings/main.d.ts" />
|
||||
var plugins = {
|
||||
path: require("path"),
|
||||
Q: require("q"),
|
||||
smartfile: require("smartfile"),
|
||||
smartstring: require("smartstring")
|
||||
};
|
||||
|
||||
export = plugins;
|
||||
import 'typings-global'
|
||||
export import path = require('path')
|
||||
export import q = require('q')
|
||||
export import smartfile = require('smartfile')
|
||||
export import smartstring = require('smartstring')
|
||||
export import smartpath = require('smartpath')
|
||||
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"ambientDependencies": {
|
||||
"node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts",
|
||||
"mocha": "github:Bartvds/tsd-deftools/typings/DefinitelyTyped/mocha/mocha.d.ts",
|
||||
"colors": "github:DefinitelyTyped/DefinitelyTyped/colors/colors.d.ts"
|
||||
}
|
||||
}
|
3
tslint.json
Normal file
3
tslint.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "tslint-config-standard"
|
||||
}
|
Reference in New Issue
Block a user