Coder Social home page Coder Social logo

augury's Introduction

Augury

Circle CI Slack Status Stories in Ready

Table of content

  1. Introduction
  2. Supported version
  3. Working on Augury
  4. Building and installing locally
  5. Supported version
  6. Working on Augury
  7. Running tests
  8. Reporting issues
  9. Contributing
  10. Known issues

Introduction

Augury is a Google Chrome Dev Tools extension for debugging Angular 2 applications.

You can install the extension from Chrome Store.

Inspecting Code

Augury only works with Angular 2.0+ applications. A hard requirement is that the Angular application is running in development mode, this is due to a security restriction. If you plan to read the original source code, it is a good idea to generate source maps. Otherwise you will be forced to work with the compiled JavaScript code.

Supported version

Augury works with application built starting with Angular 2.0.


Working on Augury

Development environment

To develop the Augury extension, the following environment is used:

  • Node
  • NPM
  • TypeScript

Building and installing locally

git clone git://github.com/rangle/augury
cd augury
npm install
npm run dev-build
  1. Navigate to chrome://extensions and enable Developer mode.
  2. Choose "Load unpacked extension".
  3. In the dialog, open the directory you just cloned.

Try out the extension with one of the example app from the Guide.

Running tests

To execute all unit tests, run npm test. It bundles up all files that match *.test.ts into build/test.js, then runs it through tape-run in a headless Electron browser.

Available NPM scripts

To see all available script type npm run in the terminal. The following command are the ones you will mostly be working with.

Command Descrption
build Build the extension
webpack Run webpack
clean Clean node_modules and typings,
postinstall install typings
start Clean build and run webpack in watch mode
test Bundle all *.test.ts and run it through a headless browser
prepack Run npm build before running npm pack
pack Packages the extension and create chrome build augury.crx

Reporting issues

Please search to make sure your issue is not already been reported.

You should report an issue directly from Augury, by clicking on the Augury icon next to the address bar in the browser. It will open up a popup menu with a link to Issue reporting.

Image Issue reporting

Contributing

General guidelines

If you'd like to help out, please read our Contributing Guidelines.

Augury Architecture

You might want to first checkout the Architecture of this extension.

Join on Slack

If you want to contribute or need help getting started, join us on Slack.


Known issues

Router graph

The router injection technique described below applies to version before those listed below:

Angular v2.3.0
Angular Router v3.3.0
Augury v1.2.8

To be able to view the router graph, you will need to inject the Router in the application Root component as shown below (it must be named router exactly).

export default class KitchenSink {
  constructor(private router: Router) {
  }
}

Example code

Support for AoT (Ahead-Of-Time) compilation

In order for Angular to expose the debug information for AoT applications, you will have to explicitly set the debug flag to true in your project's tsconfig.json as such:

"angularCompilerOptions": {
  /* ... */
  "debug": true
}

Note: This debug flag and development mode in Angular runtime are two completely different settings.

To learn more about AoT compilation, visit this section of Angular documentation.

Support for enableDebugTools()

Prior to Angular 2.2.0, enableDebugTools() would clobber ng.probe, which breaks Augury. Prior to that version, this workaround will circumvent the issue.

License

MIT

augury's People

Contributors

bertrandk avatar clbond avatar danielschifano avatar drew-moore avatar ericjim avatar greenkeeperio-bot avatar hilaryhacksel avatar jaykan avatar juristr avatar matthinea avatar mattmischuk avatar mobinni avatar nickgal avatar rajinder-yadav avatar rangle-mobinni avatar raz0r avatar rihaseworld avatar riron avatar sethdavenport avatar stephenfluin avatar stevenkampen avatar sumitarora avatar vanessayuenn avatar winkervsbecks avatar wulfsolter avatar xorgy avatar yuri avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.