diff --git a/.changeset/30559-objectui-upload-guide-packages.md b/.changeset/30559-objectui-upload-guide-packages.md new file mode 100644 index 00000000000..a2306c729bd --- /dev/null +++ b/.changeset/30559-objectui-upload-guide-packages.md @@ -0,0 +1,13 @@ +--- +'@objectstack/skills': patch +--- + +docs(skills): the objectui project-setup guide names where uploads live now that `@object-ui/providers` is gone + +Clause-②: no +Metadata-protocol: none + +- **Before.** `objectui/guides/project-setup.md` sent a third-party app to `@object-ui/providers` for `UploadProvider` / `useUpload`, in the provider-stack list and in the decision matrix. That package is retired and gets no further release. +- **Now.** `UploadProvider` / `useUpload` come from `@object-ui/fields`; the ObjectStack storage adapter `createObjectStackUploadAdapter` comes from `@object-ui/data-objectstack`; the `UploadAdapter` / `UploadOptions` / `UploadResult` contract is `@object-ui/types`'s, re-exported by `@object-ui/fields`. +- The troubleshooting section drops two monorepo-only tips (the Turbo cache block and the "downstream packages need built `dist/`" line), which a third-party app consuming published packages never needs. +- No schema, key or behaviour changes. diff --git a/skills/objectui/guides/project-setup.md b/skills/objectui/guides/project-setup.md index 0085d0ccb13..426b6be919a 100644 --- a/skills/objectui/guides/project-setup.md +++ b/skills/objectui/guides/project-setup.md @@ -246,8 +246,10 @@ The provider stack for a third-party app comes from the packages that read it: `auto` / `light` / `dark` mode. - `MetadataProvider` / `useMetadata` (`@object-ui/app-shell`) — apps / objects / dashboards / pages metadata from the API. -- `UploadProvider` / `useUpload` (`@object-ui/providers`) — the upload adapter the - file and image fields upload through. +- `UploadProvider` / `useUpload` (`@object-ui/fields`) — the adapter file and image + fields upload through; `createObjectStackUploadAdapter` + (`@object-ui/data-objectstack`) is ObjectStack's. Its contract `UploadAdapter` / + `UploadOptions` / `UploadResult` is `@object-ui/types`'s; `fields` re-exports it. ```tsx import { SchemaRendererProvider, ThemeProvider } from '@object-ui/react'; @@ -304,7 +306,7 @@ a private workspace demo app, not a published package. |------|-----| | Bare renderer in existing app | `@object-ui/react` | | Need the data-source / theme providers | `SchemaRendererProvider`, `ThemeProvider` from `@object-ui/react` | -| Need file / image uploads | + `@object-ui/providers` (`UploadProvider`) | +| Need file / image uploads | + `@object-ui/fields` (`UploadProvider`), `@object-ui/data-objectstack` (adapter) | | Need shell + object/dashboard/page/record views | + `@object-ui/app-shell` | | Need full admin console (sidebar, system hub, navigation) | study `apps/console` patterns | | Need a CLI-driven dev server | `@object-ui/cli` (`objectui dev`) | @@ -337,13 +339,8 @@ Access in code: `import.meta.env.VITE_API_BASE_URL` ### Module not found errors - Run `pnpm install` to ensure workspace links are resolved -- Run `pnpm build` — downstream packages need built `dist/` directories - Check `tsconfig.json` path aliases match project structure -### Turbo cache issues -- `pnpm turbo run build --force` to bypass cache -- Delete `.turbo/` directory for clean state - ### Vite HMR not working - Check `vite.config.ts` has `react()` plugin - Ensure file extensions are `.tsx` not `.jsx` when using TypeScript