refactor: move plugin packages under internal

This commit is contained in:
boojack 2026-04-06 11:10:32 +08:00
parent 4b4e719470
commit 10a955fd62
90 changed files with 54 additions and 54 deletions

View File

@ -12,7 +12,7 @@ go run ./cmd/memos --port 8081 # Start dev server
go test ./... # Run all tests
go test -v ./store/... # Run store tests (all 3 DB drivers via TestContainers)
go test -v -race ./server/... # Run server tests with race detection
go test -v -race ./plugin/... # Run plugin tests with race detection
go test -v -race ./internal/... # Run internal package tests with race detection
go test -v -run TestFoo ./pkg/... # Run a single test
go mod tidy -go=1.26.1 # Match CI tidy check
golangci-lint run # Lint (v2, config: .golangci.yaml)
@ -62,8 +62,8 @@ proto/
├── store/ # Internal storage messages
└── gen/ # Generated Go, TypeScript, OpenAPI
plugin/ # scheduler, cron, email, filter (CEL), webhook,
# markdown (Goldmark), httpgetter, idp (OAuth2), storage/s3
internal/ # app-private packages: scheduler, cron, email, filter (CEL),
# webhook, markdown (Goldmark), httpgetter, idp (OAuth2), storage/s3
web/src/
├── connect.ts # Connect RPC client + auth interceptor + token refresh
@ -98,7 +98,7 @@ web/src/
## CI/CD
- **backend-tests.yml:** Go 1.26.1, `go mod tidy -go=1.26.1`, golangci-lint v2.11.3, tests parallelized by group (store, server, plugin, other)
- **backend-tests.yml:** Go 1.26.1, `go mod tidy -go=1.26.1`, golangci-lint v2.11.3, tests parallelized by group (store, server, internal, other)
- **build-canary-image.yml:** Builds frontend with `pnpm release`, then publishes canary multi-arch container images for linux/amd64 and linux/arm64
- **frontend-tests.yml:** Node 24, pnpm 10, lint + build
- **proto-linter.yml:** buf lint + format check

View File

@ -15,7 +15,7 @@ import (
"github.com/usememos/memos/internal/profile"
"github.com/usememos/memos/internal/version"
"github.com/usememos/memos/plugin/webhook"
"github.com/usememos/memos/internal/webhook"
"github.com/usememos/memos/server"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store/db"

View File

@ -23,7 +23,7 @@ This plugin provides a simple, reliable email sending interface following indust
### 1. Configure SMTP Settings
```go
import "github.com/usememos/memos/plugin/email"
import "github.com/usememos/memos/internal/email"
config := &email.Config{
SMTPHost: "smtp.gmail.com",
@ -191,13 +191,13 @@ email.Send(config, message)
```bash
# All tests
go test ./plugin/email/... -v
go test ./internal/email/... -v
# With coverage
go test ./plugin/email/... -v -cover
go test ./internal/email/... -v -cover
# With race detector
go test ./plugin/email/... -race
go test ./internal/email/... -race
```
### Manual Testing
@ -209,7 +209,7 @@ package main
import (
"log"
"github.com/usememos/memos/plugin/email"
"github.com/usememos/memos/internal/email"
)
func main() {
@ -466,7 +466,7 @@ Sends email using the client's configuration.
## Architecture
```
plugin/email/
internal/email/
├── config.go # SMTP configuration types
├── message.go # Email message types and formatting
├── client.go # SMTP client implementation
@ -481,12 +481,12 @@ Part of the Memos project. See main repository for license details.
## Contributing
This plugin follows the Memos contribution guidelines. Please ensure:
This package follows the Memos contribution guidelines. Please ensure:
1. All code is tested (TDD approach)
2. Tests pass: `go test ./plugin/email/... -v`
3. Code is formatted: `go fmt ./plugin/email/...`
4. No linting errors: `golangci-lint run ./plugin/email/...`
2. Tests pass: `go test ./internal/email/... -v`
3. Code is formatted: `go fmt ./internal/email/...`
4. No linting errors: `golangci-lint run ./internal/email/...`
## Support

View File

@ -1,4 +1,4 @@
// Package oauth2 is the plugin for OAuth2 Identity Provider.
// Package oauth2 implements the OAuth2 identity provider integration.
package oauth2
import (
@ -12,7 +12,7 @@ import (
"github.com/pkg/errors"
"golang.org/x/oauth2"
"github.com/usememos/memos/plugin/idp"
"github.com/usememos/memos/internal/idp"
storepb "github.com/usememos/memos/proto/gen/store"
)

View File

@ -13,7 +13,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/usememos/memos/plugin/idp"
"github.com/usememos/memos/internal/idp"
storepb "github.com/usememos/memos/proto/gen/store"
)

View File

@ -5,7 +5,7 @@ import (
"github.com/yuin/goldmark/parser"
"github.com/yuin/goldmark/util"
mparser "github.com/usememos/memos/plugin/markdown/parser"
mparser "github.com/usememos/memos/internal/markdown/parser"
)
type tagExtension struct{}

View File

@ -11,9 +11,9 @@ import (
"github.com/yuin/goldmark/parser"
"github.com/yuin/goldmark/text"
mast "github.com/usememos/memos/plugin/markdown/ast"
"github.com/usememos/memos/plugin/markdown/extensions"
"github.com/usememos/memos/plugin/markdown/renderer"
mast "github.com/usememos/memos/internal/markdown/ast"
"github.com/usememos/memos/internal/markdown/extensions"
"github.com/usememos/memos/internal/markdown/renderer"
storepb "github.com/usememos/memos/proto/gen/store"
)

View File

@ -8,7 +8,7 @@ import (
"github.com/yuin/goldmark/parser"
"github.com/yuin/goldmark/text"
mast "github.com/usememos/memos/plugin/markdown/ast"
mast "github.com/usememos/memos/internal/markdown/ast"
)
const (

View File

@ -8,7 +8,7 @@ import (
"github.com/yuin/goldmark/parser"
"github.com/yuin/goldmark/text"
mast "github.com/usememos/memos/plugin/markdown/ast"
mast "github.com/usememos/memos/internal/markdown/ast"
)
func TestTagParser(t *testing.T) {

View File

@ -8,7 +8,7 @@ import (
gast "github.com/yuin/goldmark/ast"
east "github.com/yuin/goldmark/extension/ast"
mast "github.com/usememos/memos/plugin/markdown/ast"
mast "github.com/usememos/memos/internal/markdown/ast"
)
// MarkdownRenderer renders goldmark AST back to markdown text.

View File

@ -10,7 +10,7 @@ import (
"github.com/yuin/goldmark/parser"
"github.com/yuin/goldmark/text"
"github.com/usememos/memos/plugin/markdown/extensions"
"github.com/usememos/memos/internal/markdown/extensions"
)
func TestMarkdownRenderer(t *testing.T) {

View File

@ -24,7 +24,7 @@ package main
import (
"context"
"fmt"
"github.com/usememos/memos/plugin/scheduler"
"github.com/usememos/memos/internal/scheduler"
)
func main() {

View File

@ -7,7 +7,7 @@ import (
"os"
"time"
"github.com/usememos/memos/plugin/scheduler"
"github.com/usememos/memos/internal/scheduler"
)
// Example demonstrates basic scheduler usage.

View File

@ -10,7 +10,7 @@ import (
"testing"
"time"
"github.com/usememos/memos/plugin/scheduler"
"github.com/usememos/memos/internal/scheduler"
)
// TestRealWorldScenario tests a realistic multi-job scenario.

View File

@ -22,11 +22,11 @@ import (
"google.golang.org/protobuf/types/known/emptypb"
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/usememos/memos/internal/filter"
"github.com/usememos/memos/internal/motionphoto"
"github.com/usememos/memos/internal/profile"
"github.com/usememos/memos/internal/storage/s3"
"github.com/usememos/memos/internal/util"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/plugin/storage/s3"
v1pb "github.com/usememos/memos/proto/gen/api/v1"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"

View File

@ -16,9 +16,9 @@ import (
"google.golang.org/protobuf/types/known/emptypb"
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/usememos/memos/internal/idp"
"github.com/usememos/memos/internal/idp/oauth2"
"github.com/usememos/memos/internal/util"
"github.com/usememos/memos/plugin/idp"
"github.com/usememos/memos/plugin/idp/oauth2"
v1pb "github.com/usememos/memos/proto/gen/api/v1"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/server/auth"

View File

@ -13,7 +13,7 @@ import (
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/emptypb"
"github.com/usememos/memos/plugin/webhook"
"github.com/usememos/memos/internal/webhook"
v1pb "github.com/usememos/memos/proto/gen/api/v1"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/server/runner/memopayload"

View File

@ -10,8 +10,8 @@ import (
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/emptypb"
"github.com/usememos/memos/internal/filter"
"github.com/usememos/memos/internal/util"
"github.com/usememos/memos/plugin/filter"
v1pb "github.com/usememos/memos/proto/gen/api/v1"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"

View File

@ -4,8 +4,8 @@ import (
"context"
"testing"
"github.com/usememos/memos/internal/markdown"
"github.com/usememos/memos/internal/profile"
"github.com/usememos/memos/plugin/markdown"
"github.com/usememos/memos/server/auth"
apiv1 "github.com/usememos/memos/server/router/api/v1"
"github.com/usememos/memos/store"

View File

@ -22,7 +22,7 @@ import (
"github.com/usememos/memos/internal/base"
"github.com/usememos/memos/internal/util"
"github.com/usememos/memos/plugin/webhook"
"github.com/usememos/memos/internal/webhook"
v1pb "github.com/usememos/memos/proto/gen/api/v1"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/server/auth"

View File

@ -10,8 +10,8 @@ import (
"github.com/labstack/echo/v5/middleware"
"golang.org/x/sync/semaphore"
"github.com/usememos/memos/internal/markdown"
"github.com/usememos/memos/internal/profile"
"github.com/usememos/memos/plugin/markdown"
v1pb "github.com/usememos/memos/proto/gen/api/v1"
"github.com/usememos/memos/server/auth"
"github.com/usememos/memos/store"

View File

@ -193,7 +193,7 @@ Parses data URI to extract MIME type and base64 data.
- `server/auth` - Authentication utilities
- `store` - Database operations
- `internal/profile` - Server configuration
- `plugin/storage/s3` - S3 storage client
- `internal/storage/s3` - S3 storage client
## Configuration

View File

@ -21,7 +21,7 @@ import (
"github.com/usememos/memos/internal/motionphoto"
"github.com/usememos/memos/internal/profile"
"github.com/usememos/memos/plugin/storage/s3"
"github.com/usememos/memos/internal/storage/s3"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/server/auth"
"github.com/usememos/memos/store"

View File

@ -11,9 +11,9 @@ import (
"github.com/labstack/echo/v5"
"github.com/stretchr/testify/require"
"github.com/usememos/memos/internal/markdown"
"github.com/usememos/memos/internal/profile"
"github.com/usememos/memos/internal/testutil"
"github.com/usememos/memos/plugin/markdown"
apiv1 "github.com/usememos/memos/proto/gen/api/v1"
"github.com/usememos/memos/server/auth"
apiv1service "github.com/usememos/memos/server/router/api/v1"

View File

@ -14,8 +14,8 @@ import (
"github.com/gorilla/feeds"
"github.com/labstack/echo/v5"
"github.com/usememos/memos/internal/markdown"
"github.com/usememos/memos/internal/profile"
"github.com/usememos/memos/plugin/markdown"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -6,7 +6,7 @@ import (
"github.com/pkg/errors"
"github.com/usememos/memos/plugin/markdown"
"github.com/usememos/memos/internal/markdown"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -7,7 +7,7 @@ import (
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/usememos/memos/plugin/storage/s3"
"github.com/usememos/memos/internal/storage/s3"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -9,7 +9,7 @@ import (
"github.com/pkg/errors"
"github.com/usememos/memos/internal/base"
"github.com/usememos/memos/plugin/storage/s3"
"github.com/usememos/memos/internal/storage/s3"
storepb "github.com/usememos/memos/proto/gen/store"
)

View File

@ -9,7 +9,7 @@ import (
"github.com/pkg/errors"
"google.golang.org/protobuf/encoding/protojson"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -8,7 +8,7 @@ import (
"github.com/pkg/errors"
"google.golang.org/protobuf/encoding/protojson"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -5,7 +5,7 @@ import (
"fmt"
"strings"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
"github.com/usememos/memos/store"
)

View File

@ -9,7 +9,7 @@ import (
"github.com/pkg/errors"
"google.golang.org/protobuf/encoding/protojson"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -8,7 +8,7 @@ import (
"github.com/pkg/errors"
"google.golang.org/protobuf/encoding/protojson"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -5,7 +5,7 @@ import (
"fmt"
"strings"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
"github.com/usememos/memos/store"
)

View File

@ -9,7 +9,7 @@ import (
"github.com/pkg/errors"
"google.golang.org/protobuf/encoding/protojson"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -8,7 +8,7 @@ import (
"github.com/pkg/errors"
"google.golang.org/protobuf/encoding/protojson"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
storepb "github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
)

View File

@ -5,7 +5,7 @@ import (
"fmt"
"strings"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
"github.com/usememos/memos/store"
)