I noticed that if you use es6 features like promises in pcf react, IE 11 will error.
https://kangax.github.io/compat-table/es6/#ie11
How do you add "polyfills" like coreJS3 into a pcf react component? It would be ideal if we can use the babel-preset-env & babel-plugin-transform-runtime to do this.
Thanks!
Shouldn't this be a part of the standard package since this is how Babel 7 will support browsers? The old "polyfill" is a Babel 6 recommendation.
As of Babel 7.4.0, this package has been deprecated in favor of directly including core-js/stable (to polyfill ECMAScript features) and regenerator-runtime/runtime (needed to use transpiled generator functions):
https://babeljs.io/docs/en/babel-polyfill
Helpers + polyfilling from core-js
So if you need core-js support with transform-runtime, you would now pass the corejs option and use the @babel/runtime-corejs2 dependency instead of @babel/runtime.
https://babeljs.io/docs/en/v7-migration
https://github.com/babel/babel/pull/8266
Ps.
Thanks for info about submitting ideas.
@ScottDurow It seems like there should be some way to hook in while putting that customization in the project file structure (and therefore source control), avoiding having to modify the files sitting in $/node_modules/*. I will make sure the CLI team gets the community feedback around this, but if it can be put into that Idea post, it would make that easier.
I don't know if 'extending' the webpack scripts is ever going to be a feasible solution?
Perhaps an eject similar to create-react-app? Thoughts @GregHurlmanMSFT
@rexkenley @ScottDurow If you would like official support for modifying the webpack config, please make sure to upvote this PowerApps Idea, leave your comments why you want it, and see if you can get others to do the same.
@rexkenley btw - I very much approve of your Ramen themed cases 🍜😋
Cool beans.
Do bare in mind that if you use your own webpack config then you are essentially outside of support regarding the PCF CLI - any changes that Microsoft team make you optimising the config you won't benefit from.
Thanks for pointing me in the right direction Scott. I went ahead and change the webpack config to use my standard preset-env configuration.
Result
I think by adding corejs3 and @babel/plugin-transform-runtime, PCF react would have better support for ie11. The other benefit of this is that you don't have to add "polyfill" in your code, babel will handle that for you (although I am not sure if you have to specify the browser target to make the entire thing work).
Hi @rexkenley
The UCI already has the bluebird promise polyfill so it's unlikely to be that.
It's more likely to be something like Object.assign.
Just to be sure - can you try adding the babel polyfill
https://babeljs.io/docs/en/babel-polyfill/
You can require/import it at the top of the index.js/ts PCF entry point.
Also - check that there are no imports that you are using that have non-transpiled ES6 features.
Is there a way to set the wepback mode to development and devtool inline-source-map so I can debug it in IE11?
Thanks for the reply. I created a simple pcf-react project that works fine in chrome, but errors in IE11. I could be wrong with my assumption that it is a missing es6 polyfill issue.
Both browsers are running v9 Unified.
Chrome on left, ie11 on right
You can find the source code at
https://github.com/rexkenley/CrmUG2019
Thanks for taking a look at this.
WarrenBelz
109
Most Valuable Professional
Michael E. Gernaey
76
Super User 2025 Season 1
mmbr1606
71
Super User 2025 Season 1