wgc 0.131.2 → 0.132.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wgc",
3
- "version": "0.131.2",
3
+ "version": "0.132.1",
4
4
  "description": "The official CLI tool to manage the GraphQL Federation Platform Cosmo",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -1,9 +1,9 @@
1
1
  // Templates for go (templating is done by pupa)
2
2
  // This file is auto-generated. Do not edit manually.
3
3
  /* eslint-disable no-template-curly-in-string */
4
- const dockerfile = 'FROM --platform=$BUILDPLATFORM golang:1.25-alpine AS builder\n\n# Multi-platform build arguments\nARG TARGETOS\nARG TARGETARCH\n\nWORKDIR /build\n\n# Copy go mod files\nCOPY go.mod go.sum ./\nRUN go mod download\n\n# Copy source code\nCOPY . .\n\nRUN --mount=type=cache,target="/root/.cache/go-build" CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o dist/plugin ./src\n\nFROM --platform=$BUILDPLATFORM scratch\n\nCOPY --from=builder /build/dist/plugin ./{originalPluginName}-plugin\n\nENTRYPOINT ["./{originalPluginName}-plugin"]\n';
4
+ const dockerfile = 'FROM --platform=$BUILDPLATFORM golang:1.26-alpine AS builder\n\n# Multi-platform build arguments\nARG TARGETOS\nARG TARGETARCH\n\nWORKDIR /build\n\n# Copy go mod files\nCOPY go.mod go.sum ./\nRUN go mod download\n\n# Copy source code\nCOPY . .\n\nRUN --mount=type=cache,target="/root/.cache/go-build" CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o dist/plugin ./src\n\nFROM --platform=$BUILDPLATFORM scratch\n\nCOPY --from=builder /build/dist/plugin ./{originalPluginName}-plugin\n\nENTRYPOINT ["./{originalPluginName}-plugin"]\n';
5
5
  const cursorRules = '---\ndescription: {name} Plugin Guide\nglobs: src/**\nalwaysApply: false\n---\n\n# {name} Plugin Development Guide\n\nYou are an expert in developing Cosmo Router plugins. You are given a GraphQL schema, and you need to implement the Go code for the plugin.\nYour goal is to implement the plugin in a way that is easy to understand and maintain. You add tests to ensure the plugin works as expected.\n\nAll make commands need to be run from the plugin directory `{pluginDir}`.\n\n## Plugin Structure\n\nA plugin is structured as follows:\n\n```\nplugins/{originalPluginName}/\n├── Makefile # Build automation\n├── go.mod # Go module definition\n├── go.sum # Go module checksums\n├── src/\n│ ├── schema.graphql # GraphQL schema (API contract)\n│ ├── main.go # Plugin implementation\n│ └── main_test.go # Tests for the plugin\n├── generated/ # Auto-generated files (DO NOT EDIT)\n│ ├── service.proto # Generated Protocol Buffers\n│ ├── service.pb.go # Generated Go structures\n│ ├── service.proto.lock.json # Generated Protobuf lock file\n│ └── service_grpc.pb.go # Generated gRPC service\n└── bin/ # Compiled binaries\n └── plugin # The compiled plugin binary\n```\n\n## Development Workflow\n\n1. When modifying the GraphQL schema in `src/schema.graphql`, you need to regenerate the code with `make generate`.\n2. Look into the generated code in `generated/service.proto` and `generated/service.pb.go` to understand the updated API contract and service methods.\n3. Implement the new RPC methods in `src/main.go`.\n4. Add tests to `src/main_test.go` to ensure the plugin works as expected. You need to run `make test` to ensure the tests pass.\n5. Finally, build the plugin with `make build` to ensure the plugin is working as expected.\n6. Your job is done after successfully building the plugin. Don\'t verify if the binary was created. The build command will take care of that.\n\n**Important**: Never manipulate the files inside `generated` directory yourself. Don\'t touch the `service.proto`, `service.proto.lock.json`, `service.pb.go` and `service_grpc.pb.go` files.\n\nYou can update the Go dependencies by running `make test` to ensure the dependencies are up to date. It runs `go mod tidy` under the hood.\n\n## Implementation Pattern\n\n### Service Integration\n\nIf you need to integrate with other HTTP services, you should prefer to use the `github.com/wundergraph/cosmo/router-plugin/httpclient` package.\nAlways prefer a real integration over mocking. In the tests, you can mock the external service by bootstrapping an http server that returns the expected response.\nIn tests, focus on a well-defined contract and the expected behavior of your service. Structure tests by endpoint, use-cases and use table-driven tests when possible.\n\nHere is an example of how to use the `httpclient` package:\n\n```go\n// Initialize HTTP client for external API calls\n// The base URL is the URL of the external API\nclient := httpclient.New(\n httpclient.WithBaseURL("<replace_with_base_url>"),\n httpclient.WithTimeout(5*time.Second),\n httpclient.WithHeaders(map[string]string{}),\n)\n// A HTTP GET request to the external API\nresp, err := client.Get(ctx, "/<replace_with_path>")\n// A HTTP POST/PUT/DELETE request to the external API with a struct that is marshalled to JSON\nresp, err := client.Post(ctx, "/<replace_with_path>", payload)\n// Passing payload with custom request options\nresp, err := client.Put(ctx, "/<replace_with_path>", payload,\n httpclient.WithHeaders(map[string]string{}),\n)\n// Unmarshal the JSON response into our data structure\ndata, err := httpclient.UnmarshalTo[[]ResponseType](resp)\n// The response offers the following fields:\ntype Response struct {\n\tStatusCode int\n\tHeaders http.Header\n\tBody []byte\n}\n// You can check for success (StatusCode >= 200 && StatusCode < 300)\nresp.IsSuccess()\n```\n';
6
- const goMod = '\nmodule {modulePath}\n\ngo 1.25.1\n\nrequire (\n github.com/stretchr/testify v1.10.0\n github.com/wundergraph/cosmo/router-plugin v0.0.0-20250824152218-8eebc34c4995 // v0.4.1\n google.golang.org/grpc v1.68.1\n google.golang.org/protobuf v1.36.5\n)\n';
6
+ const goMod = '\nmodule {modulePath}\n\ngo 1.26.0\n\nrequire (\n github.com/stretchr/testify v1.10.0\n github.com/wundergraph/cosmo/router-plugin v0.0.0-20250824152218-8eebc34c4995 // v0.4.1\n google.golang.org/grpc v1.68.1\n google.golang.org/protobuf v1.36.5\n)\n';
7
7
  const mainGo = 'package main\n\nimport (\n "context"\n "log"\n "strconv"\n\n service "github.com/wundergraph/cosmo/plugin/generated"\n\n routerplugin "github.com/wundergraph/cosmo/router-plugin"\n "google.golang.org/grpc"\n)\n\nfunc main() {\n pl, err := routerplugin.NewRouterPlugin(func(s *grpc.Server) {\n s.RegisterService(&service.{serviceName}_ServiceDesc, &{serviceName}{\n nextID: 1,\n })\n }, routerplugin.WithTracing())\n\n if err != nil {\n log.Fatalf("failed to create router plugin: %v", err)\n }\n\n pl.Serve()\n}\n\ntype {serviceName} struct {\n service.Unimplemented{serviceName}Server\n nextID int\n}\n\nfunc (s *{serviceName}) QueryHello(ctx context.Context, req *service.QueryHelloRequest) (*service.QueryHelloResponse, error) {\n response := &service.QueryHelloResponse{\n Hello: &service.World{\n Id: strconv.Itoa(s.nextID),\n Name: req.Name,\n },\n }\n s.nextID++\n return response, nil\n}\n';
8
8
  const mainTestGo = 'package main\n\nimport (\n "context"\n "net"\n "testing"\n\n "github.com/stretchr/testify/assert"\n "github.com/stretchr/testify/require"\n service "github.com/wundergraph/cosmo/plugin/generated"\n "google.golang.org/grpc"\n "google.golang.org/grpc/credentials/insecure"\n "google.golang.org/grpc/test/bufconn"\n)\n\nconst bufSize = 1024 * 1024\n\n// testService is a wrapper that holds the gRPC test components\ntype testService struct {\n grpcConn *grpc.ClientConn\n client service.{serviceName}Client\n cleanup func()\n}\n\n// setupTestService creates a local gRPC server for testing\nfunc setupTestService(t *testing.T) *testService {\n // Create a buffer for gRPC connections\n lis := bufconn.Listen(bufSize)\n\n // Create a new gRPC server\n grpcServer := grpc.NewServer()\n\n // Register our service\n service.Register{serviceName}Server(grpcServer, &{serviceName}{\n nextID: 1,\n })\n\n // Start the server\n go func() {\n if err := grpcServer.Serve(lis); err != nil {\n t.Fatalf("failed to serve: %v", err)\n }\n }()\n\n // Create a client connection\n dialer := func(context.Context, string) (net.Conn, error) {\n return lis.Dial()\n }\n conn, err := grpc.Dial(\n "passthrough:///bufnet",\n grpc.WithContextDialer(dialer),\n grpc.WithTransportCredentials(insecure.NewCredentials()),\n )\n require.NoError(t, err)\n\n // Create the service client\n client := service.New{serviceName}Client(conn)\n\n // Return cleanup function\n cleanup := func() {\n conn.Close()\n grpcServer.Stop()\n }\n\n return &testService{\n grpcConn: conn,\n client: client,\n cleanup: cleanup,\n }\n}\n\nfunc TestQueryHello(t *testing.T) {\n // Set up basic service\n svc := setupTestService(t)\n defer svc.cleanup()\n\n tests := []struct {\n name string\n userName string\n wantId string\n wantName string\n wantErr bool\n }{\n {\n name: "valid hello",\n userName: "Alice",\n wantId: "1",\n wantName: "Alice",\n wantErr: false,\n },\n {\n name: "empty name",\n userName: "",\n wantId: "2",\n wantName: "", // Empty name should be preserved\n wantErr: false,\n },\n {\n name: "special characters",\n userName: "John & Jane",\n wantId: "3",\n wantName: "John & Jane",\n wantErr: false,\n },\n }\n\n for _, tt := range tests {\n t.Run(tt.name, func(t *testing.T) {\n req := &service.QueryHelloRequest{\n Name: tt.userName,\n }\n\n resp, err := svc.client.QueryHello(context.Background(), req)\n if tt.wantErr {\n assert.Error(t, err)\n return\n }\n\n assert.NoError(t, err)\n assert.NotNil(t, resp.Hello)\n assert.Equal(t, tt.wantId, resp.Hello.Id)\n assert.Equal(t, tt.wantName, resp.Hello.Name)\n })\n }\n}\n\nfunc TestSequentialIDs(t *testing.T) {\n // Set up basic service\n svc := setupTestService(t)\n defer svc.cleanup()\n\n // The first request should get ID "1"\n firstReq := &service.QueryHelloRequest{Name: "First"}\n firstResp, err := svc.client.QueryHello(context.Background(), firstReq)\n require.NoError(t, err)\n assert.Equal(t, "1", firstResp.Hello.Id)\n\n // The second request should get ID "2"\n secondReq := &service.QueryHelloRequest{Name: "Second"}\n secondResp, err := svc.client.QueryHello(context.Background(), secondReq)\n require.NoError(t, err)\n assert.Equal(t, "2", secondResp.Hello.Id)\n\n // The third request should get ID "3"\n thirdReq := &service.QueryHelloRequest{Name: "Third"}\n thirdResp, err := svc.client.QueryHello(context.Background(), thirdReq)\n require.NoError(t, err)\n assert.Equal(t, "3", thirdResp.Hello.Id)\n}\n';
9
9
  const readmePartialMd = '## Getting Started\n\nPlugin structure:\n\n ```\n plugins/{originalPluginName}/\n ├── go.mod # Go module file with dependencies\n ├── go.sum # Go checksums file\n ├── src/\n │ ├── main.go # Main plugin implementation\n │ ├── main_test.go # Tests for the plugin\n │ └── schema.graphql # GraphQL schema defining the API\n ├── generated/ # Generated code (created during build)\n └── bin/ # Compiled binaries (created during build)\n └── plugin # The compiled plugin binary\n ```';
@@ -1,5 +1,14 @@
1
1
  import { type ProtoOption } from '@wundergraph/protographic';
2
2
  export declare function getHostPlatform(language: string): string;
3
+ interface ToolVersion {
4
+ range: string;
5
+ envVar: string;
6
+ scriptVersion: string;
7
+ versionCommand: string;
8
+ versionFlag: string;
9
+ }
10
+ type ToolVersionLanguageMapping = Record<string, ToolVersion>;
11
+ export declare const GO_TOOL_VERSIONS: ToolVersionLanguageMapping;
3
12
  export declare function validateAndGetGoModulePath(language: string, goModulePath: string | undefined): string | undefined;
4
13
  /**
5
14
  * Check if tools need installation and ask the user if needed
@@ -53,3 +62,4 @@ export declare function buildGoBinaries(pluginDir: string, platforms: string[],
53
62
  */
54
63
  export declare function normalizePlatforms(platforms: string[], allPlatforms: boolean, language: string): string[];
55
64
  export declare function getLanguage(pluginDir: string): "ts" | "go" | null;
65
+ export {};
@@ -58,11 +58,11 @@ const COMMON_TOOL_VERSIONS = {
58
58
  },
59
59
  };
60
60
  // Exact tool versions to be installed for the script, but you can specify a semver range to express compatibility
61
- const GO_TOOL_VERSIONS = {
61
+ export const GO_TOOL_VERSIONS = {
62
62
  go: {
63
- range: '>=1.22.0',
63
+ range: '>=1.26.0',
64
64
  envVar: 'GO_VERSION',
65
- scriptVersion: '1.24.1',
65
+ scriptVersion: '1.26.8',
66
66
  versionCommand: 'go',
67
67
  versionFlag: 'version',
68
68
  },
@@ -1 +1 @@
1
- {"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../../../../../src/commands/router/commands/plugin/toolchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../../../../../src/commands/router/commands/plugin/toolchain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ import { mkdtemp, readFile, rm } from 'node:fs/promises';
2
+ import { tmpdir } from 'node:os';
3
+ import { join, resolve } from 'pathe';
4
+ import { Command } from 'commander';
5
+ import semver from 'semver';
6
+ import { afterEach, beforeEach, describe, expect, test } from 'vitest';
7
+ import InitPluginCommand from '../../src/commands/router/commands/plugin/commands/init.js';
8
+ import { GO_TOOL_VERSIONS } from '../../src/commands/router/commands/plugin/toolchain.js';
9
+ const routerPluginGoMod = resolve(import.meta.dirname, '../../../router-plugin/go.mod');
10
+ const goDirective = (goMod) => { var _a; return (_a = goMod.match(/^go (\S+)$/m)) === null || _a === void 0 ? void 0 : _a[1]; };
11
+ const minor = (version) => `${semver.major(version)}.${semver.minor(version)}`;
12
+ describe('router plugin init', () => {
13
+ let dir;
14
+ beforeEach(async () => {
15
+ dir = await mkdtemp(join(tmpdir(), 'wgc-plugin-init-'));
16
+ });
17
+ afterEach(async () => {
18
+ await rm(dir, { recursive: true, force: true });
19
+ });
20
+ const runInit = (name) => {
21
+ const program = new Command();
22
+ program.addCommand(InitPluginCommand({ client: {} }));
23
+ return program.parseAsync(['init', name, '-d', dir], { from: 'user' });
24
+ };
25
+ test('scaffolds a Go plugin that targets the same Go version as router-plugin', async () => {
26
+ var _a;
27
+ await runInit('hello-world');
28
+ const pluginDir = join(dir, 'hello-world');
29
+ const goMod = await readFile(join(pluginDir, 'go.mod'), 'utf8');
30
+ const dockerfile = await readFile(join(pluginDir, 'Dockerfile'), 'utf8');
31
+ const pluginGoVersion = goDirective(goMod);
32
+ const routerPluginGoVersion = goDirective(await readFile(routerPluginGoMod, 'utf8'));
33
+ expect(pluginGoVersion).toBeDefined();
34
+ expect(routerPluginGoVersion).toBeDefined();
35
+ // The scaffolded plugin must not target an older Go than the router-plugin module it depends on
36
+ expect(pluginGoVersion).toBe(routerPluginGoVersion);
37
+ // The builder image must match the Go version in go.mod
38
+ const dockerGoVersion = (_a = dockerfile.match(/golang:(\d+\.\d+)-alpine/)) === null || _a === void 0 ? void 0 : _a[1];
39
+ expect(dockerGoVersion).toBe(minor(pluginGoVersion));
40
+ // The toolchain the CLI installs must be able to build the scaffolded plugin
41
+ const goTool = GO_TOOL_VERSIONS.go;
42
+ expect(semver.gte(goTool.scriptVersion, pluginGoVersion)).toBe(true);
43
+ expect(semver.satisfies(goTool.scriptVersion, goTool.range)).toBe(true);
44
+ expect(semver.minVersion(goTool.range).version).toBe(pluginGoVersion);
45
+ expect(await readFile(join(pluginDir, 'src', 'main.go'), 'utf8')).toContain('HelloWorldService');
46
+ });
47
+ });
48
+ //# sourceMappingURL=plugin-init.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-init.test.js","sourceRoot":"","sources":["../../../test/router/plugin-init.test.ts"],"names":[],"mappings":"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"}