Skip to content

Commit

Permalink
AG-39097 update linter config for docs consistency [logger]
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit 40af31b
Merge: 370b39c 0b3127f
Author: Slava Leleka <[email protected]>
Date:   Fri Feb 7 13:21:56 2025 -0500

    Merge branch 'master' into fix/AG-39097-logger

commit 370b39c
Author: Slava Leleka <[email protected]>
Date:   Fri Feb 7 13:20:43 2025 -0500

    add no hyphen rule

commit 52d9b66
Author: Slava Leleka <[email protected]>
Date:   Fri Feb 7 12:20:15 2025 -0500

    improve logger linter
  • Loading branch information
slavaleleka committed Feb 7, 2025
1 parent 0b3127f commit 29a578d
Show file tree
Hide file tree
Showing 6 changed files with 81 additions and 7 deletions.
56 changes: 55 additions & 1 deletion packages/logger/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ module.exports = {
'jsdoc/require-param-type': 'off',
'jsdoc/no-undefined-types': 'off',
'jsdoc/require-returns-type': 'off',
'jsdoc/tag-lines': 'off',
'jsdoc/require-throws': 'error',
'jsdoc/check-tag-names': ['error', { definedTags: ['jest-environment'] }],
'jsdoc/require-jsdoc': [
Expand All @@ -75,6 +74,61 @@ module.exports = {
],
'jsdoc/require-description-complete-sentence': ['error'],
'jsdoc/require-returns': ['error'],
'jsdoc/require-hyphen-before-param-description': ['error', 'never'],
'jsdoc/multiline-blocks': ['error', {
noSingleLineBlocks: true,
singleLineTags: [
'inheritdoc',
],
}],
'jsdoc/tag-lines': [
'error',
'any',
{
startLines: 1,
},
],
'jsdoc/sort-tags': ['error', {
linesBetween: 1,
tagSequence: [
{
tags: [
'file',
],
},
{
tags: [
'template',
],
},
{
tags: [
'see',
],
},
{
tags: [
'param',
],
},
{
tags: [
'returns',
],
},
{
tags: [
'throws',
],
},
{
tags: [
'example',
],
},
],
}],

'@typescript-eslint/consistent-type-imports': [
'error',
{
Expand Down
4 changes: 3 additions & 1 deletion packages/logger/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
"build:types": "tsc --project tsconfig.base.json --declaration --emitDeclarationOnly --outdir dist/types",
"test": "jest",
"lint": "eslint --cache --ignore-path .gitignore . && tsc --noEmit",
"lint:code": "eslint --cache --ignore-path .gitignore .",
"lint:types": "tsc --noEmit",
"test:smoke": "(cd tests/smoke/esm && pnpm test) && (cd tests/smoke/cjs && pnpm test) && (cd tests/smoke/typescript && pnpm test)",
"increment": "pnpm version patch --no-git-tag-version"
},
Expand Down Expand Up @@ -51,7 +53,7 @@
"@types/node": "^20.11.30",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"eslint": "^8.56.0",
"eslint": "8.57.0",
"eslint-config-airbnb-base": "15.0.0",
"eslint-config-airbnb-typescript": "18.0.0",
"eslint-plugin-import": "^2.25.2",
Expand Down
14 changes: 13 additions & 1 deletion packages/logger/src/Logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,36 +70,42 @@ export type WriterMethod = (...args: any[]) => void;
export interface Writer {
/**
* Log method.
*
* @param args
*/
log: WriterMethod;

/**
* Info method.
*
* @param args
*/
info: WriterMethod;

/**
* Error method.
*
* @param args
*/
error: WriterMethod;

/**
* Trace method.
*
* @param args
*/
trace?: WriterMethod;

/**
* Group collapsed method.
*
* @param args
*/
groupCollapsed?: WriterMethod;

/**
* Group end method.
*
* @param args
*/
groupEnd?: WriterMethod;
Expand All @@ -118,6 +124,7 @@ export class Logger {

/**
* Constructor.
*
* @param writer Writer object.
*/
constructor(writer: Writer = console) {
Expand Down Expand Up @@ -171,6 +178,7 @@ export class Logger {

/**
* Getter for log level.
*
* @returns Logger level.
*/
public get currentLevel(): LogLevel {
Expand All @@ -181,6 +189,7 @@ export class Logger {
* Setter for log level. With this method log level can be updated dynamically.
*
* @param logLevel Logger level.
*
* @throws Error if log level is not supported.
*/
public set currentLevel(logLevel: LogLevel) {
Expand All @@ -195,8 +204,10 @@ export class Logger {
* Converts error to string, and adds stack trace.
*
* @param error Error to print.
* @private
*
* @returns Error message.
*
* @private
*/
private static errorToString(error: Error): string {
const message = getErrorMessage(error);
Expand All @@ -209,6 +220,7 @@ export class Logger {
* @param level Logger level.
* @param method Logger method.
* @param args Printed arguments.
*
* @private
*/
private print(
Expand Down
2 changes: 2 additions & 0 deletions packages/logger/src/error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ type ErrorWithMessage = {
* Checks if error has message.
*
* @param error Error object.
*
* @returns True if error has message.
*/
function isErrorWithMessage(error: unknown): error is ErrorWithMessage {
Expand All @@ -24,6 +25,7 @@ function isErrorWithMessage(error: unknown): error is ErrorWithMessage {
* Converts error to the error with a message.
*
* @param maybeError Possible error.
*
* @returns Error with a message.
*/
function toErrorWithMessage(maybeError: unknown): ErrorWithMessage {
Expand Down
3 changes: 3 additions & 0 deletions packages/logger/src/format-time.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
/**
* Pads a number with leading zeros.
*
* @param num The number to pad.
* @param size The number of digits to pad to.
*
* @returns The padded number.
*/
const pad = (num: number, size = 2): string => {
Expand All @@ -12,6 +14,7 @@ const pad = (num: number, size = 2): string => {
* Formats a date into an ISO 8601-like string with milliseconds.
*
* @param {Date|number} date The date object or timestamp to format.
*
* @returns {string} The formatted date string.
*/
export const formatTime = (date: Date | number): string => {
Expand Down
9 changes: 5 additions & 4 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 29a578d

Please sign in to comment.