<commit_before>[![Build Status](https://travis-ci.org/angular/universal.svg?branch=master)](https://travis-ci.org/angular/universal)
[![Join the chat at https://gitter.im/angular/universal](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/angular/universal?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

# Angular Universal
> Universal (isomorphic) JavaScript support for Angular.

# Table of Contents
* [Introduction](#introduction)
* [Packages](#packages)
* [Upgrading from Angular2-Universal](#upgrading-from-angular2-universal)
* [Roadmap](#roadmap)
* [Getting Started with Universal](#getting-started)
    * w/ NodeJS Server
    * w/ ASP.NET Core Server
* [Universal "Gotchas"](#universal-gotchas)
* [Preboot](#preboot)
* [What's in a name?](#whats-in-a-name)
* [Universal Team](#universal-team)
* [License](#license)

---

# Introduction
The Angular Universal project consists of the base platform API and the surrounding tools that enables developer to do server side rendering(or pre-rendering) of Angular applications. The platform API part has been merged into Angular core as of 4.0. 

This repository will host the various tools like engines to integrate with various backends(NodeJS, ASP.NET etc.) and also extra modules and examples to help you started with server side rendering.

# Packages
The packages from this repo are published as scoped packages under [@nguniversal](https://www.npmjs.com/search?q=%40nguniversal)

- [@nguniversal/express-engine](https://github.com/angular/universal/blob/master/modules/express-engine/README.md)
- [@nguniversal/aspnetcore-engine](https://github.com/angular/universal/blob/master/modules/aspnetcore-engine/README.md)
- [@nguniversal/hapi-engine](https://github.com/angular/universal/blob/master/modules/hapi-engine/README.md)
- [@nguniversal/module-map-ngfactory-loader](https://github.com/angular/universal/tree/master/modules/module-map-ngfactory-loader) (for handling lazy loaded modules on the server).


The 1.x packages work with Angular 4.x while the 5.x packages will work with Angular 5.x. We will match the major version with Angular starting from 5.0 to avoid confusion.

NOTE: The current `latest` tag on npm points to v1.x version of the packages to be in sync with Angular CLI that uses Angular 4.x. To install the 5.0 compatible versions of the packages use the `@next` tag(Ex. `npm install @nguniversal/express-engine@next`).

# Upgrading from Angular2-Universal
> If you're coming from the original `angular2-universal` (2.x) here are some helpful steps for porting your application to Angular 4 & platform-server.

[Go here to find the guide](https://github.com/angular/universal/blob/master/UPGRADE-GUIDE.md)

----

# Roadmap
<commit_msg>chore(README): remove note on 5.0 being @next<commit_after>[![Build Status](https://travis-ci.org/angular/universal.svg?branch=master)](https://travis-ci.org/angular/universal)
[![Join the chat at https://gitter.im/angular/universal](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/angular/universal?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

# Angular Universal
> Universal (isomorphic) JavaScript support for Angular.

# Table of Contents
* [Introduction](#introduction)
* [Packages](#packages)
* [Upgrading from Angular2-Universal](#upgrading-from-angular2-universal)
* [Roadmap](#roadmap)
* [Getting Started with Universal](#getting-started)
    * w/ NodeJS Server
    * w/ ASP.NET Core Server
* [Universal "Gotchas"](#universal-gotchas)
* [Preboot](#preboot)
* [What's in a name?](#whats-in-a-name)
* [Universal Team](#universal-team)
* [License](#license)

---

# Introduction
The Angular Universal project consists of the base platform API and the surrounding tools that enables developer to do server side rendering(or pre-rendering) of Angular applications. The platform API part has been merged into Angular core as of 4.0. 

This repository will host the various tools like engines to integrate with various backends(NodeJS, ASP.NET etc.) and also extra modules and examples to help you started with server side rendering.

# Packages
The packages from this repo are published as scoped packages under [@nguniversal](https://www.npmjs.com/search?q=%40nguniversal)

- [@nguniversal/express-engine](https://github.com/angular/universal/blob/master/modules/express-engine/README.md)
- [@nguniversal/aspnetcore-engine](https://github.com/angular/universal/blob/master/modules/aspnetcore-engine/README.md)
- [@nguniversal/hapi-engine](https://github.com/angular/universal/blob/master/modules/hapi-engine/README.md)
- [@nguniversal/module-map-ngfactory-loader](https://github.com/angular/universal/tree/master/modules/module-map-ngfactory-loader) (for handling lazy loaded modules on the server).


The 1.x packages work with Angular 4.x while the 5.x packages will work with Angular 5.x. We will match the major version with Angular starting from 5.0 to avoid confusion.

# Upgrading from Angular2-Universal
> If you're coming from the original `angular2-universal` (2.x) here are some helpful steps for porting your application to Angular 4 & platform-server.

[Go here to find the guide](https://github.com/angular/universal/blob/master/UPGRADE-GUIDE.md)

----

# Roadmap

{'fraction_non_alphanumeric': 0.12291666666666666, 'fraction_numerical': 0.007954545454545454, 'mean_word_length': 5.18384074941452, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 22, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '546348', 'n_tokens_mistral': 1690, 'n_tokens_neox': 1527, 'n_words': 449}