Skip to content

Instantly share code, notes, and snippets.

@nshimiye
Last active November 7, 2018 01:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nshimiye/4ade843adcd45574f1b4c179786606ee to your computer and use it in GitHub Desktop.
Save nshimiye/4ade843adcd45574f1b4c179786606ee to your computer and use it in GitHub Desktop.
Object.assign Polyfill example with Babel 6

Showcasing how Babel 6 includes unnecessary polyfill code

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
{
"presets": [
[
"env", {
"targets": {
"browsers": ["ie >= 9", "safari >= 7"]
},
"useBuiltIns": "usage"
}
]
]
}
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);
npx babel src --out-dir lib
'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