title: How to fix unexpected return when JSLint-ing a requireJS application?
body: <p>My application is running <code>requireJS</code> and is set up using two files:</p>
  
  <p><code>main.js</code> sets everything and <code>app.js</code> "runs" the application.</p>
  
  <p><code>main.js</code> looks like this:</p>
  
  <pre><code>/*jslint browser: true, indent : 2, nomen : true, sloppy : true */
  /*global requirejs: false */
  (function () {
      "use strict";
  
      requirejs.config({
          baseUrl: "../js"
        , paths: {
            app:          'app'
          , text:         'text'
          ...
        }
        , shim: {
          'overrides':     { deps: ['jquery'] }
          ...
        }
    });
  
    // init
    requirejs([ 'overrides',..., 'app'], 
      function( $, overrides, ..., App){
        App.start( $, overrides );
      });
  }());
  </code></pre>
  
  <p>And my <code>app.js</code>: </p>
  
  <pre><code>define([], function () {
      'use strict';
      var start = function () {
          require([ 'i18next'... ],
              function (i18n) {
                  // stuff
  
              }
          );
      }
      return {"start": start};
  });
  </code></pre>
  
  <p>My problem is that <code>jslint</code> complains about the <code>return {"start": start};</code> as <code>unexpected return</code>. However, omitting it will cause my application to not start because of <code>App being undefined</code>.</p>
  
  <p>Any idea how to remove the return-statement and still trigger the application? Or how to tweak to please JSLint? I don't want to use JSHINT, so please don't suggest it.</p>