Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

Support ES6/ES2015 Features #14506

Closed
ariya opened this issue Aug 25, 2016 · 28 comments
Closed

Support ES6/ES2015 Features #14506

ariya opened this issue Aug 25, 2016 · 28 comments
Assignees

Comments

@ariya
Copy link
Owner

ariya commented Aug 25, 2016

ES2015 (also colloquially known as ES6) will be possible with the new effort towards version 2.5 (see #14458 for details).

When building PhantomJS with the latest QtWebKit, PhantomJS will get all the latest JavaScriptCore support for ES2015. See the blog post ES6 Feature Complete for more details.

At that time, all examples should be also modernized to use the latest ES2015 syntax.

@ariya
Copy link
Owner Author

ariya commented Aug 25, 2016

(This is to consolidate every little, individual inquiry on ES6 request)

@ghost
Copy link

ghost commented Sep 27, 2016

Hi!

  1. When approximately do you plan release PhantomJS version 2.5( with ES6 support)?
  2. New PhantomJS version 2.5 will support 100% ES6?

Thanks in advance

@mgamsjager
Copy link

I also would like to know when this is going to happen.

@vitallium
Copy link
Collaborator

Hi. Answering to your questions:

  1. When we solve all issues listed here Towards PhantomJS 2.5 #14458
  2. Yes. 2.5 will have full support for ES2015.

Cortys added a commit to runnr/LokiJS that referenced this issue Oct 22, 2016
Loki won't be tested against Node 0.10 anymore, since it is officially at its EOL. This is also necessary to move to a Promise based API.

Because PhantomJS currently does not support ES6, a Promise polyfill is used in the browser tests in the meantime (see ariya/phantomjs#14506).
@jedwards1211
Copy link

babel-polyfill seems to be crashing PhantomJS for me...has anyone else seen that happen?

@vitallium
Copy link
Collaborator

2.5 beta release now supports ES2015! Give it a try! 🙌

@killerbytes
Copy link

How do I install beta release?

@atesgoral
Copy link

After spending around 30 minutes looking around (GitHub, Bitbucket, existing documentation) and even looking at the commit history (on master and 2.1 branches), I still don't know where the 2.5 beta source code is. Where is the latest and greatest (even if unstable) codebase for PhantomJS (for those of us who want to try building it ourselves)?

@shellscape
Copy link

Would someone with the project be able to release the 2.5 beta on npm under a next or beta tag? Tried the binary directly and ended up with dyld: Library not loaded: /usr/local/opt/webp/lib/libwebp.6.dylib.

@arokhmistrov
Copy link

@vitallium Binaries of the latest beta version for windows (phantomjs-2.5.0-beta-windows.zip) does not follow naming conversion for executable path as in previous versions.
It's now
phantomjs-2.5.0.beta-windows\bin\phantomjs.exe
instead of
phantomjs-2.5.0-beta-windows\bin\phantomjs.exe

It breaks phantomjs-maven-plugin, which uses this template phantomjs-{version}-{classifier}/bin/phantomjs.exe for the path.

For linux it's ok.

@vitallium
Copy link
Collaborator

vitallium commented May 25, 2017

@arokhmistrov Whoops. Updated! Thank you.

@Bard182
Copy link

Bard182 commented May 31, 2017

Any plans to create a ruby gem for the 2.5 beta? Super eager to experiment with it in a ruby project, but not having any luck implementing the downloads. Thanks!

@arantius
Copy link

I'm on trusty:

$ grep DISTRIB /etc/lsb-release
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04

I downloaded phantomjs-2.5.0-beta-linux-ubuntu-trusty-x86_64.tar.gz and extracted it, I get:

$ ./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs 
./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs)
./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs)
./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs)
./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./phantomjs-2.5.0-beta-ubuntu-trusty/bin/phantomjs)

Looks like, I think, it wants gcc 4.9 but only up to 4.8 is available. I can't use PPAs, which seems to be the way the internet suggests getting gcc 4.9 on trusty.

@vitallium
Copy link
Collaborator

@arantius yes, we follow Webkit plans to drop old compilers (like GCC 4.8 or MSVC2015). Modern WebKit requires compilers with C++11 and C++14 support (most of them).

@ashawley
Copy link

ashawley commented Jul 3, 2017

@Bard182 For Ruby gems of 2.5, try building the branch at colszowka/phantomjs-gem#97.

The gem needs testing on Windows, so it would be useful to have someone verify it works.

jupe added a commit to OpenTMI/opentmi-jsclient that referenced this issue Oct 17, 2017
jupe added a commit to OpenTMI/opentmi-jsclient that referenced this issue Oct 17, 2017
* replace phantomjs with headless_chrome

phantomjs doesn't support es6 (ariya/phantomjs#14506)
afeld added a commit to afeld/jsonp that referenced this issue Dec 15, 2017
...for compatibility with PhantomJS.

ariya/phantomjs#14506
@ghost ghost removed this from the Release 2.5 milestone Jan 10, 2018
@ghost ghost removed the Fixed in dev label Jan 10, 2018
@ariya
Copy link
Owner Author

ariya commented Mar 3, 2018

Seems that it is now viable with the updated community QtWebKit.
From now on, please track #15342. Thank you!

@ariya ariya closed this as completed Mar 3, 2018
hirenraval77 pushed a commit to hirenraval77/pos_logo that referenced this issue Jan 16, 2020
Object.assign is introduced in ES6 (2015) which is not supported by
PhantomJS. Replace it with the equivalent _.extend function to prevent
frontend tests from failing.

1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Specifications
2. ariya/phantomjs#14506
i-vyshnevska pushed a commit to camptocamp/pos that referenced this issue Aug 9, 2022
Object.assign is introduced in ES6 (2015) which is not supported by
PhantomJS. Replace it with the equivalent _.extend function to prevent
frontend tests from failing.

1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Specifications
2. ariya/phantomjs#14506
i-vyshnevska pushed a commit to camptocamp/pos that referenced this issue Aug 24, 2022
Object.assign is introduced in ES6 (2015) which is not supported by
PhantomJS. Replace it with the equivalent _.extend function to prevent
frontend tests from failing.

1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Specifications
2. ariya/phantomjs#14506
yankinmax pushed a commit to yankinmax/pos that referenced this issue Feb 27, 2023
Object.assign is introduced in ES6 (2015) which is not supported by
PhantomJS. Replace it with the equivalent _.extend function to prevent
frontend tests from failing.

1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Specifications
2. ariya/phantomjs#14506
ivs-cetmix pushed a commit to cetmix/oca-pos that referenced this issue Mar 2, 2023
Object.assign is introduced in ES6 (2015) which is not supported by
PhantomJS. Replace it with the equivalent _.extend function to prevent
frontend tests from failing.

1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Specifications
2. ariya/phantomjs#14506
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

16 participants