Skip to content
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

Merged
merged 281 commits into from
Jun 7, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
281 commits
Select commit Hold shift + click to select a range
48ef3d2
move `Array#flatten` and `Array#flatMap` to the stage 2
zloirock Oct 26, 2017
3153831
update changelog
zloirock Oct 26, 2017
d543e0e
rewrite Gruntfile from LiveScript to JavaScript
zloirock Oct 26, 2017
e8042ee
rewrite build script from LiveScript to JavaScript
zloirock Oct 27, 2017
6a30631
rewrite CommonJS entry points tests from LiveScript to JavaScript
zloirock Oct 27, 2017
d78e9b9
rewrite test helpers from LiveScript to JavaScript
zloirock Oct 29, 2017
53a4c87
get rid of extra karma browser launcher - now it's used only in CI wi…
zloirock Oct 29, 2017
78b0fc5
remove test bundles from the repo
zloirock Oct 30, 2017
365947f
rewrite library version tests from LiveScript to JavaScript
zloirock Nov 2, 2017
4be5f69
rewrite default version tests from LiveScript to JavaScript
zloirock Nov 7, 2017
e1dfa0d
remove promises-aplus-tests bundle from the repo
zloirock Nov 7, 2017
8f3101b
improve `eslint` coverage, move tests bundles to `tests/bundles` dire…
zloirock Nov 8, 2017
88c150c
add `dedent` helper for improve multiline strings formatting
zloirock Nov 9, 2017
8c133a1
some minor stylistic improvements of code in `README.md`
zloirock Nov 9, 2017
d5f2e77
prevent polyfilling node globals by `webpack`
zloirock Nov 12, 2017
42a4cb1
refactoring of tests
zloirock Nov 12, 2017
2408db1
get rid of es3 properties in tests
zloirock Nov 12, 2017
d6b7528
use exponentiation operator in tests
zloirock Nov 13, 2017
dc3d9d5
rewrite tests to ES2017 syntax with minimalistic babel config, enable…
zloirock Nov 15, 2017
ed8d548
remove unnecessary performance test of setImmediate from unit tests
zloirock Nov 19, 2017
4607b38
remove not exists folder from the `grunt copy` task
zloirock Nov 20, 2017
b2f9be0
remove `library` folder from GitHub repo
zloirock Nov 21, 2017
14cdcc1
add `.forEach` method to iterable DOM collections, #329
zloirock Nov 21, 2017
c56a4a7
add Symbol#description
zloirock Nov 26, 2017
3ba2189
enable `implicit-arrow-linebreak` `eslint` rule
zloirock Nov 26, 2017
8464789
remove `client` folder from GitHub repo
zloirock Nov 26, 2017
4a5f5b0
fix .gitignore
zloirock Nov 27, 2017
8d55f2c
get rid of `modules/library/` in npm package
zloirock Nov 27, 2017
9012d8e
move `Array#flatten` and `Array#flatMap` to the stage 3
zloirock Nov 28, 2017
b9bddcd
improve eslint settings
zloirock Nov 30, 2017
591908d
add `String#replaceAll`
zloirock Nov 30, 2017
74e420b
remove forced setting of `global.core` for global polyfills, #362
zloirock Dec 1, 2017
0ef2629
update changelog
zloirock Dec 1, 2017
01a4cb3
rewrite signatures of features to something like TypeScript / Flow
zloirock Dec 5, 2017
5cd85de
rename modules related DOM collections
zloirock Dec 5, 2017
2689f1e
update `Observable` by actual version of the spec, fixes #257, #276
zloirock Dec 8, 2017
fab703d
add #345 - related tests
zloirock Dec 8, 2017
ad6bc4c
remove `SIMD` proposal from readme
zloirock Dec 8, 2017
637e517
disable camelcase eslint rule for __(define|lookup)[GS]etter__ tests
zloirock Dec 9, 2017
4f6145d
update `Array#flatMap` per https://github.com/tc39/proposal-flatMap/p…
zloirock Dec 9, 2017
0669828
add triggering unhandled promise rejection events, fixes #205
zloirock Dec 9, 2017
33a391e
update `eslint`
zloirock Dec 12, 2017
b82ba32
add `notThrows` qunit helper
zloirock Dec 12, 2017
e411aca
rename `library` version to `ponyfill` (at least, an experiment)
zloirock Dec 25, 2017
0cbf995
use direct import in non-global version tests
zloirock Dec 29, 2017
44fdf3f
remove bundling of non-global version from tests and builder
zloirock Dec 29, 2017
cfd8a32
remove UMD wrapper from builder, add some debugging info and links
zloirock Dec 29, 2017
4ddbb16
move babel config to .babelrc
zloirock Dec 29, 2017
e7cee9e
add basic CONTRIBUTING.md
zloirock Dec 29, 2017
b6c350b
add a note about `global` proposal
zloirock Dec 29, 2017
9d43f87
add explanations to some directories in the root of the repo
zloirock Jan 2, 2018
0f01019
update the year
zloirock Jan 2, 2018
4400221
update a version
zloirock Jan 2, 2018
be0403e
extract non-global version as a separate package, remove building scr…
zloirock Jan 3, 2018
f556888
add webpack aliases for simplify tests
zloirock Jan 3, 2018
b3d94db
refactor and document npm scripts
zloirock Jan 3, 2018
67c08d9
improve readme files of packages
zloirock Jan 3, 2018
3c0c54a
fix a theoretical granular import-related problem
zloirock Jan 3, 2018
a1e53c0
fix test task
zloirock Jan 4, 2018
2ef71b9
add a helper for store internal state
zloirock Jan 4, 2018
22b3274
hide the internal state of symbols
zloirock Jan 4, 2018
d286dbe
hide internal state of array buffers and data views
zloirock Jan 5, 2018
2e9b803
hide internal state of typed arrays
zloirock Jan 5, 2018
b149a3b
hide internal state of array and string iterators
zloirock Jan 5, 2018
b419ea6
hide internal state of set and map iterators
zloirock Jan 5, 2018
7a12683
hide internal state of regexp string iterator
zloirock Jan 5, 2018
ad48b97
hide internal state of observables
zloirock Jan 5, 2018
802e2f2
hide internal state of subscription observers
zloirock Jan 5, 2018
1c1352b
hide internal state of subscriptions
zloirock Jan 5, 2018
b50b6ab
remove unnecessary reactions array from Promise implementation
zloirock Jan 7, 2018
c2e2622
update `String#{trimLeft, trimRight}` links
zloirock Jan 11, 2018
1adbe27
hide Function#toString wrapper data
zloirock Jan 11, 2018
f82480c
unbind internal `resolve` and `reject`
zloirock Jan 11, 2018
fcb7dfa
hide internal state of promises
zloirock Jan 13, 2018
4b96dbf
start refactoring of collections
zloirock Jan 14, 2018
91e0077
hide internal state of collections
zloirock Jan 15, 2018
eb7f8ad
start refactoring of export logic
zloirock Jan 16, 2018
89b4bb1
change options argument of `_export` helper from a bitmap to an object
zloirock Jan 16, 2018
21fa068
add `lerna` for symlink together `core-js` packages
zloirock Jan 17, 2018
fb31425
update `Array#{flatten, flatMap}` per https://github.com/tc39/proposa…
zloirock Jan 18, 2018
974515f
update `String#matchAll` proposal
zloirock Jan 18, 2018
f53d14c
add one more `RegExp#matchAll` related test
zloirock Jan 19, 2018
062625a
move to lerna independent mode
zloirock Jan 19, 2018
8032051
update link to `Reflect` metadata proposal
zloirock Jan 19, 2018
cadb30d
[experiment] extract some internals to an external package
zloirock Jan 24, 2018
2ae5b43
move source code to related packages
zloirock Jan 24, 2018
0550591
move `Promise#finally` to stage 4
zloirock Jan 24, 2018
63c2558
move `Symbol#description` to stage 2
zloirock Jan 24, 2018
c332928
move `String#matchAll` to stage 3
zloirock Jan 24, 2018
404b10e
move `String#{trimLeft, trimRight}` to stage 3
zloirock Jan 24, 2018
65b48f5
improve `core-js-pure` package generation note
zloirock Jan 24, 2018
a8cb5f6
[experiment] extract some internals to an external package
zloirock Jan 25, 2018
dfea3eb
fix the list of unicode whitespaces
zloirock Jan 25, 2018
e08242d
[experiment] extract some internals to an external package
zloirock Jan 28, 2018
b263d25
add `Array#end` proposal
zloirock Jan 28, 2018
cf9afd8
add `String#codePoints` proposal
zloirock Jan 28, 2018
bf66290
disable one `String#matchAll` test
zloirock Jan 28, 2018
6767e7e
[experiment] extract some internals to an external package
zloirock Jan 29, 2018
83362cc
revert to `qunit@1` in tests html for support old browsers
zloirock Jan 29, 2018
44eef82
fix incorrect conversion to string of symbols with undefined descript…
zloirock Jan 29, 2018
efdfb96
add `Set#filter`
zloirock Jan 30, 2018
22fa849
add `Set#map`
zloirock Jan 30, 2018
921ecec
add `Set#find`
zloirock Jan 30, 2018
fc409ca
move `Set#{filter, find, map}` to stage 1 per https://github.com/tc39…
zloirock Jan 30, 2018
63419a6
add `Set#join`
zloirock Jan 30, 2018
b9cb948
add `Set#{every, some}`
zloirock Jan 31, 2018
2d257a3
add `Set#reduce`
zloirock Jan 31, 2018
ff652a1
add `Map#filter`
zloirock Jan 31, 2018
0edce1a
add `Map#{mapKeys, mapValues}`
zloirock Jan 31, 2018
0e143e5
add `Set#{addAll, deleteAll}`
zloirock Jan 31, 2018
247cf50
add `Map#merge`
zloirock Feb 1, 2018
b3cc3e5
add `Map.{groupBy, keyBy}`
zloirock Feb 1, 2018
6dacd0b
add `Set#union`
zloirock Feb 1, 2018
31bcc42
update the link to collection methods
zloirock Feb 1, 2018
81ab1e5
add `Set#intersect`
zloirock Feb 2, 2018
ffb5f8d
add `Set#{difference, symmetricDifference}`
zloirock Feb 3, 2018
4e0e91e
add new collection methods to readme
zloirock Feb 3, 2018
81bb77f
disable typed arrays-related features in the pure version
zloirock Feb 5, 2018
042a5fd
minor fix of `Array#@@unscopables`
zloirock Feb 5, 2018
fb1818d
some stylistic changes
zloirock Feb 6, 2018
065fb0c
remove one more entry `{Set, Map}#toJSON`
zloirock Feb 6, 2018
7a4de2b
some stylistic changes
zloirock Feb 9, 2018
eb89063
some stylistic changes
zloirock Feb 10, 2018
41ff145
relax `modules` directory by moving internal modules to `internals` d…
zloirock Feb 11, 2018
c000a70
rename `/fn/` -> `/features/`
zloirock Feb 11, 2018
0bded21
make globals non-enumerable where it's possible
zloirock Feb 11, 2018
3021bca
fix global case of #262
zloirock Feb 11, 2018
0b49818
revert extracting of some internals to a separate package, defer it
zloirock Feb 11, 2018
826d220
rename `core-js/client/` -> `core-js/bundles/`
zloirock Feb 11, 2018
1abae27
make `__core-js_shared__` where it's possible
zloirock Feb 11, 2018
b98470b
add a link to `core-js@2` to readme
zloirock Feb 11, 2018
227b9fd
improve readme, add some babel-related notes
zloirock Feb 12, 2018
613d4ca
add `Number.fromString` proposal
zloirock Feb 12, 2018
d92f3c7
some stylistic changes
zloirock Feb 13, 2018
7a23dbf
some stylistic changes
zloirock Feb 13, 2018
6177b6f
some stylistic changes
zloirock Feb 15, 2018
2b79b41
rework internal state, validate receiver of almost all methods
zloirock Feb 16, 2018
2817fab
add missed `features/object/to-string` entry point
zloirock Feb 16, 2018
f524b63
add own toString method to instances with @@toStringTag in non-global…
zloirock Feb 16, 2018
8a22fb6
remove `internals/core`, move iteration helpers to `internals`
zloirock Feb 17, 2018
159488b
refactor `export` module in the `pure` version
zloirock Feb 18, 2018
585c308
add `sham` flag to not completely full polyfills
zloirock Feb 18, 2018
312d744
mark `.eslintrc.js` as root config
zloirock Feb 26, 2018
590a988
some stylistic changes, start refactoring of typed arrays
zloirock Feb 27, 2018
7dee501
rename `Set#{symmetricDifference -> xor, difference -> except}`
zloirock Feb 27, 2018
33cf1dd
add `Object.fromEntries` proposal
zloirock Mar 8, 2018
7988eb8
some stylistic changes, refactoring of typed arrays
zloirock Mar 9, 2018
979d19f
move `Symbol.asyncIterator` to stage 4
zloirock Mar 10, 2018
9aed55e
add a workaround for prevent array iteration deoptimisation in v8, fi…
zloirock Mar 11, 2018
a2e691d
mark ES2018 features as stable
zloirock Mar 11, 2018
343c128
refactoring of typed arrays, extract some methods to separate modules…
zloirock Mar 14, 2018
22e08f7
refactoring of typed arrays, extract some methods to separate modules…
zloirock Mar 14, 2018
cdf48c0
refactoring of typed arrays, extract some methods to separate modules
zloirock Mar 14, 2018
3f518b4
temporarily disable promise unhandled rejection tests because of stra…
zloirock Mar 15, 2018
a75d4df
remove some removed modules from the builder config
zloirock Mar 17, 2018
acdd5f7
refactoring of typed arrays
zloirock Mar 17, 2018
36262ac
refactoring of typed arrays, extract `ArrayBuffer` methods to separat…
zloirock Mar 18, 2018
ca76b32
refactoring of typed arrays, fixing of some compatibility issues
zloirock Mar 19, 2018
2ca5f3d
fix Chrome 38 symbol -> string conversion issue
zloirock Mar 19, 2018
38b140e
fix typos
zloirock Mar 19, 2018
064e544
rename `Array#end` -> `Array#lastItem`, add `Array#lastIndex`
zloirock Mar 19, 2018
96edfb0
DOM collections iterator methods should be the same with `Array` meth…
zloirock Mar 19, 2018
82efa03
move `Object.fromEntries` to stage 1
zloirock Mar 20, 2018
d709dca
fix `String#split` `limit` argument conversion
zloirock Mar 20, 2018
00f12ea
fix `sham` flag for some methods, make tests work in IE8-
zloirock Mar 20, 2018
5de5275
some `sham` flag fixes for the `pure` version
zloirock Mar 20, 2018
038825f
fix `qunit` helpers import because of Chrome 38 issue
zloirock Mar 21, 2018
75b3d6e
improve accuracy of `Math,cosh`, FF45- fix
zloirock Mar 21, 2018
31cbbe1
update `String#matchAll` per https://github.com/tc39/proposal-string-…
zloirock Mar 21, 2018
16c4034
move `core-js` bundle to a separate package
zloirock Mar 22, 2018
0f060ee
some documentation fixes
zloirock Mar 22, 2018
85343a3
revert https://github.com/zloirock/core-js/commit/e1ffbae3e18730072be…
zloirock Mar 22, 2018
9f0c2b9
fix buggy iterators detection
zloirock Mar 22, 2018
ab32cb9
some minor stylistic changes
zloirock Mar 22, 2018
95709f3
add `.sham` flag to polyfilled Typed Array constructors
zloirock Mar 22, 2018
c4fa9f4
add a global shortcut of `inspectSource` to `tests.html` for simplify…
zloirock Mar 22, 2018
376ec58
add `.sham` flag to `Object.create`
zloirock Mar 23, 2018
e2ba35b
forced usage of `(set|clear)Immediate` polyfill if one of those metho…
zloirock Mar 23, 2018
ac66976
refactoring of iterators definition, use native `%IteratorPrototype%`…
zloirock Mar 24, 2018
a72e789
refactoring of iterators definition
zloirock Mar 25, 2018
0046e31
fix an issue with non-configurable Chrome~42 `DOMTokenList` methods
zloirock Mar 25, 2018
28ff4ff
improve IE11 `WeakMap` frozen objects fallback, fixes #384
zloirock Mar 25, 2018
1d51705
update the changelog
zloirock Mar 25, 2018
f71e5a9
fix `core-js-bundle` `.npmignore`
zloirock Mar 26, 2018
3bd6e8d
add `Symbol.{patternMatch, patternValue}` for updated pattern matchin…
zloirock Mar 26, 2018
5ea0eb3
rename `es.regexp.{match, replace, search, split}` -> `es.string.{mat…
zloirock Mar 27, 2018
c3f339b
3.0.0-alpha.2
zloirock Mar 27, 2018
564595d
enable `eslint-plugin-qunit`
zloirock Mar 27, 2018
d861e1f
add support of `@@isConcatSpreadable` and `@@species` to `Array#concat`
zloirock Mar 28, 2018
2f82e05
forced support of `@@species` in `Array#{filter, map}`
zloirock Mar 28, 2018
a420708
add support of `@@species` to `Array#slice`
zloirock Mar 30, 2018
7aabd2a
add support of `@@species` to `Array#splice`
zloirock Mar 30, 2018
377f188
remove some deprecated entry points
zloirock Mar 30, 2018
d0b40c3
3.0.0-alpha.3
zloirock Mar 30, 2018
1badaab
some stylistic changes and minor fixes in entry points
zloirock Mar 31, 2018
3944150
refactor `iterate` helper
zloirock Apr 1, 2018
57f52af
minor stylistic changes in collections, hide internal state in the pu…
zloirock Apr 1, 2018
a85d5d2
minor stylistic changes in `Promise`, prevent `Promise.prototype` pol…
zloirock Apr 3, 2018
6096aec
fix non-enumerable integer keys issue in Nashorn ~ JDK8 bug, close #389
zloirock Apr 4, 2018
81e6e4d
fix #392
zloirock Apr 7, 2018
b658002
fix #393
zloirock Apr 7, 2018
b75bd7e
fix possible problems in `%TypedArray%.{from, of}` when methods polyf…
zloirock Apr 8, 2018
23dd655
some stylistic changes
zloirock Apr 8, 2018
fd40d6a
3.0.0-alpha.4
zloirock Apr 8, 2018
ec6a655
fix overriding of some modules in the `pure` version
zloirock Apr 11, 2018
e5a7949
use `String` constructor in conversion error arguments for prevent po…
zloirock Apr 20, 2018
2856ef7
extract well-known symbols definition from `es.symbol`
zloirock Apr 21, 2018
f7cc5cc
move `Math@@toStringTag` and `JSON@@toStringTag` to `es.symbol.to-str…
zloirock Apr 27, 2018
d0ea432
move `Math@@toStringTag` and `JSON@@toStringTag` to separate modules …
zloirock Apr 28, 2018
c82fea2
some stylistic changes, comments
zloirock May 4, 2018
54d1a39
fix `Promise` operations order test, related Chrome 66 bug
zloirock May 5, 2018
81697a5
fix v8 6.6 (Node 10 and Chrome 66) `Promise` bug with resolving custo…
zloirock May 5, 2018
2cf1464
update `.name` properties of `String#{trimStart, trimEnd , trimLeft, …
zloirock May 5, 2018
4552d3f
add `compositeKey` method from richer keys proposal
zloirock May 5, 2018
41531f7
fix microtasks in WebOS, see #396
zloirock May 5, 2018
1bd418c
restore Node 10 in .travis.yml
zloirock May 5, 2018
774644a
add a comment about LG WebOS 2 `Promise.resolve` issue
zloirock May 7, 2018
7ecba33
update `String#codePoints` proposal per https://github.com/RReverser/…
zloirock May 9, 2018
00fd995
add `compositeSymbol` from richer keys proposal, see https://github.c…
zloirock May 9, 2018
c04b3c3
update `compositeSymbol`
zloirock May 13, 2018
f7fdf57
make new collections methods generic in the `pure` version
zloirock May 13, 2018
15f01bd
update `lerna`
zloirock May 14, 2018
d2895ec
remove `grunt-contrib-watch`
zloirock May 14, 2018
e00fb51
update `eslint-import-resolver-webpack`
zloirock May 14, 2018
8067efe
update `webpack`
zloirock May 16, 2018
fff12e4
fix a V8 ~ Chrome 49-50 bug with non-writable non-configurable %Typed…
zloirock May 16, 2018
db2218a
fix export in the `pure` version
zloirock May 17, 2018
5f21736
update `eslint-import-resolver-webpack`
zloirock May 18, 2018
408086a
get rid of reserved variable name `final` from `es.array.slice.js`
zloirock May 19, 2018
e98f1be
3.0.0-beta.1
zloirock May 19, 2018
44f12e7
revert back some new `Set` methods names per https://github.com/tc39/…
zloirock May 21, 2018
2920e07
move `Symbol.prototype.description` to stage 3
zloirock May 25, 2018
8bbff6e
move `Object.fromEntries` to stage 2
zloirock May 25, 2018
27d82cb
rename `Array.prototype.flatten` to `Array.prototype.flat`, fixes #405
zloirock May 25, 2018
83e5d16
move new `Set` methods to stage 2
zloirock May 25, 2018
58c9458
update changelog
zloirock May 26, 2018
21a4186
update `webpack`
zloirock May 26, 2018
3a206f4
update some links
zloirock May 26, 2018
b902aef
3.0.0-beta.2
zloirock May 26, 2018
c47efd3
rename `Set#{intersect -> intersection}`
zloirock May 29, 2018
42b1ba2
allow more granular inclusion of features from `/es/` path
zloirock May 31, 2018
005e03d
update `webpack`
zloirock Jun 2, 2018
1bdc144
fix `webpack` settings
zloirock Jun 2, 2018
97d5e3b
add /proposals/ entry points
zloirock Jun 3, 2018
1d2127e
remove `Symbol.patternValue` - it's missed in actual pattern matching…
zloirock Jun 5, 2018
c874d20
update `webpack`
zloirock Jun 7, 2018
74a7810
add `Promise.allSettled` proposal, #399
zloirock Jun 7, 2018
4ab982a
pattern matching is a stage 1 proposal
zloirock Jun 7, 2018
479a1da
3.0.0-beta.3
zloirock Jun 7, 2018
65c966d
update links from `v3` to `master` branch
zloirock Jun 7, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
23 changes: 23 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
// use transforms which does not use ES5+ builtins
plugins: [
['transform-es3-member-expression-literals'],
['transform-es3-property-literals'],
// use it instead of webpack es modules for support engines without descriptors
['transform-es2015-modules-commonjs', { loose: true }],
['transform-es2015-arrow-functions'],
['transform-es2015-block-scoped-functions'],
['transform-es2015-block-scoping'],
['transform-es2015-classes', { loose: true }],
['transform-es2015-computed-properties', { loose: true }],
['transform-es2015-destructuring', { loose: true }],
['transform-es2015-literals'],
['transform-es2015-parameters'],
['transform-es2015-shorthand-properties'],
['transform-es2015-spread', { loose: true }],
['transform-es2015-template-literals', { loose: true, spec: true }],
['transform-exponentiation-operator'],
['transform-for-of-as-array'],
['check-es2015-constants']
]
}
8 changes: 4 additions & 4 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
node_modules/**
build/index.js
client/**
tests/**
node_modules/
/packages/core-js-bundle/
/packages/core-js-pure/override/
/tests/bundles/
!**/.eslintrc.js
751 changes: 470 additions & 281 deletions .eslintrc.js

Large diffs are not rendered by default.

19 changes: 16 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ node_modules/
*.bak
*.swp

Thumbs.db

Desktop.ini
/packages/core-js/LICENSE
/packages/core-js-builder/LICENSE
/packages/core-js-bundle/LICENSE
/packages/core-js-bundle/index.js
/packages/core-js-bundle/minified.js
/packages/core-js-bundle/minified.js.map
/packages/core-js-pure/es/
/packages/core-js-pure/features/
/packages/core-js-pure/internals/
/packages/core-js-pure/modules/
/packages/core-js-pure/proposals/
/packages/core-js-pure/stage/
/packages/core-js-pure/web/
/packages/core-js-pure/index.js
/packages/core-js-pure/LICENSE
/tests/bundles/
6 changes: 0 additions & 6 deletions .npmignore

This file was deleted.

1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
language: node_js
node_js:
- '10'
- '8'
- '6'

Expand Down
48 changes: 48 additions & 0 deletions .webpack.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
'use strict';
const resolve = require('path').resolve;

module.exports = {
options: {
mode: 'none',
module: {
rules: [{
test: /\.js$/,
exclude: /modules/,
use: {
loader: 'babel-loader',
},
}],
},
resolve: {
alias: {
'core-js': resolve(__dirname, './packages/core-js'),
'core-js-pure': resolve(__dirname, './packages/core-js-pure'),
},
},
node: {
global: false,
process: false,
setImmediate: false,
},
stats: false,
output: {
path: resolve(__dirname, './tests/bundles'),
},
},
helpers: {
entry: './tests/helpers/qunit-helpers.js',
output: { filename: 'qunit-helpers.js' },
},
pure: {
entry: './tests/pure/index.js',
output: { filename: 'pure.js' },
},
tests: {
entry: './tests/tests/index.js',
output: { filename: 'tests.js' },
},
'promises-aplus-tests': {
entry: 'promises-aplus-tests/lib/testFiles.js',
output: { filename: 'promises-aplus.js' },
},
};
126 changes: 125 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,128 @@
## Changelog
##### 3.0.0
- Features
- Add new features:
- `Symbol#description` ([stage 3 proposal](https://tc39.github.io/proposal-Symbol-description/))
- `Object.fromEntries` ([stage 2 proposal](https://github.com/tc39/proposal-object-from-entries))
- New `Set` methods ([stage 2 proposal](https://github.com/tc39/proposal-set-methods))
- `Set#difference`
- `Set#intersection`
- `Set#symmetricDifference`
- `Set#union`
- Getting last item from `Array` ([stage 1 proposal](https://github.com/keithamus/proposal-array-last))
- `Array#lastItem`
- `Array#lastIndex`
- `String#replaceAll` ([stage 1 proposal](https://github.com/psmarshall/string-replace-all-proposal))
- `String#codePoints ` ([stage 1 proposal](https://github.com/RReverser/string-prototype-codepoints))
- New collections methods ([stage 1 proposal](https://github.com/Ginden/collection-methods))
- `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` and `compositeSymbol` methods from ([richer keys stage 1 proposal](https://github.com/bmeck/proposal-richer-keys/tree/master/compositeKey))
- `Number.fromString` ([stage 1 proposal](https://github.com/mathiasbynens/proposal-number-fromstring))
- `Symbol.patternMatch` ([for stage 1 pattern matching proposal](https://github.com/tc39/proposal-pattern-matching))
- `Promise.allSettled` ([stage 0 proposal](https://github.com/jasonwilliams/proposal-promise-allSettled))
- `.forEach` method to iterable DOM collections ([#329](https://github.com/zloirock/core-js/issues/329))
- Improve existing features:
- Add triggering unhandled `Promise` rejection events (instead of only global handlers), [#205](https://github.com/zloirock/core-js/issues/205).
- Add support of `@@isConcatSpreadable` to `Array#concat`.
- Add support of `@@species` to `Array#{concat, filter, map, slice, splice}`.
- Correct iterators prototypes chain, related [#261](https://github.com/zloirock/core-js/issues/261).
- Correct Typed Arrays prototypes chain, related [#378](https://github.com/zloirock/core-js/issues/378).
- Make the internal state of polyfilled features completely unobservable, [#146](https://github.com/zloirock/core-js/issues/146).
- Add validation of receiver's internal class to missed non-generic methods.
- Fix descriptors of global properties.
- In the version without global pollution, if `Object#toString` does not support `@@toStringTag`, add to wrapped prototypes own `toString` method with `@@toStringTag` logic, see [#199](https://github.com/zloirock/core-js/issues/199).
- Update standard features and proposals:
- Remove mongolian vowel separator (U+180E) from the list of whitespaces for methods like `String#trim` (ES6 -> ES7)
- Update [`Observable`](https://github.com/tc39/proposal-observable) (#257, #276, etc.)
- Update `Array#flatten` -> `Array#flat` and `Array#flatMap` and move to the stage 3
- Update `String#matchAll` (mainly [this PR](https://github.com/tc39/proposal-string-matchall/pull/17)) and move to the stage 3
- Update `.name` properties of `String#{trimStart, trimEnd , trimLeft, trimRight}`, move to the stage 3
- Mark ES2016, ES2017 and ES2018 features as stable:
- `Array#includes` and `%TypedArray%#includes`
- `Object.values` and `Object.entries`
- `Object.getOwnPropertyDescriptors`
- `String#padStart` and `String#padEnd`
- `Promise#finally`
- `Symbol.asyncIterator`
- `Object#__(define|lookup)[GS]etter__`
- Remove obsolete features:
- `Error.isError` (withdrawn)
- `System.global` (replaced by `global`)
- `Map#toJSON` and `Set#toJSON` (rejected)
- `RegExp.escape` (rejected)
- `Reflect.enumerate` (removed from the spec)
- Unnecessary iteration methods from `CSSRuleList`, `MediaList`, `StyleSheetList`
- **No more non-standard features**, finally removed:
- `Dict`
- `Object.{classof, isObject, define, make}`
- `Function#part`
- `Number#@@iterator`
- `String#{escapeHTML, unescapeHTML}`
- `delay`
- Add `.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 with `newTarget` argument on built-ins.
- Typed Array constructors polyfill is quite correct but too expensive.
- Bug and compatibility fixes:
- Fix deoptimisation of iterators in V8, [#377](https://github.com/zloirock/core-js/issues/377).
- Fix import of property before constructor which should contain this property, [#262](https://github.com/zloirock/core-js/issues/262).
- Fix some cases of IE11 `WeakMap` frozen keys fallback, [#384](https://github.com/zloirock/core-js/issues/384).
- Fix non-enumerable integer keys issue because of Nashorn ~ JDK8 bug, [#389](https://github.com/zloirock/core-js/issues/389).
- Repository:
- Change `core-js` repository structure to monorepo with packages in `/packages/` directory.
- Clean-up it, remove all possible duplicates, generated files, etc.
- Packages:
- **Extract a version without global namespace pollution to a separate `core-js-pure` package (replacement for `core-js/library`).**
- **Leave only one pair of bundles (global, with all polyfills) and move it to `core-js-bundle` package.**
- Remove bundling logic from `core-js` package, leave it only in `core-js-builder` package.
- Clean-up packages.
- Because of all approaches, **reduce size of packages from ~2mb for `core-js@2` to**:
- **~400kb for `core-js` package**
- **~340kb for `core-js-pure` package**
- Finally remove `bower.json`
- CommonJS API, namespaces:
- Move `core-js/library` to separate `core-js-pure` package.
- Because of removing all non-standard features, we no longer need `core-js/shim` entry point, replace it just with `core-js`.
- Move all features from ES5, ES2015, ES2016, ES2017 and ES2018 to one namespace for stable ES - it's available as `core-js/es`, all those features in `modules` folder has `es.` prefix.
- Change prefix for ES proposals from `es7.` to `esnext.`, they no longer available in `core-js/es7`, use `core-js/stage/*` instead of that.
- Rename `core-js(/library)/fn` to `core-js(-pure)/features` for improve readability.
- Add `/proposals/` entry points for allow include all features from one proposal (for example, `core-js/proposals/reflect-metadata`).
- Allow more granular inclusion of features from `/es/` path (for example, `core-js/es/array/from`).
- Split typed arrays polyfills. Now you can, for example, load only required method (for example, `core-js/es/typed-array/from`).
- Extract well-known symbols definition from `es.symbol` module for loading only required features, for example, in MS Edge.
- Rename `web.dom` namespace to `web.dom-collections`.
- Rename `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.
- Relax `/modules/` directory by moving internal modules to `/internals/` directory.
- Remove deprecated array entry points: `core-js(/library)/fn/array/{pop, push, reverse, shift, unshift}`.
- `core` object no longer available in the global version, entry points which previously returned it now returns `global` object. Also, don't set `global.core` object.
- Add some missing entry points.
- Tools, tests, code quality:
- Refactor source code for improving readability.
- **Get rid of LiveScript**, usage another language in JS standard library looks strange and impedes usage of tools like ESLint:
- Rewrite tests to JS.
- Rewrite scripts to JS.
- Use for tests Babel with minimalistic config which should work anywhere.
- Use ESLint on the code of tests and tools.
- Remove an option for generation bundle of a version without global namespace pollution from `core-js-builder` - now it's an odd use case.
- Remove UMD wrapper from the code, generated by `core-js-builder` bundles - we don't need it for a global polyfill.

##### 2.5.7 - 2018.05.26
- Get rid of reserved variable name `final`, related [#400](https://github.com/zloirock/core-js/issues/400)

Expand All @@ -15,7 +139,7 @@
- Fixed some cases of iterators feature detection, [#368](https://github.com/zloirock/core-js/issues/368)
- Fixed manually entered NodeJS domains issue in `Promise`, [#367](https://github.com/zloirock/core-js/issues/367)
- Fixed `Number.{parseInt, parseFloat}` entry points
- Fixed `__(define|lookup)[GS]etter__` import in the `library` version
- Fixed `__(define|lookup)[GS]etter__` export in the `library` version

##### 2.5.3 - 2017.12.12
- Fixed calling `onunhandledrejectionhandler` multiple times for one `Promise` chain, [#318](https://github.com/zloirock/core-js/issues/318)
Expand Down
78 changes: 78 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Contributing

Contributions are always welcome. If you don't know what how you can help, you can check [issues](https://github.com/zloirock/core-js/issues) or ask @zloirock.

## How to add a new polyfill

- The polyfill implementation should be added to the [`packages/core-js/modules`](./packages/core-js/modules) directory.
- If the implementation for the `pure` version should differ from the global version, it should be added to [`packages/core-js-pure/modules-pure`](./packages/core-js-pure/modules-pure) directory. The rest of `core-js-pure` will be copied from `core-js` package.
- For export the polyfill, in almost all cases should be used `_export` helper.
- The polyfill should be added to the [list of polyfills](./packages/core-js-builder/config.js) and to entry points, where it's required: [`packages/core-js/index.js`](./packages/core-js/index.js), directories [`packages/core-js/features`](./packages/core-js/features), [`packages/core-js/es`](./packages/core-js/es), [`packages/core-js/esnext`](./packages/core-js/esnext) and [`packages/core-js/web`](./packages/core-js/web).
- Unit tests for the polyfill should be added to [`tests/tests`](./tests/tests) and [`tests/pure`](./tests/pure).
- All new entry points should be added to [the test of entry points](./tests/commonjs).
- Add it to [README.md](./README.md).

## Style and standards

Coding style should follow our [`.eslintrc`](./.eslintrc.js). You can test it by calling [`npm run eslint`](#testing). Different places have different syntax and standard library limitations:
- Polyfill implementations should use only ES3 syntax and standard library. Polyfills should not use another polyfill from the global namespace.
- In unit tests should be used modern syntax with our [minimalistic Babel config](./.babelrc). Unit tests for the `pure` version should not use any modern standard library features.
- In building tools and tests, performed in Node.js, should be used only available in Node.js 4 syntax and standard library.

File names should be in kebab-case. Name of files with polyfills should follow naming convention `namespace.subnamespase-where-required.feature-name`, for example, `esnext.promise.try`. Top level namespace could be `es` for stable ECMAScript features, `esnext` for ECMAScript proposals, `web` for another web standards and `core` for helpers. Internal `core-js` modules should use `_` prefix.

## Testing

Before testing, you should install dependencies:
```
$ npm i
```
You can run all tests by
```
$ npm run test
```
You can run parts of the test case separately:
- Linting:
```
$ npm run lint
```
- Global version unit tests:
```
$ npm run unit-tests
```
- `pure` version unit tests:
```
$ npm run unit-tests-pure
```
- [Promises/A+ test case](https://github.com/promises-aplus/promises-tests):
```
$ npm run promises-tests
```
- [ECMAScript `Observable` test case](https://github.com/tc39/proposal-observable):
```
$ npm run observables-tests
```
- CommonJS entry points tests:
```
$ npm run commonjs-tests
```
If you want to run tests in a certain browser at first you should build packages and test bundles:
```
$ npm run build
```
- For running global version unit test case use this file:
```
tests/tests.html
```
- For running the `pure` version unit test case use this file:
```
tests/pure.html
```
- Before running [Promises/A+ test case](https://github.com/promises-aplus/promises-tests) in the browser you should bundle it:
```
$ npm run bundle-promises-tests
```
and after that use this file:
```
tests/promises-aplus.html
```
Loading