Add Milestones 1 & 2: full-stack POS foundation with admin UI
- Node/Express/TypeScript API under /api/v1 with JWT auth (login, refresh, logout, /me) - Prisma schema: vendors, users, roles, products, categories, taxes, transactions - SQLite for local dev; Postgres via docker-compose for production - Full CRUD routes for vendors, users, categories, taxes, products with Zod validation and RBAC - Paginated list endpoints scoped per vendor; refresh token rotation - React/TypeScript admin SPA (Vite): login, protected routing, sidebar layout - Pages: Dashboard, Catalog (tabbed Products/Categories/Taxes), Users, Vendor Settings - Shared UI: Table, Modal, FormField, Btn, PageHeader components - Multi-stage Dockerfile; docker-compose with Postgres healthcheck - Seed script with demo vendor and owner account - INSTRUCTIONS.md, ROADMAP.md, .claude/launch.json for dev server config Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
60
client/node_modules/react-dom/README.md
generated
vendored
Normal file
60
client/node_modules/react-dom/README.md
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
# `react-dom`
|
||||
|
||||
This package serves as the entry point to the DOM and server renderers for React. It is intended to be paired with the generic React package, which is shipped as `react` to npm.
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
npm install react react-dom
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### In the browser
|
||||
|
||||
```js
|
||||
import { createRoot } from 'react-dom/client';
|
||||
|
||||
function App() {
|
||||
return <div>Hello World</div>;
|
||||
}
|
||||
|
||||
const root = createRoot(document.getElementById('root'));
|
||||
root.render(<App />);
|
||||
```
|
||||
|
||||
### On the server
|
||||
|
||||
```js
|
||||
import { renderToPipeableStream } from 'react-dom/server';
|
||||
|
||||
function App() {
|
||||
return <div>Hello World</div>;
|
||||
}
|
||||
|
||||
function handleRequest(res) {
|
||||
// ... in your server handler ...
|
||||
const stream = renderToPipeableStream(<App />, {
|
||||
onShellReady() {
|
||||
res.statusCode = 200;
|
||||
res.setHeader('Content-type', 'text/html');
|
||||
stream.pipe(res);
|
||||
},
|
||||
// ...
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### `react-dom`
|
||||
|
||||
See https://reactjs.org/docs/react-dom.html
|
||||
|
||||
### `react-dom/client`
|
||||
|
||||
See https://reactjs.org/docs/react-dom-client.html
|
||||
|
||||
### `react-dom/server`
|
||||
|
||||
See https://reactjs.org/docs/react-dom-server.html
|
||||
Reference in New Issue
Block a user