Appendix A Open-SOurce TOOlS And FrAmewOrkS User Interface Management UI management tools like a package manger, module bundler, task runner, or testing framework would help you to manage the modules and submodules in complex UI application. A module bundler puts all its dependency in one JS file. A task runner executes tasks based on the specific criteria to automate the UI build process. • Package manager: • NPM (https://www.npmjs.com/) • YARN (https://yarnpkg.com/en/) • Bower (https://bower.io/) • Module bundler: • Webpack (https://webpack.js.org/) • Browserify (http://browserify.org/) • Rollup (https://rollupjs.org/guide/en/) • Task runner: • Grunt (https://gruntjs.com/) • Gulp (https://gulpjs.com/) • Testing: • Mocha (https://mochajs.org/) • Jest (https://jestjs.io/) • Jasmine (https://jasmine.github.io/) • Cucumber (https://cucumber.io/) • Karma (https://karma-runner.github.io/latest/index.html) A DXP uses a package manager and module bundler to integrate and manage the dependency package used while developing UI components, and uses a task runner to build tasks to minify and watch the changes while developing UI components. A DXP uses previously mentioned open-source testing frameworks for test-driven development and behavior-driven development. 323

Building Digital Experience Platforms - Page 334 Building Digital Experience Platforms Page 333 Page 335