feat: suspense-compatible direct API usage#1
Merged
Conversation
3 tasks
…URL state config.ts is now the single source of truth. api.ts and apiConfig.ts pull from getConfig() lazily instead of having configure() push values into them via async dynamic imports. This fixes timing issues and removes circular dependency workarounds. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28f130c to
564c895
Compare
Made-with: Cursor
…-pr2 refactor: pull-based config propagation
jbojcic1
approved these changes
Feb 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
configure()function and exports all API functions directly from the package, enabling usage without the React context providerOpenSecretProvider/useOpenSecretpattern still works but is marked as deprecatedChanges
src/lib/config.ts: Global configuration singleton (configure,getConfig,isConfigured,resetConfig)src/lib/api.ts: Removedclient_idparameter from 10 auth functions — they now read it internally from the global config viagetConfig()src/lib/index.ts: Exports all API functions directly with friendly aliases (signIn,signUp,get,put,del, etc.), plus config, attestation, and AI helper exportssrc/lib/main.tsx:OpenSecretProvidernow delegates toconfigure()internally; removedclientIdfrom all internal API callssrc/lib/context.ts: Added@deprecatedJSDoc touseOpenSecret()test/setup.tsfor SDK configurationUsage
Test plan
tsc --noEmitandtsc -p tsconfig.build.json)Based on jbojcic1/OpenSecret-SDK#1, adapted for the latest SDK version.
🤖 Generated with Claude Code