# Caplin Trader 5 release highlights

Caplin Trader 5 is a major upgrade to Caplin Trader that improves the developer experience by migrating the build stack from Java to [Node.js](https://nodejs.org/en/).

Node’s vibrant ecosystem has fostered great advances in developer experience (DX). From version 5, Caplin Trader applications are now faster to develop and test, and it’s easy to take advantage of the best tooling and libraries that open source has to offer.

## Node.js build stack

Applications created using Caplin Trader 5’s command-line interface are pre-configured with leading solutions for bundling, transpilation, testing, and UI component development.

**Caplin Trader 5 default build-stack**

| Role | Component |
| --- | --- |
| Development platform | [Node.js](https://nodejs.org/en/) |
| Package management | [npm](https://www.npmjs.com/) |
| Bundler | [Webpack](https://webpack.js.org/) |
| ES6 transpiler | [Babel](https://babeljs.io/) |
| JSX pre-processor | [Babel](https://babeljs.io/) |
| CSS pre-processor | [Sass](https://sass-lang.com/) ([node-sass](https://github.com/sass/node-sass)) |
| Test runners | [Karma](https://karma-runner.github.io/) |
| UI development | [React](https://legacy.reactjs.org/), [Redux](https://redux.js.org/), [Storybook](https://storybook.js.org/), and [Jest](https://jestjs.io/) |

### Flexible configuration

Use CT5’s default build stack, or customise it to suit your requirements. Webpack, the foundation of Caplin Trader 5’s default build stack, includes [loaders](https://webpack.js.org/loaders/) for a wide range of pre-processors, transpilers, and test runners.

### Easy incorporation of open-source software

Easily incorporate open-source code in your build stack or on the front end. Now Caplin Trader has a Node.js build stack, including npm packages in your project is as simple as running the command `npm install <package>`.

### Immediate developer productivity

Knowledge of Node.js and Webpack is widespread among JavaScript developers, and support for Node.js is present in all major IDEs.

### Rich learning resources

Each of the technologies in CT5’s build stack has a strong developer following, with books, articles, examples, and forums available that help get new developers up to speed quickly.

### Integrated support for ECMAScript 6, JSX, and Sass

Transpilation of ECMAScript (ES) 6 and pre-processing of JSX and Sass is handled by [loaders](https://webpack.js.org/loaders/) in the Webpack bundler, avoiding the need for you to run separate task runners or file watchers.

### Source maps

Caplin Trader 5 uses Webpack to generate [source maps](https://survivejs.com/books/webpack/building/source-maps/), which enable Google Chrome and Mozilla Firefox to display a bundle’s original source files when debugging.

![ct5-source-maps](../images/ct5-source-maps.png)

### Development server with Hot Module Replacement

Caplin Trader 5 supports Webpack’s [Hot Module Replacement](https://webpack.js.org/concepts/hot-module-replacement/) (HMR), which updates Node.js modules on-the-fly while your application runs in the development server. You can now modify a running application while retaining application state; a powerful advantage when debugging.

### Code coverage reports

Easily generate [Jest](https://jestjs.io/) code-coverage reports:

![ct5-jest-test-coverage](../images/ct5-jest-test-coverage.png)

## Simplified directory structure

Caplin Trader 4’s blades, bladesets, and aspects have been migrated to local Node.js packages, resulting in a conceptually simpler directory structure.

## Quick setup

The Caplin Trader 5 command-line interface, Caplin CLI, creates scaffolding and code templates to get you started quickly:

```console
$ npm install -g caplin-cli
$ npm install -g yarn
$ mkdir -p ~/dev/ct-workspace
$ cd ~/dev/ct-workspace
$ caplin-cli init
$ caplin-cli create-app MyApp
$ cd ~/dev/ct-workspace/apps/MyApp
$ yarn install
$ caplin-cli create-component MyComponent
```

For more information, see:

* [Installing Node.js](installing-node-js.md)
* [Installing Caplin CLI](installing-caplin-cli.md)
* [Creating a new workspace](creating-a-new-workspace.md)
* [Creating a new application](creating-a-new-application.md)
* [Creating a new component](creating-a-new-component.md)

## Caplin supported migrations

Caplin provide support and tools to help you migrate your applications to Caplin Trader 5.

We recommend that you contact your account manager to arrange an assessment of your requirements before beginning the upgrade process.
