angular-cn/third_party
Andrew Kushnir 4ca1c736bb fix(packaging): remove polyfills needed to run tests on IE9 and IE 10 (#38931)
This commit removes polyfills that were needed to run tests on IE 9 and IE 10.

BREAKING CHANGE:

In v10, IE 9, 10, and IE mobile support was deprecated. In v11, Angular framework removes IE 9,
10, and IE mobile support completely.
Supporting outdated browsers like these increases bundle size, code complexity, and test load,
and also requires time and effort that could be spent on improvements to the framework.
For example, fixing issues can be more difficult, as a straightforward fix for modern browsers
could break old ones that have quirks due to not receiving updates from vendors.

PR Close #38931
2020-09-25 14:31:10 -04:00
..
fonts.google.com/open-sans build: fix routing playground example using external resource (#28490) 2019-02-04 16:51:11 -05:00
github.com/google/material-design-icons ci: Remove old vendoring solution in favor of relying on yarn-path (#35083) 2020-02-06 15:30:51 -08:00
README.md docs: add a README for third_party usage (#28651) 2019-02-12 09:54:43 -08:00
shims_for_IE.js fix(packaging): remove polyfills needed to run tests on IE9 and IE 10 (#38931) 2020-09-25 14:31:10 -04:00

README.md

third_party vendored sources in Angular

TL;DR: don't copy sources into this repo

All sources in this repo should be authored from scratch by the committer. Don't copy sources you've found in any other location.

What if I have a good reason?

We do "vendor in" some sources, in cases where we do not want our users to have a transitive dependency. For example, to make testing more reliable, we copy a font into our repo. That allows our integration tests to run without dynamically requesting that font.

Follow these guidelines for adding sources under third_party:

  1. Only vendor sources with compatible licenses. Apache 2.0 and MIT are good. Any other licenses, check with your team lead so we can verify our ability to comply with the license.
  2. Preserve the license for code. The best thing to do is copy the entire LICENSE file along with the sources.
  3. Indicate where the sources came from. Our convention is to create a directory based on the URL where the sources were fetched. Add version number or if missing, the retrieval date, as a comment in the build file just above the license() call. Example: https://github.com/angular/angular/blob/master/third_party/fonts.google.com/open-sans/BUILD.bazel
  4. Avoid changing the files you fetched. If you make any changes to the sources, first commit the original, then in a separate commit, make your edits. include another metadata file listing your changes, like https://github.com/bazelbuild/rules_nodejs/blob/master/third_party/github.com/source-map-support/LOCAL_MODS.md
  5. Any bundle or distribution which includes this code needs to propagate the LICENSE file or content. Talk to your TL to make sure this is done correctly.

Under Bazel

This directory is treated specially by Bazel.

All BUILD.bazel files under third_party are required to have a licenses statement. See https://docs.bazel.build/versions/master/be/functions.html#licenses

Note that we don't yet have a way to enumerate the licenses and include them in our distribution. Follow https://github.com/bazelbuild/bazel/issues/188