--- title: Javascript and Initializers --- # Javascript and Initializers DEV has two Javascript codebases. One is located in the directory `app/assets/javascripts` and contains plain Javascript (mostly ES5+) being served using [Sprockets](https://github.com/rails/sprockets-rails) which packages static assets. Webpacker manages the other one, and you can read more about [in its own guide](/frontend/webpacker). This source code is not transpiled, only packaged and minified, and will be limited to whatever flavour of Javascript can run on the user's web browser. `app/assets/javascripts/application.js` contains the manifest Javascript file which is included globally in the primary template, `app/views/layouts/application.html.erb`. `application.js` automatically includes all JS files via the statement: ```erb //= require_tree . ``` One JS file in particular, `app/assets/javascripts/initializePage.js.erb`, boostraps the majority of the functionality. You will notice, within this file, that major sections of the websites are bootstrapped, for example: ```javascript initializeBaseTracking(); initializeTouchDevice(); initializeCommentsPage(); initEditorResize(); initLeaveEditorWarning(); initializeArticleReactions(); initNotifications(); initializeSplitTestTracking(); ``` All the "initializers" are in `/app/assets/javascripts/initializers`.