diff --git a/firebase.json b/firebase.json index 71191663d9..be0f1311f6 100644 --- a/firebase.json +++ b/firebase.json @@ -57,19 +57,19 @@ { "source": "/articles/dart-vm/native-extensions", "destination": "/server/c-interop-native-extensions", "type": 301 }, { "source": "/articles/dart-vm/numeric-computation", "destination": "/resources/language/number-representation", "type": 301 }, { "source": "/articles/dart-vm/snapshots", "destination": "/tools/dart-compile", "type": 301 }, - { "source": "/articles/design-decisions/why-dart-types", "destination": "/resources/faq#types", "type": 301 }, + { "source": "/articles/design-decisions/why-dart-types", "destination": "/language/type-system", "type": 301 }, { "source": "/articles/doc-comment-guidelines", "destination": "/effective-dart/documentation", "type": 301 }, { "source": "/articles/event-loop", "destination": "https://medium.com/dartlang/dart-asynchronous-programming-isolates-and-event-loops-bffc3e296a6a", "type": 301 }, { "source": "/articles/feet-wet-streams{,/**}", "destination": "/libraries/async/using-streams", "type": 301 }, { "source": "/articles/futures-and-error-handling", "destination": "/libraries/async/futures-error-handling", "type": 301 }, { "source": "/articles/idiomatic-dart{,/**}", "destination": "/effective-dart", "type": 301 }, { "source": "/articles/io", "destination": "/articles/libraries/dart-io", "type": 301 }, - { "source": "/articles/js-dart-interop", "destination": "/web/libraries#js-interop", "type": 301 }, + { "source": "/articles/js-dart-interop", "destination": "/interop/js-interop", "type": 301 }, { "source": "/articles/json-web-service", "destination": "/guides/json", "type": 301 }, { "source": "/articles/language", "destination": "/language", "type": 301 }, { "source": "/articles/language/await-async", "destination": "/libraries/async/async-await", "type": 301 }, { "source": "/articles/language/mixins", "destination": "/language/mixins", "type": 301 }, - { "source": "/articles/language/optional-types", "destination": "/resources/faq#types", "type": 301 }, + { "source": "/articles/language/optional-types", "destination": "/language/type-system", "type": 301 }, { "source": "/articles/libraries", "destination": "/libraries", "type": 301 }, { "source": "/articles/libraries/converters-and-codecs", "destination": "/libraries/convert/converters-and-codecs", "type": 301 }, { "source": "/articles/libraries/creating-streams", "destination": "/libraries/async/creating-streams", "type": 301 }, @@ -81,14 +81,14 @@ { "source": "/articles/mocking-with-dart", "destination": "https://pub.dev/packages/mockito", "type": 301 }, { "source": "/articles/native-extensions-for-standalone-dart-vm", "destination": "/server/c-interop-native-extensions", "type": 301 }, { "source": "/articles/numeric-computation", "destination": "/resources/language/number-representation", "type": 301 }, - { "source": "/articles/optional-types", "destination": "/resources/faq#types", "type": 301 }, + { "source": "/articles/optional-types", "destination": "/language/type-system", "type": 301 }, { "source": "/articles/serialization", "destination": "/guides/json", "type": 301 }, { "source": "/articles/server/native-extensions", "destination": "/server/c-interop-native-extensions", "type": 301 }, { "source": "/articles/server{,/**}", "destination": "/server", "type": 301 }, { "source": "/articles/snapshots", "destination": "/tools/dart-compile", "type": 301 }, { "source": "/articles/style-guide{,/**}", "destination": "/effective-dart/style", "type": 301 }, { "source": "/articles/using-future-based-apis{,/**}", "destination": "/libraries/async/async-await", "type": 301 }, - { "source": "/articles/why-dart-types", "destination": "/resources/faq#types", "type": 301 }, + { "source": "/articles/why-dart-types", "destination": "/language/type-system", "type": 301 }, { "source": "/articles/zones", "destination": "/libraries/async/zones", "type": 301 }, { "source": "/assets/dart-logo-for-shares*.png", "destination": "/assets/img/logo/dart-logo-for-shares.png", "type": 301 }, { "source": "/assets/dart-logo-wordmark*.png", "destination": "/assets/img/logo/dart-logo-for-shares.png", "type": 301 }, @@ -96,7 +96,7 @@ { "source": "/books", "destination": "/resources/books", "type": 301 }, { "source": "/bug", "destination": "https://dartbug.com", "type": 301 }, { "source": "/bug/:rest*", "destination": "https://dartbug.com/:rest*", "type": 301 }, - { "source": "/cl", "destination": "https://dart-review.googlesource.com/q/status:open+-is:wip", "type": 301 }, + { "source": "/cl", "destination": "https://dart-review.googlesource.com/q/status%3Aopen%2B-is%3Awip", "type": 301 }, { "source": "/cl/:rest*", "destination": "https://dart-review.googlesource.com/c/sdk/+/:rest*", "type": 301 }, { "source": "/cloud{,/**}", "destination": "/server/google-cloud", "type": 301 }, { "source": "/codelabs", "destination": "/tutorials", "type": 301 }, @@ -113,8 +113,7 @@ { "source": "/dart-by-example", "destination": "/samples", "type": 301 }, { "source": "/dart-team-packages", "destination": "/resources/dart-team-packages", "type": 301 }, { "source": "/dart-tips{,/**}", "destination": "/effective-dart", "type": 301 }, - { "source": "/dart-vm", "destination": "/server", "type": 301 }, - { "source": "/dart-vm/:page*", "destination": "/server/:page*", "type": 301 }, + { "source": "/dart-vm{,/**}", "destination": "/server", "type": 301 }, { "source": "/dart2js-reflection", "destination": "https://github.com/dart-lang/sdk/issues/21654", "type": 301 }, { "source": "/dartium{,/**}", "destination": "/tools#editors", "type": 301 }, { "source": "/devices", "destination": "/overview#platform", "type": 301 }, @@ -148,7 +147,6 @@ { "source": "/docs/tutorials/futures", "destination": "/libraries/async/async-await", "type": 301 }, { "source": "/docs/tutorials/get-started", "destination": "/tutorials/server/get-started", "type": 301 }, { "source": "/docs/tutorials/httpserver", "destination": "/tutorials/server/httpserver", "type": 301 }, - { "source": "/docs/tutorials/indexeddb{,/**}", "destination": "https://api.dart.dev/dart-indexed_db/dart-indexed_db-library.html", "type": 301 }, { "source": "/docs/tutorials/remove-elements", "destination": "/library/dart-html", "type": 301 }, { "source": "/docs/tutorials/shared-pkgs", "destination": "/tools/pub/packages", "type": 301 }, { "source": "/docs/tutorials/streams", "destination": "/libraries/async/using-streams", "type": 301 }, @@ -158,8 +156,7 @@ { "source": "/eclipse{,/**}", "destination": "/tools#editors", "type": 301 }, { "source": "/editor{,/**}", "destination": "/tools#editors", "type": 301 }, { "source": "/events/2015{,/**}", "destination": "https://www.youtube.com/watch?list=PLOU2XLYxmsIIQorIS8gagUiMau9S84vZV&v=FiXiI2Atexc", "type": 301 }, - { "source": "/events/2016{,/**}", "destination": "https://events.dartlang.org/2016/summit", "type": 301 }, - { "source": "/events{,/**}", "destination": "https://events.dartlang.org", "type": 301 }, + { "source": "/events{,/**}", "destination": "https://flutter.dev/events", "type": 301 }, { "source": "/faq", "destination": "/resources/faq", "type": 301 }, { "source": "/flutter", "destination": "https://flutter.dev", "type": 301 }, { "source": "/glossary", "destination": "/resources/glossary", "type": 301 }, @@ -205,7 +202,7 @@ { "source": "/go/publishing-from-github", "destination": "/tools/pub/automated-publishing#publishing-packages-using-github-actions", "type": 301 }, { "source": "/go/publishing-with-service-account", "destination": "/tools/pub/automated-publishing#publishing-from-google-cloud-build", "type": 301 }, { "source": "/go/sdk-constraint", "destination": "/tools/pub/pubspec#sdk-constraints", "type": 301 }, - { "source": "/go/sdk-version-pinning", "destination": "https://github.com/dart-lang/sdk/blob/main/docs/Flutter-Pinned-Packages.md", "type": 301 }, + { "source": "/go/sdk-version-pinning**", "destination": "https://github.com/dart-lang/sdk/blob/main/docs/Flutter-Pinned-Packages.md", "type": 301 }, { "source": "/go/pub-security-advisories", "destination": "/tools/pub/security-advisories", "type": 301 }, { "source": "/go/test-docs/:page*", "destination": "https://github.com/dart-lang/test/blob/master/pkgs/test/doc/:page*", "type": 301 }, { "source": "/go/unsound-null-safety", "destination": "/null-safety/unsound-null-safety", "type": 301 }, @@ -346,7 +343,6 @@ { "source": "/packages", "destination": "https://pub.dev", "type": 301 }, { "source": "/platforms", "destination": "/overview#platform", "type": 301 }, { "source": "/posters{,/**}", "destination": "https://github.com/dart-archive/www.dartlang.org/tree/f5f235e56e51d38d9f4d01f949d0a485f3828056/src/site/posters", "type": 301 }, - { "source": "/pub/tools/editor", "destination": "/tools", "type": 301 }, { "source": "/redirects/sdk-download-*", "destination": "/get-dart", "type": 301 }, { "source": "/resources/dart-tips*{,/**}", "destination": "/effective-dart", "type": 301 }, { "source": "/resources/dartpad-best-practices", "destination": "https://doi.org/10.1145/3397537.3397558", "type": 301 }, @@ -354,20 +350,14 @@ { "source": "/resources/language/spec/versions", "destination": "/resources/language/spec", "type": 301 }, { "source": "/resources/language/spec/versions/DartLangSpecDraft.pdf", "destination": "https://spec.dart.dev/DartLangSpecDraft.pdf", "type": 301 }, { "source": "/resources/language/spec/versions/DartLangSpec-v2.2.pdf", "destination": "https://github.com/dart-lang/site-www/blob/a7f170389e210adc2aef810cc9a6fdbfa78059a5/src/guides/language/specifications/DartLangSpec-v2.2.pdf", "type": 301 }, - { "source": "/samples", "destination": "/language", "type": 301 }, - { "source": "/samples/spirodraw{,/**}", "destination": "/language", "type": 301 }, - { "source": "/samples/todomvc{,/**}", "destination": "/language", "type": 301 }, - { "source": "/samples/video{,/**}", "destination": "/language", "type": 301 }, - { "source": "/samples/sunflower{,/**}", "destination": "https://gist.github.com/5c0e154dd50af4a9ac856908061291bc", "type": 301 }, - { "source": "/samples/{,/**}", "destination": "https://github.com/dart-lang/samples/", "type": 301 }, + { "source": "/samples/{,/**}", "destination": "/language", "type": 301 }, { "source": "/sdk-changelog-2.4.0", "destination": "https://github.com/dart-lang/sdk/blob/main/CHANGELOG.md#240---2019-06-27", "type": 301 }, { "source": "/server/app-engine{,/**}", "destination": "/server/google-cloud", "type": 301 }, { "source": "/server/c-interop", "destination": "/interop/c-interop", "type": 301 }, { "source": "/server/google-cloud-platform{,/**}", "destination": "/server/google-cloud", "type": 301 }, { "source": "/server/io-library-tour", "destination": "/libraries/dart-io", "type": 301 }, { "source": "/server/tls-ssl", "destination": "https://api.dart.dev/dart-io/SecurityContext-class.html", "type": 301 }, - { "source": "/server/tools", "destination": "/tools", "type": 301 }, - { "source": "/server/tools/dart-vm", "destination": "/tools/dart-run", "type": 301 }, + { "source": "/server/tools{,/**}", "destination": "/tools", "type": 301 }, { "source": "/stable{,/**}", "destination": "https://api.dart.dev", "type": 301 }, { "source": "/support/faq", "destination": "/resources/faq", "type": 301 }, { "source": "/support{,/**}", "destination": "/community", "type": 301 }, @@ -407,7 +397,7 @@ { "source": "/tools/pub/cmd/pub-serve", "destination": "/tools/webdev", "type": 301 }, { "source": "/tools/pub/cmd/pub-uploader", "destination": "/tools/pub/publishing#uploaders", "type": 301 }, { "source": "/tools/pub/create-library-packages", "destination": "/tools/pub/create-packages", "type": 301 }, - { "source": "/tools/pub/faq", "destination": "/tools/faq#pub", "type": 301 }, + { "source": "/tools/pub/faq", "destination": "/tools/pub/cmd", "type": 301 }, { "source": "/tools/pub/get-started", "destination": "/tools/pub/packages", "type": 301 }, { "source": "/tools/pub/installing", "destination": "/tools/pub/environment-variables", "type": 301 }, { "source": "/tools/pub/transformers{,/**}", "destination": "https://github.com/dart-lang/build", "type": 301 }, @@ -426,7 +416,6 @@ { "source": "/tutorials/web/get-started", "destination": "/web/get-started", "type": 301 }, { "source": "/tutorials/web/low-level-html", "destination": "/web/get-started", "type": 301 }, { "source": "/tutorials/web/low-level-html/:rest*", "destination": "/libraries/dart-html", "type": 301 }, - { "source": "/web-ui/observables{,/**}", "destination": "https://pub.dev/packages/observable", "type": 301 }, { "source": "/web/dart-2", "destination": "/tools/webdev", "type": 301 }, { "source": "/web/js-interop", "destination": "/interop/js-interop", "type": 301 }, { "source": "/{docs,tools}/{pub-package-manager,pub/cmd,pub/tools/pub}/glossary", "destination": "/tools/pub/glossary", "type": 301 }