Renamed the 'pkg' package to 'internal'#221
Merged
chrisghill merged 1 commit intomainfrom Mar 17, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates the codebase from importing github.com/massdriver-cloud/mass/pkg/... to github.com/massdriver-cloud/mass/internal/..., effectively moving most library-style code under internal/ and updating CLI/server code to use those new internal packages.
Changes:
- Updated many import paths across
cmd/andinternal/frompkg/...tointernal/.... - Introduced/relocated internal packages for core functionality (e.g.,
internal/api,internal/bundle,internal/definition,internal/files,internal/jsonschema,internal/provisioners,internal/templates,internal/version). - Added/updated substantial test fixtures and unit tests to match the new structure.
Reviewed changes
Copilot reviewed 107 out of 223 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| internal/version/version_test.go | Updates test import path to internal/version. |
| internal/version/version.go | Adds internal version utilities (release/version checks). |
| internal/tui/teahelper/main.go | Adds Bubble Tea test helpers under internal. |
| internal/tui/components/artifacttable/model_test.go | Updates imports to internal packages. |
| internal/tui/components/artifacttable/model.go | Switches API import to internal/api. |
| internal/tui/components/artifacttable/keys.go | Adds keymap definition for artifact table component. |
| internal/tui/components/artdeftable/model_test.go | Updates imports to internal packages. |
| internal/tui/components/artdeftable/model.go | Switches API import to internal/api. |
| internal/tui/components/artdeftable/keys.go | Adds keymap definition for artifact-definition table component. |
| internal/templates/templates.go | Adds templates path resolution + list/render entrypoints. |
| internal/templates/file_manager.go | Adds template copy/render implementation. |
| internal/server/version/version.go | Updates version handler to use internal/version. |
| internal/server/server.go | Switches server wiring imports to internal packages. |
| internal/server/bundle/params.go | Switches files import to internal/files. |
| internal/server/bundle/bundle.go | Switches bundle import to internal/bundle. |
| internal/proxy/proxy.go | Adds reverse proxy helper under internal. |
| internal/provisioners/types_test.go | Updates imports to internal/provisioners. |
| internal/provisioners/types.go | Adds provisioner interface + factory. |
| internal/provisioners/opentofu_test.go | Updates imports to internal/provisioners. |
| internal/provisioners/opentofu.go | Adds OpenTofu/Terraform provisioner implementation. |
| internal/provisioners/helm_test.go | Updates imports to internal/provisioners. |
| internal/provisioners/helm.go | Adds Helm provisioner implementation. |
| internal/provisioners/find_test.go | Updates imports to internal/provisioners. |
| internal/provisioners/find.go | Adds schema diff helpers (missing params detection). |
| internal/provisioners/copy.go | Adds recursive copy helpers for provisioner initialization. |
| internal/provisioners/bicep_test.go | Updates imports to internal/provisioners. |
| internal/provisioners/bicep.go | Adds Bicep provisioner implementation. |
| internal/prettylogs/main.go | Adds lipgloss styling helpers under internal. |
| internal/params/params.go | Adds params schema import helper (airlock import). |
| internal/params/merge_test.go | Updates imports to internal/params. |
| internal/params/merge.go | Adds schema merge helper. |
| internal/mockfilesystem/main.go | Updates fixture paths to internal/mockfilesystem/testdata. |
| internal/jsonschema/validate_test.go | Updates imports to internal/jsonschema. |
| internal/jsonschema/validate.go | Adds schema/document validation helpers. |
| internal/jsonschema/loader_test.go | Updates imports to internal/jsonschema. |
| internal/jsonschema/loader.go | Adds schema loading + custom URL loader. |
| internal/gqlmock/gqlmock.go | Adds GraphQL HTTP client mocking utilities. |
| internal/files/files_test.go | Adds file read tests for json/toml/yaml/tfvars. |
| internal/files/files.go | Adds multi-format read/write utilities. |
| internal/definition/read_test.go | Updates imports to internal definition/gqlmock. |
| internal/definition/read.go | Adds artifact definition read + dereference flow. |
| internal/definition/publish_test.go | Updates imports to internal packages. |
| internal/definition/publish.go | Switches imports to internal api/jsonschema. |
| internal/definition/get_test.go | Updates imports to internal packages. |
| internal/definition/get.go | Switches API import to internal/api. |
| internal/definition/dereference_test.go | Updates imports to internal packages. |
| internal/definition/dereference.go | Adds schema dereferencing logic. |
| internal/definition/delete_test.go | Updates imports to internal packages. |
| internal/definition/delete.go | Switches imports to internal api/prettylogs. |
| internal/definition/build_test.go | Updates imports to internal packages. |
| internal/definition/build.go | Adds massdriver.yaml artifact-definition “build” support. |
| internal/debuglog/debuglog.go | Adds singleton zerolog debug logger to file. |
| internal/commands/project/export.go | Switches imports to internal packages. |
| internal/commands/preview/new_test.go | Switches imports to internal packages. |
| internal/commands/preview/new.go | Switches imports to internal packages; uses credential listing. |
| internal/commands/preview/model.go | Switches imports to internal packages. |
| internal/commands/preview/deploy_test.go | Switches imports to internal packages. |
| internal/commands/preview/deploy.go | Switches imports to internal api. |
| internal/commands/preview/decommission_test.go | Switches imports to internal packages. |
| internal/commands/preview/decommission.go | Switches imports to internal api. |
| internal/commands/pkg/reset_test.go | Switches imports to internal packages. |
| internal/commands/pkg/reset.go | Switches imports to internal api. |
| internal/commands/pkg/patch_test.go | Switches imports to internal packages. |
| internal/commands/pkg/patch.go | Switches imports to internal api. |
| internal/commands/pkg/export_test.go | Switches imports to internal packages. |
| internal/commands/pkg/export.go | Switches imports to internal api/bundle. |
| internal/commands/pkg/deploy_test.go | Switches imports to internal packages. |
| internal/commands/pkg/deploy.go | Switches imports to internal api. |
| internal/commands/pkg/configure_test.go | Switches imports to internal packages. |
| internal/commands/pkg/configure.go | Switches imports to internal api. |
| internal/commands/image/push_test.go | Switches imports to internal packages. |
| internal/commands/image/push.go | Switches imports to internal api/prettylogs. |
| internal/commands/image/image.go | Adds shared image command types. |
| internal/commands/image/docker_client.go | Switches imports to internal api/prettylogs. |
| internal/commands/environment/export.go | Switches imports to internal packages. |
| internal/commands/bundle/pull.go | Switches imports to internal packages. |
| internal/commands/bundle/publish_test.go | Switches imports to internal packages. |
| internal/commands/bundle/publish.go | Switches imports to internal packages. |
| internal/commands/bundle/new_test.go | Switches imports to internal packages. |
| internal/commands/bundle/new.go | Switches imports to internal packages. |
| internal/commands/bundle/lint.go | Switches imports to internal packages. |
| internal/commands/bundle/import_test.go | Switches imports to internal packages. |
| internal/commands/bundle/import.go | Switches imports to internal packages. |
| internal/commands/bundle/build.go | Switches bundle import to internal. |
| internal/commands/artifact/update_test.go | Switches imports to internal packages. |
| internal/commands/artifact/update.go | Switches imports to internal packages. |
| internal/commands/artifact/import_test.go | Switches imports to internal packages. |
| internal/commands/artifact/import.go | Switches imports to internal packages. |
| internal/cli/table.go | Adds shared CLI table + truncation helpers. |
| internal/bundle/write_schemas.go | Adds schema writing helper for bundle builds. |
| internal/bundle/transformations_test.go | Switches imports to internal bundle. |
| internal/bundle/transformations.go | Adds schema transformations helpers. |
| internal/bundle/pull_test.go | Switches imports to internal bundle. |
| internal/bundle/pull.go | Adds OCI pull helper. |
| internal/bundle/publish_test.go | Switches imports to internal bundle. |
| internal/bundle/publish.go | Adds OCI package/publish logic + ignore rules. |
| internal/bundle/prompt_test.go | Adds tests for prompt validation helpers. |
| internal/bundle/prompt.go | Switches templates import to internal. |
| internal/bundle/lint_test.go | Switches imports to internal bundle. |
| internal/bundle/lint.go | Switches imports to internal packages. |
| internal/bundle/environment_variables.go | Adds env var parsing/evaluation via jq. |
| internal/bundle/environment_variable_test.go | Switches imports to internal bundle. |
| internal/bundle/dereference.go | Switches imports to internal definition. |
| internal/bundle/combine_test.go | Switches imports to internal bundle. |
| internal/bundle/combine.go | Adds schema combination helper. |
| internal/bundle/bundle.go | Switches imports to internal packages. |
| internal/bundle/build_test.go | Switches imports to internal packages. |
| internal/bundle/build.go | Switches provisioners import to internal. |
| internal/artifact/types.go | Adds generic artifact type alias. |
| internal/artifact/import_prompt.go | Switches API import to internal. |
| internal/api/zz_generated.go | Updates scalar import to internal api/scalars. |
| internal/api/urls.go | Adds app URL helper. |
| internal/api/server_test.go | Switches imports to internal packages. |
| internal/api/server.go | Adds server metadata fetch + decode. |
| internal/api/scalars/json_test.go | Switches imports to internal scalars. |
| internal/api/scalars/json.go | Adds JSON scalar marshal/unmarshal helpers. |
| internal/api/scalars/cursor.go | Adds Cursor scalar struct. |
| internal/api/repo_test.go | Switches imports to internal packages. |
| internal/api/repo.go | Switches scalars import to internal. |
| internal/api/project_test.go | Switches imports to internal packages. |
| internal/api/project.go | Adds project API helpers. |
| internal/api/preview_environment_test.go | Switches imports to internal packages. |
| internal/api/preview_environment.go | Switches debuglog import to internal. |
| internal/api/preview_config_test.go | Switches imports to internal api. |
| internal/api/preview_config.go | Adds preview config types. |
| internal/api/package_test.go | Switches imports to internal packages. |
| internal/api/package.go | Adds package API helpers. |
| internal/api/oci_test.go | Switches imports to internal packages. |
| internal/api/oci.go | Adds OCI repo API helpers. |
| internal/api/manifest.go | Adds manifest API helpers. |
| internal/api/main.go | Adds genqlient generator directive. |
| internal/api/genqlient.yaml | Adds genqlient config (needs updated internal bindings). |
| internal/api/error_test.go | Switches imports to internal api. |
| internal/api/error.go | Adds mutation error wrapper. |
| internal/api/environment_test.go | Switches imports to internal packages. |
| internal/api/environment.go | Adds environment API helpers. |
| internal/api/deployment_test.go | Switches imports to internal packages. |
| internal/api/deployment.go | Adds deployment API helpers. |
| internal/api/credential_test.go | Switches imports to internal packages. |
| internal/api/credential.go | Adds credential listing helpers (currently exits on error). |
| internal/api/cost.go | Adds cost data types. |
| internal/api/container_repository_test.go | Switches imports to internal packages. |
| internal/api/container_repository.go | Adds container repo credential fetch helper. |
| internal/api/bundle_test.go | Switches imports to internal packages. |
| internal/api/bundle.go | Adds bundle API helper + decoding. |
| internal/api/artifact_test.go | Switches imports to internal packages. |
| internal/api/artifact_definitions_test.go | Switches imports to internal packages. |
| internal/api/artifact_definitions.go | Adds artifact-definition API helpers. |
| internal/api/artifact.go | Adds artifact CRUD helpers. |
| cmd/version.go | Switches imports to internal packages. |
| cmd/server.go | Switches server import to internal. |
| cmd/schema.go | Switches imports to internal packages. |
| cmd/project.go | Switches imports to internal packages. |
| cmd/preview.go | Switches imports to internal packages. |
| cmd/package.go | Switches imports to internal packages. |
| cmd/logs.go | Switches API import to internal. |
| cmd/image.go | Switches image commands import to internal. |
| cmd/environment.go | Switches imports to internal packages. |
| cmd/definition.go | Switches imports to internal packages. |
| cmd/credential.go | Switches imports to internal packages. |
| cmd/bundle.go | Switches imports to internal packages. |
| cmd/artifact.go | Switches imports to internal packages. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
ChristensenJoe
approved these changes
Mar 17, 2026
coryodaniel
approved these changes
Mar 17, 2026
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.
The
pkgdir should have been namedinternalto begin with. This repo was never intended to be a library. Anything that breaks as a result of this should have the logic moved out to the SDK.