Two ways of ASLint usage

You can use ASLint in a following ways:

  1. Drag ASLint tool link to your toolbar and use it as a regular bookmarklet.
  2. Use a small code snippet:
    (function(global) {
        var s = document.createElement('script');
        function loaderCallback() {
            // Do actions before ASLint starts
        function resultsCallback(results) {
        s.type = 'text/javascript';
        s.async = true;
        s.src = (document.location.protocol === 'https:' ? 'https:' : 'http:') + '//';
        global.aslint = {
            config:  {
                asyncRunner: true,
                reportFormat: { JSON: true },
                resultsCallback: resultsCallback,
                visibleUI: true
        if (typeof s.addEventListener === 'function') {
            s.addEventListener('load', loaderCallback);
  3. If you want to support browsers that do not support addEventListener method (e.g. IE < 9) add before document.body.appendChild(s); following code:
    else if (s.readyState) {
        s.onreadystatechange = function () {
            if (/^(complete|loaded)$/.test(this.readyState) === true) {
                s.onreadystatechange = null;

Config options for ASLint

  • asyncRunner – set to true if rules must be evaluated asynchronously without blocking UI rendering. It is useful when you want to reevaluate rules quite frequently on the content, but you do not want to “freeze” UI.
  • reportFormat – type of results format. Currently only JSON is supported.
  • resultsCallback – a function callback that will be called once all testing will be finished.
  • visibleUItrue if UI of ASLint must be rendered, otherwise false. Useful when ASLint is used in a build pipeline or from developer console.