Releases: FujoWebDev/fujocoded-plugins
@fujocoded/zod-transform-socials@0.1.0
Minor Changes
-
#32
bbe45a3Thanks @enigmalea!New
- Zod 4 / Astro 6 support:
import { SocialLinks } from "@fujocoded/zod-transform-socials/zod4". Default entry is still Zod 3. - Examples:
__examples__/now has one runnable project per combo (Astro 5, Astro 6, plain Zod 3, plain Zod 4). "sideEffects": falseinpackage.jsonso you can treeshake away the half you don't use.
Breaking
zodis now a peer dep (^3.25.0 || ^4.0.0).- Minimum Zod 3 is now
3.25.0(was3.23.8) so we can accesszod/v4.
- Zod 4 / Astro 6 support:
Patch Changes
- #32
bbe45a3Thanks @enigmalea!- mastodon match now accepts post urls in addition to profile mathes (e.g. urls like
/@user/112050937942786185). - warn at import time when the default (zod 3) entry is used but zod 4 is installed (for example an astro 6 upgrade that forgot to switch to
/zod4).
- mastodon match now accepts post urls in addition to profile mathes (e.g. urls like
@fujocoded/astro-atproto-loader@0.2.1
Patch Changes
-
8bd3453: Fixes
0.2.0, which was broken:defineAtProtoCollectionanddefineAtProtoLiveCollectiondidn't return the shape Astro expected, so callers had to wrap them indefineCollection/defineLiveCollectionthemselves. They now return the real Astro collection shape and work as documented.Breaking:
fetchRecord({ atUri })now resolves to{ value, repo }instead of just the record value. Existing callers need to read.value. The newrepofield carries the fetched record's{ did, pds }so it can be passed directly totoHostedBlobwithout re-resolving identity. This is shipped as a patch (and not a minor bump) because0.2.0was only on npm for ~8 hours and is being deprecated alongside this release, so realistically nobody is depending on the oldfetchRecordshape.Also in this release:
- New
toHostedBlob({ repo, blob })for buildingcom.atproto.sync.getBlobURLs, plus theisAtBlobguard and theAtBlobtype. AtProtoRecordReponow includespdsalongsidedid, soargs.repoworks directly withtoHostedBlob.getPds(repo)is exported and shares the identity cache withgetClient.BlobRefandCIDinstances are flattened to{ $link }before being stored, so records with blobs don't break Astro's devalue store.- Added the
04-single-entryexample.
- New
@fujocoded/remark-capitalize-titles@0.1.0
Minor Changes
-
9439b7a: Lowercase the second-and-later segments of a hyphenated compound during title
casing, so output follows AP-style ("Three-way Merges", "Pre-commit Hooks",
"Up-to-date") instead of capitalizing every segment ("Three-Way", "Pre-Commit",
"Up-To-Date"). A segment is kept capitalized when either the full compound or
the individual segment is listed inspecial.This is a breaking change for callers that expected every segment of a
hyphenated word to be capitalized.
Patch Changes
- 9439b7a: Capitalize words correctly when a heading contains curly quotes (as produced by
remark-smartypants). Previously, the upstreamtitlelibrary only recognized
straight quotes as punctuation, so a word following a curly“or’would
stay lowercase. The plugin now converts curly quotes to straight quotes before
title-casing, then restores the original curly characters in the output.
@fujocoded/authproto@0.3.1
Patch Changes
-
7e3f1e7: Fix custom-redirect / referer parsing in the OAuth callback so encoded
redirectandreferervalues are no longer silently dropped on login. -
7e3f1e7: Improve
astro-authprotoREADME and02-read-bsky-profileexample:- Document
sessiondriver setup and full integration config in install steps. - Clarify
applicationDomainshould be the full URL with scheme (e.g.https://example.com, orhttp://127.0.0.1:4321locally). - Add a "Shipping it" production section.
- Update the read-profile example to use
getBlueskyAgentfrom@fujocoded/authproto/helpersinstead of constructingAtpBaseClientdirectly, and fix the avataralt.
- Document
-
7e3f1e7: Use Astro's actual dev server port for the OAuth callback URL in development instead of always assuming
4321. If you runastro dev --port 4322(or setserver.portin your Astro config), Authproto now points OAuth at the right local URL.
@fujocoded/atproto-badges@0.2.0
Minor Changes
- 7e3f1e7: Initial release of
@fujocoded/atproto-badges— ATProto badge attestation utilities for creating, signing, and verifying badges per the badge.blue specification.
@fujocoded/astro-atproto-loader@0.2.0
Minor Changes
-
54edfb5: Rework the loaders for better ergonomics and typing. Featuring breaking changes!atProtoLiveLoader→defineAtProtoLiveCollectionatProtoStaticLoader→defineAtProtoCollection
New capabilities:
- Multi-source pipeline: load from several
repo+collectionpairs in one collection, withvaluediscriminated oncollectioninsidefilter/transform. - Per-source
parseRecordfor$parse-style lexicon validation; failures drop the single record without failing the source. groupBy+ groupedtransformfor merging records across sources under a shared key (e.g. post + reposts).- Shared
fetchRecordhydrator passed to every callback, with per-cycle request deduping. onSourceErrorpolicy ('throw' | 'skip' | fn)limit: number | 'all'andmaxPagesfor explicit pagination control.
@fujocoded/zod-transform-socials@0.0.14
Patch Changes
- c97f268: Add
createSocialsTransformerfor registering custom domains for platforms without known URL shapes (currentlymastodon), so self-hosted instances can be matched without needing to spell outplatformevery time.
@fujocoded/astro-atproto-loader@0.1.1
@fujocoded/astro-atproto-loader
0.1.0
Minor Changes
- 4396993: Introduce
@fujocoded/astro-atproto-loader, a package for loading AtProto PDS
records into Astro collections. It includes bothatProtoLiveLoader()for live
collections andatProtoStaticLoader()for build-time content collections.
0.0.1
Patch Changes
- Initial release of Astro loaders for public AtProto repo records.
@fujocoded/authproto@0.3.0
Minor Changes
- 4edfdd1: Support Astro 6.
- b728333: Add loggedInClient to Astro.locals and expose the full OAuthSession for the new lex package.
Patch Changes
- 4edfdd1: Export client metadata domain from config so registered and runtime clients stay consistent.
- b728333: Add input attributes to Login component for better mobile UX (placeholder, inputmode, autocorrect, autocapitalize, autocomplete, spellcheck).
Allow user to pass down form props to form.
Partially based on https://tangled.org/strings/did:plc:4gt3dbmp4pydjiemob4konzm/3mihke6jals22