- Fold `External { base }` into `Auto { base, external: bool }`. External
sources were never a distinct kind of source: they are auto sources whose
directory is itself ignored but was explicitly listed (set either directly
for `node_modules`-style directories, or by the gitignore promotion walk).
Every consumer except the walker-layer emission matched
`Auto { base } | External { base }`; those pairings collapse to a single
arm, and the promotion becomes setting a field instead of swapping
variants.
- Delete the unused `SourceEntry` ⇄ `GlobEntry` `From` conversions; the
glob accessors build `GlobEntry` values inline and nothing ever converted
through these impls.
- Document that directory-shaped `@source not` directives are normalized to
a `/**/*` pattern (semantically identical), which `NotRule::covers_dir`
relies on.
- Make the folder check in `From<PublicSourceEntry>` honest: joining the
"/"-pinned pattern onto the base discarded the base entirely (an absolute
path replaces it), so the check accidentally tested a nonsense path like
`/index.html` against the filesystem root. Strip the leading slash and
document that this arm only matters when `optimize()` could not
canonicalize the base.
|
||
|---|---|---|
| .. | ||
| classification-macros | ||
| ignore | ||
| node | ||
| oxide | ||