parseTestConfig extracts a @test-config JSON object from source comments. Returns a map of extra config to merge into the Effect plugin options.
(sourceText string)
| 232 | if os.Getenv("UPDATE_RULE_DOCS") == "" { |
| 233 | t.Skip("set UPDATE_RULE_DOCS=1 to regenerate docs/rules") |
| 234 | } |
| 235 | root := repoRoot(t) |
| 236 | docsPath := filepath.Join(root, "docs", "rules") |
| 237 | if err := os.MkdirAll(docsPath, 0o755); err != nil { |
| 238 | t.Fatalf("create rule docs directory: %v", err) |
| 239 | } |
| 240 | generated := generateRuleDocs(generateMetadataDocument(t)) |
| 241 | entries, err := os.ReadDir(docsPath) |
| 242 | if err != nil { |
| 243 | t.Fatalf("read rule docs directory: %v", err) |
| 244 | } |
| 245 | for _, entry := range entries { |
| 246 | if !entry.IsDir() && filepath.Ext(entry.Name()) == ".md" { |
| 247 | if err := os.Remove(filepath.Join(docsPath, entry.Name())); err != nil { |
| 248 | t.Fatalf("remove stale rule doc %s: %v", entry.Name(), err) |