The browser-fetching variant ran into the cross-origin / cert-trust wall that came up the moment a real user loaded the page. Move the network call out of the library: <AppShell> now takes a pre-resolved ShellConfig as a required prop. Apps fetch from gsc-shell-api in their RSC layout (server-to-server, no CORS, no cert dance) and pass the result down. Public surface: AppShell, useShell, ShellConfig + sub-types Removed: ShellProvider (network logic gone), all fetcher props (apiUrl, getToken, appKey, initialConfig, revalidateMs). useShell() now returns ShellConfig directly (was ShellContextValue with loading/error/refresh — no longer relevant). Apps drive revalidation by re-rendering; chrome stays request-fresh without any client-side polling. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
63 lines
1.7 KiB
JSON
63 lines
1.7 KiB
JSON
{
|
|
"name": "@limitless/ui",
|
|
"version": "0.1.0",
|
|
"description": "Limitless-inspired Bootstrap 5 React UI kit (no jQuery), ready for Next.js/Remix.",
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"module": "dist/index.js",
|
|
"types": "dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"import": "./dist/index.js",
|
|
"require": "./dist/index.js",
|
|
"types": "./dist/index.d.ts"
|
|
},
|
|
"./css": "./dist/styles.css",
|
|
"./validation": {
|
|
"import": "./dist/validation/index.js",
|
|
"types": "./dist/validation/index.d.ts"
|
|
},
|
|
"./validation/server": {
|
|
"import": "./dist/validation/server/index.js",
|
|
"types": "./dist/validation/server/index.d.ts"
|
|
},
|
|
"./server": {
|
|
"import": "./dist/server/index.js",
|
|
"types": "./dist/server/index.d.ts"
|
|
},
|
|
"./genui/content": {
|
|
"import": "./dist/genui/content.js",
|
|
"types": "./dist/genui/content.d.ts"
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@floating-ui/react": "^0.24.8",
|
|
"nodemailer": "^6.9.0",
|
|
"@tanstack/react-table": "^8.13.0",
|
|
"react-colorful": "^5.6.1",
|
|
"react-day-picker": "^9.0.8",
|
|
"react-select": "^5.8.0"
|
|
},
|
|
"sideEffects": [
|
|
"**/*.css"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc -p tsconfig.json --noEmit false",
|
|
"postbuild": "node ./scripts/postbuild.cjs",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
},
|
|
"peerDependencies": {
|
|
"bootstrap": "^5.3.3",
|
|
"react": "^18.2.0 || ^19.0.0",
|
|
"react-dom": "^18.2.0 || ^19.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/google.maps": "^3.55.0",
|
|
"@types/nodemailer": "^6.4.0",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"typescript": "^5.4.0"
|
|
}
|
|
}
|