You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ilya Borisov (JIRA)" <ji...@apache.org> on 2018/07/18 10:06:00 UTC

[jira] [Commented] (IGNITE-9028) Web console: update to Babel 7

    [ https://issues.apache.org/jira/browse/IGNITE-9028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16547640#comment-16547640 ] 

Ilya Borisov commented on IGNITE-9028:
--------------------------------------

What was done:
- Babel was updated to ^7.0.0-beta.53. Some dependencies have a beta/pre-release versions designed to work with Babel 7, so I updated to those too.
- Removed karma and webpack config transpilation. ES6 import syntax is not worth extra setup/troubles over regular CommonJS syntax. We can switch back when ES6 module support in node won't require --experimental-modules flag.
- Babel preset was changed to babel-env with ">1%, not ie 11, not op_mini all" rules. See the browsers it matches [here|http://browserl.ist/?q=%3E1%25%2C+not+ie+11%2C+not+op_mini+all], and [why|https://jamie.build/last-2-versions] I opted for this instead of "last 2 versions" suggested by default.
- Babel polyfill was removed. I think we don't need it given the new babel-env setup.
- Some code required minor updates in order to work under new Babel setup.
- Webpack implicit "-loader" suffix was removed. Webpack docs advise advise to always use full loader names.
- Eslint was updated to the latest 4.x in order to fix false-positive errors.

What to test:
- Controllers and services defined as arrow functions throw an error during DI instantiation because these aren't constructors. This type of error did not occur previously because arrow functions were transpiled to regular functions. I've fixed what I managed to find, but there might be a place or two I missed. When this happens, you'll get error saying something like "some-something does not have a constructor". Injected providers are created lazily, so the error might be delayed until component is rendered, you visit a particular page or open a dialog.
- Web console should work in latest Firefox, Chrome, Safari and Edge.
- Unit tests should run.
- E2E tests should run.

> Web console: update to Babel 7
> ------------------------------
>
>                 Key: IGNITE-9028
>                 URL: https://issues.apache.org/jira/browse/IGNITE-9028
>             Project: Ignite
>          Issue Type: Improvement
>          Components: wizards
>            Reporter: Ilya Borisov
>            Assignee: Ilya Borisov
>            Priority: Major
>
> While Babel 7 is still in beta, I think it might be a good idea to update a beta version of major dependency once in a while. It will be released soon enough, so even if any issues occur we'll most like be able to iron those out. As a benefit, Babel 7 will also provide an easy TypeScript migration path.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)