From: Nicolas Coden Date: Sat, 16 Jun 2018 07:12:52 +0000 (+0200) Subject: Use pull request #10864 from ncoden/chore/es5-pkg-main for v6.5.0 X-Git-Tag: v6.5.0-rc.1^2~155 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19362bb906884370b8ea79ec196714892c5c94b2;p=thirdparty%2Ffoundation%2Ffoundation-sites.git Use pull request #10864 from ncoden/chore/es5-pkg-main for v6.5.0 ee3399bc1 Revert "fix: prevent side-effect from .stack-for in media-object" 329902ccf chore: make UMD build default entry point ba9fd8abe chore: export core utilities as `CoreUtils` 565a60f44 fix: fix webpack.config entry point Signed-off-by: Nicolas Coden --- diff --git a/gulp/tasks/javascript.js b/gulp/tasks/javascript.js index 0441af8fe..782497be9 100644 --- a/gulp/tasks/javascript.js +++ b/gulp/tasks/javascript.js @@ -38,17 +38,25 @@ var pluginsAsExternals = { './foundation.smoothScroll' : '{SmoothScroll: window.Foundation.SmoothScroll}', }; -var moduleConfig = { - rules: [ - { - test: /.js$/, - use: [ - { - loader: 'babel-loader' - } - ] - } - ] +var webpackConfig = { + externals: { + 'jquery': 'jQuery' + }, + module: { + rules: [ + { + test: /.js$/, + use: [ + { + loader: 'babel-loader' + } + ] + } + ] + }, + output: { + libraryTarget: 'umd', + } } // Core has to be dealt with slightly differently due to bootstrapping externals @@ -57,20 +65,20 @@ var moduleConfig = { gulp.task('javascript:plugin-core', function() { return gulp.src('js/entries/plugins/foundation.core.js') .pipe(named()) - .pipe(webpackStream({externals: {'jquery': 'jQuery'}, module: moduleConfig}, webpack2)) + .pipe(webpackStream(webpackConfig, webpack2)) .pipe(gulp.dest('_build/assets/js/plugins')); }); -gulp.task('javascript:plugins', ['javascript:plugin-core'], function() { +gulp.task('javascript:plugins', ['javascript:plugin-core'], function () { return gulp.src(['js/entries/plugins/*.js', '!js/entries/plugins/foundation.core.js']) .pipe(named()) - .pipe(webpackStream({externals: pluginsAsExternals, module: moduleConfig}, webpack2)) + .pipe(webpackStream(Object.assign({ externals: pluginsAsExternals }, webpackConfig), webpack2)) .pipe(gulp.dest('_build/assets/js/plugins')); }); gulp.task('javascript:foundation', ['javascript:plugins'], function() { return gulp.src('js/entries/foundation.js') .pipe(named()) - .pipe(webpackStream({externals: {jquery: 'jQuery'}, module: moduleConfig}, webpack2)) + .pipe(webpackStream(webpackConfig, webpack2)) .pipe(gulp.dest('_build/assets/js')); }); //gulp.task('javascript:foundation', function() { diff --git a/js/entries/foundation-plugins.js b/js/entries/foundation-plugins.js index f921902b7..ee757c57f 100644 --- a/js/entries/foundation-plugins.js +++ b/js/entries/foundation-plugins.js @@ -1,3 +1,14 @@ +import { Foundation as Core } from '../foundation.core'; +import * as CoreUtils from '../foundation.util.core'; +import { Box } from '../foundation.util.box' +import { onImagesLoaded } from '../foundation.util.imageLoader'; +import { Keyboard } from '../foundation.util.keyboard'; +import { MediaQuery } from '../foundation.util.mediaQuery'; +import { Motion, Move } from '../foundation.util.motion'; +import { Nest } from '../foundation.util.nest'; +import { Timer } from '../foundation.util.timer'; +import { Touch } from '../foundation.util.touch'; +import { Triggers } from '../foundation.util.triggers'; import { Abide } from '../foundation.abide'; import { Accordion } from '../foundation.accordion'; import { AccordionMenu } from '../foundation.accordionMenu'; @@ -21,5 +32,36 @@ import { Tooltip } from '../foundation.tooltip'; import { ResponsiveAccordionTabs } from '../foundation.responsiveAccordionTabs'; export { - Abide, Accordion, AccordionMenu, Drilldown, Dropdown, DropdownMenu, Equalizer, Interchange, Magellan, OffCanvas, Orbit, ResponsiveMenu, ResponsiveToggle, Reveal, Slider, SmoothScroll, Sticky, Tabs, Toggler, Tooltip, ResponsiveAccordionTabs + Core, + CoreUtils, + Box, + onImagesLoaded, + Keyboard, + MediaQuery, + Motion, + Nest, + Timer, + Touch, + Triggers, + Abide, + Accordion, + AccordionMenu, + Drilldown, + Dropdown, + DropdownMenu, + Equalizer, + Interchange, + Magellan, + OffCanvas, + Orbit, + ResponsiveMenu, + ResponsiveToggle, + Reveal, + Slider, + SmoothScroll, + Sticky, + Tabs, + Toggler, + Tooltip, + ResponsiveAccordionTabs } diff --git a/js/entries/foundation.js b/js/entries/foundation.js index e844645bb..2d0bdb558 100644 --- a/js/entries/foundation.js +++ b/js/entries/foundation.js @@ -1,17 +1,7 @@ import $ from 'jquery'; import { Foundation } from '../foundation.core'; -Foundation.addToJquery($); - -// Add Foundation Utils to Foundation global namespace for backwards -// compatibility. - -import { rtl, GetYoDigits, transitionend, RegExpEscape } from '../foundation.util.core'; -Foundation.rtl = rtl; -Foundation.GetYoDigits = GetYoDigits; -Foundation.transitionend = transitionend; -Foundation.RegExpEscape = RegExpEscape; - +import * as CoreUtils from '../foundation.util.core'; import { Box } from '../foundation.util.box' import { onImagesLoaded } from '../foundation.util.imageLoader'; import { Keyboard } from '../foundation.util.keyboard'; @@ -19,6 +9,38 @@ import { MediaQuery } from '../foundation.util.mediaQuery'; import { Motion, Move } from '../foundation.util.motion'; import { Nest } from '../foundation.util.nest'; import { Timer } from '../foundation.util.timer'; +import { Touch } from '../foundation.util.touch'; +import { Triggers } from '../foundation.util.triggers'; +import { Abide } from '../foundation.abide'; +import { Accordion } from '../foundation.accordion'; +import { AccordionMenu } from '../foundation.accordionMenu'; +import { Drilldown } from '../foundation.drilldown'; +import { Dropdown } from '../foundation.dropdown'; +import { DropdownMenu } from '../foundation.dropdownMenu'; +import { Equalizer } from '../foundation.equalizer'; +import { Interchange } from '../foundation.interchange'; +import { Magellan } from '../foundation.magellan'; +import { OffCanvas } from '../foundation.offcanvas'; +import { Orbit } from '../foundation.orbit'; +import { ResponsiveMenu } from '../foundation.responsiveMenu'; +import { ResponsiveToggle } from '../foundation.responsiveToggle'; +import { Reveal } from '../foundation.reveal'; +import { Slider } from '../foundation.slider'; +import { SmoothScroll } from '../foundation.smoothScroll'; +import { Sticky } from '../foundation.sticky'; +import { Tabs } from '../foundation.tabs'; +import { Toggler } from '../foundation.toggler'; +import { Tooltip } from '../foundation.tooltip'; +import { ResponsiveAccordionTabs } from '../foundation.responsiveAccordionTabs'; + +Foundation.addToJquery($); + +// Add Foundation Utils to Foundation global namespace for backwards +// compatibility. +Foundation.rtl = CoreUtils.rtl; +Foundation.GetYoDigits = CoreUtils.GetYoDigits; +Foundation.transitionend = CoreUtils.transitionend; +Foundation.transitionend = RegExpEscape; Foundation.Box = Box; Foundation.onImagesLoaded = onImagesLoaded; @@ -30,73 +52,66 @@ Foundation.Nest = Nest; Foundation.Timer = Timer; // Touch and Triggers previously were almost purely sede effect driven, -// so no // need to add it to Foundation, just init them. - -import { Touch } from '../foundation.util.touch'; +// so no need to add it to Foundation, just init them. Touch.init($); - -import { Triggers } from '../foundation.util.triggers'; Triggers.init($, Foundation); -import { Abide } from '../foundation.abide'; Foundation.plugin(Abide, 'Abide'); - -import { Accordion } from '../foundation.accordion'; Foundation.plugin(Accordion, 'Accordion'); - -import { AccordionMenu } from '../foundation.accordionMenu'; Foundation.plugin(AccordionMenu, 'AccordionMenu'); - -import { Drilldown } from '../foundation.drilldown'; Foundation.plugin(Drilldown, 'Drilldown'); - -import { Dropdown } from '../foundation.dropdown'; Foundation.plugin(Dropdown, 'Dropdown'); - -import { DropdownMenu } from '../foundation.dropdownMenu'; Foundation.plugin(DropdownMenu, 'DropdownMenu'); - -import { Equalizer } from '../foundation.equalizer'; Foundation.plugin(Equalizer, 'Equalizer'); - -import { Interchange } from '../foundation.interchange'; Foundation.plugin(Interchange, 'Interchange'); - -import { Magellan } from '../foundation.magellan'; Foundation.plugin(Magellan, 'Magellan'); - -import { OffCanvas } from '../foundation.offcanvas'; Foundation.plugin(OffCanvas, 'OffCanvas'); - -import { Orbit } from '../foundation.orbit'; Foundation.plugin(Orbit, 'Orbit'); - -import { ResponsiveMenu } from '../foundation.responsiveMenu'; Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu'); - -import { ResponsiveToggle } from '../foundation.responsiveToggle'; Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle'); - -import { Reveal } from '../foundation.reveal'; Foundation.plugin(Reveal, 'Reveal'); - -import { Slider } from '../foundation.slider'; Foundation.plugin(Slider, 'Slider'); - -import { SmoothScroll } from '../foundation.smoothScroll'; Foundation.plugin(SmoothScroll, 'SmoothScroll'); - -import { Sticky } from '../foundation.sticky'; Foundation.plugin(Sticky, 'Sticky'); - -import { Tabs } from '../foundation.tabs'; Foundation.plugin(Tabs, 'Tabs'); - -import { Toggler } from '../foundation.toggler'; Foundation.plugin(Toggler, 'Toggler'); - -import { Tooltip } from '../foundation.tooltip'; Foundation.plugin(Tooltip, 'Tooltip'); - -import { ResponsiveAccordionTabs } from '../foundation.responsiveAccordionTabs'; Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs'); + +export { + Foundation, + CoreUtils, + Box, + onImagesLoaded, + Keyboard, + MediaQuery, + Motion, + Nest, + Timer, + Touch, + Triggers, + Abide, + Accordion, + AccordionMenu, + Drilldown, + Dropdown, + DropdownMenu, + Equalizer, + Interchange, + Magellan, + OffCanvas, + Orbit, + ResponsiveMenu, + ResponsiveToggle, + Reveal, + Slider, + SmoothScroll, + Sticky, + Tabs, + Toggler, + Tooltip, + ResponsiveAccordionTabs +} + +export default Foundation; + diff --git a/package.json b/package.json index 91fae7aea..9dd311b7a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,10 @@ { "name": "foundation-sites", "version": "6.4.3", - "main": "dist/js/npm.js", + "main": "dist/js/foundation.js", + "browser": "dist/js/foundation.js", + "module": "js/entries/foundation.js", + "jsnext:main": "js/entries/foundation.js", "typings": "dist/js/foundation.d.ts", "description": "The most advanced responsive front-end framework in the world.", "author": "ZURB (http://foundation.zurb.com)", diff --git a/webpack.config.js b/webpack.config.js index 6c12efdf0..1d3a3627f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,8 +1,9 @@ module.exports = { - entry: './js/entries/all.js', + entry: './js/entries/foundation.js', output: { - path: './_build/assets/js/', - filename: 'foundation.js' + path: './_build/assets/js/', + filename: 'foundation.js', + libraryTarget: 'umd' }, externals: { jquery: 'jQuery'