-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
core-js@3 #325
Conversation
71b25fc
to
876a2bb
Compare
// https://github.com/tc39/proposal-global | ||
var $export = require('./_export'); | ||
|
||
$export($export.S, 'System', { global: require('./_global') }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might want to hold off on removing System.global
until tc39/proposal-global#20 is cleared up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aciccarello maybe. I'm watching this issue, but global
is already on stage 3.
7a2ad43
to
159a8ca
Compare
cf33693
to
8032154
Compare
26dd41f
to
9e9c086
Compare
055673e
to
b46fc8a
Compare
|
if (result.e) reject(result.v); | ||
return capability.promise; | ||
} | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @jasonwilliams @mathiasbynens internal logic is similar to Promise.all
. Any comments?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zloirock looks good to me, i don't see any issues there.
|
Undeniably, great work! Any plans about release date?… I'm not pushing, just for personal planning. |
@AlexWayfer all that I wanna see in |
Yep, okay. Thank you. I'll wait! |
I think that it's time to merge it with |
Does Angular 6 supports core-js 3.x versions |
@Gokulanarayanan you could ask the Angular team - I'm not an expert in Angular versions. |
Features:
Symbol#description
(stage 3 proposal)Object.fromEntries
(stage 2 proposal)Set
methods (stage 2 proposal)Set#difference
Set#intersection
Set#symmetricDifference
Set#union
Array
(stage 1 proposal)Array#lastItem
Array#lastIndex
String#replaceAll
(stage 1 proposal)String#codePoints
(stage 1 proposal)Map.groupBy
Map.keyBy
Map#filter
Map#mapKeys
Map#mapValues
Map#merge
Set#addAll
Set#deleteAll
Set#every
Set#filter
Set#find
Set#join
Set#map
Set#reduce
Set#some
compositeKey
andcompositeSymbol
(stage 1 proposal)Number.fromString
(stage 1 proposal)Symbol.patternMatch
(for stage 1 pattern matching proposal)Promise.allSettled
(stage 0 proposal).forEach
method to iterable DOM collections (#329)Promise
rejection events (instead of only global handlers), #205.@@isConcatSpreadable
toArray#concat
.@@species
toArray#{concat, filter, map, slice, splice}
.Object#toString
does not support@@toStringTag
, add to wrapped prototypes owntoString
method with@@toStringTag
logic, see #199.String#trim
(ES6 -> ES7)Observable
(Observable#subscribe w/ callbacks #257, Observable: Subscription and SubscriptionObserver prototypes lack aclosed
getter. #276, etc.)Array#flatten
->Array#flat
andArray#flatMap
and move to the stage 3String#matchAll
(mainly this PR) and move to the stage 3.name
property ofString#{trimStart, trimEnd , trimLeft, trimRight}
, move to the stage 3Array#includes
and%TypedArray%#includes
Object.values
andObject.entries
Object.getOwnPropertyDescriptors
String#padStart
andString#padEnd
Promise#finally
Symbol.asyncIterator
Object#__(define|lookup)[GS]etter__
Error.isError
(withdrawn)System.global
(replaced byglobal
)Map#toJSON
andSet#toJSON
(rejected)RegExp.escape
(rejected)Reflect.enumerate
(removed from the spec)CSSRuleList
,MediaList
,StyleSheetList
Dict
Object.{classof, isObject, define, make}
Function#part
Number#@@iterator
String#{escapeHTML, unescapeHTML}
delay
.sham
flag to features which can't be properly polyfilled and / or not recommended for usage:Symbol
constructor - we can't add new primitives.Object.prototype
accessors too expensive.Object.{create, defineProperty, defineProperties, getOwnPropertyDescriptor, getOwnPropertyDescriptos}
,Reflect.{defineProperty, getOwnPropertyDescriptor}
can't be properly polyfilled without descriptors support.Object.{freeze, seal, preventExtensions}
,Reflect.preventExtensions
can't be properly polyfilled in ES3 environment.Object.getPrototypeOf
can be deceived in ES3 environment.Reflect.construct
can't be polyfilled for a correct work withnewTarget
argument on built-ins.Bug and compatibility fixes:
WeakMap
frozen keys fallback, #384.Repository:
core-js
repository structure to monorepo with packages in/packages/
directory.Packages:
core-js-pure
package (replacement forcore-js/library
).core-js-bundle
package.core-js
package, leave it only incore-js-builder
package.core-js@2
to:core-js
packagecore-js-pure
packagebower.json
CommonJS API, namespaces:
core-js/library
to separatecore-js-pure
package.core-js/shim
entry point, replace it just withcore-js
.core-js/es
, all those features inmodules
folder hases.
prefix.es7.
toesnext.
, they no longer available incore-js/es7
, usecore-js/stage/*
instead of that.core-js(/library)/fn
tocore-js(-pure)/features
for improve readability./proposals/
entry points for allow include all features from one proposal (for example,core-js/proposals/reflect-metadata
)./es/
path (for example,core-js/es/array/from
).core-js/es/typed-array/from
).es.symbol
module for loading only required features, for example, in MS Edge.web.dom
namespace toweb.dom-collections
.es6.regexp.{match, replace, search, split}
->es.string.{match, replace, search, split}
- mainly it's fixes / adding support of well-known symbols to string methods, only in second place adding related methods to regexp prototype./modules/
directory by moving internal modules to/internals/
directory.core
object no longer available in the global version, entry points which previously returned it now returnsglobal
object. Also, don't setglobal.core
object.Tools, tests, code quality:
core-js-builder
- now it's an odd use case.core-js-builder
bundles - we don't need it for a global polyfill.Documentation:
CONTRIBUTING.md
babel
-related info toUsage
section (can be postponed):@babel/polyfill
@babel/runtime
@babel/preset-env
Also:
babel@7
(after publishing a pre-release ofcore-js@3
):@babel/polyfill
@babel/runtime
@babel/preset-env
The list is not completely finished.