This pull request adds a design document for an automated migration
framework that, if accepted, will be integrated into `dev-tool`.
I've come to view a tool like this as required to support continued
incremental updates across the monorepo.
I won't describe the tool too much in this description, since it's
described in the included Markdown file, but it basically works like a
git merge:
- dev-tool tracks a list of migrations, `dev-tool migrate --list` will
show the ones that haven't been applied to a package.
- you "merge" the migrations into a package using `dev-tool migrate`.
Migrations can be fully or partially automatic _OR_ manual. The tool
will tell you what to do.
- if the migration fails, it is suspended and you have the chance to fix
it and then run `dev-tool migrate --continue` and it will re-check it,
or you can run `dev-tool migrate --abort` to cancel the process.
- if a migration succeeds, a commit is created for it in the current
branch and the next migration is run. Migrations are run in order
starting from the oldest.
This PR is a work in progress pending comments.
### Packages impacted by this PR
- [dev-tool]
### Issues associated with this PR
### Describe the problem that is addressed by this PR
Adds a design document on how we are going to do snippet extraction for
READMEs and source code.
### What are the possible designs available to address the problem? If
there are more than one possible design, why was the one in this PR
chosen?
### Are there test cases added in this PR? _(If not, why?)_
### Provide a list of related PRs _(if any)_
- #24536
### Command used to generate this PR:**_(Applicable only to SDK release
request PRs)_
### Checklists
- [ ] Added impacted package name to the issue description
- [ ] Does this PR needs any fixes in the SDK Generator?** _(If so,
create an Issue in the
[Autorest/typescript](https://github.com/Azure/autorest.typescript)
repository and link it here)_
- [ ] Added a changelog (if necessary)
---------
Co-authored-by: Will Temple <witemple@microsoft.com>
### Packages impacted by this PR
- [@azure/notification-hubs]
### Issues associated with this PR
### Describe the problem that is addressed by this PR
Adds a design document for modular design for all projects, adding
subpath exports and extended ESM support
### What are the possible designs available to address the problem? If
there are more than one possible design, why was the one in this PR
chosen?
### Are there test cases added in this PR? _(If not, why?)_
### Provide a list of related PRs _(if any)_
### Command used to generate this PR:**_(Applicable only to SDK release
request PRs)_
### Checklists
- [ ] Added impacted package name to the issue description
- [ ] Does this PR needs any fixes in the SDK Generator?** _(If so,
create an Issue in the
[Autorest/typescript](https://github.com/Azure/autorest.typescript)
repository and link it here)_
- [ ] Added a changelog (if necessary)