sunat-engine-nest 2.0.0 → 2.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"voided.builder.js","sourceRoot":"","sources":["../../src/xml/voided.builder.ts"],"names":[],"mappings":";;AASA,wCAoCC;AA7CD,6CAAqC;AAErC,6CAAyC;AACzC,qDAAgF;AAMhF,SAAgB,cAAc,CAAC,IAAmB;IAChD,MAAM,IAAI,GAAG,IAAA,oBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SACvD,GAAG,CAAC,iBAAiB,EAAE,sBAAS,CAAC,CAAC;IAErC,IAAA,iCAAgB,EAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,IAAA,wBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACvG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,IAAA,wBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAA,wBAAO,EAAC,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE3G,IAAA,kCAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAGpE,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;SAC/B,GAAG,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;SAC/D,GAAG,CAAC,WAAW,CAAC;SACd,GAAG,CAAC,sBAAsB,CAAC;SACzB,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE;SAChE,EAAE,EAAE;SACN,EAAE,EAAE;SACN,EAAE,EAAE,CAAC;IAGN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5B,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC;aAChC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;aACzC,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE;aAC/C,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;aAC7C,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE;aACnD,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,EAAE,EAAE;aAChF,EAAE,EAAE,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"voided.builder.js","sourceRoot":"","sources":["../../src/xml/voided.builder.ts"],"names":[],"mappings":";;AASA,wCAsCC;AA/CD,6CAAqC;AAErC,6CAAyC;AACzC,qDAAgF;AAMhF,SAAgB,cAAc,CAAC,IAAmB;IAChD,MAAM,IAAI,GAAG,IAAA,oBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SACvD,GAAG,CAAC,iBAAiB,EAAE,sBAAS,CAAC,CAAC;IAErC,IAAA,iCAAgB,EAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC;IACnE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,IAAA,wBAAO,EAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACpG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,IAAA,wBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAA,wBAAO,EAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE7D,IAAA,kCAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAGpE,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;SAC/B,GAAG,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;SAC/D,GAAG,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;SAC5C,GAAG,CAAC,WAAW,CAAC;SACd,GAAG,CAAC,sBAAsB,CAAC;SACzB,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE;SAChE,EAAE,EAAE;SACN,EAAE,EAAE;SACN,EAAE,EAAE,CAAC;IAGN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5B,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC;aAChC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;aACzC,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE;aAC/C,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;aAC7C,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE;aACnD,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,EAAE,EAAE;aAChF,EAAE,EAAE,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,50 +1,50 @@
1
- {
2
- "name": "sunat-engine-nest",
3
- "funding": {
4
- "type": "individual",
5
- "url": "https://wa.me/51907596305"
6
- },
7
- "version": "2.0.0",
8
- "description": "Motor de Facturación Electrónica SUNAT UBL 2.1 para NestJS",
9
- "author": "carlosrojasramirez25-sketch",
10
- "license": "MIT",
11
- "main": "dist/index.js",
12
- "types": "dist/index.d.ts",
13
- "files": [
14
- "dist"
15
- ],
16
- "scripts": {
17
- "build": "tsc -p tsconfig.build.json",
18
- "build:watch": "tsc -p tsconfig.build.json --watch",
19
- "prepare": "npm run build",
20
- "prepublishOnly": "npm run build"
21
- },
22
- "peerDependencies": {
23
- "@nestjs/common": ">=10",
24
- "@nestjs/core": ">=10",
25
- "reflect-metadata": ">=0.1",
26
- "rxjs": ">=7"
27
- },
28
- "dependencies": {
29
- "@xmldom/xmldom": "^0.9.8",
30
- "axios": "^1.7.9",
31
- "jszip": "^3.10.1",
32
- "node-forge": "^1.3.1",
33
- "pdfmake": "^0.2.10",
34
- "qrcode": "^1.5.4",
35
- "xml-crypto": "^6.0.0",
36
- "xmlbuilder2": "^4.0.3"
37
- },
38
- "devDependencies": {
39
- "@nestjs/common": "^11.0.0",
40
- "@nestjs/core": "^11.0.0",
41
- "@types/jszip": "^3.4.1",
42
- "@types/node": "^22.10.7",
43
- "@types/node-forge": "^1.3.11",
44
- "@types/pdfmake": "^0.2.9",
45
- "@types/qrcode": "^1.5.5",
46
- "reflect-metadata": "^0.2.2",
47
- "rxjs": "^7.8.1",
48
- "typescript": "^5.7.3"
49
- }
50
- }
1
+ {
2
+ "name": "sunat-engine-nest",
3
+ "funding": {
4
+ "type": "individual",
5
+ "url": "https://wa.me/51907596305"
6
+ },
7
+ "version": "2.0.1",
8
+ "description": "Motor de Facturación Electrónica SUNAT UBL 2.1 para NestJS",
9
+ "author": "carlosrojasramirez25-sketch",
10
+ "license": "MIT",
11
+ "main": "dist/index.js",
12
+ "types": "dist/index.d.ts",
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc -p tsconfig.build.json",
18
+ "build:watch": "tsc -p tsconfig.build.json --watch",
19
+ "prepare": "npm run build",
20
+ "prepublishOnly": "npm run build"
21
+ },
22
+ "peerDependencies": {
23
+ "@nestjs/common": ">=10",
24
+ "@nestjs/core": ">=10",
25
+ "reflect-metadata": ">=0.1",
26
+ "rxjs": ">=7"
27
+ },
28
+ "dependencies": {
29
+ "@xmldom/xmldom": "^0.9.8",
30
+ "axios": "^1.7.9",
31
+ "jszip": "^3.10.1",
32
+ "node-forge": "^1.3.1",
33
+ "pdfmake": "^0.2.10",
34
+ "qrcode": "^1.5.4",
35
+ "xml-crypto": "^6.0.0",
36
+ "xmlbuilder2": "^4.0.3"
37
+ },
38
+ "devDependencies": {
39
+ "@nestjs/common": "^11.0.0",
40
+ "@nestjs/core": "^11.0.0",
41
+ "@types/jszip": "^3.4.1",
42
+ "@types/node": "^22.10.7",
43
+ "@types/node-forge": "^1.3.11",
44
+ "@types/pdfmake": "^0.2.9",
45
+ "@types/qrcode": "^1.5.5",
46
+ "reflect-metadata": "^0.2.2",
47
+ "rxjs": "^7.8.1",
48
+ "typescript": "^5.7.3"
49
+ }
50
+ }
@@ -1,11 +0,0 @@
1
- export interface PdfLicensePayload {
2
- sub: string;
3
- scope: string[];
4
- iat: number;
5
- exp?: number;
6
- }
7
- export declare class PdfLicenseError extends Error {
8
- }
9
- export declare class PdfLicenseService {
10
- assertValid(licenseKey: string | undefined): PdfLicensePayload;
11
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PdfLicenseService = exports.PdfLicenseError = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const crypto_1 = require("crypto");
12
- const public_key_1 = require("./public-key");
13
- class PdfLicenseError extends Error {
14
- }
15
- exports.PdfLicenseError = PdfLicenseError;
16
- const CONTACT = 'https://wa.me/51907596305';
17
- let PdfLicenseService = class PdfLicenseService {
18
- assertValid(licenseKey) {
19
- if (!licenseKey) {
20
- throw new PdfLicenseError(`La generación de PDF requiere una licencia. Configura "pdf.licenseKey" en SunatEngineModule.forRoot() ` +
21
- `o adquiere una en ${CONTACT}.`);
22
- }
23
- const [payloadB64, sigB64] = licenseKey.split('.');
24
- if (!payloadB64 || !sigB64) {
25
- throw new PdfLicenseError('Formato de licencia inválido.');
26
- }
27
- let payload;
28
- try {
29
- payload = JSON.parse(Buffer.from(payloadB64, 'base64url').toString('utf8'));
30
- }
31
- catch {
32
- throw new PdfLicenseError('Licencia inválida: el payload está corrupto.');
33
- }
34
- const signatureValid = (0, crypto_1.verify)(null, Buffer.from(payloadB64), public_key_1.PDF_LICENSE_PUBLIC_KEY, Buffer.from(sigB64, 'base64url'));
35
- if (!signatureValid) {
36
- throw new PdfLicenseError('Licencia inválida: la firma no coincide.');
37
- }
38
- if (!payload.scope?.includes('pdf')) {
39
- throw new PdfLicenseError('Esta licencia no incluye el módulo de PDF.');
40
- }
41
- if (payload.exp && Date.now() / 1000 > payload.exp) {
42
- throw new PdfLicenseError(`La licencia de PDF expiró. Renueva en ${CONTACT}.`);
43
- }
44
- return payload;
45
- }
46
- };
47
- exports.PdfLicenseService = PdfLicenseService;
48
- exports.PdfLicenseService = PdfLicenseService = __decorate([
49
- (0, common_1.Injectable)()
50
- ], PdfLicenseService);
51
- //# sourceMappingURL=pdf-license.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdf-license.service.js","sourceRoot":"","sources":["../../src/licensing/pdf-license.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,mCAAmD;AACnD,6CAAsD;AAatD,MAAa,eAAgB,SAAQ,KAAK;CAAG;AAA7C,0CAA6C;AAE7C,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAGrC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAM5B,WAAW,CAAC,UAA8B;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CACvB,wGAAwG;gBACxG,qBAAqB,OAAO,GAAG,CAChC,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,OAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,eAAe,CAAC,8CAA8C,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,eAAe,EACpC,IAAI,EACJ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EACvB,mCAAsB,EACtB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CACjC,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,eAAe,CAAC,0CAA0C,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CAAC,4CAA4C,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACnD,MAAM,IAAI,eAAe,CAAC,yCAAyC,OAAO,GAAG,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AA9CY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CA8C7B"}
@@ -1 +0,0 @@
1
- export declare const PDF_LICENSE_PUBLIC_KEY = "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAD05kwpP38o2RE03c5mS66KDa+KGN3UPUtiAngewbzPI=\n-----END PUBLIC KEY-----\n";
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PDF_LICENSE_PUBLIC_KEY = void 0;
4
- exports.PDF_LICENSE_PUBLIC_KEY = `-----BEGIN PUBLIC KEY-----
5
- MCowBQYDK2VwAyEAD05kwpP38o2RE03c5mS66KDa+KGN3UPUtiAngewbzPI=
6
- -----END PUBLIC KEY-----
7
- `;
8
- //# sourceMappingURL=public-key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"public-key.js","sourceRoot":"","sources":["../../src/licensing/public-key.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAG;;;CAGrC,CAAC"}