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:
28
server/node_modules/@prisma/engines/scripts/postinstall.js
generated
vendored
Normal file
28
server/node_modules/@prisma/engines/scripts/postinstall.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
const path = require('path')
|
||||
|
||||
const postInstallScriptPath = path.join(__dirname, '..', 'dist', 'scripts', 'postinstall.js')
|
||||
const localInstallScriptPath = path.join(__dirname, '..', 'dist', 'scripts', 'localinstall.js')
|
||||
|
||||
try {
|
||||
// that's when we develop in the monorepo, `dist` does not exist yet
|
||||
// so we compile postinstall script and trigger it immediately after
|
||||
if (require('../package.json').version === '0.0.0') {
|
||||
const execa = require('execa')
|
||||
const buildScriptPath = path.join(__dirname, '..', 'helpers', 'build.ts')
|
||||
|
||||
execa.sync('pnpm', ['tsx', buildScriptPath], {
|
||||
// for the sake of simplicity, we IGNORE_EXTERNALS in our own setup
|
||||
// ie. when the monorepo installs, the postinstall is self-contained
|
||||
env: { DEV: true, IGNORE_EXTERNALS: true },
|
||||
stdio: 'inherit',
|
||||
})
|
||||
|
||||
// if enabled, it will install engine overrides into the cache dir
|
||||
execa.sync('node', [localInstallScriptPath], {
|
||||
stdio: 'inherit',
|
||||
})
|
||||
}
|
||||
} catch {}
|
||||
|
||||
// that's the normal path, when users get this package ready/installed
|
||||
require(postInstallScriptPath)
|
||||
Reference in New Issue
Block a user