Importing Foundation 6.4 ES2016 JS files with your favourite module bundler

With the release of Foundation 6.4, they have moved to a module-based JavaScript architecture. This is great and definitely the way to go. Documentation is a bit lacking in this regard, however. I’ll quickly demonstrate in this article how to set up Foundation with your favourite module-bundler.
Lets cut to the chase. Your JavaScript file should start like this:
import $ from 'jquery'
window.jQuery = window.$ = $;
// Foundation
import { Foundation } from 'foundation-sites/js/foundation.core.js'
Foundation.addToJquery($);
import { rtl, GetYoDigits, transitionend } from 'foundation-sites/js/foundation.util.core';
Foundation.rtl = rtl;
Foundation.GetYoDigits = GetYoDigits;
Foundation.transitionend = transitionend;
import { Box } from 'foundation-sites/js/foundation.util.box.js'
import { Keyboard } from 'foundation-sites/js/foundation.util.keyboard.js'
import { MediaQuery } from 'foundation-sites/js/foundation.util.mediaQuery.js'
import { Move, Motion } from 'foundation-sites/js/foundation.util.motion.js'
import { Nest } from 'foundation-sites/js/foundation.util.nest.js'
// ... plus any other utitilies you may need
Foundation.Box = Box;
Foundation.Keyboard = Keyboard;
Foundation.MediaQuery = MediaQuery;
Foundation.Motion = Motion;
Foundation.Move = Move;
Foundation.Nest = Nest;
import { Triggers } from 'foundation-sites/js/foundation.util.triggers.js'
Triggers.init($, Foundation);
import { Dropdown } from 'foundation-sites/js/foundation.dropdown.js'
Foundation.plugin(Dropdown, 'Dropdown');
import { DropdownMenu } from 'foundation-sites/js/foundation.dropdownMenu.js'
Foundation.plugin(DropdownMenu, 'DropdownMenu');
import { Reveal } from 'foundation-sites/js/foundation.reveal.js'
Foundation.plugin(Reveal, 'Reveal');
import { Tabs } from 'foundation-sites/js/foundation.tabs.js'
Foundation.plugin(Tabs, 'Tabs');
import { Toggler } from 'foundation-sites/js/foundation.toggler.js'
Foundation.plugin(Toggler, 'Toggler');
// ... plus any other plugins you may need
$(document).foundation();
That should do as a template to kickstart any Foundation project from scratch. All of this is available in js/entries/foundation.js from within the Foundation module folder.
