Skip to content

Commit 84c27c7

Browse files
authored
Merge pull request #3 from lightness/feature/token-by-command-line-args
Token can be passed by command line args
2 parents 7175604 + 76034ae commit 84c27c7

28 files changed

+164
-106
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "github-repo-tools",
3-
"version": "2.1.2",
3+
"version": "2.2.0",
44
"description": "Useful tool to get versions from all repos of Github user/org",
55
"main": "build/app.js",
66
"bin": {
@@ -42,6 +42,7 @@
4242
"figlet": "^1.2.1",
4343
"inquirer": "^6.3.1",
4444
"lodash": "^4.17.11",
45+
"lodash-decorators": "^6.0.1",
4546
"moment": "^2.24.0",
4647
"ora": "^3.4.0",
4748
"reflect-metadata": "^0.1.13",

src/app.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export class AppService {
2727
this.setupPresenter(options);
2828

2929
this.presenterService.showFiglet();
30-
this.presenterService.showGithubTokenInfo();
30+
this.presenterService.showGithubTokenInfo(options);
3131

3232
const { package: packageName, node, rateLimit } = options;
3333

src/interfaces.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export interface IPresenterOptions {
3030

3131
export interface IProgramOptions extends IFilterOptions, IOwnerOptions, IPackageOptions, INodeOptions, IPresenterOptions {
3232
rateLimit?: boolean;
33+
token?: string;
3334
}
3435

3536
export interface IReportItem {

src/modules/cli/cli.service.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { Injectable } from '@nestjs/common';
2+
import { Memoize } from 'lodash-decorators';
23
import { IProgramOptions } from '../../interfaces';
34
import { CommanderService } from './commander.service';
45
import { InquirerService } from './inquirer.service';
56
import { InputValidatorService } from './input.validator.service';
6-
import { InvalidResult, ValidResult } from './interfaces';
7+
import { InvalidResult } from './interfaces';
78

89
@Injectable()
910
export class CliService {
@@ -15,10 +16,11 @@ export class CliService {
1516
) {
1617
}
1718

18-
public async getProgramOptions(): Promise<IProgramOptions> {
19+
@Memoize()
20+
public getProgramOptions(): Promise<IProgramOptions> {
1921
const options = this.commanderService.getProgramOptions();
2022

21-
return await this.patchOptions(options);
23+
return this.patchOptions(options);
2224
}
2325

2426
public async patchOptions(options): Promise<IProgramOptions> {

src/modules/cli/commander.service.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export class CommanderService {
1010
.usage('Search npm packages in all org repos. You can set GITHUB_TOKEN env var, if public access restricted')
1111
.help('help')
1212
.alias('h', 'help')
13-
.showHelpOnFail(false, "Specify --help for available options")
13+
.showHelpOnFail(false, 'Specify --help for available options')
1414
.version()
1515
.alias('v', 'version')
1616
.describe('v', 'show version information')
@@ -92,6 +92,12 @@ export class CommanderService {
9292
default: false,
9393
type: 'boolean',
9494
})
95+
.option('token', {
96+
alias: 't',
97+
describe: 'token to auth on github. Env var GITHUB_TOKEN strictly prefered',
98+
default: process.env.GITHUB_TOKEN,
99+
type: 'string'
100+
})
95101
.group(['user', 'org'], 'Owner:')
96102
.group(['package', 'deps', 'dev-deps', 'peer-deps', 'yarn-lock', 'package-lock'], 'NPM package:')
97103
.group(['node', 'nvm', 'engines'], 'Node version:')

src/modules/cli/input.validator.service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { Injectable } from "@nestjs/common";
2-
import { IProgramOptions, IOwnerOptions } from "../../interfaces";
3-
import { Mode, ValidationResult } from "./interfaces";
1+
import { Injectable } from '@nestjs/common';
2+
import { IProgramOptions, IOwnerOptions } from '../../interfaces';
3+
import { Mode, ValidationResult } from './interfaces';
44

55
@Injectable()
66
export class InputValidatorService {

src/modules/node-version/node.version.module.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { Module } from "@nestjs/common";
2-
import { OctokitModule } from "../octokit/octokit.module";
3-
import { NodeVersionService } from "./node.version.service";
4-
import { PresenterModule } from "../presenter/presenter.module";
1+
import { Module } from '@nestjs/common';
2+
import { OctokitModule } from '../octokit/octokit.module';
3+
import { NodeVersionService } from './node.version.service';
4+
import { PresenterModule } from '../presenter/presenter.module';
55

66
@Module({
77
imports: [

src/modules/node-version/node.version.service.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { Injectable } from "@nestjs/common";
2-
import { IProgramOptions } from "../../interfaces";
3-
import { INodeVersion } from "./interfaces";
4-
import { OctokitService } from "../octokit/octokit.service";
5-
import { PresenterService } from "../presenter/presenter.service";
1+
import { Injectable } from '@nestjs/common';
2+
import { IProgramOptions } from '../../interfaces';
3+
import { INodeVersion } from './interfaces';
4+
import { OctokitService } from '../octokit/octokit.service';
5+
import { PresenterService } from '../presenter/presenter.service';
66

77
@Injectable()
88
export class NodeVersionService {

src/modules/npm-dependency-version/interfaces.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { IReportItem } from "../../interfaces";
1+
import { IReportItem } from '../../interfaces';
22

33
export interface IPacakgeVersion extends IReportItem {
44
version?: string;

src/modules/npm-dependency-version/npm.dependency.version.module.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { Module } from "@nestjs/common";
2-
import { OctokitModule } from "../octokit/octokit.module";
3-
import { NpmDependencyVersionService } from "./npm.dependency.version.service";
4-
import { PackageLockVersionService } from "./package.lock.version.service";
5-
import { YarnLockVersionService } from "./yarn.lock.version.service";
6-
import { PresenterModule } from "../presenter/presenter.module";
1+
import { Module } from '@nestjs/common';
2+
import { OctokitModule } from '../octokit/octokit.module';
3+
import { NpmDependencyVersionService } from './npm.dependency.version.service';
4+
import { PackageLockVersionService } from './package.lock.version.service';
5+
import { YarnLockVersionService } from './yarn.lock.version.service';
6+
import { PresenterModule } from '../presenter/presenter.module';
77

88

99
@Module({

0 commit comments

Comments
 (0)