You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After this app migrates to consume wp-native-shell + wp-native-client (see #24, #18-#23), the @extrachill/api-client package becomes obsolete and gets retired entirely.
Why fully retire, not "slim down"
A generic framework that requires a per-site TypeScript wrapper isn't actually generic. See the wp-native principle.
EC-specific routes → don't get re-implemented as a typed client. They're abilities on the WordPress side, called via client.execute('extrachill/artist.get', { id: 42 }) from any consumer.
EC route knowledge lives on the server, where it belongs. No client-side duplication.
Migration order (across all consumers of @extrachill/api-client)
extrachill-app — replace all client.users.foo() / client.artists.foo() / etc. with client.execute('extrachill/...', args)
@extrachill/chat — same migration
EC theme blocks that import @extrachill/api-client — same migration
Verify no other consumers exist (grep across the platform)
Server-side: confirm every route currently exposed via @extrachill/api-client has a corresponding ability registered (likely already true, since EC is moving toward abilities-first across the board)
Delete @extrachill/api-client from the codebase
Unpublish @extrachill/api-client from npm (or deprecate)
Acceptance
Zero imports of @extrachill/api-client remain across all EC repos
All previously-typed methods now go through wp-native-client.execute()
Goal
After this app migrates to consume
wp-native-shell+wp-native-client(see #24, #18-#23), the@extrachill/api-clientpackage becomes obsolete and gets retired entirely.Why fully retire, not "slim down"
A generic framework that requires a per-site TypeScript wrapper isn't actually generic. See the wp-native principle.
Today
@extrachill/api-clientdoes two things:client.artists.getArtist(42), etc.)After the abilities-first migration:
wp-native-clientclient.execute('extrachill/artist.get', { id: 42 })from any consumer.EC route knowledge lives on the server, where it belongs. No client-side duplication.
Migration order (across all consumers of @extrachill/api-client)
extrachill-app— replace allclient.users.foo()/client.artists.foo()/ etc. withclient.execute('extrachill/...', args)@extrachill/chat— same migration@extrachill/api-client— same migration@extrachill/api-clienthas a corresponding ability registered (likely already true, since EC is moving toward abilities-first across the board)@extrachill/api-clientfrom the codebase@extrachill/api-clientfrom npm (or deprecate)Acceptance
@extrachill/api-clientremain across all EC reposwp-native-client.execute()Related