Specification for removing bicep-types submodule and migrating to pnpm + Go modules#138
Open
brooke-hamilton wants to merge 14 commits intoradius-project:mainfrom
Open
Conversation
12 tasks
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
brooke-hamilton
added a commit
to radius-project/radius
that referenced
this pull request
Jan 24, 2026
# Description This PR updates Go code to use the `bicep-types-go` package as a standard Go module dependency fetched via `go get github.com/Azure/bicep-types/src/bicep-types-go@<commit hash>`, rather than relying on the git submodule. The submodule remains for TypeScript/pnpm tooling, but Go tooling now references the package directly from the `Azure/bicep-types` repository. This PR is step 1 of 2 in a two-step update to remove the git submodule. The plan is here: radius-project/design-notes#138 **Changes:** - Removed the `replace` directive in `go.mod` that pointed to the local submodule - Added direct dependency on `github.com/Azure/bicep-types/src/bicep-types-go` - Updated contributor documentation to clarify when the submodule is required ## Type of change - This pull request is a minor refactor, code cleanup, test improvement, or other maintenance task and doesn't change the functionality of Radius (issue link optional). Related issue #10913 - Design document: radius-project/design-notes#138 ## Contributor checklist Please verify that the PR meets the following requirements, where applicable: - An overview of proposed schema changes is included in a linked GitHub issue. - [ ] Yes <!-- TaskRadio schema --> - [x] Not applicable <!-- TaskRadio schema --> - A design document PR is created in the [design-notes repository](https://github.com/radius-project/design-notes/), if new APIs are being introduced. - [x] Yes <!-- TaskRadio design-pr --> - [ ] Not applicable <!-- TaskRadio design-pr --> - The design document has been reviewed and approved by Radius maintainers/approvers. - [ ] Yes <!-- TaskRadio design-review --> - [x] Not applicable <!-- TaskRadio design-review --> - A PR for the [samples repository](https://github.com/radius-project/samples) is created, if existing samples are affected by the changes in this PR. - [ ] Yes <!-- TaskRadio samples-pr --> - [x] Not applicable <!-- TaskRadio samples-pr --> - A PR for the [documentation repository](https://github.com/radius-project/docs) is created, if the changes in this PR affect the documentation or any user facing updates are made. - [ ] Yes <!-- TaskRadio docs-pr --> - [x] Not applicable <!-- TaskRadio docs-pr --> - A PR for the [recipes repository](https://github.com/radius-project/recipes) is created, if existing recipes are affected by the changes in this PR. - [ ] Yes <!-- TaskRadio recipes-pr --> - [x] Not applicable <!-- TaskRadio recipes-pr --> --------- Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
5c3bd8b to
7286c0d
Compare
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
12 tasks
DariuszPorowski
approved these changes
Feb 2, 2026
brooke-hamilton
added a commit
to radius-project/radius
that referenced
this pull request
Feb 11, 2026
# Description
This PR removes the `bicep-types` git submodule and migrates
JavaScript/TypeScript package management from npm to pnpm. The
`bicep-types` dependency is now fetched as a git dependency and built
via a `postinstall` script, simplifying the developer experience.
**Key changes:**
- Remove the `bicep-types` git submodule and `.gitmodules` file
- Migrate from npm (`package-lock.json`) to pnpm (`pnpm-lock.yaml`) for:
- `typespec/`
- `hack/bicep-types-radius/src/generator/`
- `hack/bicep-types-radius/src/autorest.bicep/`
- Update GitHub workflows to use pnpm instead of npm
- Update devcontainer configuration for pnpm
- Update Makefiles and build scripts
- Add migration guide for developers with existing clones
- Add a root `package.json` to ensure dev dependencies are at consistent
versions and updated with dependabot.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and does not change the functionality of
Radius (issue link optional).
## Testing
1. Checkout the PR branch
2. Follow the contributing guide included with this PR at
`docs/contributing/bicep-types-migration-guide.md`.
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- An overview of proposed schema changes is included in a linked GitHub
issue.
- [ ] Yes <!-- TaskRadio schema -->
- [x] Not applicable <!-- TaskRadio schema -->
- A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [x] Yes <!-- TaskRadio design-pr -->
- [ ] Not applicable <!-- TaskRadio design-pr -->
- The design document has been reviewed and approved by Radius
maintainers/approvers.
- [ ] Yes <!-- TaskRadio design-review -->
- [x] Not applicable <!-- TaskRadio design-review -->
- A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] Yes <!-- TaskRadio samples-pr -->
- [x] Not applicable <!-- TaskRadio samples-pr -->
- A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] Yes <!-- TaskRadio docs-pr -->
- [x] Not applicable <!-- TaskRadio docs-pr -->
- A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
- [ ] Yes <!-- TaskRadio recipes-pr -->
- [x] Not applicable <!-- TaskRadio recipes-pr -->
**Related PRs:**
- Design document:
radius-project/design-notes#138
---------
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Co-authored-by: Sylvain Niles <sylvainniles@microsoft.com>
sk593
pushed a commit
to radius-project/radius
that referenced
this pull request
Feb 13, 2026
# Description
This PR removes the `bicep-types` git submodule and migrates
JavaScript/TypeScript package management from npm to pnpm. The
`bicep-types` dependency is now fetched as a git dependency and built
via a `postinstall` script, simplifying the developer experience.
**Key changes:**
- Remove the `bicep-types` git submodule and `.gitmodules` file
- Migrate from npm (`package-lock.json`) to pnpm (`pnpm-lock.yaml`) for:
- `typespec/`
- `hack/bicep-types-radius/src/generator/`
- `hack/bicep-types-radius/src/autorest.bicep/`
- Update GitHub workflows to use pnpm instead of npm
- Update devcontainer configuration for pnpm
- Update Makefiles and build scripts
- Add migration guide for developers with existing clones
- Add a root `package.json` to ensure dev dependencies are at consistent
versions and updated with dependabot.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and does not change the functionality of
Radius (issue link optional).
## Testing
1. Checkout the PR branch
2. Follow the contributing guide included with this PR at
`docs/contributing/bicep-types-migration-guide.md`.
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- An overview of proposed schema changes is included in a linked GitHub
issue.
- [ ] Yes <!-- TaskRadio schema -->
- [x] Not applicable <!-- TaskRadio schema -->
- A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [x] Yes <!-- TaskRadio design-pr -->
- [ ] Not applicable <!-- TaskRadio design-pr -->
- The design document has been reviewed and approved by Radius
maintainers/approvers.
- [ ] Yes <!-- TaskRadio design-review -->
- [x] Not applicable <!-- TaskRadio design-review -->
- A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] Yes <!-- TaskRadio samples-pr -->
- [x] Not applicable <!-- TaskRadio samples-pr -->
- A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] Yes <!-- TaskRadio docs-pr -->
- [x] Not applicable <!-- TaskRadio docs-pr -->
- A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
- [ ] Yes <!-- TaskRadio recipes-pr -->
- [x] Not applicable <!-- TaskRadio recipes-pr -->
**Related PRs:**
- Design document:
radius-project/design-notes#138
---------
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Co-authored-by: Sylvain Niles <sylvainniles@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a feature specification for migrating the Radius repository from a git submodule for bicep-types to direct dependency references using Go modules and pnpm.
Changes
spec.md): Complete feature specification with user stories, requirements, and success criteriaMotivation
The current bicep-types git submodule causes:
Related Issue
radius-project/radius#10913