2017-01-27 03:20:51 -05:00
|
|
|
{
|
|
|
|
"database": {
|
|
|
|
"rules": "database.rules.json"
|
|
|
|
},
|
|
|
|
"hosting": {
|
|
|
|
"public": "dist",
|
2017-03-21 09:46:20 -04:00
|
|
|
"cleanUrls": true,
|
2017-04-19 11:32:55 -04:00
|
|
|
"redirects": [
|
2018-01-09 10:41:00 -05:00
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// README:
|
|
|
|
// Redirects must also be handled by the ServiceWorker. If you add a redirect rule here,
|
2017-11-28 13:13:52 -05:00
|
|
|
// make sure it is compatible with the configuration in `ngsw-config.json`.
|
2018-01-09 10:41:00 -05:00
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// A random bad indexed page that used `api/api`
|
|
|
|
{"type": 301, "source": "/api/api/:rest*", "destination": "/api/:rest*"},
|
2017-04-19 11:32:55 -04:00
|
|
|
|
2018-06-20 13:02:54 -04:00
|
|
|
// Guide renames/removals
|
2018-01-25 15:19:04 -05:00
|
|
|
{"type": 301, "source": "/docs/*/latest/cli-quickstart.html", "destination": "/guide/quickstart"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/glossary.html", "destination": "/guide/glossary"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/quickstart.html", "destination": "/guide/quickstart"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/guide/server-communication.html", "destination": "/guide/http"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/guide/style-guide.html", "destination": "/guide/styleguide"},
|
2017-08-02 18:54:22 -04:00
|
|
|
{"type": 301, "source": "/guide/cli-quickstart", "destination": "/guide/quickstart"},
|
2018-01-25 15:19:04 -05:00
|
|
|
{"type": 301, "source": "/guide/service-worker-getstart", "destination": "/guide/service-worker-getting-started"},
|
|
|
|
{"type": 301, "source": "/guide/service-worker-comm", "destination": "/guide/service-worker-communications"},
|
|
|
|
{"type": 301, "source": "/guide/service-worker-configref", "destination": "/guide/service-worker-config"},
|
2018-06-20 13:02:54 -04:00
|
|
|
{"type": 301, "source": "/guide/webpack", "destination": "https://v5.angular.io/guide/webpack"},
|
2017-04-19 11:32:55 -04:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// some top level guide pages on old site were moved below the guide folder
|
|
|
|
{"type": 301, "source": "/styleguide", "destination": "/guide/styleguide"},
|
|
|
|
{"type": 301, "source": "/docs/styleguide", "destination": "/guide/styleguide"},
|
2017-04-19 11:32:55 -04:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// news is now blog
|
|
|
|
{"type": 301, "source": "/news*", "destination": "https://blog.angular.io/"},
|
2017-06-13 08:51:41 -04:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// cookbook guides were moved (and sometime renamed or removed)
|
|
|
|
{"type": 301, "source": "/docs/*/latest/cookbook", "destination": "/docs"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/cookbook/", "destination": "/docs"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/cookbook/index.html", "destination": "/docs"},
|
|
|
|
{"type": 301, "source": "/**/cookbook/ts-to-js*", "destination": "https://github.com/angular/angular/blob/master/aio/content/guide/change-log.md#es6--described-in-typescript-to-javascript-2016-11-14"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/cookbook/a1-a2-quick-reference.html", "destination": "/guide/ajs-quick-reference"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/cookbook/component-communication.html", "destination": "/guide/component-interaction"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/cookbook/dependency-injection.html", "destination": "/guide/dependency-injection-in-action"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/cookbook/:cookbook.html", "destination": "/guide/:cookbook"},
|
2017-11-02 17:34:21 -04:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// Forms related code was moved from the `common` to `forms` package (and NgFor was renamed to NgForOf)
|
|
|
|
{"type": 301, "source": "/**/NgFor-*", "destination": "/api/common/NgForOf"},
|
|
|
|
{"type": 301, "source": "/**/api/common/index/MaxLengthValidator-*", "destination": "/api/forms/MaxLengthValidator"},
|
|
|
|
{"type": 301, "source": "/**/api/common/ControlGroup*", "destination": "/api/forms/FormGroup"},
|
|
|
|
{"type": 301, "source": "/**/api/common/Control*", "destination": "/api/forms/FormControl"},
|
|
|
|
{"type": 301, "source": "/**/api/common/SelectControlValueAccessor-*", "destination": "/api/forms/SelectControlValueAccessor"},
|
|
|
|
{"type": 301, "source": "/**/api/common/NgModel", "destination": "/api/forms/NgModel"},
|
2017-12-06 21:12:19 -05:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// Animations moves, renames and removals
|
|
|
|
{"type": 301, "source": "/api/animate/:rest*", "destination": "/api/animations/:rest*"},
|
|
|
|
// AnimationStateDeclarationMetadata was removed
|
|
|
|
{"type": 301, "source": "/**/AnimationStateDeclarationMetadata*", "destination": "/api/animations"},
|
|
|
|
// `AnimationDriver` was moved to the `animations/browser` package
|
|
|
|
{"type": 301, "source": "/api/platform-browser/AnimationDriver", "destination": "/api/animations/browser/AnimationDriver"},
|
2018-01-11 15:38:51 -05:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// The `testing` package was renamed to `core/testing`
|
|
|
|
{"type": 301, "source": "/api/testing/:api-*", "destination": "/api/core/testing/:api"},
|
2018-01-23 12:43:58 -05:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// CORE_DIRECTIVES & PLATFORM_PIPES were removed and are now in the CommonModule
|
|
|
|
{"type": 301, "source": "/**/CORE_DIRECTIVES*", "destination": "/api/common/CommonModule"},
|
|
|
|
{"type": 301, "source": "/**/PLATFORM_PIPES*", "destination": "/api/common/CommonModule"},
|
2018-01-24 18:53:57 -05:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// DirectiveMetadata is now covered by the Directive decorator
|
|
|
|
{"type": 301, "source": "/**/DirectiveMetadata-*", "destination": "/api/core/Directive"},
|
2018-01-24 18:53:57 -05:00
|
|
|
|
2018-01-25 15:19:04 -05:00
|
|
|
// OptionalMetadata is now covered by the Optional decorator
|
|
|
|
{"type": 301, "source": "/**/OptionalMetadata-*", "destination": "/api/core/Optional"},
|
|
|
|
|
|
|
|
// HTTP_PROVIDERS was removed and is now provided in HttpModule
|
|
|
|
{"type": 301, "source": "/**/HTTP_PROVIDERS*", "destination": "/api/http/HttpModule"},
|
|
|
|
|
|
|
|
// URLs that use the old scheme of adding the type to the end (e.g. `SomeClass-class`)
|
|
|
|
{"type": 301, "source": "/api/:package/:api-*", "destination": "/api/:package/:api"},
|
|
|
|
{"type": 301, "source": "/api/:package/testing/index/:api-*", "destination": "/api/:package/testing/:api"},
|
|
|
|
{"type": 301, "source": "/api/:package/testing/:api-*", "destination": "/api/:package/testing/:api"},
|
|
|
|
{"type": 301, "source": "/api/upgrade/:package/index/:api-*", "destination": "/api/upgrade/:package/:api"},
|
|
|
|
{"type": 301, "source": "/api/upgrade/:package/:api-*", "destination": "/api/upgrade/:package/:api"},
|
|
|
|
|
|
|
|
// URLs that use the old scheme before we moved the docs to the angular/angular repo
|
|
|
|
{"type": 301, "source": "/docs/*/latest", "destination": "/docs"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/", "destination": "/api"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/:package", "destination": "/api/:package"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/testing/:api-*", "destination": "/api/core/testing/:api"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/:package/:api-*", "destination": "/api/:package/:api"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/:package/index/:api-*", "destination": "/api/:package/:api"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/:package/testing", "destination": "/api/:package/testing"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/:package/testing/index/:api-*", "destination": "/api/:package/testing/:api"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/platform-browser/animations/index/:api-*", "destination": "/api/platform-browser/animations/:api"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/upgrade/:package/:api-*", "destination": "/api/upgrade/:package/:api"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/api/upgrade/:package/index/:api-*", "destination": "/api/upgrade/:package/:api"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/glossary", "destination": "/guide/glossary"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/guide/", "destination": "/docs"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/guide/lifecycle-hooks", "destination": "/guide/lifecycle-hooks"},
|
|
|
|
{"type": 301, "source": "/docs/*/latest/:rest*", "destination": "/:rest*"},
|
|
|
|
{"type": 301, "source": "/docs/latest/:rest*", "destination": "/:rest*"},
|
|
|
|
{"type": 301, "source": "/docs/styleguide*", "destination": "/guide/styleguide"},
|
|
|
|
{"type": 301, "source": "/guide/metadata", "destination": "/guide/aot-compiler"},
|
|
|
|
{"type": 301, "source": "/guide/ngmodule", "destination": "/guide/ngmodules"},
|
|
|
|
{"type": 301, "source": "/guide/learning-angular*", "destination": "/guide/quickstart"},
|
|
|
|
{"type": 301, "source": "/testing", "destination": "/guide/testing"},
|
2018-09-18 08:22:25 -04:00
|
|
|
{"type": 301, "source": "/testing/**", "destination": "/guide/testing"},
|
|
|
|
|
|
|
|
// Strip off the `.html` extension, because Firebase will not do this automatically any more
|
|
|
|
// (unless the new URL points to an existing file, which is not necessarily the case here).
|
|
|
|
{"type": 301, "source": "/:somePath*/:file.html", "destination": "/:somePath*/:file"},
|
|
|
|
{"type": 301, "source": "/:topLevelFile.html", "destination": "/:topLevelFile"}
|
2017-04-19 11:32:55 -04:00
|
|
|
],
|
2017-03-13 12:35:16 -04:00
|
|
|
"rewrites": [
|
|
|
|
{
|
2017-03-22 18:31:47 -04:00
|
|
|
"source": "**/!(*.*)",
|
2017-03-21 09:46:20 -04:00
|
|
|
"destination": "/index.html"
|
2017-03-13 12:35:16 -04:00
|
|
|
}
|
2017-07-17 16:48:35 -04:00
|
|
|
],
|
|
|
|
"headers": [
|
|
|
|
{
|
|
|
|
"source": "/",
|
|
|
|
"headers": [
|
|
|
|
{
|
|
|
|
"key": "Link",
|
|
|
|
"value": "</generated/navigation.json>;rel=preload;as=fetch,</generated/docs/index.json>;rel=preload;as=fetch"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
2017-03-13 12:35:16 -04:00
|
|
|
]
|
2017-01-27 03:20:51 -05:00
|
|
|
}
|
|
|
|
}
|