You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Csaba Koncz (Jira)" <ji...@apache.org> on 2020/07/04 14:43:00 UTC

[jira] [Updated] (ATLAS-3819) Modernize client side technology stack

     [ https://issues.apache.org/jira/browse/ATLAS-3819?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Csaba Koncz updated ATLAS-3819:
-------------------------------
    Attachment: image-2020-07-04-16-42-10-643.png

> Modernize client side technology stack
> --------------------------------------
>
>                 Key: ATLAS-3819
>                 URL: https://issues.apache.org/jira/browse/ATLAS-3819
>             Project: Atlas
>          Issue Type: Improvement
>          Components: atlas-webui
>    Affects Versions: 3.0.0
>            Reporter: Csaba Koncz
>            Priority: Major
>         Attachments: image-2020-07-04-16-42-10-643.png
>
>
> While RequireJS has its merits and advantages, it might be worth considering replacing it with another technology.
> A bundle loader like Webpack would open up a number of possibilities:
> - use of ES6 modules, which immediately improves tooling support
> - use TypeScript, which improves tooling support even more
> - a manageable code base would enable refactoring of the JavaScript code so that no logic happens in the module initialization code,
> which in turn would make it possible to write tests for the JavaScript logic.
> As a POC I created a NodeJS project that transforms the current dashboardv2 code into Webpack bundles and demonstrates
> that the UI is able to work without RequireJS.
> Right now the JavaScript sources and index.html are used unchanged,
> but the next step would be to start converting the source to ES6 modules.
> Here is the code: https://github.com/csabakoncz/atlas-newui
> The most important file there is `webpack.config.js` that takes over the role of RequireJS.config.
> The other file of interest might be `src/index.ts` which demonstrates the ability to use TypeScript code even now.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)