scaffold

package
v0.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Examples

Constants

View Source
const (
	PresetDDD             = presets.PresetDDD
	PresetCleanArch       = presets.PresetCleanArch
	PresetLayered         = presets.PresetLayered
	PresetHexagonal       = presets.PresetHexagonal
	PresetModularMonolith = presets.PresetModularMonolith
	PresetConsumerWorker  = presets.PresetConsumerWorker
	PresetBatch           = presets.PresetBatch
	PresetEventPipeline   = presets.PresetEventPipeline
)

Variables

This section is empty.

Functions

func ArchitectureTest

func ArchitectureTest(preset Preset, opts ArchitectureTestOptions) (string, error)

ArchitectureTest returns a ready-to-copy architecture_test.go source file for the selected preset. PackageName must be a valid Go package identifier such as "myapp_test".

Example
package main

import (
	"fmt"
	"strings"

	"github.com/NamhaeSusan/go-arch-guard/scaffold"
)

func main() {
	src, err := scaffold.ArchitectureTest(scaffold.PresetHexagonal, scaffold.ArchitectureTestOptions{
		PackageName: "myapp_test",
	})
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(strings.Contains(src, "arch := presets.Hexagonal()"))
	fmt.Println(strings.Contains(src, "rules := presets.RecommendedHexagonal()"))
	fmt.Println(strings.Contains(src, "func TestArchitecture"))
}
Output:
true
true
true

Types

type ArchitectureTestOptions

type ArchitectureTestOptions struct {
	// PackageName is the Go package identifier for the generated test file.
	// Required.
	PackageName string
	// InternalRoot is the project-relative directory under which packages
	// live. Optional — defaults to "internal" so existing scaffolds emit
	// the canonical pattern. Set to "packages", "src", etc. to match a
	// non-standard layout. Must be a single forward-slash-free segment.
	InternalRoot string
}

ArchitectureTestOptions controls generated architecture_test.go output.

type Preset

type Preset = presets.Preset

Preset identifies a built-in architecture model template.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL