Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@contrast/core

Package Overview
Dependencies
Maintainers
15
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@contrast/core

Preconfigured Contrast agent core services and models

  • 1.13.1
  • npm
  • Socket score

Version published
Weekly downloads
7.2K
decreased by-57.7%
Maintainers
15
Weekly downloads
 
Created
Source

@contrast/core

Discovers Contrast configuration data (yaml, env vars, etc) and preconfigures a common set of APIs to be used for agent and tooling development.

Basic Usage

The module exports a factory function.

const core = require('@contrast/core')();

What You Get

  • Logging

    core.logger.info('...');
    

    See more about the @contrast/logger service here.

  • Monkey-patching

    core.patcher.patch(res, 'end', {
      name: 'http.ServerResponse.end',
      patchType: 'http-things',
      pre(data) {
        // ...
      }
    });
    

    See more about the @contrast/patcher service here.

  • Code rewriting

    core.rewriter.addTransforms({
      CallExpression(path, state) {
        // ...
      };
    });
    core.rewriter.rewrite('function() { ...');
    

    See more about the @contrast/rewriter service here.

  • Dependency hooks

    core.depHooks.resolve({ name: 'http' }, http => {
      // implemention details
    });
    

    See more about the @contrast/dep-hooks service here.

  • Models and factories

    The construction of model data can rely on configuration and therefore can be stateful. So, we provide the models and their factories as services that can be used by consumers as if static.

    // stackframe filtration is configurable, thus stateful
    const snap = core.models.StacktraceFactory.createSnapshot();
    const frames = snap();
    

    See more about the @contrast/models service here.

  • Report messages

    // configuration will tell which reporters become active
    core.reporters.install();
    core.messages.emit('ProtectInputTracingEvent', { ... });
    

    See more about the @contrast/reporter service here.

  • Other stuff

    There are some utility-type functions that rely on configuration state.

    // This uses core.config.stack_trace_filters (new to v5)
    core.isAgentPath('/foo'); 
    
  • @contrast/agentify: Integrate core services and instrumentation into an application. See more here.



FAQs

Package last updated on 27 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc