Mercurial > hg > ugly-duckling
changeset 0:340ce94899fd
chore: initial commit from angular-cli
_ _ _
__ _ _ __ __ _ _ _| | __ _ _ __ ___| (_)
/ _ | _ \ / _ | | | | |/ _ | __|____ / __| | |
| (_| | | | | (_| | |_| | | (_| | | |_____| (__| | |
\____|_| |_|\__ |\____|_|\____|_| \___|_|_|
|___/
author | angular-cli <angular-cli@angular.io> |
---|---|
date | Tue, 25 Oct 2016 11:40:57 +0100 |
parents | |
children | 44c99e3cb108 |
files | .editorconfig .gitignore README.md angular-cli.json e2e/app.e2e-spec.ts e2e/app.po.ts e2e/tsconfig.json karma.conf.js package.json protractor.conf.js src/app/app.component.css src/app/app.component.html src/app/app.component.spec.ts src/app/app.component.ts src/app/app.module.ts src/app/index.ts src/assets/.gitkeep src/environments/environment.prod.ts src/environments/environment.ts src/favicon.ico src/index.html src/main.ts src/polyfills.ts src/styles.css src/test.ts src/tsconfig.json src/typings.d.ts tslint.json |
diffstat | 26 files changed, 588 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.editorconfig Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,14 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = 0 +trim_trailing_whitespace = false
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.gitignore Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,34 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp + +# dependencies +/node_modules +/bower_components + +# IDEs and editors +/.idea +/.vscode +.project +.classpath +*.launch +.settings/ + +# misc +/.sass-cache +/connect.lock +/coverage/* +/libpeerconnection.log +npm-debug.log +testem.log +/typings + +# e2e +/e2e/*.js +/e2e/*.map + +#System Files +.DS_Store +Thumbs.db
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,31 @@ +# UglyDuckling + +This project was generated with [angular-cli](https://github.com/angular/angular-cli) version 1.0.0-beta.18. + +## 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/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).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/angular-cli.json Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,59 @@ +{ + "project": { + "version": "1.0.0-beta.18", + "name": "ugly-duckling" + }, + "apps": [ + { + "root": "src", + "outDir": "dist", + "assets": [ + "assets", + "favicon.ico" + ], + "index": "index.html", + "main": "main.ts", + "test": "test.ts", + "tsconfig": "tsconfig.json", + "prefix": "app", + "mobile": false, + "styles": [ + "styles.css" + ], + "scripts": [], + "environments": { + "source": "environments/environment.ts", + "dev": "environments/environment.ts", + "prod": "environments/environment.prod.ts" + } + } + ], + "addons": [], + "packages": [], + "e2e": { + "protractor": { + "config": "./protractor.conf.js" + } + }, + "test": { + "karma": { + "config": "./karma.conf.js" + } + }, + "defaults": { + "styleExt": "css", + "prefixInterfaces": false, + "inline": { + "style": false, + "template": false + }, + "spec": { + "class": false, + "component": true, + "directive": true, + "module": false, + "pipe": true, + "service": true + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/e2e/app.e2e-spec.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,14 @@ +import { UglyDucklingPage } from './app.po'; + +describe('ugly-duckling App', function() { + let page: UglyDucklingPage; + + beforeEach(() => { + page = new UglyDucklingPage(); + }); + + it('should display message saying app works', () => { + page.navigateTo(); + expect(page.getParagraphText()).toEqual('app works!'); + }); +});
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/e2e/app.po.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,11 @@ +import { browser, element, by } from 'protractor'; + +export class UglyDucklingPage { + navigateTo() { + return browser.get('/'); + } + + getParagraphText() { + return element(by.css('app-root h1')).getText(); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/e2e/tsconfig.json Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,16 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "declaration": false, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "module": "commonjs", + "moduleResolution": "node", + "outDir": "../dist/out-tsc-e2e", + "sourceMap": true, + "target": "es5", + "typeRoots": [ + "../node_modules/@types" + ] + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/karma.conf.js Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,38 @@ +// 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: '', + frameworks: ['jasmine', 'angular-cli'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-remap-istanbul'), + require('angular-cli/plugins/karma') + ], + files: [ + { pattern: './src/test.ts', watched: false } + ], + preprocessors: { + './src/test.ts': ['angular-cli'] + }, + remapIstanbulReporter: { + reports: { + html: 'coverage', + lcovonly: './coverage/coverage.lcov' + } + }, + angularCli: { + config: './angular-cli.json', + environment: 'dev' + }, + reporters: ['progress', 'karma-remap-istanbul'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); +};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package.json Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,45 @@ +{ + "name": "ugly-duckling", + "version": "0.0.0", + "license": "MIT", + "angular-cli": {}, + "scripts": { + "start": "ng serve", + "lint": "tslint \"src/**/*.ts\"", + "test": "ng test", + "pree2e": "webdriver-manager update", + "e2e": "protractor" + }, + "private": true, + "dependencies": { + "@angular/common": "~2.1.0", + "@angular/compiler": "~2.1.0", + "@angular/core": "~2.1.0", + "@angular/forms": "~2.1.0", + "@angular/http": "~2.1.0", + "@angular/platform-browser": "~2.1.0", + "@angular/platform-browser-dynamic": "~2.1.0", + "@angular/router": "~3.1.0", + "core-js": "^2.4.1", + "rxjs": "5.0.0-beta.12", + "ts-helpers": "^1.1.1", + "zone.js": "^0.6.23" + }, + "devDependencies": { + "@types/jasmine": "^2.2.30", + "@types/node": "^6.0.42", + "angular-cli": "1.0.0-beta.18", + "codelyzer": "1.0.0-beta.1", + "jasmine-core": "2.4.1", + "jasmine-spec-reporter": "2.5.0", + "karma": "1.2.0", + "karma-chrome-launcher": "^2.0.0", + "karma-cli": "^1.0.1", + "karma-jasmine": "^1.0.2", + "karma-remap-istanbul": "^0.2.1", + "protractor": "4.0.9", + "ts-node": "1.2.1", + "tslint": "3.13.0", + "typescript": "~2.0.3" + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/protractor.conf.js Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,32 @@ +// 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'); + +exports.config = { + allScriptsTimeout: 11000, + specs: [ + './e2e/**/*.e2e-spec.ts' + ], + capabilities: { + 'browserName': 'chrome' + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function() {} + }, + useAllAngular2AppRoots: true, + beforeLaunch: function() { + require('ts-node').register({ + project: 'e2e' + }); + }, + onPrepare: function() { + jasmine.getEnv().addReporter(new SpecReporter()); + } +};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/app/app.component.html Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,3 @@ +<h1> + {{title}} +</h1>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/app/app.component.spec.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,33 @@ +/* tslint:disable:no-unused-variable */ + +import { TestBed, async } from '@angular/core/testing'; +import { AppComponent } from './app.component'; + +describe('App: UglyDuckling', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ + AppComponent + ], + }); + }); + + it('should create the app', async(() => { + let fixture = TestBed.createComponent(AppComponent); + let app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + })); + + it(`should have as title 'app works!'`, async(() => { + let fixture = TestBed.createComponent(AppComponent); + let app = fixture.debugElement.componentInstance; + expect(app.title).toEqual('app works!'); + })); + + it('should render title in a h1 tag', async(() => { + let fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + let compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('h1').textContent).toContain('app works!'); + })); +});
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/app/app.component.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'] +}) +export class AppComponent { + title = 'app works!'; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/app/app.module.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,20 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { HttpModule } from '@angular/http'; + +import { AppComponent } from './app.component'; + +@NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + FormsModule, + HttpModule + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/app/index.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,2 @@ +export * from './app.component'; +export * from './app.module';
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/environments/environment.prod.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,3 @@ +export const environment = { + production: true +};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/environments/environment.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,8 @@ +// The file contents for the current environment will overwrite these during build. +// The build system defaults to the dev environment which uses `environment.ts`, but if you do +// `ng build --env=prod` then `environment.prod.ts` will be used instead. +// The list of which env maps to which file can be found in `angular-cli.json`. + +export const environment = { + production: false +};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/index.html Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,14 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title>UglyDuckling</title> + <base href="/"> + + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="icon" type="image/x-icon" href="favicon.ico"> +</head> +<body> + <app-root>Loading...</app-root> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,12 @@ +import './polyfills.ts'; + +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { enableProdMode } from '@angular/core'; +import { environment } from './environments/environment'; +import { AppModule } from './app/'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/polyfills.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,19 @@ +// This file includes polyfills needed by Angular 2 and is loaded before +// the app. You can add your own extra polyfills to this file. +import 'core-js/es6/symbol'; +import 'core-js/es6/object'; +import 'core-js/es6/function'; +import 'core-js/es6/parse-int'; +import 'core-js/es6/parse-float'; +import 'core-js/es6/number'; +import 'core-js/es6/math'; +import 'core-js/es6/string'; +import 'core-js/es6/date'; +import 'core-js/es6/array'; +import 'core-js/es6/regexp'; +import 'core-js/es6/map'; +import 'core-js/es6/set'; +import 'core-js/es6/reflect'; + +import 'core-js/es7/reflect'; +import 'zone.js/dist/zone';
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/styles.css Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,1 @@ +/* You can add global styles to this file, and also import other style files */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,34 @@ +import './polyfills.ts'; + +import 'zone.js/dist/long-stack-trace-zone'; +import 'zone.js/dist/proxy.js'; +import 'zone.js/dist/sync-test'; +import 'zone.js/dist/jasmine-patch'; +import 'zone.js/dist/async-test'; +import 'zone.js/dist/fake-async-test'; + +// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any. +declare var __karma__: any; +declare var require: any; + +// Prevent Karma from running prematurely. +__karma__.loaded = function () {}; + + +Promise.all([ + System.import('@angular/core/testing'), + System.import('@angular/platform-browser-dynamic/testing') +]) + // First, initialize the Angular testing environment. + .then(([testing, testingBrowser]) => { + testing.getTestBed().initTestEnvironment( + testingBrowser.BrowserDynamicTestingModule, + testingBrowser.platformBrowserDynamicTesting() + ); + }) + // Then we find all the tests. + .then(() => require.context('./', true, /\.spec\.ts/)) + // And load the modules. + .then(context => context.keys().map(context)) + // Finally, start Karma to run the tests. + .then(__karma__.start, __karma__.error);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/tsconfig.json Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "declaration": false, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "lib": ["es6", "dom"], + "mapRoot": "./", + "module": "es6", + "moduleResolution": "node", + "outDir": "../dist/out-tsc", + "sourceMap": true, + "target": "es5", + "typeRoots": [ + "../node_modules/@types" + ] + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/typings.d.ts Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,4 @@ +// Typings reference file, you can add your own global typings here +// https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html + +declare var System: any;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tslint.json Tue Oct 25 11:40:57 2016 +0100 @@ -0,0 +1,114 @@ +{ + "rulesDirectory": [ + "node_modules/codelyzer" + ], + "rules": { + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "curly": true, + "eofline": true, + "forin": true, + "indent": [ + true, + "spaces" + ], + "label-position": true, + "label-undefined": true, + "max-line-length": [ + true, + 140 + ], + "member-access": false, + "member-ordering": [ + true, + "static-before-instance", + "variables-before-functions" + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-debugger": true, + "no-duplicate-key": true, + "no-duplicate-variable": true, + "no-empty": false, + "no-eval": true, + "no-inferrable-types": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unused-expression": true, + "no-unused-variable": true, + "no-unreachable": true, + "no-use-before-declare": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-catch", + "check-else", + "check-whitespace" + ], + "quotemark": [ + true, + "single" + ], + "radix": true, + "semicolon": [ + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "variable-name": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ], + + "directive-selector-prefix": [true, "app"], + "component-selector-prefix": [true, "app"], + "directive-selector-name": [true, "camelCase"], + "component-selector-name": [true, "kebab-case"], + "directive-selector-type": [true, "attribute"], + "component-selector-type": [true, "element"], + "use-input-property-decorator": true, + "use-output-property-decorator": true, + "use-host-property-decorator": true, + "no-input-rename": true, + "no-output-rename": true, + "use-life-cycle-interface": true, + "use-pipe-transform-interface": true, + "component-class-suffix": true, + "directive-class-suffix": true, + "templates-use-public": true, + "invoke-injectable": true + } +}