-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Devbuild on esbuild #8774
Devbuild on esbuild #8774
Conversation
added watch mode slightly changed the start command
We already have this working in the RapiD repo, even using the I'd prefer to just send you a PR with the build tooling that we have to keep the projects more closely in sync. |
That sounds great, |
OK, so I spent some time on this today and the IE11 story is not great. Here's a brain dump of what I learned today.
<script src='https://cdn.jsdelivr.net/npm/core-js-bundle@3.19/index.min.js'></script>
I really can't spend any more time fighting with babel / core-js / esbuild to make iD work in IE11, let alone fixing all those other bugs once we get it working, so I'm going to just drop support on the RapiD side. It's probably been broken for a while and nobody noticed until you mentioned it on this PR yesterday. 😅 cc @Bonkles |
@bhousel thanks for going this far on the IE11 story, your information is a great learning! I think similarly as you did on rapiD side, decision should be made if iD should continue to support IE11. For this PR, based on the decision there are essentially two ways to processed:
In any case, as mentioned, I would prefer to reduce the code difference between the projects (iD, rapiD) which is why it is a good idea to merge all reasonable changes which we discussed in #8776 |
I vote to drop IE11, have had my suspicions for a while that it is relevant to very very few (double digit at most) users of iD and the fact that nobody has complained seems to confirm that. A shame we don't have hard proof via telemetry like you say. Edit: Even Microsoft are dropping support for it. Office 365 already doesn't since August, and the browser itself will be retired next year. |
I think a third option, which takes things as far as I got last Friday, is worth considering as it cost no extra time to set up:
But, this is really for - if people think supporting IE11 in some form is worth it, and knowing that there are more bugs to squash once we actually get it working. (my concern is more time than anything) |
Maybe @tomhughes has some means (by looking into the server logs) to see approximately how large the fraction of requests is which open the iD editor on osm.org? |
There were 5904 editor start events yesterday (that's anybody using the edit button on the site but most will be iD) and 7 of them were using IE by the looks of it. |
Sorry for delaying the decision on this for so long. My opinion is that we should drop support IE11. This is because of the relatively large to be expected amount of dev work needed to get it into an actually acceptably usable state, and the benefit of a more streamlined dev setup.
This is the way I would go forward. @mbrzakovic would you be able to finish up this pr (with #8776)? Before that, I would merge #8764, which was also kind of blocked on the decision of dropping IE11 support or not. For any further follow-up tasks: see #8811 |
Yea I can wrap it up, although please note that my dev bandwidth is very limited this and next week so I might not be super responsive on this topic during the time. Sounds like a good plan. The idea was to first merge #8776 here, iron out few small items and then finally merge this PR. Currently #8776 has few additional changes that support .legacy build which should be reverted now to be inline with the above-mentioned decision. |
Perfect, thanks 👍 And no worries. If we can land this sometime before mid January, it would be just fine for the |
* Sync up RapiD and iD esbuild config scripts * Remove uglify too * Remove babel/preset-react * Just have `npm run start` start a modern build, remove `quickstart` * Better setup for modern/legacy build - much simpler babel config - separate entry points for modern and legacy (ie11/phantom) - explicitly import 'core-js' and 'regenerator-runtime' instead of using deprecated 'babel/polyfill' plugin - still need 'core-js-bundle' for the test/index.html, so Mocha/PhantomJS combo will work. * Revert "Better setup for modern/legacy build" This reverts commit 4ce17de. Co-authored-by: Milos Brzakovic (E-Search) <mbrzakovic@microsoft.com>
Switched devbuild from rollup to esbuild.
Added start:watch command.
Minor change to start command (now runs only build:dev). start:extended now runs build.
This should speed up development process.
I thought about switching build:legacy to esbuild too, however esbuild does not support lowering to es5 which is needed to support IE users (~1.3% of desktop browser users use IE according to statcounter).