- 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>
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "ImportInjector", {
|
|
enumerable: true,
|
|
get: function () {
|
|
return _importInjector.default;
|
|
}
|
|
});
|
|
exports.addDefault = addDefault;
|
|
exports.addNamed = addNamed;
|
|
exports.addNamespace = addNamespace;
|
|
exports.addSideEffect = addSideEffect;
|
|
Object.defineProperty(exports, "isModule", {
|
|
enumerable: true,
|
|
get: function () {
|
|
return _isModule.default;
|
|
}
|
|
});
|
|
var _importInjector = require("./import-injector.js");
|
|
var _isModule = require("./is-module.js");
|
|
function addDefault(path, importedSource, opts) {
|
|
return new _importInjector.default(path).addDefault(importedSource, opts);
|
|
}
|
|
function addNamed(path, name, importedSource, opts) {
|
|
return new _importInjector.default(path).addNamed(name, importedSource, opts);
|
|
}
|
|
function addNamespace(path, importedSource, opts) {
|
|
return new _importInjector.default(path).addNamespace(importedSource, opts);
|
|
}
|
|
function addSideEffect(path, importedSource, opts) {
|
|
return new _importInjector.default(path).addSideEffect(importedSource, opts);
|
|
}
|
|
|
|
//# sourceMappingURL=index.js.map
|