From e6741efd8f4fad20ca519d8eb99ec0c7d102577d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Rodr=C3=ADguez?= Date: Tue, 14 Mar 2017 12:30:37 +0100 Subject: [PATCH] chore: remove moduleId from examples (#3362) * chore: remove moduleId from examples * add support for testing and plunkers * delete component-relative cookbook * latest touches * ward teaks and travis fixes * fix typo in style-guide --- gulpfile.js | 1 + public/docs/_examples/.gitignore | 1 + .../src/systemjs-angular-loader.js | 43 + .../_boilerplate/src/systemjs.config.js | 9 +- .../src/systemjs.config.web.build.js | 10 +- .../_boilerplate/src/systemjs.config.web.js | 10 +- .../ts/src/app/hero-list-auto.component.ts | 1 - .../ts/src/app/hero-list-basic.component.ts | 1 - ...ero-list-combined-transitions.component.ts | 1 - .../hero-list-enter-leave-states.component.ts | 1 - .../app/hero-list-enter-leave.component.ts | 1 - .../ts/src/app/hero-list-groups.component.ts | 1 - .../app/hero-list-inline-styles.component.ts | 1 - .../src/app/hero-list-multistep.component.ts | 1 - .../ts/src/app/hero-list-timings.component.ts | 1 - .../ts/src/app/hero-list-twoway.component.ts | 1 - .../ts/src/app/hero-detail.component.ts | 1 - .../ts/src/app/hero-list.component.ts | 1 - .../ts/src/app/app.component.1.ts | 1 - .../ts/src/app/app.component.ts | 1 - .../ts/src/app/app.component.ts | 1 - .../ts/src/app/movie-list.component.ts | 1 - .../ts/src/app/app.component.ts | 1 - .../cb-aot-compiler/ts/src/index.html | 3 - .../ts/src/app/app.component.ts | 1 - .../cb-component-relative-paths/e2e-spec.ts | 42 - .../ts/example-config.json | 0 .../cb-component-relative-paths/ts/plnkr.json | 9 - .../ts/src/app/app.component.ts | 12 - .../ts/src/app/app.module.ts | 18 - .../ts/src/app/some.component.css | 22 - .../ts/src/app/some.component.html | 4 - .../ts/src/app/some.component.ts | 37 - .../ts/src/index.html | 30 - .../ts/src/main.ts | 5 - .../ts/src/app/app.component.ts | 1 - .../app/dynamic-form-question.component.ts | 1 - .../ts/src/app/dynamic-form.component.ts | 1 - .../reactive/hero-form-reactive.component.ts | 1 - .../template/hero-form-template1.component.ts | 1 - .../template/hero-form-template2.component.ts | 1 - .../cb-i18n/ts/src/app/app.component.ts | 1 - .../src/app/app.component.es6 | 1 - .../src/app/confirm.component.es6 | 1 - .../src/app/hero-title.component.es6 | 1 - .../js-es6/src/app/app.component.es6 | 1 - .../js-es6/src/app/confirm.component.es6 | 1 - .../js-es6/src/app/hero-title.component.es6 | 1 - .../cb-ts-to-js/ts/src/app/app.component.ts | 1 - .../ts/src/app/confirm.component.ts | 1 - .../ts/src/app/hero-title.component.ts | 1 - .../_examples/component-styles/e2e-spec.ts | 7 +- .../ts/src/app/quest-summary.component.ts | 1 - .../forms/ts/src/app/hero-form.component.ts | 1 - .../ts/src/app/hero-tax-return.component.ts | 1 - .../ts/src/app/villains-list.component.ts | 1 - .../ts/src/app/hello_world.ts | 3 - .../ts/src/app/app.component.ts | 1 - .../ts/src/app/do-check.component.ts | 1 - .../ts/src/app/on-changes.component.ts | 1 - .../ts/src/app/spy.component.ts | 1 - .../ngcontainer/ts/src/app/app.component.ts | 1 - .../ts/src/app/contact/contact.component.3.ts | 1 - .../ts/src/app/contact/contact.component.ts | 1 - .../ts/src/app/core/title.component.ts | 1 - .../ngmodule/ts/src/app/title.component.ts | 1 - .../pipes/ts/src/app/app.component.ts | 1 - .../ts/src/app/flying-heroes.component.ts | 2 - .../ts/src/app/app.component.1.ts | 1 - .../ts/src/app/app.component.ts | 1 - .../ts/src/app/demo.component.ts | 3 +- .../ts/src/app/hero-detail-1.component.ts | 1 - .../ts/src/app/hero-detail-2.component.ts | 1 - .../ts/src/app/hero-detail-3.component.ts | 1 - .../ts/src/app/hero-detail-3a.component.ts | 1 - .../ts/src/app/hero-detail-4.component.ts | 1 - .../ts/src/app/hero-detail-5.component.ts | 1 - .../ts/src/app/hero-detail-6.component.ts | 1 - .../ts/src/app/hero-detail-7.component.ts | 1 - .../ts/src/app/hero-detail-8.component.ts | 1 - .../ts/src/app/hero-detail.component.ts | 1 - .../ts/src/app/hero-list.component.ts | 3 +- .../ts/src/app/compose-message.component.ts | 1 - .../ts/src/app/bypass-security.component.ts | 1 - .../src/app/inner-html-binding.component.ts | 1 - .../app/toh/hero-list.component.promise.ts | 1 - .../ts/src/app/toh/hero-list.component.ts | 1 - .../ts/src/app/wiki/wiki-smart.component.ts | 1 - .../ts/src/app/app.component.ts | 1 - .../ts/src/01-01/app/app.component.ts | 1 - .../ts/src/02-05/app/app.component.ts | 1 - .../ts/src/03-06/app/app.component.ts | 1 - .../src/04-08/app/heroes/heroes.component.ts | 1 - .../src/04-10/app/heroes/heroes.component.ts | 1 - .../filter-text/filter-text.component.ts | 1 - .../src/04-11/app/core/nav/nav.component.ts | 1 - .../app/core/spinner/spinner.component.ts | 1 - .../src/04-11/app/heroes/heroes.component.ts | 1 - .../src/04-12/app/core/nav/nav.component.ts | 1 - .../src/04-12/app/heroes/heroes.component.ts | 1 - .../ts/src/05-02/app/app.component.ts | 1 - .../hero-button.component.avoid.ts | 1 - .../hero-button/hero-button.component.ts | 1 - .../ts/src/05-03/app/app.component.ts | 1 - .../hero-button.component.avoid.ts | 1 - .../hero-button/hero-button.component.ts | 1 - .../src/05-04/app/heroes/heroes.component.ts | 1 - .../ts/src/05-13/app/app.component.ts | 1 - .../ts/src/05-16/app/app.component.ts | 1 - .../ts/src/06-01/app/app.component.ts | 1 - .../ts/src/07-01/app/app.component.ts | 1 - .../style-guide/ts/src/app/app.component.ts | 1 - .../style-guide/ts/src/systemjs.custom.js | 2 +- .../ts/src/app/app.component.ts | 1 - .../ts/src/app/hero-form.component.ts | 1 - .../testing/ts/src/app/app.component.ts | 1 - .../_examples/testing/ts/src/app/bag/bag.ts | 2 - .../testing/ts/src/app/banner.component.ts | 1 - .../app/dashboard/dashboard-hero.component.ts | 1 - .../src/app/dashboard/dashboard.component.ts | 1 - .../ts/src/app/hero/hero-detail.component.ts | 1 - .../ts/src/app/hero/hero-list.component.ts | 1 - .../toh-5/ts/src/app/app.component.ts | 1 - .../toh-5/ts/src/app/dashboard.component.ts | 1 - .../toh-5/ts/src/app/hero-detail.component.ts | 1 - .../toh-5/ts/src/app/heroes.component.ts | 3 - public/docs/_examples/toh-6/ts/aot/index.html | 3 - .../toh-6/ts/src/app/app.component.ts | 1 - .../toh-6/ts/src/app/dashboard.component.ts | 1 - .../toh-6/ts/src/app/hero-detail.component.ts | 1 - .../toh-6/ts/src/app/hero-search.component.ts | 1 - .../toh-6/ts/src/app/heroes.component.ts | 1 - .../phone-detail/phone-detail.component.ts | 1 - .../ts/app/phone-list/phone-list.component.ts | 1 - .../phone-detail/phone-detail.component.ts | 1 - .../ts/app/phone-list/phone-list.component.ts | 1 - .../phone-detail/phone-detail.component.ts | 1 - .../ts/app/phone-list/phone-list.component.ts | 1 - .../ts/systemjs.config.1.js | 8 +- .../user-input/ts/src/app/app.component.ts | 1 - public/docs/js/latest/cookbook/_data.json | 5 - public/docs/ts/latest/cookbook/_data.json | 5 - .../docs/ts/latest/cookbook/aot-compiler.jade | 8 - .../cookbook/component-relative-paths.jade | 147 --- public/docs/ts/latest/cookbook/ts-to-js.jade | 11 - public/docs/ts/latest/guide/architecture.jade | 4 +- public/docs/ts/latest/guide/change-log.jade | 7 + .../ts/latest/guide/component-styles.jade | 5 +- public/docs/ts/latest/guide/forms.jade | 1 - .../docs/ts/latest/guide/reactive-forms.jade | 4 - public/docs/ts/latest/guide/style-guide.jade | 7 +- public/docs/ts/latest/index.jade | 2 - public/docs/ts/latest/tutorial/toh-pt5.jade | 10 +- .../reactive-forms/ts/final-eplnkr.html | 948 ------------------ .../reactive-forms/ts/final-plnkr.html | 948 ------------------ tools/plunker-builder/builder.js | 3 + 156 files changed, 94 insertions(+), 2426 deletions(-) create mode 100644 public/docs/_examples/_boilerplate/src/systemjs-angular-loader.js delete mode 100644 public/docs/_examples/cb-component-relative-paths/e2e-spec.ts delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/example-config.json delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/plnkr.json delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/src/app/app.component.ts delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/src/app/app.module.ts delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/src/app/some.component.css delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/src/app/some.component.html delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/src/app/some.component.ts delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/src/index.html delete mode 100644 public/docs/_examples/cb-component-relative-paths/ts/src/main.ts delete mode 100644 public/docs/ts/latest/cookbook/component-relative-paths.jade delete mode 100644 public/resources/live-examples/reactive-forms/ts/final-eplnkr.html delete mode 100644 public/resources/live-examples/reactive-forms/ts/final-plnkr.html diff --git a/gulpfile.js b/gulpfile.js index a30abd0fc7..82583e76bb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -86,6 +86,7 @@ var _excludeMatchers = _excludePatterns.map(function(excludePattern){ var _exampleBoilerplateFiles = [ 'src/styles.css', 'src/systemjs.config.js', + 'src/systemjs-angular-loader.js', 'src/tsconfig.json', 'bs-config.json', 'bs-config.e2e.json', diff --git a/public/docs/_examples/.gitignore b/public/docs/_examples/.gitignore index eedd04da43..3fb5ae8562 100644 --- a/public/docs/_examples/.gitignore +++ b/public/docs/_examples/.gitignore @@ -1,6 +1,7 @@ # _boilerplate files !_boilerplate/* */*/src/styles.css +*/*/src/systemjs-angular-loader.js */*/src/systemjs.config.js */*/src/tsconfig.json */*/bs-config.e2e.json diff --git a/public/docs/_examples/_boilerplate/src/systemjs-angular-loader.js b/public/docs/_examples/_boilerplate/src/systemjs-angular-loader.js new file mode 100644 index 0000000000..5aa9a31411 --- /dev/null +++ b/public/docs/_examples/_boilerplate/src/systemjs-angular-loader.js @@ -0,0 +1,43 @@ +var templateUrlRegex = /templateUrl\s*:(\s*['"`](.*?)['"`]\s*)/gm; +var stylesRegex = /styleUrls *:(\s*\[[^\]]*?\])/g; +var stringRegex = /(['`"])((?:[^\\]\\\1|.)*?)\1/g; + +module.exports.translate = function(load){ + + var url = new URL(load.address); + + var basePathParts = url.pathname.split('/'); + + if (url.href.indexOf('plnkr') != -1) { + basePathParts.shift(); + basePathParts.shift(); + } + + basePathParts.pop(); + var basePath = basePathParts.join('/'); + load.source = load.source + .replace(templateUrlRegex, function(match, quote, url){ + let resolvedUrl = url; + + if (url.startsWith('.')) { + resolvedUrl = basePath + url.substr(1); + } + + return `templateUrl: '${resolvedUrl}'`; + }) + .replace(stylesRegex, function(match, relativeUrls) { + var urls = []; + + while ((match = stringRegex.exec(relativeUrls)) !== null) { + if (match[2].startsWith('.')) { + urls.push(`'${basePath.substr(1)}${match[2].substr(1)}'`); + } else { + urls.push(`'${match[2]}'`); + } + } + + return "styleUrls: [" + urls.join(', ') + "]"; + }); + + return load; +}; diff --git a/public/docs/_examples/_boilerplate/src/systemjs.config.js b/public/docs/_examples/_boilerplate/src/systemjs.config.js index 5fa7e9c24f..9c2883b953 100644 --- a/public/docs/_examples/_boilerplate/src/systemjs.config.js +++ b/public/docs/_examples/_boilerplate/src/systemjs.config.js @@ -11,7 +11,7 @@ // map tells the System loader where to look for things map: { // our app is within the app folder - app: 'app', + 'app': 'app', // angular bundles '@angular/core': 'npm:@angular/core/bundles/core.umd.js', @@ -32,7 +32,12 @@ packages: { app: { main: './main.js', - defaultExtension: 'js' + defaultExtension: 'js', + meta: { + './*.js': { + loader: 'systemjs-angular-loader.js' + } + } }, rxjs: { defaultExtension: 'js' diff --git a/public/docs/_examples/_boilerplate/src/systemjs.config.web.build.js b/public/docs/_examples/_boilerplate/src/systemjs.config.web.build.js index c27642ce02..35fd6ed6ad 100644 --- a/public/docs/_examples/_boilerplate/src/systemjs.config.web.build.js +++ b/public/docs/_examples/_boilerplate/src/systemjs.config.web.build.js @@ -34,8 +34,9 @@ }, // map tells the System loader where to look for things map: { + 'ng-loader': './systemjs-angular-loader.js', // our app is within the app folder - app: 'app', + 'app': 'app', // angular bundles '@angular/core': 'ng:core-builds/master/bundles/core.umd.js', @@ -71,7 +72,12 @@ packages: { app: { main: './main.ts', - defaultExtension: 'ts' + defaultExtension: 'ts', + meta: { + './*.ts': { + loader: 'ng-loader' + } + } }, rxjs: { defaultExtension: 'js' diff --git a/public/docs/_examples/_boilerplate/src/systemjs.config.web.js b/public/docs/_examples/_boilerplate/src/systemjs.config.web.js index dc0234a172..91cfc03627 100644 --- a/public/docs/_examples/_boilerplate/src/systemjs.config.web.js +++ b/public/docs/_examples/_boilerplate/src/systemjs.config.web.js @@ -31,8 +31,9 @@ }, // map tells the System loader where to look for things map: { + 'ng-loader': './systemjs-angular-loader.js', // our app is within the app folder - app: 'app', + 'app': 'app', // angular bundles '@angular/core': 'npm:@angular/core/bundles/core.umd.js', @@ -58,7 +59,12 @@ packages: { app: { main: './main.ts', - defaultExtension: 'ts' + defaultExtension: 'ts', + meta: { + './*.ts': { + loader: 'ng-loader' + } + } }, rxjs: { defaultExtension: 'js' diff --git a/public/docs/_examples/animations/ts/src/app/hero-list-auto.component.ts b/public/docs/_examples/animations/ts/src/app/hero-list-auto.component.ts index df7280d3ea..060417e309 100644 --- a/public/docs/_examples/animations/ts/src/app/hero-list-auto.component.ts +++ b/public/docs/_examples/animations/ts/src/app/hero-list-auto.component.ts @@ -11,7 +11,6 @@ import { import { Heroes } from './hero.service'; @Component({ - moduleId: module.id, selector: 'hero-list-auto', // #docregion template template: ` diff --git a/public/docs/_examples/animations/ts/src/app/hero-list-basic.component.ts b/public/docs/_examples/animations/ts/src/app/hero-list-basic.component.ts index a40f9ade94..d70a40a4ac 100644 --- a/public/docs/_examples/animations/ts/src/app/hero-list-basic.component.ts +++ b/public/docs/_examples/animations/ts/src/app/hero-list-basic.component.ts @@ -15,7 +15,6 @@ import { import { Heroes } from './hero.service'; @Component({ - moduleId: module.id, selector: 'hero-list-basic', // #enddocregion /* The click event calls hero.toggleState(), which diff --git a/public/docs/_examples/animations/ts/src/app/hero-list-combined-transitions.component.ts b/public/docs/_examples/animations/ts/src/app/hero-list-combined-transitions.component.ts index b40a0c3514..3847af40c4 100644 --- a/public/docs/_examples/animations/ts/src/app/hero-list-combined-transitions.component.ts +++ b/public/docs/_examples/animations/ts/src/app/hero-list-combined-transitions.component.ts @@ -14,7 +14,6 @@ import { import { Heroes } from './hero.service'; @Component({ - moduleId: module.id, selector: 'hero-list-combined-transitions', // #docregion template template: ` diff --git a/public/docs/_examples/animations/ts/src/app/hero-list-enter-leave-states.component.ts b/public/docs/_examples/animations/ts/src/app/hero-list-enter-leave-states.component.ts index a88e08f251..2a19b7615b 100644 --- a/public/docs/_examples/animations/ts/src/app/hero-list-enter-leave-states.component.ts +++ b/public/docs/_examples/animations/ts/src/app/hero-list-enter-leave-states.component.ts @@ -11,7 +11,6 @@ import { import { Heroes } from './hero.service'; @Component({ - moduleId: module.id, selector: 'hero-list-enter-leave-states', // #docregion template template: ` diff --git a/public/docs/_examples/animations/ts/src/app/hero-list-enter-leave.component.ts b/public/docs/_examples/animations/ts/src/app/hero-list-enter-leave.component.ts index 05944c84f1..0b38ee55e4 100644 --- a/public/docs/_examples/animations/ts/src/app/hero-list-enter-leave.component.ts +++ b/public/docs/_examples/animations/ts/src/app/hero-list-enter-leave.component.ts @@ -11,7 +11,6 @@ import { import { Heroes } from './hero.service'; @Component({ - moduleId: module.id, selector: 'hero-list-enter-leave', // #docregion template template: ` diff --git a/public/docs/_examples/animations/ts/src/app/hero-list-groups.component.ts b/public/docs/_examples/animations/ts/src/app/hero-list-groups.component.ts index dda696eca2..a9583994fc 100644 --- a/public/docs/_examples/animations/ts/src/app/hero-list-groups.component.ts +++ b/public/docs/_examples/animations/ts/src/app/hero-list-groups.component.ts @@ -12,7 +12,6 @@ import { import { Heroes } from './hero.service'; @Component({ - moduleId: module.id, selector: 'hero-list-groups', template: `