Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## Always follow the [upgrade guide](https://github.com/angular/angular-cli/blob/master/CHANGELOG.md#updating-angular-cli) when upgrading to a new version. The changelog does not list breaking changes that are fixed via the update procedure.

<a name="1.0.0-beta.6"></a>
# 1.0.0-beta.6 (2016-06-13)

### Features
- Admin elevation no longer required on Windows (https://github.com/angular/angular-cli/pull/905).
- Automatically add SASS/Stylus if project is initialized with `--style={sass|scss|styl}` (https://github.com/angular/angular-cli/pull/998).
- Allow any number of env files (https://github.com/angular/angular-cli/pull/913).

### Bug Fixes
- Fix adding 3rd party libs without package format (https://github.com/angular/angular-cli/pull/1028/commits/065e98f40384f8b28dcaf84028c411043697ff11).
- Fix github deploy deep links (https://github.com/angular/angular-cli/pull/1020).
- Fix `ng e2e` exit code (https://github.com/angular/angular-cli/pull/1025).
- Fix missing vendor file (https://github.com/angular/angular-cli/pull/972).
- Fix github user pages base href (https://github.com/angular/angular-cli/pull/965).

### BREAKING CHANGES
- `<PROJECT-NAME>AppComponent` is now simply `AppComponent`, and it's selector is now `app-root` (https://github.com/angular/angular-cli/pull/1042).

- Route generation is temporarily disabled while we move to the [recently announce router](http://angularjs.blogspot.ie/2016/06/improvements-coming-for-routing-in.html)(https://github.com/angular/angular-cli/pull/992). It is recommended that users manually move to this router in all new projects.

<a name="1.0.0-beta.5"></a>
# 1.0.0-beta.5 (2016-05-19)

### Known Issues

- `ng new -mobile` fails npm install (https://github.com/angular/angular-cli/issues/958).
- Adding 3rd party libs without SystemJS package format breaks prod mode (https://github.com/angular/angular-cli/issues/951).
- Deep links do not work on Github pages deploys (https://github.com/angular/angular-cli/issues/995).
- `ng e2e` doesn't return error exit code on test failures (https://github.com/angular/angular-cli/issues/1017).
- `ng build -prod` fails on mobile projects due to missing vendor file (https://github.com/angular/angular-cli/issues/847).
- Github deploy to user pages doesn't use correct base href (https://github.com/angular/angular-cli/pull/965).
- `ng test` on windows hits the file discriptor limit (https://github.com/angular/angular-cli/issues/977).
- `ng serve/build/test` need admin elevation on Windows (https://github.com/angular/angular-cli/issues/641).
41 changes: 39 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ The generated project has dependencies that require **Node 4 or greater**.
* [Installation](#installation)
* [Usage](#usage)
* [Generating a New Project](#generating-and-serving-an-angular2-project-via-a-development-server)
* [Generating Components, Directives, Pipes and Services](#generating-other-scaffolds)
* [Generating Components, Directives, Pipes and Services](#generating-components-directives-pipes-and-services)
* [Generating a Route](#generating-a-route)
* [Creating a Build](#creating-a-build)
* [Environments](#environments)
* [Running Unit Tests](#running-unit-tests)
* [Running End-to-End Tests](#running-end-to-end-tests)
* [Deploying the App via GitHub Pages](#deploying-the-app-via-github-pages)
Expand All @@ -36,7 +37,9 @@ The generated project has dependencies that require **Node 4 or greater**.
* [Commands autocompletion](#commands-autocompletion)
* [CSS preprocessor integration](#css-preprocessor-integration)
* [3rd Party Library Installation](#3rd-party-library-installation)
* [Updating angular-cli](#updating-angular-cli)
* [Known Issues](#known-issues)
* [Development Hints for hacking on angular-cli](#development-hints-for-hacking-on-angular-cli)

## Installation

Expand Down Expand Up @@ -66,7 +69,7 @@ You can configure the default HTTP port and the one used by the LiveReload serve
ng serve --port 4201 --live-reload-port 49153
```

### Generating other scaffolds
### Generating Components, Directives, Pipes and Services

You can use the `ng generate` (or just `ng g`) command to generate Angular components:

Expand All @@ -90,6 +93,9 @@ Component | `ng g component my-new-component`
Directive | `ng g directive my-new-directive`
Pipe | `ng g pipe my-new-pipe`
Service | `ng g service my-new-service`
Class | `ng g class my-new-class`
Interface | `ng g interface my-new-interface`
Enum | `ng g enum my-new-enum`

### Generating a route

Expand Down Expand Up @@ -130,6 +136,10 @@ current cli environment.
Environment defaults to `dev`, but you can generate a production build via
the `-prod` flag in either `ng build -prod` or `ng serve -prod`.

You can also add your own env files other than `dev` and `prod` by creating a
`src/client/app/environment.{NAME}.ts` and use them by using the `--env=NAME`
flag on the build/serve commands.

### Running unit tests

```bash
Expand Down Expand Up @@ -237,6 +247,33 @@ The `Angular2App`'s options argument has `sassCompiler`, `lessCompiler`, `stylus

The installation of 3rd party libraries are well described at our [Wiki Page](https://github.com/angular/angular-cli/wiki/3rd-party-libs)

### Updating angular-cli

To update `angular-cli` to a new version, you must update both the global package and your project's local package.

Global package:
```
npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@latest
```

Local project package:
```
rm -rf node_modules dist tmp
npm install --save-dev angular-cli@latest
ng init
```

Running `ng init` will check for changes in all the auto-generated files created by `ng new` and allow you to update yours. You are offered four choices for each changed file: `y` (overwrite), `n` (don't overwrite), `d` (show diff between your file and the updated file) and `h` (help).

Carefully read the diffs for each code file, and either accept the changes or incorporate them manually after `ng init` finishes.

**The main cause of errors after an update is failing to incorporate these updates into your code**.

You can find more details about changes between versions in [CHANGELOG.md](https://github.com/angular/angular-cli/blob/master/CHANGELOG.md).


## Known issues

This project is currently a prototype so there are many known issues. Just to mention a few:
Expand Down
11 changes: 6 additions & 5 deletions addon/ng2/blueprints/class/files/__path__/__name__.spec.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/* tslint:disable:no-unused-variable */

import {
describe,
ddescribe,
expect,
iit,
it
beforeEach, beforeEachProviders,
describe, xdescribe,
expect, it, xit,
async, inject
} from '@angular/core/testing';
import {<%= classifiedModuleName %>} from './<%= fileName %>';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,46 +1,20 @@
/* tslint:disable:no-unused-variable */

import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';

import {
beforeEach,
beforeEachProviders,
describe,
expect,
it,
inject
beforeEach, beforeEachProviders,
describe, xdescribe,
expect, it, xit,
async, inject
} from '@angular/core/testing';
import { ComponentFixture, TestComponentBuilder } from '@angular/compiler/testing';
import { Component } from '@angular/core';
import { By } from '@angular/platform-browser';

import { <%= classifiedModuleName %>Component } from './<%= dasherizedModuleName %>.component';

describe('Component: <%= classifiedModuleName %>', () => {
let builder: TestComponentBuilder;

beforeEachProviders(() => [<%= classifiedModuleName %>Component]);
beforeEach(inject([TestComponentBuilder], function (tcb: TestComponentBuilder) {
builder = tcb;
}));

it('should inject the component', inject([<%= classifiedModuleName %>Component],
(component: <%= classifiedModuleName %>Component) => {
it('should create an instance', () => {
let component = new <%= classifiedModuleName %>Component();
expect(component).toBeTruthy();
}));

it('should create the component', inject([], () => {
return builder.createAsync(<%= classifiedModuleName %>ComponentTestController)
.then((fixture: ComponentFixture<any>) => {
let query = fixture.debugElement.query(By.directive(<%= classifiedModuleName %>Component));
expect(query).toBeTruthy();
expect(query.componentInstance).toBeTruthy();
});
}));
});
});

@Component({
selector: 'test',
template: `
<<%= selector %>></<%= selector %>>
`,
directives: [<%= classifiedModuleName %>Component]
})
class <%= classifiedModuleName %>ComponentTestController {
}

Original file line number Diff line number Diff line change
@@ -1,29 +1,16 @@
/* tslint:disable:no-unused-variable */

import {
async,
beforeEachProviders,
describe,
ddescribe,
expect,
iit,
it,
inject
beforeEach, beforeEachProviders,
describe, xdescribe,
expect, it, xit,
async, inject
} from '@angular/core/testing';
import { ComponentFixture, TestComponentBuilder } from '@angular/compiler/testing';
import { provide, Component } from '@angular/core';
import { <%= classifiedModuleName %> } from './<%= dasherizedModuleName %>.directive';

@Component({
selector: 'test-component',
template: `<div <%= dasherizedModuleName %>></div>`
})
class TestComponent {}

describe('<%= classifiedModuleName %> Directive', () => {
beforeEachProviders((): any[] => []);

it('should ...', async(inject([TestComponentBuilder], (tcb:TestComponentBuilder) => {
return tcb.createAsync(TestComponent).then((fixture: ComponentFixture<any>) => {
fixture.detectChanges();
});
})));
it('should create an instance', () => {
let directive = new <%= classifiedModuleName %>();
expect(directive).toBeTruthy();
});
});
2 changes: 1 addition & 1 deletion addon/ng2/blueprints/ng2/files/.editorconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# http://editorconfig.org
# Editor configuration, see http://editorconfig.org
root = true

[*]
Expand Down
31 changes: 31 additions & 0 deletions addon/ng2/blueprints/ng2/files/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# <%= jsComponentName %>

This project was generated with [angular-cli](https://github.com/angular/angular-cli) version <%= version %>.

## Development server
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive/pipe/service/route/class`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
Before running the tests make sure you are serving the app via `ng serve`.

## Deploying to Github Pages

Run `ng github-pages:deploy` to deploy to Github Pages.

## Further help

To get more help on the `angular-cli` use `ng --help` or go check out the [Angular-CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/* tslint:disable:no-unused-variable */

import {
beforeEachProviders,
describe,
expect,
it,
inject
beforeEach, beforeEachProviders,
describe, xdescribe,
expect, it, xit,
async, inject
} from '@angular/core/testing';
import { AppComponent } from './app.component';

Expand Down
4 changes: 4 additions & 0 deletions addon/ng2/blueprints/ng2/files/__path__/system-config.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
// SystemJS configuration file, see links for more information
// https://github.com/systemjs/systemjs
// https://github.com/systemjs/systemjs/blob/master/docs/config-api.md

/***********************************************************************************************
* User Configuration.
**********************************************************************************************/
Expand Down
4 changes: 4 additions & 0 deletions addon/ng2/blueprints/ng2/files/__path__/typings.d.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
// Typings reference file, see links for more information
// https://github.com/typings/typings
// https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html

/// <reference path="<%= refToTypings %>/typings/browser.d.ts" />
<% if(!isMobile) { %>declare var module: { id: string };<% } %>
4 changes: 4 additions & 0 deletions addon/ng2/blueprints/ng2/files/angular-cli-build.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
// Angular-CLI build configuration
// This file lists all the node_modules files that will be used in a build
// Also see https://github.com/angular/angular-cli/wiki/3rd-party-libs

/* global require, module */

var Angular2App = require('angular-cli/lib/broccoli/angular2-app');
Expand Down
3 changes: 3 additions & 0 deletions addon/ng2/blueprints/ng2/files/config/environment.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Angular-CLI server configuration
// Unrelated to environment.dev|prod.ts

/* jshint node: true */

module.exports = function(environment) {
Expand Down
2 changes: 2 additions & 0 deletions addon/ng2/blueprints/ng2/files/config/karma-test-shim.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// Test shim for Karma, needed to load files via SystemJS

/*global jasmine, __karma__, window*/
Error.stackTraceLimit = Infinity;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000;
Expand Down
3 changes: 3 additions & 0 deletions addon/ng2/blueprints/ng2/files/config/karma.conf.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html

module.exports = function (config) {
config.set({
basePath: '..',
Expand Down
3 changes: 3 additions & 0 deletions addon/ng2/blueprints/ng2/files/config/protractor.conf.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/docs/referenceConf.js

/*global jasmine */
var SpecReporter = require('jasmine-spec-reporter');

Expand Down
4 changes: 4 additions & 0 deletions addon/ng2/blueprints/ng2/files/gitignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@

# IDEs and editors
/.idea
.project
.classpath
*.launch
.settings/

# misc
/.sass-cache
Expand Down
Loading