@ramiidv/arca-padron 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +310 -0
- package/dist/arca-padron.d.ts +70 -0
- package/dist/arca-padron.d.ts.map +1 -0
- package/dist/arca-padron.js +129 -0
- package/dist/arca-padron.js.map +1 -0
- package/dist/base-client.d.ts +26 -0
- package/dist/base-client.d.ts.map +1 -0
- package/dist/base-client.js +27 -0
- package/dist/base-client.js.map +1 -0
- package/dist/constants.d.ts +79 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +89 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors.d.ts +20 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +24 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/padron-a10.d.ts +16 -0
- package/dist/padron-a10.d.ts.map +1 -0
- package/dist/padron-a10.js +74 -0
- package/dist/padron-a10.js.map +1 -0
- package/dist/padron-a100.d.ts +15 -0
- package/dist/padron-a100.d.ts.map +1 -0
- package/dist/padron-a100.js +40 -0
- package/dist/padron-a100.js.map +1 -0
- package/dist/padron-a4.d.ts +16 -0
- package/dist/padron-a4.d.ts.map +1 -0
- package/dist/padron-a4.js +174 -0
- package/dist/padron-a4.js.map +1 -0
- package/dist/soap-client.d.ts +2 -0
- package/dist/soap-client.d.ts.map +1 -0
- package/dist/soap-client.js +3 -0
- package/dist/soap-client.js.map +1 -0
- package/dist/types.d.ts +172 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/wsaa.d.ts +3 -0
- package/dist/wsaa.d.ts.map +1 -0
- package/dist/wsaa.js +2 -0
- package/dist/wsaa.js.map +1 -0
- package/llms.txt +162 -0
- package/package.json +64 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
export type { AccessTicket, ArcaEvent, ServerStatus, SoapCallOptions } from '@ramiidv/arca-common';
|
|
2
|
+
import type { ArcaEvent } from '@ramiidv/arca-common';
|
|
3
|
+
/** @deprecated Use ArcaEvent from @ramiidv/arca-common instead. */
|
|
4
|
+
export type ArcaPadronEvent = ArcaEvent;
|
|
5
|
+
export interface ArcaPadronConfig {
|
|
6
|
+
/** PEM-encoded X.509 certificate */
|
|
7
|
+
cert: string;
|
|
8
|
+
/** PEM-encoded RSA private key */
|
|
9
|
+
key: string;
|
|
10
|
+
/** CUIT of the entity represented (e.g. "20123456789") */
|
|
11
|
+
cuit: string;
|
|
12
|
+
/** Use production endpoints (default: false = testing / homologacion) */
|
|
13
|
+
production?: boolean;
|
|
14
|
+
/** Request timeout in ms (default: 30000) */
|
|
15
|
+
timeout?: number;
|
|
16
|
+
/** Number of retries on 5xx / network errors (default: 1) */
|
|
17
|
+
retries?: number;
|
|
18
|
+
/** Base delay in ms for exponential backoff (default: 1000) */
|
|
19
|
+
retryDelayMs?: number;
|
|
20
|
+
/** Optional event callback */
|
|
21
|
+
onEvent?: (event: ArcaEvent) => void;
|
|
22
|
+
}
|
|
23
|
+
export interface WsAuth {
|
|
24
|
+
Token: string;
|
|
25
|
+
Sign: string;
|
|
26
|
+
CuitRepresentada: string;
|
|
27
|
+
}
|
|
28
|
+
export interface DependenciaA4 {
|
|
29
|
+
idDependencia: number;
|
|
30
|
+
descripcionDependencia: string;
|
|
31
|
+
}
|
|
32
|
+
export interface DomicilioA4 {
|
|
33
|
+
direccion: string;
|
|
34
|
+
localidad?: string;
|
|
35
|
+
codPostal?: string;
|
|
36
|
+
idProvincia?: number;
|
|
37
|
+
descripcionProvincia?: string;
|
|
38
|
+
tipoDomicilio: string;
|
|
39
|
+
estadoDomicilio?: string;
|
|
40
|
+
datoAdicional?: string;
|
|
41
|
+
tipoDatoAdicional?: string;
|
|
42
|
+
orden?: number;
|
|
43
|
+
}
|
|
44
|
+
export interface ImpuestoA4 {
|
|
45
|
+
idImpuesto: number;
|
|
46
|
+
descripcionImpuesto?: string;
|
|
47
|
+
estado: string;
|
|
48
|
+
periodo?: number;
|
|
49
|
+
diaPeriodo?: number;
|
|
50
|
+
ffInscripcion?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface ActividadA4 {
|
|
53
|
+
idActividad: string;
|
|
54
|
+
descripcionActividad?: string;
|
|
55
|
+
nomenclador?: number;
|
|
56
|
+
orden?: number;
|
|
57
|
+
periodo?: number;
|
|
58
|
+
}
|
|
59
|
+
export interface RegimenA4 {
|
|
60
|
+
idRegimen: number;
|
|
61
|
+
descripcionRegimen?: string;
|
|
62
|
+
estado?: string;
|
|
63
|
+
periodo?: number;
|
|
64
|
+
diaPeriodo?: number;
|
|
65
|
+
tipoRegimen?: string;
|
|
66
|
+
idImpuesto?: number;
|
|
67
|
+
}
|
|
68
|
+
export interface RelacionA4 {
|
|
69
|
+
idPersona: string;
|
|
70
|
+
idPersonaAsociada?: string;
|
|
71
|
+
tipoRelacion?: string;
|
|
72
|
+
subtipoRelacion?: string;
|
|
73
|
+
ffRelacion?: string;
|
|
74
|
+
ffVencimiento?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface CategoriaA4 {
|
|
77
|
+
idCategoria: number;
|
|
78
|
+
descripcionCategoria?: string;
|
|
79
|
+
idImpuesto?: number;
|
|
80
|
+
estado?: string;
|
|
81
|
+
periodo?: number;
|
|
82
|
+
}
|
|
83
|
+
export interface EmailA4 {
|
|
84
|
+
direccion: string;
|
|
85
|
+
tipoEmail?: string;
|
|
86
|
+
estado?: string;
|
|
87
|
+
}
|
|
88
|
+
export interface TelefonoA4 {
|
|
89
|
+
numero: string;
|
|
90
|
+
tipoTelefono?: string;
|
|
91
|
+
tipoLinea?: string;
|
|
92
|
+
}
|
|
93
|
+
export interface PersonaA4 {
|
|
94
|
+
idPersona: string;
|
|
95
|
+
tipoPersona: 'FISICA' | 'JURIDICA';
|
|
96
|
+
tipoClave?: string;
|
|
97
|
+
estadoClave?: string;
|
|
98
|
+
apellido?: string;
|
|
99
|
+
nombre?: string;
|
|
100
|
+
razonSocial?: string;
|
|
101
|
+
numeroDocumento?: string;
|
|
102
|
+
tipoDocumento?: string;
|
|
103
|
+
fechaNacimiento?: string;
|
|
104
|
+
sexo?: string;
|
|
105
|
+
numeroInscripcion?: string;
|
|
106
|
+
formaJuridica?: string;
|
|
107
|
+
mesCierre?: number;
|
|
108
|
+
fechaInscripcion?: string;
|
|
109
|
+
fechaContratoSocial?: string;
|
|
110
|
+
fechaFallecimiento?: string;
|
|
111
|
+
fechaJubilado?: string;
|
|
112
|
+
fechaVencimientoMigracion?: string;
|
|
113
|
+
localidadInscripcion?: string;
|
|
114
|
+
provinciaInscripcion?: string;
|
|
115
|
+
organismoInscripcion?: string;
|
|
116
|
+
organismoOriginante?: string;
|
|
117
|
+
tipoOrganismoOriginante?: string;
|
|
118
|
+
tipoResidencia?: string;
|
|
119
|
+
porcentajeCapitalNacional?: number;
|
|
120
|
+
cantidadSociosEmpresaMono?: number;
|
|
121
|
+
leyJubilacion?: number;
|
|
122
|
+
dependencia?: DependenciaA4;
|
|
123
|
+
claveInactivaAsociada?: string[];
|
|
124
|
+
domicilio?: DomicilioA4[];
|
|
125
|
+
impuesto?: ImpuestoA4[];
|
|
126
|
+
actividad?: ActividadA4[];
|
|
127
|
+
regimen?: RegimenA4[];
|
|
128
|
+
relacion?: RelacionA4[];
|
|
129
|
+
categoria?: CategoriaA4[];
|
|
130
|
+
email?: EmailA4[];
|
|
131
|
+
telefono?: TelefonoA4[];
|
|
132
|
+
}
|
|
133
|
+
export interface DependenciaA10 {
|
|
134
|
+
idDependencia: number;
|
|
135
|
+
descripcionDependencia: string;
|
|
136
|
+
}
|
|
137
|
+
export interface DomicilioA10 {
|
|
138
|
+
direccion?: string;
|
|
139
|
+
localidad?: string;
|
|
140
|
+
codPostal?: string;
|
|
141
|
+
idProvincia?: number;
|
|
142
|
+
descripcionProvincia?: string;
|
|
143
|
+
tipoDomicilio?: string;
|
|
144
|
+
datoAdicional?: string;
|
|
145
|
+
tipoDatoAdicional?: string;
|
|
146
|
+
}
|
|
147
|
+
export interface PersonaA10 {
|
|
148
|
+
idPersona: string;
|
|
149
|
+
tipoPersona: 'FISICA' | 'JURIDICA';
|
|
150
|
+
tipoClave?: string;
|
|
151
|
+
estadoClave?: string;
|
|
152
|
+
nombre?: string;
|
|
153
|
+
apellido?: string;
|
|
154
|
+
razonSocial?: string;
|
|
155
|
+
numeroDocumento?: string;
|
|
156
|
+
tipoDocumento?: string;
|
|
157
|
+
idActividadPrincipal?: string;
|
|
158
|
+
descripcionActividadPrincipal?: string;
|
|
159
|
+
dependencia?: DependenciaA10;
|
|
160
|
+
claveInactivaAsociada?: string[];
|
|
161
|
+
domicilio?: DomicilioA10[];
|
|
162
|
+
}
|
|
163
|
+
export interface ParameterAttribute {
|
|
164
|
+
name: string;
|
|
165
|
+
value: string;
|
|
166
|
+
}
|
|
167
|
+
export interface ParameterRecord {
|
|
168
|
+
id: string;
|
|
169
|
+
descripcion: string;
|
|
170
|
+
atributos?: ParameterAttribute[];
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/dist/wsaa.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsaa.d.ts","sourceRoot":"","sources":["../src/wsaa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/wsaa.js
ADDED
package/dist/wsaa.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsaa.js","sourceRoot":"","sources":["../src/wsaa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
|
package/llms.txt
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# @ramiidv/arca-padron-sdk
|
|
2
|
+
|
|
3
|
+
> TypeScript SDK para los web services de Padron de ARCA (ex AFIP) - Alcances A4, A10 y A100
|
|
4
|
+
|
|
5
|
+
## Instalacion
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @ramiidv/arca-padron-sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Requisitos: Node.js >= 18 (fetch nativo). ESM only.
|
|
12
|
+
|
|
13
|
+
## Configuracion
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { ArcaPadron } from '@ramiidv/arca-padron-sdk';
|
|
17
|
+
|
|
18
|
+
const padron = new ArcaPadron({
|
|
19
|
+
cert: string, // PEM X.509 certificate
|
|
20
|
+
key: string, // PEM RSA private key
|
|
21
|
+
cuit: string, // CUIT representada (ej: "20123456789")
|
|
22
|
+
production?: boolean, // default: false (homologacion)
|
|
23
|
+
retries?: number, // default: 1
|
|
24
|
+
retryDelayMs?: number, // default: 1000
|
|
25
|
+
onEvent?: (event: ArcaPadronEvent) => void,
|
|
26
|
+
});
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Metodos principales
|
|
30
|
+
|
|
31
|
+
### getPersona(cuit: string): Promise<PersonaA4>
|
|
32
|
+
Datos completos del contribuyente via ws_sr_padron_a4. Incluye: domicilios, impuestos, actividades, regimenes, relaciones, categorias, emails, telefonos.
|
|
33
|
+
|
|
34
|
+
### getPersonaBasic(cuit: string): Promise<PersonaA10>
|
|
35
|
+
Datos basicos del contribuyente via ws_sr_padron_a10. Incluye: datos generales y domicilios.
|
|
36
|
+
|
|
37
|
+
### getParametros(collection: string): Promise<ParameterRecord[]>
|
|
38
|
+
Tablas de parametros via ws_sr_padron_a100. Usa el enum CollectionName con valores SUPA.* prefijados. Colecciones: PROVINCIA (SUPA.E_PROVINCIA), TIPO_DOCUMENTO (SUPA.TIPO_DOCUMENTO), TIPO_DOMICILIO (SUPA.TIPO_DOMICILIO), TIPO_CLAVE (SUPA.TIPO_CLAVE_IDENTIFICACION), TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO, CALLE, LOCALIDAD.
|
|
39
|
+
|
|
40
|
+
### status(): Promise<{ a4: ServerStatus, a10: ServerStatus, a100: ServerStatus }>
|
|
41
|
+
Health check de los tres servicios. No requiere autenticacion.
|
|
42
|
+
|
|
43
|
+
## Tipos principales
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
interface PersonaA4 {
|
|
47
|
+
idPersona: string;
|
|
48
|
+
tipoPersona: 'FISICA' | 'JURIDICA';
|
|
49
|
+
tipoClave?: string;
|
|
50
|
+
estadoClave?: string;
|
|
51
|
+
apellido?: string;
|
|
52
|
+
nombre?: string;
|
|
53
|
+
razonSocial?: string;
|
|
54
|
+
numeroDocumento?: string;
|
|
55
|
+
tipoDocumento?: string;
|
|
56
|
+
fechaNacimiento?: string;
|
|
57
|
+
sexo?: string;
|
|
58
|
+
numeroInscripcion?: string;
|
|
59
|
+
formaJuridica?: string;
|
|
60
|
+
mesCierre?: number;
|
|
61
|
+
fechaInscripcion?: string;
|
|
62
|
+
fechaContratoSocial?: string;
|
|
63
|
+
fechaFallecimiento?: string;
|
|
64
|
+
fechaJubilado?: string;
|
|
65
|
+
fechaVencimientoMigracion?: string;
|
|
66
|
+
localidadInscripcion?: string;
|
|
67
|
+
provinciaInscripcion?: string;
|
|
68
|
+
organismoInscripcion?: string;
|
|
69
|
+
organismoOriginante?: string;
|
|
70
|
+
tipoOrganismoOriginante?: string;
|
|
71
|
+
tipoResidencia?: string;
|
|
72
|
+
porcentajeCapitalNacional?: number;
|
|
73
|
+
cantidadSociosEmpresaMono?: number;
|
|
74
|
+
leyJubilacion?: number;
|
|
75
|
+
dependencia?: DependenciaA4;
|
|
76
|
+
claveInactivaAsociada?: string[];
|
|
77
|
+
domicilio?: DomicilioA4[];
|
|
78
|
+
impuesto?: ImpuestoA4[];
|
|
79
|
+
actividad?: ActividadA4[];
|
|
80
|
+
regimen?: RegimenA4[];
|
|
81
|
+
relacion?: RelacionA4[];
|
|
82
|
+
categoria?: CategoriaA4[];
|
|
83
|
+
email?: EmailA4[];
|
|
84
|
+
telefono?: TelefonoA4[];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
interface PersonaA10 {
|
|
88
|
+
idPersona: string;
|
|
89
|
+
tipoPersona: 'FISICA' | 'JURIDICA';
|
|
90
|
+
tipoClave?: string;
|
|
91
|
+
estadoClave?: string;
|
|
92
|
+
nombre?: string;
|
|
93
|
+
apellido?: string;
|
|
94
|
+
razonSocial?: string;
|
|
95
|
+
numeroDocumento?: string;
|
|
96
|
+
tipoDocumento?: string;
|
|
97
|
+
idActividadPrincipal?: string;
|
|
98
|
+
descripcionActividadPrincipal?: string;
|
|
99
|
+
dependencia?: DependenciaA10;
|
|
100
|
+
claveInactivaAsociada?: string[];
|
|
101
|
+
domicilio?: DomicilioA10[];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
interface ParameterRecord {
|
|
105
|
+
id: string;
|
|
106
|
+
descripcion: string;
|
|
107
|
+
atributos?: ParameterAttribute[];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
interface ParameterAttribute {
|
|
111
|
+
name: string;
|
|
112
|
+
value: string;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
interface ServerStatus {
|
|
116
|
+
appserver: string;
|
|
117
|
+
dbserver: string;
|
|
118
|
+
authserver: string;
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Errores
|
|
123
|
+
|
|
124
|
+
4-class hierarchy:
|
|
125
|
+
- ArcaPadronError: base class
|
|
126
|
+
- ArcaAuthError: WSAA authentication failures
|
|
127
|
+
- ArcaPadronServiceError: business errors from ARCA (has errors: {code: number, msg: string}[])
|
|
128
|
+
- ArcaSoapError: HTTP/transport errors (has statusCode?: number)
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
import { ArcaAuthError, ArcaPadronServiceError, ArcaSoapError } from '@ramiidv/arca-padron-sdk';
|
|
132
|
+
|
|
133
|
+
try {
|
|
134
|
+
await padron.getPersona(cuit);
|
|
135
|
+
} catch (error) {
|
|
136
|
+
if (error instanceof ArcaAuthError) { /* auth failure */ }
|
|
137
|
+
if (error instanceof ArcaPadronServiceError) { /* business error, check error.errors */ }
|
|
138
|
+
if (error instanceof ArcaSoapError) { /* HTTP/network error, check error.statusCode */ }
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Eventos
|
|
143
|
+
|
|
144
|
+
Discriminated union types: auth:login, auth:cache-hit, request:start, request:end, request:retry, request:error.
|
|
145
|
+
|
|
146
|
+
## Enums
|
|
147
|
+
|
|
148
|
+
- Provincia (0-24, Argentine provinces)
|
|
149
|
+
- TipoDomicilio (FISCAL, LEGAL, REAL)
|
|
150
|
+
- TipoPersona (FISICA, JURIDICA)
|
|
151
|
+
- ImpuestoId (IVA_RESPONSABLE_INSCRIPTO=30, IVA_EXENTO=32, MONOTRIBUTO=20, EMPLEADOR=301, GANANCIAS_PH=11, GANANCIAS_PJ=10, BIENES_PERSONALES=31)
|
|
152
|
+
- CollectionName (PROVINCIA, TIPO_DOCUMENTO, TIPO_DOMICILIO, TIPO_CLAVE, TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO, CALLE, LOCALIDAD)
|
|
153
|
+
|
|
154
|
+
## Clientes de bajo nivel
|
|
155
|
+
|
|
156
|
+
Accesibles como propiedades publicas: padron.wsaa, padron.a4, padron.a10, padron.a100.
|
|
157
|
+
|
|
158
|
+
## Utilidades exportadas
|
|
159
|
+
|
|
160
|
+
- ensureArray<T>(value): T[] - normaliza single/array SOAP responses
|
|
161
|
+
- parseXml(xml): Record<string, unknown> - parse XML with CUIT-safe options
|
|
162
|
+
- buildXml(obj): string - build XML from object
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ramiidv/arca-padron",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "TypeScript SDK para los web services de Padrón de ARCA (ex AFIP) - Alcances A4, A10 y A100",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"llms.txt",
|
|
17
|
+
"LICENSE",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc",
|
|
22
|
+
"clean": "rm -rf dist",
|
|
23
|
+
"typecheck": "tsc --noEmit",
|
|
24
|
+
"test": "vitest run",
|
|
25
|
+
"test:watch": "vitest",
|
|
26
|
+
"prepublishOnly": "npm run build"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"arca",
|
|
30
|
+
"afip",
|
|
31
|
+
"padron",
|
|
32
|
+
"argentina",
|
|
33
|
+
"sdk",
|
|
34
|
+
"typescript",
|
|
35
|
+
"contribuyentes"
|
|
36
|
+
],
|
|
37
|
+
"author": "ramiidv",
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "git+https://github.com/ramiidv/arca-padron-sdk.git"
|
|
42
|
+
},
|
|
43
|
+
"homepage": "https://github.com/ramiidv/arca-padron-sdk#readme",
|
|
44
|
+
"bugs": {
|
|
45
|
+
"url": "https://github.com/ramiidv/arca-padron-sdk/issues"
|
|
46
|
+
},
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=18"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@ramiidv/arca-common": "^0.1.0",
|
|
55
|
+
"fast-xml-parser": "^5.0.0",
|
|
56
|
+
"node-forge": "^1.3.0"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@types/node": "^22.0.0",
|
|
60
|
+
"@types/node-forge": "^1.3.0",
|
|
61
|
+
"typescript": "^5.7.0",
|
|
62
|
+
"vitest": "^3.1.0"
|
|
63
|
+
}
|
|
64
|
+
}
|