<commit_before># YANGTSE

### Yet Another aNGular Two Starter, with Express.js this time

---

A node.js based, client/server solution showing how to start up a project involving following technologies:

* [Express.js](http://expressjs.com/) to serve web pages,
* [Angular 2](https://angular.io/) framework for client-side Single Page Application,
* [TypeScript](http://www.typescriptlang.org/) as an alternative to JavaScript to write client code,
* [WebPack](https://webpack.github.io/) module bundler to process and build client source files,
* WebPack [Hot Module Replacement](https://webpack.github.io/docs/hot-module-replacement.html) to
re-compile and reload web page when client source code changes,
* [Karma](https://karma-runner.github.io) test runner and [Jasmine](http://jasmine.github.io/) BDD
testing library to unit test client source code.

## Credits

This project draws from the experience and hints given by other, earlier Angular 2 starter projects.
You might want to have a look at those, in case they might better suits your needs. Among the others, there are:

* [AngularClass/angular2-webpack-starter](https://github.com/AngularClass/angular2-webpack-starter)
* [preboot/angular2-webpack](https://github.com/preboot/angular2-webpack)
* [wkwiatek/angular2-webpack2](https://github.com/wkwiatek/angular2-webpack2)

## Prerequisites

Here are the tools that should be present in your development environment in order to work with this project:

### node.js environment

Server side application relies on node.js to run. Client side application relies on JavaScript and TypeScript,
but it needs node.js anyway to be built and processed.

* [nvm-windows](https://github.com/coreybutler/nvm-windows) 1.1.0, a node.js version management utility for Windows by Corey Butler
* node.js 4.3.2
* npm 3.8.0

## Quick start

Clone or download this repository:

~~~bash
git clone --depth 1 https://github.com/BrainCrumbz/YANGTSE.git
cd YANGTSE
~~~

Install dependencies:

~~~bash
npm install
~~~

Serve application in development, with live reload and module replacement enabled:

~~~bash
npm start
~~~

Launch browser and go to `http://localhost:3000/`.

## Available commands

This project has a number of `npm`-based commands in order to build and run both client and server
source code.

### Install

Install all dependencies:

~~~bash
npm install
~~~

Uninstall all dependencies:

~~~bash
npm uninstall
~~~

### Build

Build for development:

~~~bash
npm run build  # or npm run build-dev
~~~

Build for production:

~~~bash
npm run build-prod
~~~

Clean build output:

~~~bash
npm run clean
~~~

Clean build output and all dependencies:

~~~bash
npm run clean-deep
~~~

Before building, output will be automatically cleaned. No need to manually clean.

### Serve

Serve application in development, with live reload and module replacement enabled:

~~~bash
npm start  # or npm run serve, or npm run serve-dev
~~~

Serve application in production:

~~~bash
npm run serve-prod
~~~

Before serving, application will be automatically rebuilt. No need to manually build.

### Test

Test:

~~~bash
npm test  # or npm run test
~~~

Test with debugging enabled (e.g. breakpoints in browser console):

~~~bash
npm run test-debug
~~~

Test in watch mode (keep running tests again when code changes):

~~~bash
npm run test-watch
~~~

## License

[MIT](LICENSE)
<commit_msg>docs(readme): mention AOT, @types and webpack builds<commit_after># YANGTSE

### Yet Another aNGular Two Starter, with Express.js this time

---

A node.js based, client/server solution showing how to start up a project involving following technologies:

* [Express.js](http://expressjs.com/) to serve web pages,
* [Angular 2](https://angular.io/) framework for client-side Single Page Application,
  - Ahead Of Time (AOT) compilation for a quicker application startup
* [TypeScript](http://www.typescriptlang.org/) 2 as an alternative to JavaScript to write client code,
  - @types to include type definitions of external code
* [WebPack](https://webpack.github.io/) 2 module bundler to process and build client source files,
  - WebPack [Hot Module Replacement](https://webpack.github.io/docs/hot-module-replacement.html) to
re-compile and reload web page when client source code changes,
  - Development, test and production builds
* [Karma](https://karma-runner.github.io) test runner and [Jasmine](http://jasmine.github.io/) BDD
testing library to unit test client source code.

## Credits

This project draws from the experience and hints given by other, earlier Angular 2 starter projects.
You might want to have a look at those, in case they might better suits your needs. Among the others, there are:

* [AngularClass/angular2-webpack-starter](https://github.com/AngularClass/angular2-webpack-starter)
* [preboot/angular2-webpack](https://github.com/preboot/angular2-webpack)
* [wkwiatek/angular2-webpack2](https://github.com/wkwiatek/angular2-webpack2)

## Prerequisites

Here are the tools that should be present in your development environment in order to work with this project:

### node.js environment

Server side application relies on node.js to run. Client side application relies on JavaScript and TypeScript,
but it needs node.js anyway to be built and processed.

* [nvm-windows](https://github.com/coreybutler/nvm-windows) 1.1.0, a node.js version management utility for Windows by Corey Butler
* node.js 4.3.2
* npm 3.8.0

## Quick start

Clone or download this repository:

~~~bash
git clone --depth 1 https://github.com/BrainCrumbz/YANGTSE.git
cd YANGTSE
~~~

Install dependencies:

~~~bash
npm install
~~~

Serve application in development, with live reload and module replacement enabled:

~~~bash
npm start
~~~

Launch browser and go to `http://localhost:3000/`.

## Available commands

This project has a number of `npm`-based commands in order to build and run both client and server
source code.

### Install

Install all dependencies:

~~~bash
npm install
~~~

Uninstall all dependencies:

~~~bash
npm uninstall
~~~

### Build

Build for development:

~~~bash
npm run build  # or npm run build-dev
~~~

Build for production:

~~~bash
npm run build-prod
~~~

Clean build output:

~~~bash
npm run clean
~~~

Clean build output and all dependencies:

~~~bash
npm run clean-deep
~~~

Before building, output will be automatically cleaned. No need to manually clean.

### Serve

Serve application in development, with live reload and module replacement enabled:

~~~bash
npm start  # or npm run serve, or npm run serve-dev
~~~

Serve application in production:

~~~bash
npm run serve-prod
~~~

Before serving, application will be automatically rebuilt. No need to manually build.

### Test

Test:

~~~bash
npm test  # or npm run test
~~~

Test with debugging enabled (e.g. breakpoints in browser console):

~~~bash
npm run test-debug
~~~

Test in watch mode (keep running tests again when code changes):

~~~bash
npm run test-watch
~~~

## License

[MIT](LICENSE)

{'fraction_non_alphanumeric': 0.10420554040476532, 'fraction_numerical': 0.0071766901105210276, 'mean_word_length': 4.439500390320062, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 18, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1808687', 'n_tokens_mistral': 2149, 'n_tokens_neox': 1967, 'n_words': 829}