Support for list of allowed licenses for 3rdpartylicenses.txt

Open
#31,523 4 comments 22 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
angular, typescript
Domain
build-system, cli

Research direction

Start at packages/angular/build/src/builders/application/execute-build.ts around the 3rdpartylicenses.txt generation linked in the issue, then trace how licenses from the final build are collected. Define how an allowed comma-separated license list is supplied to ng build and how a disallowed license causes failure. Done means the build checks the generated build licenses rather than unrelated installed packages.

Written by the indexing model from the issue text.

Description

angular/build:application feature feature: under consideration
Command

build

Description

When running ng build angular will generate the file 3rdpartylicenses.txt which contains information about 3rd party licenses included in the build result.
While this is awesome, it would be good to have an option to allow licenses that can be included in the build. For example MIT, Apache-2.0 and as soon as a license which is not allowed is included, the build should fail.

https://github.com/angular/angular-cli/blob/ec7dd59e38f84db91f5a2e4ed653bbc54cb82d54/packages/angular/build/src/builders/application/execute-build.ts#L247-L253

Describe the solution you'd like

In go, the package https://github.com/google/go-licenses for example supports --allowed_licenses=<comma separated license names>. As soon as a different license is found, the build fails. also php or other languages have tools for this.

Describe alternatives you've considered

Currently I'm trying to implement this using the npm package: https://www.npmjs.com/package/@onebeyond/license-checker

The issue is, that it includes a lot of npm packages which are not part of the final angular app - such as argparse for example.

Dominant language
TypeScript
Stars
27k
Forks
11.8k
Avg merge
16h 35m
Merged PRs (30d)
176

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from angular/angular-cli

All issues in angular/angular-cli

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.