@equinor/echo-base
v0.7.4
Published
![logo](https://raw.githubusercontent.com/equinor/EchoCore/main/doc/ee.png)
Downloads
660
Maintainers
Keywords
Readme
echo-base
Everything a Echo web need for enabling micro frontend development.
This library was generated with Nx.
How to develop and release EchoCore
Check the readme in the NX libraries folder.
Available NPM scripts
lint-base
build-base
test-base
What's new
v0.7.0:
- Moved to Monorepo
- Updated some Typescript Types: they caused build errors with the Monorepo setup
v0.6.0:
- Fixed error reporting to application insights, it now properly reports all properties including innerErrorsProperties.
- Fixed
baseError
, it now properly supports nested innerErrors. Exception/inner Error used to overwrite each others property if they had the same name. BaseError
now has errorTraceId, either from backEnd, or a unique frontEnd idBaseError
helper methods added for getting properties or propertyByName
It's recommended to create your own error types, extending BaseError, and decorate it with your own fields:
export class PdfError extends BaseError {
docNo: string;
constructor(args: { message: string; docNo: string; innerError?: Error }) {
super({ name: 'PdfError', message: args.message, innerError: args.innerError });
this.docNo = args.docNo;
}
}
Breaking Changes
v0.6.0:
- Renamed
initializeError
toinitializeNetworkError
and simplified it. It now only takesNetworkErrorArgs
as argument. BaseError
now properly support nested (and nested-nested) errors with argumentinnerError
.
Earlier properties with the same name would overwrite each other.exception
argument renamed toinnerError
, of typeRecord<string, unknown> | Error
BaseError
doesn't add properties directly onto itself anymore, but uses nested errors with argumentinnerError
.- Instead of
BaseError.allProperties()["someCustomProperty"]
useBaseError.findPropertyByName("someCustomProperty")
. Since we now useinnerError
of typeError
or Record<string, unknown>, the property has been moved from baseError[property] to baseError.innerError[property]. - Moved
EchoEvents
enum toEchoCore
. - Changed types for
EventHub
event keys in all functions fromstring | EchoEvents
tostring
only.
v0.5.0:
- SubClasses of BaseError will not get the name of the class automatically anymore, but have to specify it. This to avoid name obfuscation/minify to a single letter in appInsight.
Example implementation:
export class CustomError extends BaseError {
constructor(args: ErrorArgs) {
super({ ...args, name: 'CustomError' });
}
}