From 82b8a2df4f06f13f8660a19a0c86e7f5716062cd Mon Sep 17 00:00:00 2001 From: hisamatsu yoshiyuki Date: Tue, 5 May 2020 18:28:23 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=8D=BC=20lint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierrc.toml | 2 +- __tests__/common-js.test.ts | 14 +++---- __tests__/delete-file.test.ts | 22 +++++------ __tests__/es-module.test.ts | 14 +++---- __tests__/no-pkg.test.ts | 12 +++--- __tests__/not-setup.test.ts | 10 ++--- src/delete-log-files.ts | 46 +++++++++++------------ src/index.ts | 24 ++++++------ src/interface/option-interface.ts | 4 +- src/interface/year-month-day-interface.ts | 6 +-- src/transport-file.ts | 46 +++++++++++------------ src/utils/find-log-file-name.ts | 4 +- src/utils/find-log-path.ts | 44 +++++++++++----------- src/utils/get-now-date.ts | 6 +-- src/utils/get-now-time.ts | 8 ++-- 15 files changed, 131 insertions(+), 131 deletions(-) diff --git a/.prettierrc.toml b/.prettierrc.toml index 6ce6425..b0514c0 100644 --- a/.prettierrc.toml +++ b/.prettierrc.toml @@ -1,3 +1,3 @@ # .prettierrc.toml -semi = false +semi = true singleQuote = true diff --git a/__tests__/common-js.test.ts b/__tests__/common-js.test.ts index 76bee68..4fab39d 100644 --- a/__tests__/common-js.test.ts +++ b/__tests__/common-js.test.ts @@ -1,15 +1,15 @@ describe('index', () => { test('test Common JS', () => { - const pkg = require('../package.json') + const pkg = require('../package.json'); - const logCJS = require('../src/index') + const logCJS = require('../src/index'); logCJS.setup({ appName: pkg.name + '-test', maxSize: 10 * 1024 * 1024, - }) + }); - const r = logCJS.log('test CJS') + const r = logCJS.log('test CJS'); - expect(r).toEqual(true) - }) -}) + expect(r).toEqual(true); + }); +}); diff --git a/__tests__/delete-file.test.ts b/__tests__/delete-file.test.ts index 892f497..9f3b763 100644 --- a/__tests__/delete-file.test.ts +++ b/__tests__/delete-file.test.ts @@ -1,23 +1,23 @@ -import { log, setup, deleteLog } from '../src/index' +import { log, setup, deleteLog } from '../src/index'; describe('index', () => { beforeEach(() => { - console.log('beforeEach') - const pkg = require('../package.json') + console.log('beforeEach'); + const pkg = require('../package.json'); setup({ appName: pkg.name + '-test', maxSize: 10 * 1024 * 1024, - }) + }); - const r = log('test ES') + const r = log('test ES'); - expect(r).toEqual(true) - }) + expect(r).toEqual(true); + }); test('test delete file', () => { - deleteLog(2) + deleteLog(2); - expect(1).toEqual(1) - }) -}) + expect(1).toEqual(1); + }); +}); diff --git a/__tests__/es-module.test.ts b/__tests__/es-module.test.ts index 8e1a1e9..88bc861 100644 --- a/__tests__/es-module.test.ts +++ b/__tests__/es-module.test.ts @@ -1,16 +1,16 @@ -import { log, setup, deleteLog } from '../src/index' +import { log, setup, deleteLog } from '../src/index'; describe('index', () => { test('test ES module', () => { - const pkg = require('../package.json') + const pkg = require('../package.json'); setup({ appName: pkg.name + '-test', maxSize: 10 * 1024 * 1024, - }) + }); - const r = log('test ES') + const r = log('test ES'); - expect(r).toEqual(true) - }) -}) + expect(r).toEqual(true); + }); +}); diff --git a/__tests__/no-pkg.test.ts b/__tests__/no-pkg.test.ts index dc57f18..b324d05 100644 --- a/__tests__/no-pkg.test.ts +++ b/__tests__/no-pkg.test.ts @@ -1,13 +1,13 @@ -import { log, setup, deleteLog } from '../src/index' +import { log, setup, deleteLog } from '../src/index'; describe('index', () => { test('test no pkg with setup()', () => { setup({ maxSize: 10 * 1024 * 1024, - }) + }); - const r = log('test no pkg') + const r = log('test no pkg'); - expect(r).toEqual(true) - }) -}) + expect(r).toEqual(true); + }); +}); diff --git a/__tests__/not-setup.test.ts b/__tests__/not-setup.test.ts index d9dc5ca..edfe39e 100644 --- a/__tests__/not-setup.test.ts +++ b/__tests__/not-setup.test.ts @@ -1,9 +1,9 @@ -import { log, setup, deleteLog } from '../src/index' +import { log, setup, deleteLog } from '../src/index'; describe('index', () => { test('test not setup()', () => { - const r = log('test not setup()') + const r = log('test not setup()'); - expect(r).toEqual(true) - }) -}) + expect(r).toEqual(true); + }); +}); diff --git a/src/delete-log-files.ts b/src/delete-log-files.ts index 1223a78..7e3d577 100644 --- a/src/delete-log-files.ts +++ b/src/delete-log-files.ts @@ -1,62 +1,62 @@ -import * as fs from 'fs' -import * as _ from 'lodash' -import * as moment from 'moment' -import { YearMonthDayInterface } from './interface/year-month-day-interface' -import findLogPath from './utils/find-log-path' +import * as fs from 'fs'; +import * as _ from 'lodash'; +import * as moment from 'moment'; +import { YearMonthDayInterface } from './interface/year-month-day-interface'; +import findLogPath from './utils/find-log-path'; -const format: string = 'YYYY-MM-DD' +const format: string = 'YYYY-MM-DD'; export default function (howManyDaysAgo: number, appName: string) { - const path: string = findLogPath(appName) - let files: string[] = [] + const path: string = findLogPath(appName); + let files: string[] = []; try { - files = fs.readdirSync(path) + files = fs.readdirSync(path); } catch (e) { - return null + return null; } _.forEach(files, (file: string, index: number) => { - const yearMonthDay: YearMonthDayInterface | null = getYearMonthDay(file) + const yearMonthDay: YearMonthDayInterface | null = getYearMonthDay(file); if (!yearMonthDay) { - return + return; } if (!isBefore(howManyDaysAgo, yearMonthDay)) { - return + return; } - deleteLogFile(path + file) - }) + deleteLogFile(path + file); + }); } function getYearMonthDay(file: string) { - const split: string[] = _.split(file, '-', 3) + const split: string[] = _.split(file, '-', 3); if (split.length < 3) { - return null + return null; } return { year: split[0], month: split[1], day: _.split(split[2], '_', 1)[0], - } as YearMonthDayInterface + } as YearMonthDayInterface; } function isBefore(howManyDaysAgo: number, yearMonthDay: YearMonthDayInterface) { const agoDays = moment(moment().format(format)).subtract( howManyDaysAgo, 'days' - ) + ); const fileDays = moment( [yearMonthDay.year, yearMonthDay.month, yearMonthDay.day].join('-') - ) - return moment(fileDays).isBefore(agoDays) + ); + return moment(fileDays).isBefore(agoDays); } function deleteLogFile(filePath: string) { try { - fs.unlinkSync(filePath) + fs.unlinkSync(filePath); } catch (e) { - return null + return null; } } diff --git a/src/index.ts b/src/index.ts index 2cf830d..5716449 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,30 +1,30 @@ -import { OptionInterface } from './interface/option-interface' -import transportFile from './transport-file' -import deleteLogFiles from './delete-log-files' +import { OptionInterface } from './interface/option-interface'; +import transportFile from './transport-file'; +import deleteLogFiles from './delete-log-files'; -const APP_NAME: string = 'node-log-rotate' +const APP_NAME: string = 'node-log-rotate'; // https://docs.npmjs.com/misc/scripts#packagejson-vars -const LOG_APP_NAME: string = process.env.npm_package_name || APP_NAME +const LOG_APP_NAME: string = process.env.npm_package_name || APP_NAME; -let logAppName: string = LOG_APP_NAME -let logMaxSize: number = 5 * 1024 * 1024 +let logAppName: string = LOG_APP_NAME; +let logMaxSize: number = 5 * 1024 * 1024; function setup(options: OptionInterface) { if (options.appName) { - logAppName = options.appName + logAppName = options.appName; } if (options.maxSize) { - logMaxSize = options.maxSize + logMaxSize = options.maxSize; } } function log(text: string): boolean { - return transportFile(text, logAppName, logMaxSize) + return transportFile(text, logAppName, logMaxSize); } function deleteLog(howManyDaysAgo: number) { - deleteLogFiles(howManyDaysAgo, logAppName) + deleteLogFiles(howManyDaysAgo, logAppName); } -export { log, setup, deleteLog } +export { log, setup, deleteLog }; diff --git a/src/interface/option-interface.ts b/src/interface/option-interface.ts index 6627d2f..e465df6 100644 --- a/src/interface/option-interface.ts +++ b/src/interface/option-interface.ts @@ -1,4 +1,4 @@ export interface OptionInterface { - appName?: string - maxSize?: number + appName?: string; + maxSize?: number; } diff --git a/src/interface/year-month-day-interface.ts b/src/interface/year-month-day-interface.ts index f62a5cd..fd4480e 100644 --- a/src/interface/year-month-day-interface.ts +++ b/src/interface/year-month-day-interface.ts @@ -1,5 +1,5 @@ export interface YearMonthDayInterface { - year: string - month: string - day: string + year: string; + month: string; + day: string; } diff --git a/src/transport-file.ts b/src/transport-file.ts index 71bf830..2e91584 100644 --- a/src/transport-file.ts +++ b/src/transport-file.ts @@ -1,61 +1,61 @@ -import * as os from 'os' -import * as fs from 'fs' -import getNowDate from './utils/get-now-date' -import getNowTime from './utils/get-now-time' -import findLogFileName from './utils/find-log-file-name' +import * as os from 'os'; +import * as fs from 'fs'; +import getNowDate from './utils/get-now-date'; +import getNowTime from './utils/get-now-time'; +import findLogFileName from './utils/find-log-file-name'; -let file: string | undefined -let stream: any -let date: string +let file: string | undefined; +let stream: any; +let date: string; export default function ( msg: string, appName: string, maxSize: number ): boolean { - const text = msg + const text = msg; - date = dateDetermination(date) + date = dateDetermination(date); if (!stream) { - file = file || findLogFileName(appName, date) + file = file || findLogFileName(appName, date); if (!file) { // error - return false + return false; } if (maxSize > 0) { - logRotate(file, maxSize) + logRotate(file, maxSize); } - stream = fs.createWriteStream(file, { flags: 'a' }) + stream = fs.createWriteStream(file, { flags: 'a' }); } if (!stream) { - return false + return false; } - stream.write([date, ' ', getNowTime(), ' ', text, os.EOL].join('')) + stream.write([date, ' ', getNowTime(), ' ', text, os.EOL].join('')); - return true + return true; } function dateDetermination(d: string) { - const now: string = getNowDate() + const now: string = getNowDate(); if (d !== now) { - stream = undefined - file = undefined + stream = undefined; + file = undefined; } - return now + return now; } function logRotate(file: string, maxSize: number) { try { - const stat = fs.statSync(file) + const stat = fs.statSync(file); if (stat.size > maxSize) { - fs.renameSync(file, file.replace(/log$/, 'old.log')) + fs.renameSync(file, file.replace(/log$/, 'old.log')); } } catch (e) { // error diff --git a/src/utils/find-log-file-name.ts b/src/utils/find-log-file-name.ts index eb7580d..7211ea9 100644 --- a/src/utils/find-log-file-name.ts +++ b/src/utils/find-log-file-name.ts @@ -1,5 +1,5 @@ -import findLogPath from './find-log-path' +import findLogPath from './find-log-path'; export default function (appName: string = '', date: string) { - return [findLogPath(appName), date, '_', 'log.log'].join('') + return [findLogPath(appName), date, '_', 'log.log'].join(''); } diff --git a/src/utils/find-log-path.ts b/src/utils/find-log-path.ts index d226553..62dab63 100644 --- a/src/utils/find-log-path.ts +++ b/src/utils/find-log-path.ts @@ -1,65 +1,65 @@ -import * as fs from 'fs' +import * as fs from 'fs'; export default function (appName = '') { - let dir: string = '' + let dir: string = ''; switch (process.platform) { case 'linux': dir = prepareDir(process.env['XDG_CONFIG_HOME'] + '', appName) .or(process.env['HOME'] + '/.config', appName) .or(process.env['XDG_DATA_HOME'] + '', appName) - .or(process.env['HOME'] + '/.local/share', appName).result - break + .or(process.env['HOME'] + '/.local/share', appName).result; + break; case 'darwin': dir = prepareDir(process.env['HOME'] + '/Library/Logs', appName).or( process.env['HOME'] + '/Library/Application Support', appName - ).result - break + ).result; + break; case 'win32': dir = prepareDir(process.env['APPDATA'] + '', appName).or( process.env['HOME'] + '/AppData', appName - ).result - break + ).result; + break; default: - break + break; } - return [dir, '/'].join('') + return [dir, '/'].join(''); } function prepareDir(this: any, path: string, appName: string) { if (!this || this.or !== prepareDir || !this.result) { if (!path) { - return { or: prepareDir } + return { or: prepareDir }; } - path = path + '/' + appName - mkDir(path) + path = path + '/' + appName; + mkDir(path); try { - fs.accessSync(path, fs.constants.W_OK) + fs.accessSync(path, fs.constants.W_OK); } catch (e) { - return { or: prepareDir } + return { or: prepareDir }; } } return { or: prepareDir, result: (this ? this.result : false) || path, - } + }; } function mkDir(path: string, root: string | null = null): string | boolean { - const dirs: string[] = path.split('/') - const dir: string | undefined = dirs.shift() - root = (root || '') + dir + '/' + const dirs: string[] = path.split('/'); + const dir: string | undefined = dirs.shift(); + root = (root || '') + dir + '/'; try { - fs.mkdirSync(root) + fs.mkdirSync(root); } catch (e) { if (!fs.statSync(root).isDirectory()) { - throw new Error(e) + throw new Error(e); } } - return !dirs.length || mkDir(dirs.join('/'), root) + return !dirs.length || mkDir(dirs.join('/'), root); } diff --git a/src/utils/get-now-date.ts b/src/utils/get-now-date.ts index 4b716bd..b734365 100644 --- a/src/utils/get-now-date.ts +++ b/src/utils/get-now-date.ts @@ -1,10 +1,10 @@ -import * as _ from 'lodash' -import * as moment from 'moment' +import * as _ from 'lodash'; +import * as moment from 'moment'; export default function (): string { return `${moment().get('year')}-${_.padStart( moment().get('month') + 1 + '', 2, '0' - )}-${_.padStart(moment().get('date') + '', 2, '0')}` + )}-${_.padStart(moment().get('date') + '', 2, '0')}`; } diff --git a/src/utils/get-now-time.ts b/src/utils/get-now-time.ts index 4924262..823ab03 100644 --- a/src/utils/get-now-time.ts +++ b/src/utils/get-now-time.ts @@ -1,11 +1,11 @@ -import * as _ from 'lodash' -import * as moment from 'moment' +import * as _ from 'lodash'; +import * as moment from 'moment'; export default function (): string { - let now = moment() + let now = moment(); return `${_.padStart(now.hours() + '', 2, '0')}:${_.padStart( now.minute() + '', 2, '0' - )}:${_.padStart(now.second() + '', 2, '0')}` + )}:${_.padStart(now.second() + '', 2, '0')}`; }