npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@equinor/echo-base

v0.7.4

Published

![logo](https://raw.githubusercontent.com/equinor/EchoCore/main/doc/ee.png)

Downloads

660

Readme

logo

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 id
  • BaseError 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 to initializeNetworkError and simplified it. It now only takes NetworkErrorArgs as argument.
  • BaseError now properly support nested (and nested-nested) errors with argument innerError.
    Earlier properties with the same name would overwrite each other.
    exception argument renamed to innerError, of type Record<string, unknown> | Error
  • BaseError doesn't add properties directly onto itself anymore, but uses nested errors with argument innerError.
  • Instead of BaseError.allProperties()["someCustomProperty"] use BaseError.findPropertyByName("someCustomProperty"). Since we now use innerError of type Error or Record<string, unknown>, the property has been moved from baseError[property] to baseError.innerError[property].
  • Moved EchoEvents enum to EchoCore.
  • Changed types for EventHub event keys in all functions from string | EchoEvents to string 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' });
    }
}