Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
6fbc179fcb | |||
c17db19b9f | |||
481ab58d02 | |||
9030619046 | |||
fcd559090a | |||
f946d5b1d8 | |||
4fee4ec822 | |||
94a431ef33 |
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,8 +1,9 @@
|
|||||||
.idea/
|
|
||||||
coverage/
|
coverage/
|
||||||
docs/
|
docs/
|
||||||
node_modules
|
node_modules/
|
||||||
|
|
||||||
|
pages/
|
||||||
|
public
|
||||||
ts/**/*.js
|
ts/**/*.js
|
||||||
ts/**/*.js.map
|
ts/**/*.js.map
|
||||||
ts/typings/
|
ts/typings/
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
image: hosttoday/ht-docker-node:npmci
|
image: hosttoday/ht-docker-node:npmts
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- test
|
- test
|
||||||
- release
|
- release
|
||||||
- page
|
- trigger
|
||||||
|
- pages
|
||||||
|
|
||||||
testLEGACY:
|
testLEGACY:
|
||||||
stage: test
|
stage: test
|
||||||
@ -35,3 +36,24 @@ release:
|
|||||||
- tags
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- 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
|
||||||
|
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
|
||||||
|
```
|
13
dist/index.d.ts
vendored
13
dist/index.d.ts
vendored
@ -1,5 +1,8 @@
|
|||||||
import "typings-global";
|
import 'typings-global';
|
||||||
import { ProjectinfoNpm } from "./projectinfo.classes.npm";
|
export * from './projectinfo.classes.git';
|
||||||
export { ProjectinfoNpm } from "./projectinfo.classes.npm";
|
export * from './projectinfo.classes.npm';
|
||||||
export declare let npm: (cwdArg: any, optionsArg: any) => ProjectinfoNpm;
|
export * from './projectinfo.classes.projectinfo';
|
||||||
export declare let getName: (cwdArg: any) => string;
|
/**
|
||||||
|
* gets the name from package.json in a specified directory
|
||||||
|
*/
|
||||||
|
export declare let getNpmNameForDir: (cwdArg: any) => string;
|
||||||
|
30
dist/index.js
vendored
30
dist/index.js
vendored
@ -1,16 +1,21 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
function __export(m) {
|
||||||
|
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||||
|
}
|
||||||
require("typings-global");
|
require("typings-global");
|
||||||
//npm
|
// direct access to classes
|
||||||
var projectinfo_classes_npm_1 = require("./projectinfo.classes.npm");
|
__export(require("./projectinfo.classes.git"));
|
||||||
var projectinfo_classes_npm_2 = require("./projectinfo.classes.npm");
|
__export(require("./projectinfo.classes.npm"));
|
||||||
exports.ProjectinfoNpm = projectinfo_classes_npm_2.ProjectinfoNpm;
|
__export(require("./projectinfo.classes.projectinfo"));
|
||||||
exports.npm = function (cwdArg, optionsArg) {
|
// npm
|
||||||
return new projectinfo_classes_npm_1.ProjectinfoNpm(cwdArg, optionsArg);
|
const projectinfo_classes_npm_1 = require("./projectinfo.classes.npm");
|
||||||
};
|
// quick functions
|
||||||
//quick functions
|
/**
|
||||||
exports.getName = function (cwdArg) {
|
* gets the name from package.json in a specified directory
|
||||||
var localNpm = new projectinfo_classes_npm_1.ProjectinfoNpm(cwdArg);
|
*/
|
||||||
if (localNpm.status === "ok") {
|
exports.getNpmNameForDir = function (cwdArg) {
|
||||||
|
let localNpm = new projectinfo_classes_npm_1.ProjectinfoNpm(cwdArg);
|
||||||
|
if (localNpm.status === 'ok') {
|
||||||
return localNpm.name;
|
return localNpm.name;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -23,5 +28,4 @@ projectinfo.mojo = function(){
|
|||||||
|
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMEJBQXVCO0FBR3ZCLDJCQUEyQjtBQUMzQiwrQ0FBeUM7QUFDekMsK0NBQXlDO0FBQ3pDLHVEQUFpRDtBQUVqRCxNQUFNO0FBQ04sdUVBQTBEO0FBRTFELGtCQUFrQjtBQUVsQjs7R0FFRztBQUNRLFFBQUEsZ0JBQWdCLEdBQUcsVUFBUyxNQUFNO0lBQ3pDLElBQUksUUFBUSxHQUFHLElBQUksd0NBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN6QyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUE7SUFDeEIsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVEOzs7Ozs7OztFQVFFIn0=
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUNQLENBQUMsQ0FEc0I7QUFHdkIsS0FBSztBQUNMLHdDQUE2QiwyQkFBMkIsQ0FBQyxDQUFBO0FBQ3pELHdDQUE2QiwyQkFBMkIsQ0FBQztBQUFqRCxrRUFBaUQ7QUFDOUMsV0FBRyxHQUFHLFVBQVMsTUFBTSxFQUFDLFVBQVU7SUFDdkMsTUFBTSxDQUFDLElBQUksd0NBQWMsQ0FBQyxNQUFNLEVBQUMsVUFBVSxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDO0FBRUYsaUJBQWlCO0FBQ04sZUFBTyxHQUFHLFVBQVMsTUFBTTtJQUNoQyxJQUFJLFFBQVEsR0FBRyxJQUFJLHdDQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQSxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3pCLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7RUFRRSIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCJcbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vcHJvamVjdGluZm8ucGx1Z2luc1wiKTtcblxuLy9ucG1cbmltcG9ydCB7UHJvamVjdGluZm9OcG19IGZyb20gXCIuL3Byb2plY3RpbmZvLmNsYXNzZXMubnBtXCI7XG5leHBvcnQge1Byb2plY3RpbmZvTnBtfSBmcm9tIFwiLi9wcm9qZWN0aW5mby5jbGFzc2VzLm5wbVwiO1xuZXhwb3J0IGxldCBucG0gPSBmdW5jdGlvbihjd2RBcmcsb3B0aW9uc0FyZyl7XG4gICAgcmV0dXJuIG5ldyBQcm9qZWN0aW5mb05wbShjd2RBcmcsb3B0aW9uc0FyZyk7XG59O1xuXG4vL3F1aWNrIGZ1bmN0aW9uc1xuZXhwb3J0IGxldCBnZXROYW1lID0gZnVuY3Rpb24oY3dkQXJnKXtcbiAgICB2YXIgbG9jYWxOcG0gPSBuZXcgUHJvamVjdGluZm9OcG0oY3dkQXJnKTtcbiAgICBpZiAobG9jYWxOcG0uc3RhdHVzID09PSBcIm9rXCIpe1xuICAgICAgICByZXR1cm4gbG9jYWxOcG0ubmFtZTtcbiAgICB9XG59O1xuXG4vKiBUT0RPXG5wcm9qZWN0aW5mby5naXQgPSBmdW5jdGlvbigpe1xuXG59O1xuXG5wcm9qZWN0aW5mby5tb2pvID0gZnVuY3Rpb24oKXtcblxufTtcbiovIl19
|
|
1
dist/projectinfi.classes.git.d.ts
vendored
1
dist/projectinfi.classes.git.d.ts
vendored
@ -1 +0,0 @@
|
|||||||
import "typings-global";
|
|
4
dist/projectinfi.classes.git.js
vendored
4
dist/projectinfi.classes.git.js
vendored
@ -1,4 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
require("typings-global");
|
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RpbmZpLmNsYXNzZXMuZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUQiLCJmaWxlIjoicHJvamVjdGluZmkuY2xhc3Nlcy5naXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiIl19
|
|
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
|
6
dist/projectinfo.classes.npm.d.ts
vendored
6
dist/projectinfo.classes.npm.d.ts
vendored
@ -1,11 +1,13 @@
|
|||||||
import "typings-global";
|
import 'typings-global';
|
||||||
|
import plugins = require('./projectinfo.plugins');
|
||||||
export declare class ProjectinfoNpm {
|
export declare class ProjectinfoNpm {
|
||||||
|
isNpm: boolean;
|
||||||
packageJson: any;
|
packageJson: any;
|
||||||
name: string;
|
name: string;
|
||||||
version: string;
|
version: string;
|
||||||
status: string;
|
status: string;
|
||||||
license: string;
|
license: string;
|
||||||
git: any;
|
git: plugins.smartstring.GitRepo;
|
||||||
constructor(cwdArg: string, optionsArg?: {
|
constructor(cwdArg: string, optionsArg?: {
|
||||||
gitAccessToken?: string;
|
gitAccessToken?: string;
|
||||||
});
|
});
|
||||||
|
22
dist/projectinfo.classes.npm.js
vendored
22
dist/projectinfo.classes.npm.js
vendored
@ -1,22 +1,24 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-global");
|
require("typings-global");
|
||||||
var plugins = require("./projectinfo.plugins");
|
const plugins = require("./projectinfo.plugins");
|
||||||
var ProjectinfoNpm = (function () {
|
class ProjectinfoNpm {
|
||||||
function ProjectinfoNpm(cwdArg, optionsArg) {
|
constructor(cwdArg, optionsArg = {}) {
|
||||||
if (optionsArg === void 0) { optionsArg = {}; }
|
this.isNpm = false;
|
||||||
this.packageJson = plugins.smartfile.local.toObjectSync(plugins.path.join(plugins.path.resolve(cwdArg), "package.json"), "json");
|
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.name = this.packageJson.name;
|
||||||
this.version = this.packageJson.version;
|
this.version = this.packageJson.version;
|
||||||
this.status = "ok";
|
this.status = 'ok';
|
||||||
this.license = this.packageJson.license;
|
this.license = this.packageJson.license;
|
||||||
if (this.packageJson.repository) {
|
if (this.packageJson.repository) {
|
||||||
this.git = new plugins.smartstring.GitRepo(this.packageJson.repository.url, optionsArg.gitAccessToken);
|
this.git = new plugins.smartstring.GitRepo(this.packageJson.repository.url, optionsArg.gitAccessToken);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
;
|
;
|
||||||
return ProjectinfoNpm;
|
}
|
||||||
}());
|
|
||||||
exports.ProjectinfoNpm = ProjectinfoNpm;
|
exports.ProjectinfoNpm = ProjectinfoNpm;
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGluZm8uY2xhc3Nlcy5ucG0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9wcm9qZWN0aW5mby5jbGFzc2VzLm5wbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEJBQXVCO0FBQ3ZCLGlEQUFpRDtBQUNqRDtJQVNJLFlBQVksTUFBYyxFQUFFLGFBQTBDLEVBQUU7UUFSeEUsVUFBSyxHQUFZLEtBQUssQ0FBQTtRQVNsQixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM5QyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1lBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUNoRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDYixXQUFXLEVBQ1gsY0FBYyxDQUNqQixFQUNELE1BQU0sQ0FDVCxDQUFBO1lBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtZQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFBO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUE7WUFDdkMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUMxRyxDQUFDO1lBQUEsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBQUEsQ0FBQztDQUNMO0FBN0JELHdDQTZCQyJ9
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RpbmZvLmNsYXNzZXMubnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUNQLENBQUMsQ0FEc0I7QUFDdkIsSUFBTyxPQUFPLFdBQVcsdUJBQXVCLENBQUMsQ0FBQztBQUNsRDtJQVFJLHdCQUFZLE1BQWEsRUFBQyxVQUF3QztRQUF4QywwQkFBd0MsR0FBeEMsZUFBd0M7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUM1QixjQUFjLENBQ2pCLEVBQ0QsTUFBTSxDQUNULENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUN4QyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsR0FBSSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0csQ0FBQztRQUFBLENBQUM7SUFFTixDQUFDOztJQUNMLHFCQUFDO0FBQUQsQ0F6QkEsQUF5QkMsSUFBQTtBQXpCWSxzQkFBYyxpQkF5QjFCLENBQUEiLCJmaWxlIjoicHJvamVjdGluZm8uY2xhc3Nlcy5ucG0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3Byb2plY3RpbmZvLnBsdWdpbnNcIik7XG5leHBvcnQgY2xhc3MgUHJvamVjdGluZm9OcG0gIHtcbiAgICBwYWNrYWdlSnNvbjtcbiAgICBuYW1lOnN0cmluZztcbiAgICB2ZXJzaW9uOnN0cmluZztcbiAgICBzdGF0dXM6c3RyaW5nO1xuICAgIGxpY2Vuc2U6c3RyaW5nO1xuICAgIGdpdDtcblxuICAgIGNvbnN0cnVjdG9yKGN3ZEFyZzpzdHJpbmcsb3B0aW9uc0FyZzp7Z2l0QWNjZXNzVG9rZW4/OnN0cmluZ30gPSB7fSl7XG4gICAgICAgIHRoaXMucGFja2FnZUpzb24gPSBwbHVnaW5zLnNtYXJ0ZmlsZS5sb2NhbC50b09iamVjdFN5bmMoXG4gICAgICAgICAgICBwbHVnaW5zLnBhdGguam9pbihcbiAgICAgICAgICAgICAgICBwbHVnaW5zLnBhdGgucmVzb2x2ZShjd2RBcmcpLFxuICAgICAgICAgICAgICAgIFwicGFja2FnZS5qc29uXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBcImpzb25cIlxuICAgICAgICApO1xuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLnBhY2thZ2VKc29uLm5hbWU7XG4gICAgICAgIHRoaXMudmVyc2lvbiA9IHRoaXMucGFja2FnZUpzb24udmVyc2lvbjtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBcIm9rXCI7XG4gICAgICAgIHRoaXMubGljZW5zZSA9IHRoaXMucGFja2FnZUpzb24ubGljZW5zZTtcbiAgICAgICAgaWYgKHRoaXMucGFja2FnZUpzb24ucmVwb3NpdG9yeSl7XG4gICAgICAgICAgICB0aGlzLmdpdCA9ICBuZXcgcGx1Z2lucy5zbWFydHN0cmluZy5HaXRSZXBvKHRoaXMucGFja2FnZUpzb24ucmVwb3NpdG9yeS51cmwsb3B0aW9uc0FyZy5naXRBY2Nlc3NUb2tlbik7XG4gICAgICAgIH07XG5cbiAgICB9O1xufSJdfQ==
|
|
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=
|
11
dist/projectinfo.plugins.d.ts
vendored
11
dist/projectinfo.plugins.d.ts
vendored
@ -1,5 +1,6 @@
|
|||||||
import "typings-global";
|
import 'typings-global';
|
||||||
export declare let path: any;
|
export import path = require('path');
|
||||||
export declare let Q: any;
|
export import q = require('q');
|
||||||
export import smartfile = require("smartfile");
|
export import smartfile = require('smartfile');
|
||||||
export import smartstring = require("smartstring");
|
export import smartstring = require('smartstring');
|
||||||
|
export import smartpath = require('smartpath');
|
||||||
|
6
dist/projectinfo.plugins.js
vendored
6
dist/projectinfo.plugins.js
vendored
@ -1,8 +1,8 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-global");
|
require("typings-global");
|
||||||
exports.path = require("path");
|
exports.path = require("path");
|
||||||
exports.Q = require("q");
|
exports.q = require("q");
|
||||||
exports.smartfile = require("smartfile");
|
exports.smartfile = require("smartfile");
|
||||||
exports.smartstring = require("smartstring");
|
exports.smartstring = require("smartstring");
|
||||||
|
exports.smartpath = require("smartpath");
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RpbmZvLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQ1AsQ0FBQyxDQURzQjtBQUNaLFlBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkIsU0FBQyxHQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQyIsImZpbGUiOiJwcm9qZWN0aW5mby5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIlxuZXhwb3J0IGxldCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5leHBvcnQgbGV0IFEgPSAgcmVxdWlyZShcInFcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0ZmlsZSA9IHJlcXVpcmUoXCJzbWFydGZpbGVcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3RyaW5nID0gcmVxdWlyZShcInNtYXJ0c3RyaW5nXCIpOyJdfQ==
|
//# 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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
16
package.json
16
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "projectinfo",
|
"name": "projectinfo",
|
||||||
"version": "1.0.3",
|
"version": "3.0.0",
|
||||||
"description": "gather information about projects. supports npm, git etc.",
|
"description": "gather information about projects. supports npm, git etc.",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist/index.d.ts",
|
||||||
@ -25,14 +25,16 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://gitlab.com/pushrocks/projectinfo#readme",
|
"homepage": "https://gitlab.com/pushrocks/projectinfo#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"npmts": "^5.2.5",
|
"npmts-g": "^5.2.10",
|
||||||
"should": "^9.0.0",
|
"should": "^11.1.1",
|
||||||
"typings-test": "^1.0.1"
|
"typings-test": "^1.0.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@types/q": "0.0.32",
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"smartfile": "3.0.10",
|
"smartfile": "4.1.0",
|
||||||
"smartstring": "2.0.6",
|
"smartpath": "^3.2.6",
|
||||||
"typings-global": "^1.0.3"
|
"smartstring": "2.0.22",
|
||||||
|
"typings-global": "^1.0.14"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
test/test.d.ts
vendored
2
test/test.d.ts
vendored
@ -1 +1 @@
|
|||||||
import "typings-test";
|
import 'typings-test';
|
||||||
|
52
test/test.js
52
test/test.js
@ -1,41 +1,33 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-test");
|
require("typings-test");
|
||||||
var projectinfo = require("../dist/index.js");
|
const projectinfo = require("../dist/index");
|
||||||
var should = require("should");
|
let should = require('should');
|
||||||
var path = require("path");
|
let path = require('path');
|
||||||
var testBasePath = path.resolve(__dirname);
|
let testBasePath = path.resolve(__dirname);
|
||||||
describe("projectinfo", function () {
|
describe('projectinfo', function () {
|
||||||
describe(".npm() return", function () {
|
describe('.npm() return', function () {
|
||||||
var myNpm = projectinfo.npm(testBasePath, { gitAccessToken: "sometoken" });
|
let myNpm = new projectinfo.ProjectinfoNpm(testBasePath, { gitAccessToken: 'sometoken' });
|
||||||
it("should have .packageJson", function () {
|
it('should have .packageJson', function () {
|
||||||
myNpm.packageJson
|
should(myNpm.packageJson).have.property('version', '1.0.0');
|
||||||
.should.have.property("version", "1.0.0");
|
should(myNpm.packageJson).have.property('name', 'testpackage');
|
||||||
myNpm.packageJson
|
|
||||||
.should.have.property("name", "testpackage");
|
|
||||||
});
|
});
|
||||||
it("should have .version", function () {
|
it('should have .version', function () {
|
||||||
myNpm
|
should(myNpm).have.property('version', '1.0.0');
|
||||||
.should.have.property("version", "1.0.0");
|
|
||||||
});
|
});
|
||||||
it("should have .name", function () {
|
it('should have .name', function () {
|
||||||
myNpm
|
should(myNpm).have.property('name', 'testpackage');
|
||||||
.should.have.property("name", "testpackage");
|
|
||||||
});
|
});
|
||||||
it("should have .license", function () {
|
it('should have .license', function () {
|
||||||
myNpm
|
should(myNpm).have.property('license', 'MIT');
|
||||||
.should.have.property("license", "MIT");
|
|
||||||
});
|
});
|
||||||
it("should have .git", function () {
|
it('should have .git', function () {
|
||||||
myNpm.git.httpsUrl
|
should(myNpm.git.httpsUrl).equal('https://sometoken@github.com/someuser/somerepo.git');
|
||||||
.should.equal("https://sometoken@github.com/someuser/somerepo.git");
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe(".getName()", function () {
|
describe('.getNpmNameForDir()', function () {
|
||||||
it("should return a name", function () {
|
it('should return a name', function () {
|
||||||
projectinfo.getName(testBasePath)
|
should(projectinfo.getNpmNameForDir(testBasePath)).equal('testpackage');
|
||||||
.should.equal("testpackage");
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFxQjtBQUNyQiw2Q0FBNkM7QUFDN0MsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQzlCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUMxQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRTFDLFFBQVEsQ0FBQyxhQUFhLEVBQUM7SUFDbkIsUUFBUSxDQUFDLGVBQWUsRUFBQztRQUNyQixJQUFJLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFDLEVBQUMsY0FBYyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUE7UUFDdEYsRUFBRSxDQUFDLDBCQUEwQixFQUFDO1lBQzFCLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUE7WUFDMUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxhQUFhLENBQUMsQ0FBQTtRQUNqRSxDQUFDLENBQUMsQ0FBQTtRQUVGLEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztZQUN0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUE7UUFDbEQsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsbUJBQW1CLEVBQUM7WUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ3JELENBQUMsQ0FBQyxDQUFBO1FBRUYsRUFBRSxDQUFDLHNCQUFzQixFQUFDO1lBQ3RCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQTtRQUNoRCxDQUFDLENBQUMsQ0FBQTtRQUNGLEVBQUUsQ0FBQyxrQkFBa0IsRUFBQztZQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtRQUMxRixDQUFDLENBQUMsQ0FBQTtJQUVOLENBQUMsQ0FBQyxDQUFBO0lBRUYsUUFBUSxDQUFDLHFCQUFxQixFQUFDO1FBQzNCLEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztZQUN0QixNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUM1QyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUM5QixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDOUMsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMzQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTNDLFFBQVEsQ0FBQyxhQUFhLEVBQUM7SUFDbkIsUUFBUSxDQUFDLGVBQWUsRUFBQztRQUNyQixJQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBQyxFQUFDLGNBQWMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDO1FBQ3ZFLEVBQUUsQ0FBQywwQkFBMEIsRUFBQztZQUMxQixLQUFLLENBQUMsV0FBVztpQkFDYixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsS0FBSyxDQUFDLFdBQVc7aUJBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHNCQUFzQixFQUFDO1lBQ3RCLEtBQUs7aUJBQ0EsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG1CQUFtQixFQUFDO1lBQ25CLEtBQUs7aUJBQ0EsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHNCQUFzQixFQUFDO1lBQ3RCLEtBQUs7aUJBQ0EsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLGtCQUFrQixFQUFDO1lBQ2xCLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUTtpQkFDYixNQUFNLENBQUMsS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxZQUFZLEVBQUM7UUFDbEIsRUFBRSxDQUFDLHNCQUFzQixFQUFDO1lBQ3RCLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO2lCQUM1QixNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG52YXIgcHJvamVjdGluZm8gPSByZXF1aXJlKFwiLi4vZGlzdC9pbmRleC5qc1wiKTtcbnZhciBzaG91bGQgPSByZXF1aXJlKFwic2hvdWxkXCIpO1xudmFyIHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbnZhciB0ZXN0QmFzZVBhdGggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lKTtcblxuZGVzY3JpYmUoXCJwcm9qZWN0aW5mb1wiLGZ1bmN0aW9uKCl7XG4gICAgZGVzY3JpYmUoXCIubnBtKCkgcmV0dXJuXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIG15TnBtID0gcHJvamVjdGluZm8ubnBtKHRlc3RCYXNlUGF0aCx7Z2l0QWNjZXNzVG9rZW46XCJzb21ldG9rZW5cIn0pO1xuICAgICAgICBpdChcInNob3VsZCBoYXZlIC5wYWNrYWdlSnNvblwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBteU5wbS5wYWNrYWdlSnNvblxuICAgICAgICAgICAgICAgLnNob3VsZC5oYXZlLnByb3BlcnR5KFwidmVyc2lvblwiLFwiMS4wLjBcIik7XG4gICAgICAgICAgICBteU5wbS5wYWNrYWdlSnNvblxuICAgICAgICAgICAgICAgLnNob3VsZC5oYXZlLnByb3BlcnR5KFwibmFtZVwiLFwidGVzdHBhY2thZ2VcIik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KFwic2hvdWxkIGhhdmUgLnZlcnNpb25cIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgbXlOcG1cbiAgICAgICAgICAgICAgICAuc2hvdWxkLmhhdmUucHJvcGVydHkoXCJ2ZXJzaW9uXCIsXCIxLjAuMFwiKVxuICAgICAgICB9KTtcblxuICAgICAgICBpdChcInNob3VsZCBoYXZlIC5uYW1lXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIG15TnBtXG4gICAgICAgICAgICAgICAgLnNob3VsZC5oYXZlLnByb3BlcnR5KFwibmFtZVwiLFwidGVzdHBhY2thZ2VcIik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KFwic2hvdWxkIGhhdmUgLmxpY2Vuc2VcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgbXlOcG1cbiAgICAgICAgICAgICAgICAuc2hvdWxkLmhhdmUucHJvcGVydHkoXCJsaWNlbnNlXCIsXCJNSVRcIik7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcInNob3VsZCBoYXZlIC5naXRcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgbXlOcG0uZ2l0Lmh0dHBzVXJsXG4gICAgICAgICAgICAgICAgLnNob3VsZC5lcXVhbChcImh0dHBzOi8vc29tZXRva2VuQGdpdGh1Yi5jb20vc29tZXVzZXIvc29tZXJlcG8uZ2l0XCIpO1xuICAgICAgICB9KTtcblxuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoXCIuZ2V0TmFtZSgpXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgcmV0dXJuIGEgbmFtZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBwcm9qZWN0aW5mby5nZXROYW1lKHRlc3RCYXNlUGF0aClcbiAgICAgICAgICAgICAgICAuc2hvdWxkLmVxdWFsKFwidGVzdHBhY2thZ2VcIik7XG4gICAgICAgIH0pO1xuICAgIH0pXG59KTsiXX0=
|
|
78
test/test.ts
78
test/test.ts
@ -1,44 +1,38 @@
|
|||||||
import "typings-test";
|
import 'typings-test'
|
||||||
var projectinfo = require("../dist/index.js");
|
import projectinfo = require('../dist/index')
|
||||||
var should = require("should");
|
let should = require('should')
|
||||||
var path = require("path");
|
let path = require('path')
|
||||||
var testBasePath = path.resolve(__dirname);
|
let testBasePath = path.resolve(__dirname)
|
||||||
|
|
||||||
describe("projectinfo",function(){
|
describe('projectinfo',function(){
|
||||||
describe(".npm() return",function(){
|
describe('.npm() return',function(){
|
||||||
var myNpm = projectinfo.npm(testBasePath,{gitAccessToken:"sometoken"});
|
let myNpm = new projectinfo.ProjectinfoNpm(testBasePath,{gitAccessToken: 'sometoken'})
|
||||||
it("should have .packageJson",function(){
|
it('should have .packageJson',function(){
|
||||||
myNpm.packageJson
|
should(myNpm.packageJson).have.property('version','1.0.0')
|
||||||
.should.have.property("version","1.0.0");
|
should(myNpm.packageJson).have.property('name','testpackage')
|
||||||
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://sometoken@github.com/someuser/somerepo.git");
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
describe(".getName()",function(){
|
|
||||||
it("should return a name",function(){
|
|
||||||
projectinfo.getName(testBasePath)
|
|
||||||
.should.equal("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 @@
|
|||||||
import "typings-global"
|
import 'typings-global'
|
||||||
import plugins = require("./projectinfo.plugins");
|
import plugins = require('./projectinfo.plugins')
|
||||||
|
|
||||||
//npm
|
// direct access to classes
|
||||||
import {ProjectinfoNpm} from "./projectinfo.classes.npm";
|
export * from './projectinfo.classes.git'
|
||||||
export {ProjectinfoNpm} from "./projectinfo.classes.npm";
|
export * from './projectinfo.classes.npm'
|
||||||
export let npm = function(cwdArg,optionsArg){
|
export * from './projectinfo.classes.projectinfo'
|
||||||
return new ProjectinfoNpm(cwdArg,optionsArg);
|
|
||||||
};
|
|
||||||
|
|
||||||
//quick functions
|
// npm
|
||||||
export let getName = function(cwdArg){
|
import { ProjectinfoNpm } from './projectinfo.classes.npm'
|
||||||
var localNpm = new ProjectinfoNpm(cwdArg);
|
|
||||||
if (localNpm.status === "ok"){
|
// quick functions
|
||||||
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
|
/* TODO
|
||||||
projectinfo.git = function(){
|
projectinfo.git = function(){
|
||||||
|
@ -1 +0,0 @@
|
|||||||
import "typings-global"
|
|
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)
|
||||||
|
}
|
||||||
|
}
|
@ -1,28 +1,32 @@
|
|||||||
import "typings-global"
|
import 'typings-global'
|
||||||
import plugins = require("./projectinfo.plugins");
|
import plugins = require('./projectinfo.plugins')
|
||||||
export class ProjectinfoNpm {
|
export class ProjectinfoNpm {
|
||||||
packageJson;
|
isNpm: boolean = false
|
||||||
name:string;
|
packageJson: any
|
||||||
version:string;
|
name: string
|
||||||
status:string;
|
version: string
|
||||||
license:string;
|
status: string
|
||||||
git;
|
license: string
|
||||||
|
git: plugins.smartstring.GitRepo
|
||||||
|
|
||||||
constructor(cwdArg:string,optionsArg:{gitAccessToken?:string} = {}){
|
constructor(cwdArg: string, optionsArg: { gitAccessToken?: string } = {}) {
|
||||||
this.packageJson = plugins.smartfile.local.toObjectSync(
|
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(
|
plugins.path.join(
|
||||||
plugins.path.resolve(cwdArg),
|
resolvedCwd,
|
||||||
"package.json"
|
'package.json'
|
||||||
),
|
),
|
||||||
"json"
|
'json'
|
||||||
);
|
)
|
||||||
this.name = this.packageJson.name;
|
this.name = this.packageJson.name
|
||||||
this.version = this.packageJson.version;
|
this.version = this.packageJson.version
|
||||||
this.status = "ok";
|
this.status = 'ok'
|
||||||
this.license = this.packageJson.license;
|
this.license = this.packageJson.license
|
||||||
if (this.packageJson.repository){
|
if (this.packageJson.repository) {
|
||||||
this.git = new plugins.smartstring.GitRepo(this.packageJson.repository.url,optionsArg.gitAccessToken);
|
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,5 +1,6 @@
|
|||||||
import "typings-global"
|
import 'typings-global'
|
||||||
export let path = require("path");
|
export import path = require('path')
|
||||||
export let Q = require("q");
|
export import q = require('q')
|
||||||
export import smartfile = require("smartfile");
|
export import smartfile = require('smartfile')
|
||||||
export import smartstring = require("smartstring");
|
export import smartstring = require('smartstring')
|
||||||
|
export import smartpath = require('smartpath')
|
||||||
|
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