Files
pos/server/node_modules/tsx/dist/register-B7jrtLTO.mjs
jason d53c772dd6 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>
2026-03-20 23:18:04 -05:00

2 lines
1.4 KiB
JavaScript

var d=Object.defineProperty;var o=(r,s)=>d(r,"name",{value:s,configurable:!0});import m from"node:module";import{MessageChannel as u}from"node:worker_threads";import{f as g,a as v}from"./register-CFH5oNdT.mjs";import{pathToFileURL as h}from"node:url";const w=o(r=>(s,e)=>{if(!e)throw new Error("The current file path (import.meta.url) must be provided in the second argument of tsImport()");const a=e.startsWith(g)?e:h(e).toString();return import(`tsx://${JSON.stringify({specifier:s,parentURL:a,namespace:r})}`)},"createScopedImport");let l=!1;const E=o(r=>{if(!m.register)throw new Error(`This version of Node.js (${process.version}) does not support module.register(). Please upgrade to Node v18.19 or v20.6 and above.`);if(!l){const{_resolveFilename:t}=m;m._resolveFilename=(p,...c)=>t(v(p),...c),l=!0}const{sourceMapsEnabled:s}=process;process.setSourceMapsEnabled(!0);const{port1:e,port2:a}=new u;m.register(`./esm/index.mjs?${Date.now()}`,{parentURL:import.meta.url,data:{port:a,namespace:r?.namespace,tsconfig:r?.tsconfig},transferList:[a]});const f=r?.onImport,n=f&&(t=>{t.type==="load"&&f(t.url)});n&&(e.on("message",n),e.unref());const i=o(()=>(s===!1&&process.setSourceMapsEnabled(!1),n&&e.off("message",n),e.postMessage("deactivate"),new Promise(t=>{const p=o(c=>{c.type==="deactivated"&&(t(),e.off("message",p))},"onDeactivated");e.on("message",p)})),"unregister");return r?.namespace&&(i.import=w(r.namespace),i.unregister=i),i},"register");export{E as r};