diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index c2658d7d1..000000000 --- a/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 5df8ced96..74dd70b48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,18 @@ ## Angular Documentation QuickStart Changelog -Upgraders: to be sure of a fresh start, consider running these commands +Upgraders: for a fresh start, consider running these commands * `git clean -xdf` * `npm install` * `npm run webdriver:update` + +# 0.2.17 (2016-11-16) +* Conform to updated QuickStart advice + * removed docker everywhere (was nice but not necessary) + * removed wallaby + * shrink styles.css + * refine tsconfig.json + * `AppComponent` uses interpolation + # 0.2.16 (2016-11-14) * Update to Angular 2.2.0 diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 7ad0f4375..000000000 --- a/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -# To build and run with Docker: -# -# $ docker build -t ng-quickstart . -# $ docker run -it --rm -p 3000:3000 -p 3001:3001 ng-quickstart -# -FROM node:latest - -RUN mkdir -p /quickstart /home/nodejs && \ - groupadd -r nodejs && \ - useradd -r -g nodejs -d /home/nodejs -s /sbin/nologin nodejs && \ - chown -R nodejs:nodejs /home/nodejs - -WORKDIR /quickstart -COPY package.json /quickstart/ -RUN npm install --unsafe-perm=true - -COPY . /quickstart -RUN chown -R nodejs:nodejs /quickstart -USER nodejs - -CMD npm start diff --git a/app/app.component.ts b/app/app.component.ts index 5a299a8ef..7fb173cd0 100644 --- a/app/app.component.ts +++ b/app/app.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'my-app', - template: `

Hello Angular

` + selector: 'my-app', + template: `

Hello {{name}}

`, }) -export class AppComponent { } +export class AppComponent { name = 'Angular'; } diff --git a/index.html b/index.html index c0b1c4431..863c3e0ba 100644 --- a/index.html +++ b/index.html @@ -20,6 +20,6 @@ - Loading... + Loading AppComponent content here ... diff --git a/package.json b/package.json index b64d94ff7..ed4741a61 100644 --- a/package.json +++ b/package.json @@ -4,26 +4,18 @@ "description": "QuickStart package.json from the documentation, supplemented with testing support", "scripts": { "start": "tsc && concurrently \"tsc -w\" \"lite-server\" ", - "docker-build": "docker build -t ng2-quickstart .", - "docker": "npm run docker-build && docker run -it --rm -p 3000:3000 -p 3001:3001 ng2-quickstart", - "pree2e": "npm run webdriver:update", "e2e": "tsc && concurrently \"http-server -s\" \"protractor protractor.config.js\" --kill-others --success first", "lint": "tslint ./app/**/*.ts -t verbose", "lite": "lite-server", + "pree2e": "webdriver-manager update", "test": "tsc && concurrently \"tsc -w\" \"karma start karma.conf.js\"", "test-once": "tsc && karma start karma.conf.js --single-run", "tsc": "tsc", - "tsc:w": "tsc -w", - "webdriver:update": "webdriver-manager update" + "tsc:w": "tsc -w" }, "keywords": [], "author": "", - "licenses": [ - { - "type": "MIT", - "url": "https://github.com/angular/angular.io/blob/master/LICENSE" - } - ], + "license": "MIT", "dependencies": { "@angular/common": "~2.2.0", "@angular/compiler": "~2.2.0", @@ -33,7 +25,6 @@ "@angular/platform-browser": "~2.2.0", "@angular/platform-browser-dynamic": "~2.2.0", "@angular/router": "~3.2.0", - "@angular/upgrade": "~2.2.0", "angular-in-memory-web-api": "~0.1.15", "systemjs": "0.19.40", @@ -45,7 +36,7 @@ "devDependencies": { "concurrently": "^3.1.0", "lite-server": "^2.2.2", - "typescript": "^2.0.3", + "typescript": "^2.0.10", "canonical-path": "0.0.2", "http-server": "^0.9.0", @@ -62,7 +53,6 @@ "webdriver-manager": "10.2.5", "rimraf": "^2.5.4", - "@types/core-js": "^0.9.34", "@types/node": "^6.0.46", "@types/jasmine": "^2.5.36", "@types/selenium-webdriver": "^2.53.33" diff --git a/styles.css b/styles.css index 054b417f6..c30a0620d 100644 --- a/styles.css +++ b/styles.css @@ -1,142 +1,5 @@ -/* Master Styles */ -h1 { - color: #369; - font-family: Arial, Helvetica, sans-serif; - font-size: 250%; -} -h2, h3 { - color: #444; - font-family: Arial, Helvetica, sans-serif; - font-weight: lighter; -} -body { - margin: 2em; -} -body, input[text], button { - color: #888; - font-family: Cambria, Georgia; -} -a { - cursor: pointer; - cursor: hand; -} -button { - font-family: Arial; - background-color: #eee; - border: none; - padding: 5px 10px; - border-radius: 4px; - cursor: pointer; - cursor: hand; -} -button:hover { - background-color: #cfd8dc; -} -button:disabled { - background-color: #eee; - color: #aaa; - cursor: auto; -} - -/* Navigation link styles */ -nav a { - padding: 5px 10px; - text-decoration: none; - margin-top: 10px; - display: inline-block; - background-color: #eee; - border-radius: 4px; -} -nav a:visited, a:link { - color: #607D8B; -} -nav a:hover { - color: #039be5; - background-color: #CFD8DC; -} -nav a.router-link-active { - color: #039be5; -} - -/* items class */ -.items { - margin: 0 0 2em 0; - list-style-type: none; - padding: 0; - width: 24em; -} -.items li { - cursor: pointer; - position: relative; - left: 0; - background-color: #EEE; - margin: .5em; - padding: .3em 0; - height: 1.6em; - border-radius: 4px; -} -.items li:hover { - color: #607D8B; - background-color: #DDD; - left: .1em; -} -.items li.selected:hover { - background-color: #BBD8DC; - color: white; -} -.items .text { - position: relative; - top: -3px; -} -.items { - margin: 0 0 2em 0; - list-style-type: none; - padding: 0; - width: 24em; -} -.items li { - cursor: pointer; - position: relative; - left: 0; - background-color: #EEE; - margin: .5em; - padding: .3em 0; - height: 1.6em; - border-radius: 4px; -} -.items li:hover { - color: #607D8B; - background-color: #DDD; - left: .1em; -} -.items li.selected { - background-color: #CFD8DC; - color: white; -} - -.items li.selected:hover { - background-color: #BBD8DC; -} -.items .text { - position: relative; - top: -3px; -} -.items .badge { - display: inline-block; - font-size: small; - color: white; - padding: 0.8em 0.7em 0 0.7em; - background-color: #607D8B; - line-height: 1em; - position: relative; - left: -1px; - top: -4px; - height: 1.8em; - margin-right: .8em; - border-radius: 4px 0 0 4px; -} - -/* everywhere else */ -* { - font-family: Arial, Helvetica, sans-serif; -} +h1 { + color: #369; + font-family: Arial, Helvetica, sans-serif; + font-size: 250%; +} diff --git a/tsconfig.json b/tsconfig.json index 0686497d8..d8cdfb44c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,14 +6,10 @@ "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, - "removeComments": false, + "lib": [ "es2015", "dom" ], "noImplicitAny": true, - "suppressImplicitAnyIndexErrors": true, - "typeRoots": [ - "./node_modules/@types/" - ] + "suppressImplicitAnyIndexErrors": true }, - "compileOnSave": true, "exclude": [ "node_modules/*", "**/*-aot.ts" diff --git a/wallaby.js b/wallaby.js deleted file mode 100644 index acc34d35f..000000000 --- a/wallaby.js +++ /dev/null @@ -1,119 +0,0 @@ -// Configuration for the Wallaby Visual Studio Code testing extension -// https://marketplace.visualstudio.com/items?itemName=WallabyJs.wallaby-vscode -// Note: Wallaby is not open source and costs money - -module.exports = function () { - return { - files: [ - // System.js for module loading - {pattern: 'node_modules/systemjs/dist/system.js', instrument: false}, - {pattern: 'systemjs.config.js', instrument: false}, - {pattern: 'systemjs.config.extras.js', instrument: false}, - - // Polyfills - {pattern: 'node_modules/core-js/client/shim.min.js', instrument: false}, - {pattern: 'node_modules/reflect-metadata/Reflect.js', instrument: false}, - - // zone.js - {pattern: 'node_modules/zone.js/dist/zone.js', instrument: false}, - {pattern: 'node_modules/zone.js/dist/long-stack-trace-zone.js', instrument: false}, - {pattern: 'node_modules/zone.js/dist/proxy.js', instrument: false}, - {pattern: 'node_modules/zone.js/dist/sync-test.js', instrument: false}, - {pattern: 'node_modules/zone.js/dist/jasmine-patch.js', instrument: false}, - {pattern: 'node_modules/zone.js/dist/async-test.js', instrument: false}, - {pattern: 'node_modules/zone.js/dist/fake-async-test.js', instrument: false}, - - // application (but not specs) loaded via module imports - {pattern: 'app/**/*+(ts|html|css)', load: false}, - {pattern: 'app/**/*.spec.ts', ignore: true}, - - {pattern: 'testing/**/*+(ts|html|css)', load: false}, - ], - - tests: [ - {pattern: 'app/**/*.spec.ts', load: false} - ], - - middleware: function (app, express) { - app.use('/node_modules', express.static(require('path').join(__dirname, 'node_modules'))); - }, - - testFramework: 'jasmine', - - debug: true, - - bootstrap: bootstrap - }; -}; - -// Like karma-test-shim.js -function bootstrap (wallaby) { - wallaby.delayStart(); - - System.config({ - // Extend usual application package list with test folder - packages: { 'testing': { main: 'index.js', defaultExtension: 'js' } }, - - // Assume npm: is set in `paths` in systemjs.config - // Map the angular testing umd bundles - map: { - '@angular/core/testing': 'npm:@angular/core/bundles/core-testing.umd.js', - '@angular/common/testing': 'npm:@angular/common/bundles/common-testing.umd.js', - '@angular/compiler/testing': 'npm:@angular/compiler/bundles/compiler-testing.umd.js', - '@angular/platform-browser/testing': 'npm:@angular/platform-browser/bundles/platform-browser-testing.umd.js', - '@angular/platform-browser-dynamic/testing': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic-testing.umd.js', - '@angular/http/testing': 'npm:@angular/http/bundles/http-testing.umd.js', - '@angular/router/testing': 'npm:@angular/router/bundles/router-testing.umd.js', - '@angular/forms/testing': 'npm:@angular/forms/bundles/forms-testing.umd.js', - }, - }); - - System.import('systemjs.config.js') - .then(importSystemJsExtras) - .then(initTestBed) - .then(initTesting); - - /** Optional SystemJS configuration extras. Keep going w/o it */ - function importSystemJsExtras(){ - return System.import('systemjs.config.extras.js') - .catch(function(reason) { - console.log( - 'Warning: System.import could not load the optional "systemjs.config.extras.js". Did you omit it by accident? Continuing without it.' - ); - console.log(reason); - }); - } - - function initTestBed(){ - return Promise.all([ - System.import('@angular/core/testing'), - System.import('@angular/platform-browser-dynamic/testing') - ]) - - .then(function (providers) { - var coreTesting = providers[0]; - var browserTesting = providers[1]; - - coreTesting.TestBed.initTestEnvironment( - browserTesting.BrowserDynamicTestingModule, - browserTesting.platformBrowserDynamicTesting()); - }) - } - - // Load all spec files and start wallaby - function initTesting () { - return Promise.all( - wallaby.tests.map(function (specFile) { - return System.import(specFile); - }) - ) - .then(function () { - wallaby.start(); - }) - .catch(function (e) { - setTimeout(function () { - throw e; - }, 0); - }); - } -}