Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# CHANGELOG

## UNRELEASED

**TypeScript**
- [#2528] Fix backward-compatible `TransformableInfo` type for logform 2.7.0+ breaking change

## [v3.9.0](https://github.com/winstonjs/winston/compare/v3.8.2...v3.9.0)
### Functionality changes
* Handle undefined errors in getAllInfo in exception-handler in https://github.com/winstonjs/winston/pull/2208; thanks to new contributor @eivindrs
Expand Down
33 changes: 32 additions & 1 deletion index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,38 @@ import * as Transports from './lib/winston/transports/index';

declare namespace winston {
// Hoisted namespaces from other modules
export import format = logform.format;
// Backward-compatible TransformableInfo for logform 2.7.0+
// https://github.com/winstonjs/winston/issues/2528
interface TransformableInfo {
level: string;
message: any;
[key: string]: any;
}
type TransformFunction = (info: TransformableInfo, opts?: any) => TransformableInfo | boolean;
type FormatWrap = (opts?: any) => logform.Format;

function format(transform: TransformFunction): FormatWrap;
namespace format {
function align(): logform.Format;
function cli(opts?: logform.CliOptions): logform.Format;
function colorize(opts?: logform.ColorizeOptions): logform.Colorizer;
function combine(...formats: logform.Format[]): logform.Format;
function errors(opts?: object): logform.Format;
function json(opts?: logform.JsonOptions): logform.Format;
function label(opts?: logform.LabelOptions): logform.Format;
function logstash(): logform.Format;
function metadata(opts?: logform.MetadataOptions): logform.Format;
function ms(): logform.Format;
function padLevels(opts?: logform.PadLevelsOptions): logform.Format;
function prettyPrint(opts?: logform.PrettyPrintOptions): logform.Format;
function printf(templateFunction: (info: TransformableInfo) => string): logform.Format;
function simple(): logform.Format;
function splat(): logform.Format;
function timestamp(opts?: logform.TimestampOptions): logform.Format;
function uncolorize(opts?: logform.UncolorizeOptions): logform.Format;
}

// Re-export logform types for consumers who need them
export import Logform = logform;
export import config = Config;
export import transports = Transports;
Expand Down