Skip to content

[Discussion] Socializing ng blueprint changes (changes to files generated by ng new in newer versions of the CLI) #7128

Closed
@Meligy

Description

@Meligy

Hello,
I'm opening this as a discussion placeholder for socializing changes to the ng blueprint files.

There are certain files that most users wouldn't be expected to modify frequently for their own purposes (but still are expected to modify), and would benefit from upgrading when upgrading the Angular CLI.

Some examples:

  • tslint config
  • various tsconfig files
  • karma config
  • package.json (especially devDependencies)
  • maybe also there's value in getting new defaults in .angular-cli.json files

In the past there have been two ways to notify users about this:

The first way was ng init. You could run that after CLI upgrade to simulate ng new, and it would override all your default files, which was considered destructive and harmful as even if you have git and use its diff, it can be confusing and the comparison to restore your own changes to files can be quite hard. This is still somehow available via passing the directory flag to ng new, but highly discouraged (and I agree).

The other better way that was introduced later was via manual updates to the CHANGELOG.md file. This worked very nicely, with a single caveat that I'm aware of, which is, since the recording the new blueprint changes was manual, it was not unusual to miss some of the changes, causing this way to be somewhat unreliable, although awesome when it works, and very helpful to developers not too familiar with the source code of the project.

Unfortunately we lost the manual notes when the project switched from CHANGELOG.md to Github Releases.

Is there a way to inject manual release notes in there?
Can it be used to get back the manual file changes that accompany CLI upgrade?

And of course: is there a way to make the manual recording of changes more likely to be complete?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions