Csaba Koncz created ATLAS-3819:
----------------------------------

             Summary: 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


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)

Reply via email to