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

ember-cli-ajax-logger

v0.0.10

Published

Ember-cli addon to log ajax request while intergration testing (with Selenium or some other tools )

Downloads

6

Readme

Ember-cli-ajax-logger Travis CI Build Status

This simple ember-cli addon add ability to log ajax requests inside application.

##Motivation Add access to requests/responses logs while intergration testing with Selenium.

#Configuration

Default configuration is

{
  disabled: false,
  globalName: 'emberCliAjaxLogger',
  getItemForSerializer: (event, jqXHR, ajaxOptions)=> {
    const { type, data, url } = ajaxOptions;
    return JSON.stringify({
      url,
      type,
      data,
      responseText: jqXHR.responseText
    });
  }
}

It's a part of env-config (section 'ember-cli-ajax-logger' in config/environment.js )

module.exports = function(environment) {
  var ENV = {
    modulePrefix: 'dummy',
    environment: environment,
    baseURL: '/',
    locationType: 'auto',
    EmberENV: {
    },

    APP: {

    },

    'ember-cli-ajax-logger': {
      globalName: 'emberCliAjaxLogger'
    }
  };


  return ENV;
};

Option globalName set the window property which contains logger object.

#API

To use logger instance you should use window[globalName] by default it's window.emberCliAjaxLogger.

Logger instance has next interface ( most of functions return logger instance thus you can use chain constructions )

  • clear - clear log. Return logger instance
  • getSerialized - return string which is serialized array build by item process function
  • setFilterFunction - set filter function which allow control list of items in getSerializedresult. Takes callback as param. Callbak receive log items, index and log list ( tipical for [].filter in js ). Return logger instance
  • setGetItemForSerializer - set process function which use to build output for getSerialized method. Takes callback as param. Callbak receive log items, index and log list ( tipical for [].map in js ). Return logger instance
  • register - add link into global namespace ( window ). Takes string with name to register as param. Return logger instance
  • subscribe - enable subscription via $.ajaxComplete to add handler from logger instance. Return logger instance
  • enableLogging - enable logging ( by default subscribe enable handler, but not add item into log. Return logger instance
  • disableLogging - disable logging. Return logger instance

Example

Example ( from addon's initializer ) of usage

    LoggerObject
      .setGetItemForSerializer(({ _event, xhr, settings })=> {
	    const { type, data, url } = settings;
	    return JSON.stringify({
	      url,
	      type,
	      data,
	      responseText: xhr.responseText
	    });
	  })
      .setFilterFunction((_item)=> true) // no filtering
      .register('emberCliAjaxLogger')
      .subscribe()
      .enableLogging();

Also you can check existing tests here: https://github.com/vvscode/js--ember-cli-ajax-logger/blob/master/tests/acceptance/logger-test.js