-
-
Notifications
You must be signed in to change notification settings - Fork 6
Description
I want to lock in a “cleanup‑first” default for e18e and make the deep analyzers optional. Right now the most useful work we do is replacing packages (X → Y, where X is usually heavy and Y is a lighter alternative), pointing out duplicates, and sometimes giving practical hints. Publint and attw are excellent, but they’re heavy in a sense and not something everyone needs on every run. So the proposal is simple: keep cleanup as the core experience, and only run publint/attw when they’re installed.
Concretely, we’ll move publint, @arethetypeswrong/core into optional peerDependencies. Inside their plugins we’ll switch to dynamic imports and soft‑skip if a module isn’t present. No noise in normal mode, a single helpful line in debug, and if a user explicitly asks for a plugin in a strict context we’ll error with a clear install hint. We won’t enable publint by default.
On the core side, nothing changes philosophically. Replacements and duplicate detection stay front and center, fast and light.