REPASO GENERAL ADAPTAR A DOCKERS

This commit is contained in:
David Arranz 2025-11-04 21:54:35 +01:00
parent da15e9d44d
commit 92d7fb4ca6
24 changed files with 284 additions and 625 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@erp/factuges-server", "name": "@erp/factuges-server",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"scripts": { "scripts": {
"build": "tsup src/index.ts --config tsup.config.ts", "build": "tsup src/index.ts --config tsup.config.ts",
@ -55,10 +55,7 @@
"passport": "^0.7.0", "passport": "^0.7.0",
"passport-jwt": "^4.0.1", "passport-jwt": "^4.0.1",
"passport-local": "^1.0.0", "passport-local": "^1.0.0",
"path": "^0.12.7",
"pg-hstore": "^2.3.4", "pg-hstore": "^2.3.4",
"puppeteer": "^24.20.0",
"puppeteer-report": "^3.2.0",
"reflect-metadata": "^0.2.2", "reflect-metadata": "^0.2.2",
"response-time": "^2.3.3", "response-time": "^2.3.3",
"sequelize": "^6.37.5", "sequelize": "^6.37.5",

View File

@ -1,7 +1,7 @@
{ {
"name": "@erp/factuges-web", "name": "@erp/factuges-web",
"private": true, "private": true,
"version": "0.0.4", "version": "0.0.5",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite --host --clearScreen false", "dev": "vite --host --clearScreen false",

View File

@ -1,6 +1,6 @@
{ {
"name": "@erp/auth", "name": "@erp/auth",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,
@ -16,17 +16,16 @@
"./client": "./src/web/index.ts" "./client": "./src/web/index.ts"
}, },
"peerDependencies": { "peerDependencies": {
"@erp/core": "workspace:*", "react": "^19.1.0",
"dinero.js": "^1.9.1", "react-dom": "^19.1.0"
"express": "^4.18.2",
"i18next": "^25.1.1",
"zod": "^3.25.67"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^2.3.1", "@biomejs/biome": "^2.3.1",
"@types/express": "^4.17.21", "@types/express": "^4.17.21",
"@types/react": "^19.1.2", "@types/react": "^19.1.2",
"@types/react-dom": "^19.1.3", "@types/react-dom": "^19.1.3",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"dependencies": { "dependencies": {
@ -34,9 +33,8 @@
"@repo/rdx-ddd": "workspace:*", "@repo/rdx-ddd": "workspace:*",
"@repo/rdx-ui": "workspace:*", "@repo/rdx-ui": "workspace:*",
"@repo/shadcn-ui": "workspace:*", "@repo/shadcn-ui": "workspace:*",
"@tanstack/react-query": "^5.74.11", "@tanstack/react-query": "^5.90.6",
"react": "^19.1.0", "i18next": "^25.1.1",
"react-dom": "^19.1.0",
"react-hook-form": "^7.56.2", "react-hook-form": "^7.56.2",
"react-router-dom": "^6.26.0", "react-router-dom": "^6.26.0",
"react-secure-storage": "^1.3.2" "react-secure-storage": "^1.3.2"

View File

@ -1,6 +1,6 @@
{ {
"name": "@erp/core", "name": "@erp/core",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,
@ -20,14 +20,16 @@
"./hooks": "./src/web/hooks/index.ts" "./hooks": "./src/web/hooks/index.ts"
}, },
"peerDependencies": { "peerDependencies": {
"dinero.js": "^1.9.1", "react": "^19.1.0",
"react": "^19.1.0" "react-dom": "^19.1.0"
}, },
"devDependencies": { "devDependencies": {
"@hookform/devtools": "^4.4.0", "@hookform/devtools": "^4.4.0",
"@types/dinero.js": "^1.9.4", "@types/dinero.js": "^1.9.4",
"@types/express": "^4.17.21", "@types/express": "^4.17.21",
"@types/react": "^19.1.2", "@types/react": "^19.1.2",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"dependencies": { "dependencies": {
@ -40,6 +42,7 @@
"@repo/shadcn-ui": "workspace:*", "@repo/shadcn-ui": "workspace:*",
"@tanstack/react-query": "^5.75.4", "@tanstack/react-query": "^5.75.4",
"axios": "^1.9.0", "axios": "^1.9.0",
"dinero.js": "^1.9.1",
"express": "^4.18.2", "express": "^4.18.2",
"http-status": "^2.1.0", "http-status": "^2.1.0",
"i18next": "^25.1.1", "i18next": "^25.1.1",
@ -47,6 +50,7 @@
"react-hook-form": "^7.58.1", "react-hook-form": "^7.58.1",
"react-i18next": "^15.5.1", "react-i18next": "^15.5.1",
"react-router-dom": "^6.26.0", "react-router-dom": "^6.26.0",
"sequelize": "^6.37.5",
"zod": "^4.1.11" "zod": "^4.1.11"
} }
} }

View File

@ -1,5 +1,5 @@
{ {
"extends": "@repo/typescript-config/buildless.json", "extends": "../../tsconfig.json",
"compilerOptions": { "compilerOptions": {
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {

View File

@ -15,6 +15,10 @@
"./client": "./src/web/manifest.ts", "./client": "./src/web/manifest.ts",
"./globals.css": "./src/web/globals.css" "./globals.css": "./src/web/globals.css"
}, },
"peerDependencies": {
"react": "^19.1.0",
"react-dom": "^19.1.0"
},
"devDependencies": { "devDependencies": {
"@hookform/devtools": "^4.4.0", "@hookform/devtools": "^4.4.0",
"@types/dinero.js": "^1.9.4", "@types/dinero.js": "^1.9.4",
@ -22,10 +26,11 @@
"@types/react": "^19.1.2", "@types/react": "^19.1.2",
"@types/react-dom": "^19.1.3", "@types/react-dom": "^19.1.3",
"@types/react-router-dom": "^5.3.3", "@types/react-router-dom": "^5.3.3",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"dependencies": { "dependencies": {
"@ag-grid-community/locale": "34.0.0",
"@dnd-kit/core": "^6.3.1", "@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0", "@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2", "@dnd-kit/utilities": "^3.2.2",
@ -39,10 +44,8 @@
"@repo/rdx-ui": "workspace:*", "@repo/rdx-ui": "workspace:*",
"@repo/rdx-utils": "workspace:*", "@repo/rdx-utils": "workspace:*",
"@repo/shadcn-ui": "workspace:*", "@repo/shadcn-ui": "workspace:*",
"@tanstack/react-query": "^5.74.11", "@tanstack/react-query": "^5.90.6",
"@tanstack/react-table": "^8.21.3", "@tanstack/react-table": "^8.21.3",
"ag-grid-community": "^33.3.0",
"ag-grid-react": "^33.3.0",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"dinero.js": "^1.9.1", "dinero.js": "^1.9.1",
@ -51,13 +54,13 @@
"i18next": "^25.1.1", "i18next": "^25.1.1",
"libphonenumber-js": "^1.12.7", "libphonenumber-js": "^1.12.7",
"lucide-react": "^0.503.0", "lucide-react": "^0.503.0",
"pg-hstore": "^2.3.4",
"puppeteer": "^24.20.0", "puppeteer": "^24.20.0",
"puppeteer-report": "^3.2.0", "puppeteer-report": "^3.2.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-hook-form": "^7.58.1", "react-hook-form": "^7.58.1",
"react-i18next": "^15.5.1", "react-i18next": "^15.5.1",
"react-router-dom": "^6.26.0", "react-router-dom": "^6.26.0",
"sequelize": "^6.37.5",
"zod": "^4.1.11" "zod": "^4.1.11"
} }
} }

View File

@ -1,15 +1,13 @@
{ {
"name": "@erp/customers", "name": "@erp/customers",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,
"scripts": { "scripts": {
"typecheck": "tsc -p tsconfig.json --noEmit", "typecheck": "tsc -p tsconfig.json --noEmit",
"clean": "rimraf .turbo node_modules dist" "clean": "rimraf .turbo node_modules dist"
}, },
"exports": { "exports": {
".": "./src/common/index.ts", ".": "./src/common/index.ts",
"./common": "./src/common/index.ts", "./common": "./src/common/index.ts",
@ -18,28 +16,19 @@
"./globals.css": "./src/web/globals.css", "./globals.css": "./src/web/globals.css",
"./components": "./src/web/components/index.ts" "./components": "./src/web/components/index.ts"
}, },
"peerDependencies": { "peerDependencies": {
"@tanstack/react-query": "^5.74.11",
"ag-grid-community": "^33.3.0",
"dinero.js": "^1.9.1",
"express": "^4.18.2",
"i18next": "^25.1.1",
"react": "^19.1.0", "react": "^19.1.0",
"react-dom": "^19.1.0", "react-dom": "^19.1.0"
"react-hook-form": "^7.58.1",
"react-i18next": "^15.5.1",
"zod": "^4.1.11"
}, },
"devDependencies": { "devDependencies": {
"@types/express": "^4.17.21", "@types/express": "^4.17.21",
"@types/react": "^19.1.2", "@types/react": "^19.1.2",
"@types/react-router-dom": "^5.3.3", "@types/react-router-dom": "^5.3.3",
"typescript": "^5.9.3", "react": "^19.1.0",
"vitest": "^3.2.4" "react-dom": "^19.1.0",
"typescript": "^5.9.3"
}, },
"dependencies": { "dependencies": {
"@ag-grid-community/locale": "34.0.0",
"@erp/auth": "workspace:*", "@erp/auth": "workspace:*",
"@erp/core": "workspace:*", "@erp/core": "workspace:*",
"@hookform/resolvers": "^5.0.1", "@hookform/resolvers": "^5.0.1",
@ -49,11 +38,16 @@
"@repo/rdx-ui": "workspace:*", "@repo/rdx-ui": "workspace:*",
"@repo/rdx-utils": "workspace:*", "@repo/rdx-utils": "workspace:*",
"@repo/shadcn-ui": "workspace:*", "@repo/shadcn-ui": "workspace:*",
"@tanstack/react-query": "^5.90.6",
"@tanstack/react-table": "^8.21.3", "@tanstack/react-table": "^8.21.3",
"ag-grid-react": "^33.3.0", "i18next": "^25.6.0",
"lucide-react": "^0.503.0", "lucide-react": "^0.503.0",
"react-data-table-component": "^7.7.0", "react-data-table-component": "^7.7.0",
"react-hook-form": "^7.58.1",
"react-i18next": "^16.2.4",
"react-router-dom": "^6.26.0", "react-router-dom": "^6.26.0",
"use-debounce": "^10.0.5" "sequelize": "^6.37.5",
"use-debounce": "^10.0.5",
"zod": "^4.1.11"
} }
} }

View File

@ -1,13 +1,13 @@
import { PageHeader } from '@erp/core/components'; import { PageHeader } from "@erp/core/components";
import { AppContent, AppHeader, BackHistoryButton, useDebounce } from "@repo/rdx-ui/components"; import { AppContent, AppHeader, BackHistoryButton, useDebounce } from "@repo/rdx-ui/components";
import { Button } from "@repo/shadcn-ui/components"; import { Button } from "@repo/shadcn-ui/components";
import { PlusIcon } from "lucide-react"; import { PlusIcon } from "lucide-react";
import { useMemo, useState } from 'react'; import { useMemo, useState } from "react";
import { Outlet, useNavigate } from "react-router-dom"; import { Outlet, useNavigate } from "react-router-dom";
import { ErrorAlert } from '../../components'; import { ErrorAlert } from "../../components";
import { useCustomerListQuery } from '../../hooks'; import { useCustomerListQuery } from "../../hooks";
import { useTranslation } from "../../i18n"; import { useTranslation } from "../../i18n";
import { CustomersListGrid } from './customers-list-grid'; import { CustomersListGrid } from "./customers-list-grid";
export const CustomersListPage = () => { export const CustomersListPage = () => {
const { t } = useTranslation(); const { t } = useTranslation();
@ -28,13 +28,7 @@ export const CustomersListPage = () => {
[pageSize, pageIndex, debouncedQ] [pageSize, pageIndex, debouncedQ]
); );
const { data: customersPageData, isLoading, isError, error } = useCustomerListQuery({ criteria });
const {
data: customersPageData,
isLoading,
isError,
error,
} = useCustomerListQuery({ criteria });
const handlePageChange = (newPageIndex: number) => { const handlePageChange = (newPageIndex: number) => {
setPageIndex(newPageIndex); setPageIndex(newPageIndex);
@ -51,7 +45,6 @@ export const CustomersListPage = () => {
setPageIndex(0); setPageIndex(0);
}; };
if (isError || !customersPageData) { if (isError || !customersPageData) {
return ( return (
<AppContent> <AppContent>
@ -74,11 +67,11 @@ export const CustomersListPage = () => {
<div className='flex items-center space-x-2'> <div className='flex items-center space-x-2'>
<Button <Button
onClick={() => navigate("/customers/create")} onClick={() => navigate("/customers/create")}
variant={'default'} variant={"default"}
aria-label={t("pages.create.title")} aria-label={t("pages.create.title")}
className='cursor-pointer' className='cursor-pointer'
> >
<PlusIcon className="mr-2 h-4 w-4" aria-hidden /> <PlusIcon className='mr-2 h-4 w-4' aria-hidden />
{t("pages.create.title")} {t("pages.create.title")}
</Button> </Button>
</div> </div>

View File

@ -1,3 +1,6 @@
import { formHasAnyDirty, pickFormDirtyValues } from "@erp/core/client";
import { UnsavedChangesProvider, useHookForm } from "@erp/core/hooks";
import { showErrorToast, showSuccessToast, showWarningToast } from "@repo/rdx-ui/helpers";
import { import {
Button, Button,
Dialog, Dialog,
@ -11,18 +14,13 @@ import {
TabsTrigger, TabsTrigger,
} from "@repo/shadcn-ui/components"; } from "@repo/shadcn-ui/components";
import { X } from "lucide-react"; import { X } from "lucide-react";
import { FieldErrors, FormProvider } from "react-hook-form"; import { FieldErrors, FormProvider } from "react-hook-form";
import { useNavigate } from "react-router-dom";
import { CustomerEditorSkeleton } from "../../components";
import { CustomerAdditionalConfigFields } from "../../components/editor/customer-additional-config-fields"; import { CustomerAdditionalConfigFields } from "../../components/editor/customer-additional-config-fields";
import { CustomerAddressFields } from "../../components/editor/customer-address-fields"; import { CustomerAddressFields } from "../../components/editor/customer-address-fields";
import { CustomerBasicInfoFields } from "../../components/editor/customer-basic-info-fields"; import { CustomerBasicInfoFields } from "../../components/editor/customer-basic-info-fields";
import { useNavigate } from "react-router-dom";
import { formHasAnyDirty, pickFormDirtyValues } from "@erp/core/client";
import { UnsavedChangesProvider, useHookForm } from "@erp/core/hooks";
import { showErrorToast, showSuccessToast, showWarningToast } from "@repo/rdx-ui/helpers";
import { CustomerEditorSkeleton } from "../../components";
import { useCustomerQuery, useUpdateCustomer } from "../../hooks"; import { useCustomerQuery, useUpdateCustomer } from "../../hooks";
import { useTranslation } from "../../i18n"; import { useTranslation } from "../../i18n";
import { CustomerFormData, CustomerFormSchema, defaultCustomerFormData } from "../../schemas"; import { CustomerFormData, CustomerFormSchema, defaultCustomerFormData } from "../../schemas";

View File

@ -1,5 +1,14 @@
import { PageHeader } from "@erp/core/components";
import { useUrlParamId } from "@erp/core/hooks";
import { AppContent, AppHeader, BackHistoryButton } from "@repo/rdx-ui/components"; import { AppContent, AppHeader, BackHistoryButton } from "@repo/rdx-ui/components";
import { Button, Card, CardContent, CardHeader, CardTitle } from "@repo/shadcn-ui/components"; import {
Badge,
Button,
Card,
CardContent,
CardHeader,
CardTitle,
} from "@repo/shadcn-ui/components";
import { import {
Banknote, Banknote,
EditIcon, EditIcon,
@ -10,13 +19,9 @@ import {
MapPin, MapPin,
MoreVertical, MoreVertical,
Phone, Phone,
Smartphone Smartphone,
} from "lucide-react"; } from "lucide-react";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import { PageHeader } from '@erp/core/components';
import { useUrlParamId } from "@erp/core/hooks";
import { Badge } from "@repo/shadcn-ui/components";
import { CustomerEditorSkeleton, ErrorAlert } from "../../components"; import { CustomerEditorSkeleton, ErrorAlert } from "../../components";
import { useCustomerQuery } from "../../hooks"; import { useCustomerQuery } from "../../hooks";
import { useTranslation } from "../../i18n"; import { useTranslation } from "../../i18n";
@ -63,13 +68,22 @@ export const CustomerViewPage = () => {
<AppHeader> <AppHeader>
<PageHeader <PageHeader
backIcon backIcon
title={(<div className="flex flex-wrap items-center gap-2">{customer?.name} {customer?.trade_name && <span className="text-muted-foreground">({customer.trade_name})</span>}</div>)} title={
description={<div className='mt-2 flex items-center gap-3'> <div className='flex flex-wrap items-center gap-2'>
<Badge variant='secondary' className='font-mono'> {customer?.name}{" "}
{customer?.tin} {customer?.trade_name && (
</Badge> <span className='text-muted-foreground'>({customer.trade_name})</span>
<Badge variant='outline'>{customer?.is_company ? "Empresa" : "Persona"}</Badge> )}
</div>} </div>
}
description={
<div className='mt-2 flex items-center gap-3'>
<Badge variant='secondary' className='font-mono'>
{customer?.tin}
</Badge>
<Badge variant='outline'>{customer?.is_company ? "Empresa" : "Persona"}</Badge>
</div>
}
rightSlot={ rightSlot={
<div className='flex gap-2'> <div className='flex gap-2'>
<Button variant='outline' size='icon' onClick={() => navigate("/customers/list")}> <Button variant='outline' size='icon' onClick={() => navigate("/customers/list")}>
@ -101,20 +115,20 @@ export const CustomerViewPage = () => {
</div> </div>
<div> <div>
<dt className='text-sm font-medium text-muted-foreground'>Referencia</dt> <dt className='text-sm font-medium text-muted-foreground'>Referencia</dt>
<dd className='mt-1 font-mono text-base text-foreground'> <dd className='mt-1 font-mono text-base text-foreground'>{customer?.reference}</dd>
{customer?.reference}
</dd>
</div> </div>
<div> <div>
<dt className='text-sm font-medium text-muted-foreground'>Registro Legal</dt> <dt className='text-sm font-medium text-muted-foreground'>Registro Legal</dt>
<dd className='mt-1 text-base text-foreground'>{customer?.legal_record}</dd> <dd className='mt-1 text-base text-foreground'>{customer?.legal_record}</dd>
</div> </div>
<div> <div>
<dt className='text-sm font-medium text-muted-foreground'> <dt className='text-sm font-medium text-muted-foreground'>Impuestos por Defecto</dt>
Impuestos por Defecto
</dt>
<dd className='mt-1'> <dd className='mt-1'>
{customer?.default_taxes.map((tax) => (<Badge key={tax} variant={"secondary"}>{tax}</Badge>))} {customer?.default_taxes.map((tax) => (
<Badge key={tax} variant={"secondary"}>
{tax}
</Badge>
))}
</dd> </dd>
</div> </div>
</CardContent> </CardContent>
@ -259,15 +273,9 @@ export const CustomerViewPage = () => {
<div className='flex items-start gap-3'> <div className='flex items-start gap-3'>
<Globe className='mt-0.5 h-4 w-4 text-muted-foreground' /> <Globe className='mt-0.5 h-4 w-4 text-muted-foreground' />
<div className='flex-1'> <div className='flex-1'>
<dt className='text-sm font-medium text-muted-foreground'> <dt className='text-sm font-medium text-muted-foreground'>Sitio Web</dt>
Sitio Web
</dt>
<dd className='mt-1 text-base text-primary hover:underline'> <dd className='mt-1 text-base text-primary hover:underline'>
<a <a href={customer?.website} target='_blank' rel='noopener noreferrer'>
href={customer?.website}
target='_blank'
rel='noopener noreferrer'
>
{customer?.website} {customer?.website}
</a> </a>
</dd> </dd>
@ -303,18 +311,14 @@ export const CustomerViewPage = () => {
<div className='flex items-start gap-3'> <div className='flex items-start gap-3'>
<Languages className='mt-0.5 h-4 w-4 text-muted-foreground' /> <Languages className='mt-0.5 h-4 w-4 text-muted-foreground' />
<div className='flex-1'> <div className='flex-1'>
<dt className='text-sm font-medium text-muted-foreground'> <dt className='text-sm font-medium text-muted-foreground'>Idioma Preferido</dt>
Idioma Preferido
</dt>
<dd className='mt-1 text-base text-foreground'>{customer?.language_code}</dd> <dd className='mt-1 text-base text-foreground'>{customer?.language_code}</dd>
</div> </div>
</div> </div>
<div className='flex items-start gap-3'> <div className='flex items-start gap-3'>
<Banknote className='mt-0.5 h-4 w-4 text-muted-foreground' /> <Banknote className='mt-0.5 h-4 w-4 text-muted-foreground' />
<div className='flex-1'> <div className='flex-1'>
<dt className='text-sm font-medium text-muted-foreground'> <dt className='text-sm font-medium text-muted-foreground'>Moneda Preferida</dt>
Moneda Preferida
</dt>
<dd className='mt-1 text-base text-foreground'>{customer?.currency_code}</dd> <dd className='mt-1 text-base text-foreground'>{customer?.currency_code}</dd>
</div> </div>
</div> </div>
@ -322,7 +326,7 @@ export const CustomerViewPage = () => {
</CardContent> </CardContent>
</Card> </Card>
</div> </div>
</AppContent > </AppContent>
</> </>
); );
}; };

View File

@ -1,3 +1,3 @@
export * from "./customer-resume.form.schema";
export * from "./customer.api.schema"; export * from "./customer.api.schema";
export * from "./customer.form.schema"; export * from "./customer.form.schema";
export * from "./customer-resume.form.schema";

View File

@ -1,6 +1,6 @@
{ {
"name": "@erp/doc-numbering", "name": "@erp/doc-numbering",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,
@ -13,11 +13,14 @@
"./api": "./src/api/index.ts" "./api": "./src/api/index.ts"
}, },
"peerDependencies": { "peerDependencies": {
"express": "^4.18.2", "react": "^19.1.0",
"zod": "^4.1.11" "react-dom": "^19.1.0"
}, },
"devDependencies": { "devDependencies": {
"@types/express": "^4.17.21" "@types/express": "^4.17.21",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"typescript": "^5.9.3"
}, },
"dependencies": { "dependencies": {
"@erp/auth": "workspace:*", "@erp/auth": "workspace:*",

View File

@ -1,6 +1,6 @@
{ {
"name": "@erp/verifactu", "name": "@erp/verifactu",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,
@ -14,11 +14,14 @@
"./common": "./src/common/index.ts" "./common": "./src/common/index.ts"
}, },
"peerDependencies": { "peerDependencies": {
"express": "^4.18.2", "react": "^19.1.0",
"zod": "^4.1.11" "react-dom": "^19.1.0"
}, },
"devDependencies": { "devDependencies": {
"@types/express": "^4.17.21" "@types/express": "^4.17.21",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"typescript": "^5.9.3"
}, },
"dependencies": { "dependencies": {
"@erp/auth": "workspace:*", "@erp/auth": "workspace:*",

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/rdx-criteria", "name": "@repo/rdx-criteria",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/rdx-ddd", "name": "@repo/rdx-ddd",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/rdx-logger", "name": "@repo/rdx-logger",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,

View File

@ -18,13 +18,8 @@
] ]
}, },
"peerDependencies": { "peerDependencies": {
"date-fns": "^4.1.0",
"i18next": "^25.1.1",
"react": "^19.1.0", "react": "^19.1.0",
"react-dom": "^19.1.0", "react-dom": "^19.1.0"
"react-hook-form": "^7.58.1",
"typescript": "^5.9.3",
"zod": "^4.1.11"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^2.3.1", "@biomejs/biome": "^2.3.1",
@ -37,6 +32,9 @@
"@vitejs/plugin-react": "^4.4.1", "@vitejs/plugin-react": "^4.4.1",
"esbuild-plugin-react18": "^0.2.6", "esbuild-plugin-react18": "^0.2.6",
"esbuild-plugin-react18-css": "^0.0.4", "esbuild-plugin-react18-css": "^0.0.4",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"typescript": "^5.6.0",
"tailwindcss": "^4.1.5", "tailwindcss": "^4.1.5",
"tsup": "^8.4.0", "tsup": "^8.4.0",
"tw-animate-css": "^1.2.9", "tw-animate-css": "^1.2.9",

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/rdx-utils", "name": "@repo/rdx-utils",
"version": "0.0.4", "version": "0.0.5",
"private": true, "private": true,
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,

View File

@ -20,10 +20,8 @@
"ui:add": "pnpm dlx shadcn@latest add" "ui:add": "pnpm dlx shadcn@latest add"
}, },
"peerDependencies": { "peerDependencies": {
"lucide-react": "^0.503.0",
"react": "^19.1.0", "react": "^19.1.0",
"react-dom": "^19.1.0", "react-dom": "^19.1.0"
"typescript": "^5.9.3"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^2.3.1", "@biomejs/biome": "^2.3.1",
@ -33,7 +31,11 @@
"@types/node": "^22.15.12", "@types/node": "^22.15.12",
"@types/react": "^19.1.2", "@types/react": "^19.1.2",
"@types/react-dom": "^19.1.3", "@types/react-dom": "^19.1.3",
"postcss": "^8.5.3" "postcss": "^8.5.3",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"typescript": "^5.6.0",
"tailwindcss": "^4.1.5"
}, },
"dependencies": { "dependencies": {
"@hookform/resolvers": "^5.2.2", "@hookform/resolvers": "^5.2.2",
@ -75,15 +77,12 @@
"lucide-react": "^0.503.0", "lucide-react": "^0.503.0",
"next-themes": "^0.4.6", "next-themes": "^0.4.6",
"pnpm": "^10.10.0", "pnpm": "^10.10.0",
"react": "^19.1.0",
"react-day-picker": "9.11.1", "react-day-picker": "9.11.1",
"react-dom": "^19.1.0",
"react-hook-form": "^7.65.0", "react-hook-form": "^7.65.0",
"react-resizable-panels": "^3.0.6", "react-resizable-panels": "^3.0.6",
"recharts": "^2.15.4", "recharts": "^2.15.4",
"sonner": "^2.0.7", "sonner": "^2.0.7",
"tailwind-merge": "^3.2.0", "tailwind-merge": "^3.2.0",
"tailwindcss": "^4.1.5",
"tw-animate-css": "^1.2.9", "tw-animate-css": "^1.2.9",
"vaul": "^1.1.2", "vaul": "^1.1.2",
"zod": "^3.25.76" "zod": "^3.25.76"

View File

@ -1,3 +1,5 @@
"use client"
import * as React from "react" import * as React from "react"
import * as SeparatorPrimitive from "@radix-ui/react-separator" import * as SeparatorPrimitive from "@radix-ui/react-separator"

View File

@ -1,5 +1,6 @@
{ {
"$schema": "https://json.schemastore.org/tsconfig", "$schema": "https://json.schemastore.org/tsconfig",
"display": "Default",
"compilerOptions": { "compilerOptions": {
"composite": false, "composite": false,
"declaration": true, "declaration": true,
@ -8,13 +9,18 @@
"forceConsistentCasingInFileNames": true, "forceConsistentCasingInFileNames": true,
"inlineSources": false, "inlineSources": false,
"isolatedModules": true, "isolatedModules": true,
"incremental": false,
"lib": ["es2022", "DOM", "DOM.Iterable"],
"module": "NodeNext", "module": "NodeNext",
"moduleResolution": "NodeNext", "moduleResolution": "NodeNext",
"noUnusedLocals": false, "noUnusedLocals": false,
"noUnusedParameters": false, "noUnusedParameters": false,
"preserveWatchOutput": true, "preserveWatchOutput": true,
"skipLibCheck": true, "skipLibCheck": true,
"strict": true "strict": true,
}, "moduleDetection": "force",
"exclude": ["node_modules"] "noUncheckedIndexedAccess": true,
"resolveJsonModule": true,
"target": "ES2022"
}
} }

View File

@ -1,16 +1,16 @@
{ {
"extends": "./base.json", "extends": "./base.json",
"compilerOptions": { "compilerOptions": {
"target": "ESNext", "target": "ESNext",
"useDefineForClassFields": true, "useDefineForClassFields": true,
"module": "ESNext", "module": "ESNext",
"lib": ["ESNext", "DOM"], "lib": ["ESNext", "DOM"],
"sourceMap": true, "sourceMap": true,
"resolveJsonModule": true, "resolveJsonModule": true,
"noEmit": true, "noEmit": true,
"noUnusedLocals": true, "noUnusedLocals": true,
"noUnusedParameters": true, "noUnusedParameters": true,
"noImplicitReturns": true "noImplicitReturns": true
}, },
"exclude": ["node_modules"] "exclude": ["node_modules"]
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
SCRIPT_VERSION="1.0.4" SCRIPT_VERSION="1.0.5"
# ===================================================== # =====================================================
# FACTUGES Build Script # FACTUGES Build Script