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

#83 fix for Opera 10.x #84

Merged
merged 1 commit into from
Feb 6, 2018
Merged

Conversation

philippsimon
Copy link
Contributor

@philippsimon philippsimon commented Jan 2, 2018

Fix for #83

@philippsimon
Copy link
Contributor Author

@zertosh, @goto-bus-stop could one of you please merge this pull request?
We're developing SmartTV apps that should also run on some older TVs and set-top boxes and the current browserify doesn't work anymore because of issue #83 on those devices. Thanks a lot!!

@philippsimon
Copy link
Contributor Author

@goto-bus-stop could you please also merge my pull request? It doesn't affect any other browser and would help me a lot.

@philippsimon
Copy link
Contributor Author

Btw: I just realized that the testling.ci status image links to a wrong URL:
https://ci.testling.com/substack/browser-pack instead of https://ci.testling.com/browserify/browser-pack

@goto-bus-stop goto-bus-stop self-requested a review January 15, 2018 14:02
@goto-bus-stop
Copy link
Member

will try to get to it tonight, got some other work to do first :) sorry for leaving this hanging

@philippsimon
Copy link
Contributor Author

No problem - I know that feeling way too well ;)

@goto-bus-stop
Copy link
Member

Hmm opera 10 seems to be in very very low use according to this browser usage table. I don't know how different those numbers would be accounting for older smart tvs (or whether they are already represented), but I'd rather not add more bytes to every browserify bundle to support old browsers if it can be avoided.

Would specifying a custom prelude be an option for you? Options passed to the browserify constructor are passed through to browser-pack, so something like this should work if you have placed your edited prelude file in ./opera10-prelude.js:

browserify({
  prelude: fs.readFileSync('./opera10-prelude.js', 'utf8'),
  preludePath: path.join(__dirname, './opera10-prelude.js')
})

@philippsimon
Copy link
Contributor Author

The problem is that the standard statistics only measure desktop and mobile browsers. No SmartTVs.
We measure at the moment only in Germany around 10 million active devices that use the SmartTV standard HbbTV (which is based on OIPF and was now merged with HbbTV).
The problem there is that only the standard released end of last year officially supports ECMAScript5. All devices before require only ECMAScript3 which doesn't work with browserify. Because of that most SmartTV developers switched because of that to webpack which can be made ECMAScript3 compatible.
Here more about the worldwide distribution of HbbTV:
https://www.hbbtv.org/wp-content/uploads/2017/10/07_Heinrich-E.-Haase_HbbTV_HbbTV_2017_Rome-ROW-Review.pdf
Also the SmartTV apps developed according to the SmartTV Alliance (Panasonic, LG, Philips, Toshiba) are based on the OIPF standard and all older devices have the same problem.
The big problem is that TVs are used normally for quite a long time and are hardly updated by the manufactures. We measure at the moment that around 15% of the devices are only compatible to ECMAScript3. According to this statistics about sold devices this could still affect up to 100 million devices worldwide:
https://www.statista.com/statistics/461316/global-tv-unit-sales/

@ljharb
Copy link
Member

ljharb commented Feb 6, 2018

The added cost of another function wrap is negligible; the cost of breaking in any browser, no matter how little-used, is high. I’d love to see this land.

@goto-bus-stop goto-bus-stop merged commit 1faef2d into browserify:master Feb 6, 2018
@goto-bus-stop
Copy link
Member

released in 6.0.4; thanks for bringing this up @philippsimon & for sharing the info about smart tv standards!

@philippsimon
Copy link
Contributor Author

Great - thanks a lot!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants