Commits
Adds new `make lexgen-ext` and corresponding `ext.json` config for
generating external lexicons and their dependencies. It seems that it's
necessary to include the `atproto` lexicons within this config file in
order for them to be resolved when building the external lexicons.
Two main decisions needed:
- Do we want a separate `ext.json` config or should we chuck it all in
the `bsky.json` config?
- How's the naming convention of `standardsite` here? Any better
suggestions?
Also important note: in order to get this to build, I needed to add a
`#placeholder` def to the `document`'s `content` field. This does not
match real-world use cases of course, but for our current purposes, we
are ignoring this field. Anyone else consuming these types will still be
able to treat the `content` field as an open union, and would need to
install other lexicons as appropriate e.g. Leaflet's content data
structures.
Motivation is to make it clearer how to operate the relay, eg when
bumping limits. Only the account limit is actually editable.
Also a small patch to improve logging/printing at startup (uses slog
instead of 'echo' web framework default port printing).
Adds a **non-breaking change** to `backfill` package.
* With `.Start()` it would use the default logger
* This PR adds `StartWithLogger(*slog.Logger)` so the user can use a
custom logger
* Now `Start()` just wraps the default logger in a `StartWithLogger`
call (so, not breaking the API)
(the two other minor changes are from the linter)
Adds new `make lexgen-ext` and corresponding `ext.json` config for
generating external lexicons and their dependencies. It seems that it's
necessary to include the `atproto` lexicons within this config file in
order for them to be resolved when building the external lexicons.
Two main decisions needed:
- Do we want a separate `ext.json` config or should we chuck it all in
the `bsky.json` config?
- How's the naming convention of `standardsite` here? Any better
suggestions?
Also important note: in order to get this to build, I needed to add a
`#placeholder` def to the `document`'s `content` field. This does not
match real-world use cases of course, but for our current purposes, we
are ignoring this field. Anyone else consuming these types will still be
able to treat the `content` field as an open union, and would need to
install other lexicons as appropriate e.g. Leaflet's content data
structures.
Adds a **non-breaking change** to `backfill` package.
* With `.Start()` it would use the default logger
* This PR adds `StartWithLogger(*slog.Logger)` so the user can use a
custom logger
* Now `Start()` just wraps the default logger in a `StartWithLogger`
call (so, not breaking the API)
(the two other minor changes are from the linter)