Commit 10a955fd authored by boojack's avatar boojack

refactor: move plugin packages under internal

parent 4b4e7194
......@@ -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
......
......@@ -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"
......
......@@ -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
......
// 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"
)
......
......@@ -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"
)
......
......@@ -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{}
......
......@@ -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"
)
......
......@@ -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 (
......
......@@ -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) {
......
......@@ -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.
......
......@@ -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) {
......
......@@ -24,7 +24,7 @@ package main
import (
"context"
"fmt"
"github.com/usememos/memos/plugin/scheduler"
"github.com/usememos/memos/internal/scheduler"
)
func main() {
......
......@@ -7,7 +7,7 @@ import (
"os"
"time"
"github.com/usememos/memos/plugin/scheduler"
"github.com/usememos/memos/internal/scheduler"
)
// Example demonstrates basic scheduler usage.
......
......@@ -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.
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -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
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
)
......
......@@ -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"
)
......
......@@ -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"
)
......
......@@ -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"
)
......
......@@ -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"
)
......
......@@ -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"
)
......
......@@ -5,7 +5,7 @@ import (
"fmt"
"strings"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
"github.com/usememos/memos/store"
)
......
......@@ -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"
)
......
......@@ -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"
)
......
......@@ -5,7 +5,7 @@ import (
"fmt"
"strings"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
"github.com/usememos/memos/store"
)
......
......@@ -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"
)
......
......@@ -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"
)
......
......@@ -5,7 +5,7 @@ import (
"fmt"
"strings"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/internal/filter"
"github.com/usememos/memos/store"
)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment