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)