Showcasing how Babel 6 includes unnecessary polyfill code
Last active
November 7, 2018 01:40
-
-
Save nshimiye/4ade843adcd45574f1b4c179786606ee to your computer and use it in GitHub Desktop.
Object.assign Polyfill example with Babel 6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mkdir babel-6-app | |
cd babel-6-app | |
mkdir src | |
npm init -y | |
npm install --save-dev babel-cli babel-preset-env babel-polyfill | |
touch .babelrc | |
touch src/index.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"presets": [ | |
[ | |
"env", { | |
"targets": { | |
"browsers": ["ie >= 9", "safari >= 7"] | |
}, | |
"useBuiltIns": "usage" | |
} | |
] | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import "babel-polyfill"; | |
const backendResponse = [ | |
{ title: '', timestamp: '1960-04-15T18:34:38+05:00' }, | |
{ title: '', timestamp: '2007-05-15T18:34:38+05:00' } | |
]; | |
const timeline = backendResponse.map(event => { | |
const date = new Date(event.timestamp).toLocaleDateString('en-US'); | |
return Object.assign(event, { date }); // <= | |
}); | |
console.log('timeline', timeline); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
npx babel src --out-dir lib |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
require('core-js/modules/es6.typed.array-buffer'); | |
require('core-js/modules/es6.typed.data-view'); | |
require('core-js/modules/es6.typed.int8-array'); | |
require('core-js/modules/es6.typed.uint8-array'); | |
require('core-js/modules/es6.typed.uint8-clamped-array'); | |
require('core-js/modules/es6.typed.int16-array'); | |
require('core-js/modules/es6.typed.uint16-array'); | |
require('core-js/modules/es6.typed.int32-array'); | |
require('core-js/modules/es6.typed.uint32-array'); | |
require('core-js/modules/es6.typed.float32-array'); | |
require('core-js/modules/es6.typed.float64-array'); | |
require('core-js/modules/es6.map'); | |
require('core-js/modules/es6.set'); | |
require('core-js/modules/es6.weak-map'); | |
require('core-js/modules/es6.weak-set'); | |
require('core-js/modules/es6.reflect.apply'); | |
require('core-js/modules/es6.reflect.construct'); | |
require('core-js/modules/es6.reflect.define-property'); | |
require('core-js/modules/es6.reflect.delete-property'); | |
require('core-js/modules/es6.reflect.get'); | |
require('core-js/modules/es6.reflect.get-own-property-descriptor'); | |
require('core-js/modules/es6.reflect.get-prototype-of'); | |
require('core-js/modules/es6.reflect.has'); | |
require('core-js/modules/es6.reflect.is-extensible'); | |
require('core-js/modules/es6.reflect.own-keys'); | |
require('core-js/modules/es6.reflect.prevent-extensions'); | |
require('core-js/modules/es6.reflect.set'); | |
require('core-js/modules/es6.reflect.set-prototype-of'); | |
require('core-js/modules/es6.promise'); | |
require('core-js/modules/es6.symbol'); | |
require('core-js/modules/es6.object.freeze'); | |
require('core-js/modules/es6.object.seal'); | |
require('core-js/modules/es6.object.prevent-extensions'); | |
require('core-js/modules/es6.object.is-frozen'); | |
require('core-js/modules/es6.object.is-sealed'); | |
require('core-js/modules/es6.object.is-extensible'); | |
require('core-js/modules/es6.object.get-own-property-descriptor'); | |
require('core-js/modules/es6.object.get-prototype-of'); | |
require('core-js/modules/es6.object.keys'); | |
require('core-js/modules/es6.object.get-own-property-names'); | |
require('core-js/modules/es6.object.assign'); | |
require('core-js/modules/es6.object.is'); | |
require('core-js/modules/es6.object.set-prototype-of'); | |
require('core-js/modules/es6.function.name'); | |
require('core-js/modules/es6.string.raw'); | |
require('core-js/modules/es6.string.from-code-point'); | |
require('core-js/modules/es6.string.code-point-at'); | |
require('core-js/modules/es6.string.repeat'); | |
require('core-js/modules/es6.string.starts-with'); | |
require('core-js/modules/es6.string.ends-with'); | |
require('core-js/modules/es6.string.includes'); | |
require('core-js/modules/es6.regexp.flags'); | |
require('core-js/modules/es6.regexp.match'); | |
require('core-js/modules/es6.regexp.replace'); | |
require('core-js/modules/es6.regexp.split'); | |
require('core-js/modules/es6.regexp.search'); | |
require('core-js/modules/es6.array.from'); | |
require('core-js/modules/es6.array.of'); | |
require('core-js/modules/es6.array.copy-within'); | |
require('core-js/modules/es6.array.find'); | |
require('core-js/modules/es6.array.find-index'); | |
require('core-js/modules/es6.array.fill'); | |
require('core-js/modules/es6.array.iterator'); | |
require('core-js/modules/es6.number.is-finite'); | |
require('core-js/modules/es6.number.is-integer'); | |
require('core-js/modules/es6.number.is-safe-integer'); | |
require('core-js/modules/es6.number.is-nan'); | |
require('core-js/modules/es6.number.epsilon'); | |
require('core-js/modules/es6.number.min-safe-integer'); | |
require('core-js/modules/es6.number.max-safe-integer'); | |
require('core-js/modules/es6.math.acosh'); | |
require('core-js/modules/es6.math.asinh'); | |
require('core-js/modules/es6.math.atanh'); | |
require('core-js/modules/es6.math.cbrt'); | |
require('core-js/modules/es6.math.clz32'); | |
require('core-js/modules/es6.math.cosh'); | |
require('core-js/modules/es6.math.expm1'); | |
require('core-js/modules/es6.math.fround'); | |
require('core-js/modules/es6.math.hypot'); | |
require('core-js/modules/es6.math.imul'); | |
require('core-js/modules/es6.math.log1p'); | |
require('core-js/modules/es6.math.log10'); | |
require('core-js/modules/es6.math.log2'); | |
require('core-js/modules/es6.math.sign'); | |
require('core-js/modules/es6.math.sinh'); | |
require('core-js/modules/es6.math.tanh'); | |
require('core-js/modules/es6.math.trunc'); | |
require('core-js/modules/es7.array.includes'); | |
require('core-js/modules/es7.object.values'); | |
require('core-js/modules/es7.object.entries'); | |
require('core-js/modules/es7.object.get-own-property-descriptors'); | |
require('core-js/modules/es7.string.pad-start'); | |
require('core-js/modules/es7.string.pad-end'); | |
require('core-js/modules/web.timers'); | |
require('core-js/modules/web.immediate'); | |
require('core-js/modules/web.dom.iterable'); | |
require('regenerator-runtime/runtime'); | |
var backendResponse = [{ title: '', timestamp: '04-15-1960T18:34:38+0500' }, { title: '', timestamp: '05-15-2007T18:34:38+0500' }]; | |
var timeline = backendResponse.map(function (event) { | |
var date = new Date(event.timestamp).toLocaleDateString('en-US'); | |
return Object.assign(event, { date: date }); // <= | |
}); | |
console.log('timeline', timeline); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment