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

broccoli-inspector

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

broccoli-inspector

🔍 inspect what's really happening in your broccoli pipeline

  • 0.4.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-81.82%
Maintainers
1
Weekly downloads
 
Created
Source

Credits to the awesome Denis Toledo

broccoli-inspector

🔍 inspect what's really happening in your broccoli pipeline

there be 🐲 here! The API's and functionality are still be cemented, anything before a 1.0.0 release will be subject to change.

demo-screencast

Installation

yarn add broccoli-inspector --dev

Usage

Currently the middleware is made to work with ember's built in server middleware functionality. The end goal for this project is that this will be built into broccoli directly and will be available out of the box when using broccoli in your projects.

If you are using this to profile and debug an Ember applications build, please add this to the following places.

// server/index.js

module.exports = function (app, info) {
  require('broccoli-inspector/lib/middleware')(app, info);
};

To get FS timing information ensure that you add EMBER_CLI_INSTRUMENTATION=1 running ember serve.

Currently tracking moving this functionality into broccoli here https://github.com/broccolijs/broccoli/issues/461.

Once you have done the setup done, visit http://localhost:4200/_broccoli-inspector in your browser.

How does this work?

We are leveraging functionality that currently exists in the broccoli nodes themselves. We are using Ember as our UI as we can debug this application with itself!

Ember exposes the broccoli watcher in a middleware through server/index.js, since we are exporting a middleware of our own that takes in an express application and the broccoli builder we are utilizing functionality that exists!

Broccoli inspector consists of three distinct parts:

  1. A middleware (this can be used wherever there is a running express server and broccoli builder present)
  2. Broccoli (we are leveraging information broccoli has in it's builder)
  3. Heimdall (since Heimdall is used as a core logger for broccoli we can leverage it's information such as timing and fs data)

How do I continue debugging?

As broccoli inspector is meant to give a high level understanding of what is happening in the build. Once you are able to track down a plugin that is potentially worth exploring further, using the data you find and creating benchmarking test cases for that plugin and utilizing nodejs debugging flamegraphs https://nodejs.org/en/docs/guides/diagnostics-flamegraph/ will help bring a better level of understanding to what code paths are causing issues.

FAQs

Package last updated on 03 Aug 2020

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