-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: log with winston taking log level into account
- Loading branch information
1 parent
3a97bfe
commit 00e7eb6
Showing
13 changed files
with
413 additions
and
280 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,22 @@ | ||
import * as ora from 'ora' | ||
import * as rimraf from 'rimraf' | ||
import {getFlags} from './cliFlags' | ||
import {logger} from './logger' | ||
|
||
export function cleanup(pathsToRemove: string[]) { | ||
const {verbose} = getFlags() | ||
const spinner = ora() | ||
verbose && spinner.start('Cleaning up') | ||
logger.info('Cleaning up') | ||
const promises: Array<Promise<void>> = [] | ||
const rimrafSpinner = ora() | ||
verbose && (rimrafSpinner.indent = 2) | ||
verbose && rimrafSpinner.start() | ||
pathsToRemove.forEach(path => { | ||
verbose && (rimrafSpinner.text = `Removing ${path}`) | ||
logger.verbose(`Removing ${path}`) | ||
promises.push( | ||
new Promise((resolve, reject) => { | ||
rimraf(path, err => { | ||
if (err) { | ||
verbose && rimrafSpinner.fail(err.toString()) | ||
reject(err) | ||
} else { | ||
verbose && rimrafSpinner.stop() | ||
verbose && rimrafSpinner.clear() | ||
resolve() | ||
} | ||
}) | ||
}) | ||
) | ||
}) | ||
return Promise.all(promises).then( | ||
() => { | ||
verbose && spinner.succeed() | ||
return Promise.resolve() | ||
}, | ||
err => { | ||
verbose && spinner.fail() | ||
throw err | ||
} | ||
) | ||
return Promise.all(promises) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
export interface IFlags { | ||
verbose: boolean | ||
remoteName: string | ||
protocol: string | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,16 @@ | ||
import * as gitP from 'simple-git/promise' | ||
import * as ora from 'ora' | ||
import {MODULE_DIR} from './constants' | ||
import {getFlags} from './cliFlags' | ||
import {logger} from './logger' | ||
|
||
const moduleGit = gitP(MODULE_DIR) | ||
|
||
export function getBranchName() { | ||
const {verbose} = getFlags() | ||
const spinner = ora() | ||
verbose && spinner.start('Getting branch name') | ||
logger.verbose('Getting branch name') | ||
return moduleGit | ||
.branchLocal() | ||
.then(branchSummary => branchSummary.current) | ||
.then(branchName => { | ||
verbose && spinner.succeed(`Branch name: ${branchName}-dist`) | ||
logger.info(`Branch name: ${branchName}-dist`) | ||
return branchName + '-dist' | ||
}) | ||
.catch(err => { | ||
verbose && spinner.fail(err) | ||
throw err | ||
}) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,23 @@ | ||
#! /usr/bin/env node | ||
|
||
import * as program from 'commander' | ||
import {PACKAGE_JSON, REMOTE_NAME} from './constants' | ||
import {REMOTE_NAME} from './constants' | ||
import {generatePreview} from './generate-preview' | ||
import {initLogger} from './logger' | ||
const pkg = require('../package.json') | ||
|
||
program | ||
.version(PACKAGE_JSON.version) | ||
.version(pkg.version) | ||
.name('npx generate-preview') | ||
.option('-r, --remote [name]', 'git remote name to use', REMOTE_NAME) | ||
.option('-p, --protocol [protocol]', 'git protocol (i.e. git+ssh, https)', 'git+ssh') | ||
.option('--verbose', 'prints higher level of logs') | ||
|
||
program.parse(process.argv) | ||
|
||
initLogger(!!program.verbose ? 'verbose' : 'info') | ||
|
||
generatePreview({ | ||
remoteName: program.remote, | ||
protocol: program.protocol, | ||
verbose: !!program.verbose | ||
protocol: program.protocol | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import {createLogger, format, transports, Logger} from 'winston' | ||
|
||
type TLoglevels = 'error' | 'warn' | 'info' | 'verbose' | 'debug' | 'silly' | ||
|
||
let logger: Logger | ||
|
||
export function initLogger(level: TLoglevels) { | ||
logger = createLogger({ | ||
level: level, | ||
format: format.cli(), | ||
transports: [new transports.Console()] | ||
}) | ||
} | ||
|
||
export {logger} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,17 @@ | ||
import * as gitP from 'simple-git/promise' | ||
import * as ora from 'ora' | ||
import {TMP_PACKAGE_DIR} from './constants' | ||
import {getFlags} from './cliFlags' | ||
import {logger} from './logger' | ||
|
||
export function pushToRemote(distBranchName: string) { | ||
const {remoteName, verbose} = getFlags() | ||
const spinner = ora() | ||
const {remoteName} = getFlags() | ||
const git = gitP(TMP_PACKAGE_DIR) | ||
verbose && spinner.start(`Adding files to stage`) | ||
logger.verbose(`Adding files to stage`) | ||
return git | ||
.silent(true) | ||
.add(['.']) | ||
.then(() => verbose && spinner.succeed()) | ||
.then(() => verbose && spinner.start(`Committing changes`)) | ||
.then(() => logger.verbose(`Committing changes`)) | ||
.then(() => git.commit('bundle update')) | ||
.then(() => verbose && spinner.succeed()) | ||
.then(() => verbose && spinner.start(`Pushing to ${remoteName}/${distBranchName}`)) | ||
.then(() => logger.verbose(`Pushing to ${remoteName}/${distBranchName}`)) | ||
.then(() => git.push(remoteName, distBranchName)) | ||
.then(() => verbose && spinner.succeed()) | ||
.catch((err: unknown) => { | ||
verbose && spinner.fail() | ||
throw err | ||
}) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,16 @@ | ||
import * as tar from 'tar' | ||
import * as ora from 'ora' | ||
import {PACKAGE_JSON, TMP_DIR, TMP_PACKAGE_DIR} from './constants' | ||
import {getFlags} from './cliFlags' | ||
import {logger} from './logger' | ||
|
||
export function unpack(packedFilename: string) { | ||
const {verbose} = getFlags() | ||
const spinner = ora() | ||
verbose && spinner.start(`Unpacking ${packedFilename} into ${TMP_DIR}`) | ||
logger.verbose(`Unpacking ${packedFilename} into ${TMP_DIR}`) | ||
return tar | ||
.x({ | ||
file: packedFilename, | ||
cwd: TMP_DIR | ||
}) | ||
.then( | ||
result => { | ||
verbose && spinner.succeed(`Package "${PACKAGE_JSON.name}" unpacked in ${TMP_PACKAGE_DIR}`) | ||
return result | ||
}, | ||
err => { | ||
verbose && spinner.fail(err) | ||
throw err | ||
} | ||
) | ||
.then(result => { | ||
logger.verbose(`Package "${PACKAGE_JSON.name}" unpacked in ${TMP_PACKAGE_DIR}`) | ||
return result | ||
}) | ||
} |
Oops, something went wrong.