arcli 1.8.0 → 2.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/CHANGELOG.md +110 -1
- package/README.md +17 -16
- package/dist/cli/arca-runtime.d.ts +20 -0
- package/dist/cli/arca-runtime.js +42 -0
- package/dist/cli/arca-runtime.js.map +1 -0
- package/dist/cli/commands/billing.command.batch.d.ts +15 -5
- package/dist/cli/commands/billing.command.batch.js +28 -11
- package/dist/cli/commands/billing.command.batch.js.map +1 -1
- package/dist/cli/commands/billing.command.interactive-preview.js +4 -1
- package/dist/cli/commands/billing.command.interactive-preview.js.map +1 -1
- package/dist/cli/commands/billing.command.options.js +18 -16
- package/dist/cli/commands/billing.command.options.js.map +1 -1
- package/dist/cli/commands/billing.command.output.d.ts +4 -0
- package/dist/cli/commands/billing.command.output.js +3 -2
- package/dist/cli/commands/billing.command.output.js.map +1 -1
- package/dist/cli/commands/billing.command.parser.d.ts +7 -0
- package/dist/cli/commands/billing.command.parser.js +85 -43
- package/dist/cli/commands/billing.command.parser.js.map +1 -1
- package/dist/cli/commands/billing.command.pdf.d.ts +1 -1
- package/dist/cli/commands/billing.command.pdf.js +17 -2
- package/dist/cli/commands/billing.command.pdf.js.map +1 -1
- package/dist/cli/commands/billing.command.shared.d.ts +22 -3
- package/dist/cli/commands/billing.command.shared.js +84 -47
- package/dist/cli/commands/billing.command.shared.js.map +1 -1
- package/dist/cli/commands/config.command.d.ts +3 -4
- package/dist/cli/commands/config.command.js +43 -41
- package/dist/cli/commands/config.command.js.map +1 -1
- package/dist/cli/commands/cuit-argument.d.ts +2 -0
- package/dist/cli/commands/cuit-argument.js +10 -0
- package/dist/cli/commands/cuit-argument.js.map +1 -0
- package/dist/cli/commands/fce-obligation.command.js +6 -13
- package/dist/cli/commands/fce-obligation.command.js.map +1 -1
- package/dist/cli/commands/interactive.command.js +8 -6
- package/dist/cli/commands/interactive.command.js.map +1 -1
- package/dist/cli/commands/padron.command.d.ts +2 -0
- package/dist/cli/commands/padron.command.js +47 -0
- package/dist/cli/commands/padron.command.js.map +1 -0
- package/dist/cli/commands/parameters.command.js +8 -7
- package/dist/cli/commands/parameters.command.js.map +1 -1
- package/dist/cli/commands/pdf.command.js +17 -30
- package/dist/cli/commands/pdf.command.js.map +1 -1
- package/dist/cli/commands/vouchers.command.js +9 -9
- package/dist/cli/commands/vouchers.command.js.map +1 -1
- package/dist/cli/error-output.d.ts +25 -0
- package/dist/cli/error-output.js +86 -0
- package/dist/cli/error-output.js.map +1 -0
- package/dist/cli/global-options.d.ts +26 -0
- package/dist/cli/global-options.js +56 -0
- package/dist/cli/global-options.js.map +1 -0
- package/dist/cli/help-argv.d.ts +5 -0
- package/dist/cli/help-argv.js +21 -0
- package/dist/cli/help-argv.js.map +1 -0
- package/dist/cli/help.d.ts +2 -0
- package/dist/cli/help.js +78 -31
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/ignored-global-options.d.ts +6 -0
- package/dist/cli/ignored-global-options.js +33 -0
- package/dist/cli/ignored-global-options.js.map +1 -0
- package/dist/cli/index.js +16 -26
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive/advanced-options.js +2 -2
- package/dist/cli/interactive/advanced-options.js.map +1 -1
- package/dist/cli/interactive/config.flow.d.ts +1 -2
- package/dist/cli/interactive/config.flow.js +4 -3
- package/dist/cli/interactive/config.flow.js.map +1 -1
- package/dist/cli/interactive/interactive-mode.js +108 -9
- package/dist/cli/interactive/interactive-mode.js.map +1 -1
- package/dist/cli/interactive/invoice-picker.js +3 -2
- package/dist/cli/interactive/invoice-picker.js.map +1 -1
- package/dist/cli/interactive/invoice.flow.d.ts +2 -0
- package/dist/cli/interactive/invoice.flow.js +4 -3
- package/dist/cli/interactive/invoice.flow.js.map +1 -1
- package/dist/cli/interactive/note.flow.d.ts +4 -0
- package/dist/cli/interactive/note.flow.js +25 -11
- package/dist/cli/interactive/note.flow.js.map +1 -1
- package/dist/cli/interactive/pdf.flow.js +33 -22
- package/dist/cli/interactive/pdf.flow.js.map +1 -1
- package/dist/cli/interactive/prompts.d.ts +3 -1
- package/dist/cli/interactive/prompts.js +8 -4
- package/dist/cli/interactive/prompts.js.map +1 -1
- package/dist/cli/interactive/receiver-padron.d.ts +29 -0
- package/dist/cli/interactive/receiver-padron.js +53 -0
- package/dist/cli/interactive/receiver-padron.js.map +1 -0
- package/dist/cli/interactive/repeat.flow.js +25 -10
- package/dist/cli/interactive/repeat.flow.js.map +1 -1
- package/dist/cli/interactive/session.js +4 -1
- package/dist/cli/interactive/session.js.map +1 -1
- package/dist/cli/interactive/update.flow.d.ts +6 -0
- package/dist/cli/interactive/update.flow.js +26 -0
- package/dist/cli/interactive/update.flow.js.map +1 -0
- package/dist/cli/interactive/validators.js +8 -4
- package/dist/cli/interactive/validators.js.map +1 -1
- package/dist/cli/option-parsers.d.ts +6 -0
- package/dist/cli/option-parsers.js +34 -0
- package/dist/cli/option-parsers.js.map +1 -0
- package/dist/cli/program.d.ts +5 -1
- package/dist/cli/program.js +8 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/lib/dates/arca-date.d.ts +13 -0
- package/dist/lib/dates/arca-date.js +28 -11
- package/dist/lib/dates/arca-date.js.map +1 -1
- package/dist/lib/errors/app-error.d.ts +4 -1
- package/dist/lib/errors/app-error.js +5 -1
- package/dist/lib/errors/app-error.js.map +1 -1
- package/dist/lib/files/restrict-to-owner.d.ts +7 -0
- package/dist/lib/files/restrict-to-owner.js +19 -0
- package/dist/lib/files/restrict-to-owner.js.map +1 -0
- package/dist/lib/files/write-new-file.d.ts +5 -0
- package/dist/lib/files/write-new-file.js +30 -0
- package/dist/lib/files/write-new-file.js.map +1 -0
- package/dist/lib/identity/format-cuit.d.ts +2 -0
- package/dist/lib/identity/format-cuit.js +6 -0
- package/dist/lib/identity/format-cuit.js.map +1 -0
- package/dist/lib/links.d.ts +2 -0
- package/dist/lib/links.js +2 -0
- package/dist/lib/links.js.map +1 -1
- package/dist/lib/numbers/argentine-amount.d.ts +23 -0
- package/dist/lib/numbers/argentine-amount.js +37 -0
- package/dist/lib/numbers/argentine-amount.js.map +1 -0
- package/dist/lib/numbers/strict-integer.d.ts +4 -0
- package/dist/lib/numbers/strict-integer.js +10 -0
- package/dist/lib/numbers/strict-integer.js.map +1 -0
- package/dist/lib/security/certificate.d.ts +5 -1
- package/dist/lib/security/certificate.js +10 -7
- package/dist/lib/security/certificate.js.map +1 -1
- package/dist/lib/security/pem.js +5 -1
- package/dist/lib/security/pem.js.map +1 -1
- package/dist/modules/billing/billing-response.js +15 -2
- package/dist/modules/billing/billing-response.js.map +1 -1
- package/dist/modules/billing/billing.amounts.d.ts +2 -0
- package/dist/modules/billing/billing.amounts.js +6 -3
- package/dist/modules/billing/billing.amounts.js.map +1 -1
- package/dist/modules/billing/billing.associated-vouchers.js +14 -3
- package/dist/modules/billing/billing.associated-vouchers.js.map +1 -1
- package/dist/modules/billing/billing.batch.js +13 -1
- package/dist/modules/billing/billing.batch.js.map +1 -1
- package/dist/modules/billing/billing.date-range.js +31 -9
- package/dist/modules/billing/billing.date-range.js.map +1 -1
- package/dist/modules/billing/billing.display.js +9 -5
- package/dist/modules/billing/billing.display.js.map +1 -1
- package/dist/modules/billing/billing.errors.d.ts +12 -0
- package/dist/modules/billing/billing.errors.js +18 -0
- package/dist/modules/billing/billing.errors.js.map +1 -0
- package/dist/modules/billing/billing.json-input.d.ts +58 -0
- package/dist/modules/billing/billing.json-input.js +279 -0
- package/dist/modules/billing/billing.json-input.js.map +1 -0
- package/dist/modules/billing/billing.padron.d.ts +14 -0
- package/dist/modules/billing/billing.padron.js +55 -0
- package/dist/modules/billing/billing.padron.js.map +1 -0
- package/dist/modules/billing/billing.schemas.d.ts +5 -0
- package/dist/modules/billing/billing.schemas.js +19 -5
- package/dist/modules/billing/billing.schemas.js.map +1 -1
- package/dist/modules/billing/billing.serialize.d.ts +1 -0
- package/dist/modules/billing/billing.serialize.js +5 -12
- package/dist/modules/billing/billing.serialize.js.map +1 -1
- package/dist/modules/billing/billing.service.d.ts +3 -0
- package/dist/modules/billing/billing.service.js +31 -3
- package/dist/modules/billing/billing.service.js.map +1 -1
- package/dist/modules/billing/billing.text.js +4 -12
- package/dist/modules/billing/billing.text.js.map +1 -1
- package/dist/modules/billing/billing.types.internal.d.ts +10 -2
- package/dist/modules/billing/billing.validation.js +4 -0
- package/dist/modules/billing/billing.validation.js.map +1 -1
- package/dist/modules/config/certificate-expiry.d.ts +42 -0
- package/dist/modules/config/certificate-expiry.js +91 -0
- package/dist/modules/config/certificate-expiry.js.map +1 -0
- package/dist/modules/config/config-doctor.d.ts +5 -4
- package/dist/modules/config/config-doctor.js +8 -16
- package/dist/modules/config/config-doctor.js.map +1 -1
- package/dist/modules/config/config-value-parser.d.ts +1 -1
- package/dist/modules/config/config-value-parser.js +24 -20
- package/dist/modules/config/config-value-parser.js.map +1 -1
- package/dist/modules/config/config.presenter.d.ts +2 -0
- package/dist/modules/config/config.presenter.js +6 -0
- package/dist/modules/config/config.presenter.js.map +1 -1
- package/dist/modules/config/config.schemas.d.ts +4 -2
- package/dist/modules/config/config.schemas.js +3 -0
- package/dist/modules/config/config.schemas.js.map +1 -1
- package/dist/modules/config/config.sections.js +6 -1
- package/dist/modules/config/config.sections.js.map +1 -1
- package/dist/modules/config/config.service.d.ts +5 -0
- package/dist/modules/config/config.service.js +62 -14
- package/dist/modules/config/config.service.js.map +1 -1
- package/dist/modules/examples/examples.d.ts +5 -0
- package/dist/modules/examples/examples.js +34 -29
- package/dist/modules/examples/examples.js.map +1 -1
- package/dist/modules/interactive/amount-input.d.ts +3 -5
- package/dist/modules/interactive/amount-input.js +9 -26
- package/dist/modules/interactive/amount-input.js.map +1 -1
- package/dist/modules/interactive/config-fields.js +8 -1
- package/dist/modules/interactive/config-fields.js.map +1 -1
- package/dist/modules/interactive/equivalent-command.js +8 -10
- package/dist/modules/interactive/equivalent-command.js.map +1 -1
- package/dist/modules/interactive/invoice-copy.d.ts +19 -0
- package/dist/modules/interactive/invoice-copy.js +26 -0
- package/dist/modules/interactive/invoice-copy.js.map +1 -0
- package/dist/modules/interactive/periods.d.ts +2 -2
- package/dist/modules/interactive/periods.js +8 -4
- package/dist/modules/interactive/periods.js.map +1 -1
- package/dist/modules/padron/padron.d.ts +46 -0
- package/dist/modules/padron/padron.js +24 -0
- package/dist/modules/padron/padron.js.map +1 -0
- package/dist/modules/padron/padron.presenter.d.ts +7 -0
- package/dist/modules/padron/padron.presenter.js +49 -0
- package/dist/modules/padron/padron.presenter.js.map +1 -0
- package/dist/modules/parameters/health.d.ts +17 -0
- package/dist/modules/parameters/health.js +29 -0
- package/dist/modules/parameters/health.js.map +1 -0
- package/dist/modules/parameters/parameters.presenter.js +5 -2
- package/dist/modules/parameters/parameters.presenter.js.map +1 -1
- package/dist/modules/pdf/pdf.errors.d.ts +0 -1
- package/dist/modules/pdf/pdf.errors.js +1 -3
- package/dist/modules/pdf/pdf.errors.js.map +1 -1
- package/dist/modules/storybook/showcase.js +21 -5
- package/dist/modules/storybook/showcase.js.map +1 -1
- package/dist/modules/update-check/changelog.d.ts +23 -0
- package/dist/modules/update-check/changelog.js +99 -0
- package/dist/modules/update-check/changelog.js.map +1 -0
- package/dist/modules/update-check/update-check.presenter.d.ts +4 -0
- package/dist/modules/update-check/update-check.presenter.js +80 -2
- package/dist/modules/update-check/update-check.presenter.js.map +1 -1
- package/dist/modules/update-check/update-check.service.d.ts +3 -0
- package/dist/modules/update-check/update-check.service.js +2 -2
- package/dist/modules/update-check/update-check.service.js.map +1 -1
- package/dist/modules/vouchers/voucher-history.presenter.d.ts +3 -3
- package/dist/modules/vouchers/voucher-history.presenter.js +27 -7
- package/dist/modules/vouchers/voucher-history.presenter.js.map +1 -1
- package/dist/services/arca/arca-billing.gateway.d.ts +8 -2
- package/dist/services/arca/arca-billing.gateway.js +17 -2
- package/dist/services/arca/arca-billing.gateway.js.map +1 -1
- package/dist/services/arca/arca-client.factory.d.ts +2 -1
- package/dist/services/arca/arca-client.factory.js +5 -0
- package/dist/services/arca/arca-client.factory.js.map +1 -1
- package/dist/services/arca/arca-context.resolver.d.ts +11 -0
- package/dist/services/arca/arca-context.resolver.js +17 -1
- package/dist/services/arca/arca-context.resolver.js.map +1 -1
- package/dist/services/arca/arca-padron.gateway.d.ts +9 -0
- package/dist/services/arca/arca-padron.gateway.js +104 -0
- package/dist/services/arca/arca-padron.gateway.js.map +1 -0
- package/dist/services/clipboard/clipboard.d.ts +2 -0
- package/dist/services/clipboard/clipboard.js +17 -0
- package/dist/services/clipboard/clipboard.js.map +1 -0
- package/dist/services/pdf/escape-html.d.ts +6 -0
- package/dist/services/pdf/escape-html.js +25 -0
- package/dist/services/pdf/escape-html.js.map +1 -0
- package/dist/services/pdf/pdf-exporter.d.ts +6 -3
- package/dist/services/pdf/pdf-exporter.js +13 -10
- package/dist/services/pdf/pdf-exporter.js.map +1 -1
- package/dist/ui/components/certificateBanner.d.ts +11 -0
- package/dist/ui/components/certificateBanner.js +9 -0
- package/dist/ui/components/certificateBanner.js.map +1 -0
- package/dist/ui/components/index.d.ts +1 -0
- package/dist/ui/components/index.js +1 -0
- package/dist/ui/components/index.js.map +1 -1
- package/dist/ui/components/statusBar.d.ts +15 -4
- package/dist/ui/components/statusBar.js +16 -11
- package/dist/ui/components/statusBar.js.map +1 -1
- package/dist/ui/presenters/config.presenter.d.ts +1 -1
- package/dist/ui/presenters/config.presenter.js +1 -1
- package/dist/ui/presenters/config.presenter.js.map +1 -1
- package/dist/ui/presenters/errors.presenter.js +8 -4
- package/dist/ui/presenters/errors.presenter.js.map +1 -1
- package/dist/ui/presenters/errors.zod-presenter.js +5 -26
- package/dist/ui/presenters/errors.zod-presenter.js.map +1 -1
- package/dist/ui/primitives/renderLogo.d.ts +2 -1
- package/dist/ui/primitives/renderLogo.js +21 -4
- package/dist/ui/primitives/renderLogo.js.map +1 -1
- package/dist/ui/primitives/renderPanel.d.ts +2 -0
- package/dist/ui/primitives/renderPanel.js +15 -5
- package/dist/ui/primitives/renderPanel.js.map +1 -1
- package/dist/ui/stream/terminal-stream.d.ts +11 -0
- package/dist/ui/stream/terminal-stream.js +27 -1
- package/dist/ui/stream/terminal-stream.js.map +1 -1
- package/dist/ui/theme/theme.d.ts +3 -3
- package/dist/ui/theme/theme.js +14 -3
- package/dist/ui/theme/theme.js.map +1 -1
- package/llms.txt +65 -45
- package/package.json +1 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { isNewerVersion } from './update-check.service.js';
|
|
2
|
+
const CHANGELOG_URL = (version) => `https://raw.githubusercontent.com/LcsGrz/arcli/v${version}/CHANGELOG.md`;
|
|
3
|
+
export const CHANGELOG_PAGE_URL = 'https://github.com/LcsGrz/arcli/blob/main/CHANGELOG.md';
|
|
4
|
+
const FETCH_TIMEOUT_MS = 3000;
|
|
5
|
+
// Lo que entra en un renglon del panel junto a la etiqueta ("nuevo", "arreglo"), en una terminal de 92 columnas.
|
|
6
|
+
const MAX_LEAD_LENGTH = 70;
|
|
7
|
+
const CHANGE_KINDS = {
|
|
8
|
+
agregado: 'agregado',
|
|
9
|
+
cambiado: 'cambiado',
|
|
10
|
+
corregido: 'corregido',
|
|
11
|
+
eliminado: 'eliminado',
|
|
12
|
+
seguridad: 'seguridad',
|
|
13
|
+
};
|
|
14
|
+
const VERSION_HEADING = /^## \[(\d+\.\d+\.\d+)\](?:\s*-\s*(\S+))?/;
|
|
15
|
+
/** Saca el markdown de una linea: negritas, codigo y links (queda el texto del link). */
|
|
16
|
+
function plainText(value) {
|
|
17
|
+
return value
|
|
18
|
+
.replace(/\[([^\]]+)\]\([^)]*\)/g, '$1')
|
|
19
|
+
.replace(/\*\*|`/g, '')
|
|
20
|
+
.trim();
|
|
21
|
+
}
|
|
22
|
+
function shorten(value, maxLength = MAX_LEAD_LENGTH) {
|
|
23
|
+
return value.length > maxLength ? `${value.slice(0, maxLength - 1).trimEnd()}…` : value;
|
|
24
|
+
}
|
|
25
|
+
function firstSentence(value) {
|
|
26
|
+
return value.split(/(?<=\.)\s/)[0] ?? value;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* El titulo en negrita del cambio. Si es solo una categoria corta ("Modo interactivo:", "Docs:"), queda como
|
|
30
|
+
* `topic` y el texto es el comienzo de la descripcion, porque la categoria sola no dice nada.
|
|
31
|
+
*/
|
|
32
|
+
function changeLead(bullet) {
|
|
33
|
+
const bold = /^\*\*(.+?)\*\*(.*)$/.exec(bullet);
|
|
34
|
+
if (!bold) {
|
|
35
|
+
return { text: shorten(plainText(firstSentence(bullet))) };
|
|
36
|
+
}
|
|
37
|
+
const [, title, rest] = bold;
|
|
38
|
+
const isCategory = title.endsWith(':') && title.split(/\s+/).length <= 2 && rest.trim() !== '';
|
|
39
|
+
if (isCategory) {
|
|
40
|
+
const topic = plainText(title.slice(0, -1));
|
|
41
|
+
// La categoria y el texto van en el mismo renglon: "Docs: el glosario...".
|
|
42
|
+
return { text: shorten(plainText(firstSentence(rest.trim())), MAX_LEAD_LENGTH - topic.length - 2), topic };
|
|
43
|
+
}
|
|
44
|
+
return { text: shorten(plainText(title.replace(/:$/, ''))) };
|
|
45
|
+
}
|
|
46
|
+
/** Las versiones posteriores a `currentVersion`, hasta `latestVersion` inclusive, de la mas nueva a la mas vieja. */
|
|
47
|
+
export function extractChangelog(markdown, currentVersion, latestVersion) {
|
|
48
|
+
const entries = [];
|
|
49
|
+
let current;
|
|
50
|
+
let kind;
|
|
51
|
+
for (const line of markdown.split('\n')) {
|
|
52
|
+
const heading = VERSION_HEADING.exec(line);
|
|
53
|
+
if (heading) {
|
|
54
|
+
const version = heading[1];
|
|
55
|
+
const inRange = isNewerVersion(version, currentVersion) && !isNewerVersion(version, latestVersion);
|
|
56
|
+
current = inRange ? { changes: [], date: heading[2], version } : undefined;
|
|
57
|
+
kind = undefined;
|
|
58
|
+
if (current) {
|
|
59
|
+
entries.push(current);
|
|
60
|
+
}
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (line.startsWith('## ')) {
|
|
64
|
+
current = undefined;
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (!current) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (line.startsWith('### ')) {
|
|
71
|
+
kind = CHANGE_KINDS[line.slice(4).trim().toLowerCase()] ?? 'otro';
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const bullet = /^(\s*)- (.+)$/.exec(line);
|
|
75
|
+
if (bullet) {
|
|
76
|
+
current.changes.push({ kind: kind ?? 'otro', nested: bullet[1].length > 0, ...changeLead(bullet[2]) });
|
|
77
|
+
}
|
|
78
|
+
else if (!kind && line.trim() && !current.summary) {
|
|
79
|
+
current.summary = plainText(firstSentence(line));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return entries;
|
|
83
|
+
}
|
|
84
|
+
/** El CHANGELOG.md publicado con esa version; `undefined` si no se pudo bajar. */
|
|
85
|
+
export async function fetchChangelog(version) {
|
|
86
|
+
const controller = new AbortController();
|
|
87
|
+
const timeout = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
88
|
+
try {
|
|
89
|
+
const response = await fetch(CHANGELOG_URL(version), { signal: controller.signal });
|
|
90
|
+
return response.ok ? await response.text() : undefined;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
clearTimeout(timeout);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=changelog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../../src/modules/update-check/changelog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
import { type ChangelogEntry } from './changelog';
|
|
1
2
|
import type { UpdateCheckResult } from './update-check.service';
|
|
3
|
+
export declare const UPDATE_COMMAND = "npm install -g arcli@latest";
|
|
2
4
|
export declare function renderUpdateNoticePanel(result: UpdateCheckResult): string;
|
|
5
|
+
/** Pantalla de "Actualizar": versiones, novedades y como actualizar. */
|
|
6
|
+
export declare function renderUpdateDetails(result: UpdateCheckResult, entries: readonly ChangelogEntry[] | undefined): string;
|
|
@@ -1,6 +1,84 @@
|
|
|
1
|
-
import { noticePanel } from '../../ui/index.js';
|
|
1
|
+
import { bold, colorize, noticePanel, renderPanel } from '../../ui/index.js';
|
|
2
|
+
import { CHANGELOG_PAGE_URL } from './changelog.js';
|
|
3
|
+
export const UPDATE_COMMAND = 'npm install -g arcli@latest';
|
|
4
|
+
/** Versiones del changelog que se muestran, y cambios por version; el resto queda en el link. */
|
|
5
|
+
const MAX_CHANGELOG_ENTRIES = 3;
|
|
6
|
+
const MAX_CHANGES_PER_ENTRY = 6;
|
|
2
7
|
export function renderUpdateNoticePanel(result) {
|
|
3
8
|
return noticePanel(`Nueva version disponible: ${result.latestVersion} (actual: ${result.currentVersion})\n` +
|
|
4
|
-
|
|
9
|
+
`Actualiza con: ${UPDATE_COMMAND}`, 'info', 'info');
|
|
10
|
+
}
|
|
11
|
+
const KIND_LABELS = {
|
|
12
|
+
agregado: ['nuevo', 'success'],
|
|
13
|
+
cambiado: ['cambio', 'info'],
|
|
14
|
+
corregido: ['arreglo', 'warning'],
|
|
15
|
+
eliminado: ['quitado', 'danger'],
|
|
16
|
+
otro: ['otro', 'muted'],
|
|
17
|
+
seguridad: ['seguridad', 'danger'],
|
|
18
|
+
};
|
|
19
|
+
const KIND_LABEL_WIDTH = Math.max(...Object.values(KIND_LABELS).map(([label]) => label.length));
|
|
20
|
+
const CHANGE_INDENT = ' '.repeat(2 + KIND_LABEL_WIDTH + 2);
|
|
21
|
+
/** `2026-10-09` → `09/10/2026`; otro formato queda igual. */
|
|
22
|
+
function formatChangelogDate(date) {
|
|
23
|
+
const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(date);
|
|
24
|
+
return match ? `${match[3]}/${match[2]}/${match[1]}` : date;
|
|
25
|
+
}
|
|
26
|
+
function formatChange(change) {
|
|
27
|
+
const text = change.topic ? `${bold(`${change.topic}:`)} ${change.text}` : change.text;
|
|
28
|
+
if (change.nested) {
|
|
29
|
+
return `${CHANGE_INDENT}· ${text}`;
|
|
30
|
+
}
|
|
31
|
+
const [label, color] = KIND_LABELS[change.kind];
|
|
32
|
+
return ` ${colorize(label.padEnd(KIND_LABEL_WIDTH), color)} ${text}`;
|
|
33
|
+
}
|
|
34
|
+
function formatChanges(changes) {
|
|
35
|
+
const lines = changes.slice(0, MAX_CHANGES_PER_ENTRY).map(formatChange);
|
|
36
|
+
const hidden = changes.length - MAX_CHANGES_PER_ENTRY;
|
|
37
|
+
return hidden > 0 ? [...lines, colorize(`${CHANGE_INDENT}y ${hidden} cambio(s) mas`, 'muted')] : lines;
|
|
38
|
+
}
|
|
39
|
+
function formatChangelog(entries) {
|
|
40
|
+
if (!entries || entries.length === 0) {
|
|
41
|
+
return [colorize(`No se pudieron cargar las novedades. Miralas en ${CHANGELOG_PAGE_URL}`, 'muted')];
|
|
42
|
+
}
|
|
43
|
+
const lines = entries
|
|
44
|
+
.slice(0, MAX_CHANGELOG_ENTRIES)
|
|
45
|
+
.flatMap((entry) => [
|
|
46
|
+
'',
|
|
47
|
+
`${bold(entry.version)}${entry.date ? ` · ${colorize(formatChangelogDate(entry.date), 'muted')}` : ''}`,
|
|
48
|
+
...(entry.summary ? [entry.summary] : []),
|
|
49
|
+
...(entry.changes.length > 0 ? [''] : []),
|
|
50
|
+
...formatChanges(entry.changes),
|
|
51
|
+
]);
|
|
52
|
+
const hidden = entries.length - MAX_CHANGELOG_ENTRIES;
|
|
53
|
+
if (hidden > 0) {
|
|
54
|
+
lines.push('', colorize(`Y ${hidden} version(es) mas en ${CHANGELOG_PAGE_URL}`, 'muted'));
|
|
55
|
+
}
|
|
56
|
+
return lines;
|
|
57
|
+
}
|
|
58
|
+
/** Pantalla de "Actualizar": versiones, novedades y como actualizar. */
|
|
59
|
+
export function renderUpdateDetails(result, entries) {
|
|
60
|
+
const versions = renderPanel({
|
|
61
|
+
borderType: 'sheet',
|
|
62
|
+
content: [
|
|
63
|
+
`Tu version ${result.currentVersion}`,
|
|
64
|
+
`Nueva version ${colorize(bold(result.latestVersion), 'highlight')}`,
|
|
65
|
+
'',
|
|
66
|
+
bold('NOVEDADES'),
|
|
67
|
+
...formatChangelog(entries),
|
|
68
|
+
],
|
|
69
|
+
title: 'Actualizacion disponible',
|
|
70
|
+
width: 'wide',
|
|
71
|
+
});
|
|
72
|
+
const howTo = renderPanel({
|
|
73
|
+
borderType: 'command',
|
|
74
|
+
content: [
|
|
75
|
+
'Para actualizar, arcli se cierra y deja este comando copiado. Pegalo en la terminal y apreta Enter:',
|
|
76
|
+
'',
|
|
77
|
+
bold(colorize(UPDATE_COMMAND, 'info')),
|
|
78
|
+
],
|
|
79
|
+
preserveBlankLines: true,
|
|
80
|
+
width: 'wide',
|
|
81
|
+
});
|
|
82
|
+
return `${versions}\n\n${howTo}`;
|
|
5
83
|
}
|
|
6
84
|
//# sourceMappingURL=update-check.presenter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.presenter.js","sourceRoot":"","sources":["../../../src/modules/update-check/update-check.presenter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"update-check.presenter.js","sourceRoot":"","sources":["../../../src/modules/update-check/update-check.presenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,10 @@ export interface UpdateCheckResult {
|
|
|
2
2
|
readonly currentVersion: string;
|
|
3
3
|
readonly latestVersion: string;
|
|
4
4
|
}
|
|
5
|
+
export declare function isNewerVersion(latestVersion: string, currentVersion: string): boolean;
|
|
5
6
|
export interface CheckForUpdateOptions {
|
|
6
7
|
readonly cwd?: string;
|
|
8
|
+
/** Cada cuanto se consulta el registry; por defecto, una vez por dia. */
|
|
9
|
+
readonly maxAgeMs?: number;
|
|
7
10
|
}
|
|
8
11
|
export declare function checkForUpdate(currentVersion: string, options?: CheckForUpdateOptions): Promise<UpdateCheckResult | null>;
|
|
@@ -10,7 +10,7 @@ const CACHE_DEFAULTS = {
|
|
|
10
10
|
function isUpdateCheckDisabled() {
|
|
11
11
|
return Boolean(process.env.CI) || Boolean(process.env.NO_UPDATE_NOTIFIER) || process.stderr.isTTY !== true;
|
|
12
12
|
}
|
|
13
|
-
function isNewerVersion(latestVersion, currentVersion) {
|
|
13
|
+
export function isNewerVersion(latestVersion, currentVersion) {
|
|
14
14
|
const parse = (version) => version.split('.').map((part) => Number.parseInt(part, 10) || 0);
|
|
15
15
|
const [latestMajor, latestMinor, latestPatch] = parse(latestVersion);
|
|
16
16
|
const [currentMajor, currentMinor, currentPatch] = parse(currentVersion);
|
|
@@ -54,7 +54,7 @@ export async function checkForUpdate(currentVersion, options = {}) {
|
|
|
54
54
|
return null;
|
|
55
55
|
}
|
|
56
56
|
const cache = createCacheStore(options.cwd);
|
|
57
|
-
const isCacheStale = Date.now() - cache.get('lastCheckedAt') > CHECK_INTERVAL_MS;
|
|
57
|
+
const isCacheStale = Date.now() - cache.get('lastCheckedAt') > (options.maxAgeMs ?? CHECK_INTERVAL_MS);
|
|
58
58
|
let latestVersion = cache.get('latestVersion');
|
|
59
59
|
if (isCacheStale) {
|
|
60
60
|
const fetchedVersion = await fetchLatestVersion();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.service.js","sourceRoot":"","sources":["../../../src/modules/update-check/update-check.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,YAAY,GAAG,OAAO,CAAC;AAC7B,MAAM,YAAY,GAAG,8BAA8B,YAAY,SAAS,CAAC;AACzE,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAO9B,MAAM,cAAc,GAAqB;IACvC,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,EAAE;CAClB,CAAC;AAOF,SAAS,qBAAqB;IAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AAC7G,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"update-check.service.js","sourceRoot":"","sources":["../../../src/modules/update-check/update-check.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,10 +19,10 @@ export declare function formatVoucherListTitle(report: Omit<VoucherListReport, '
|
|
|
19
19
|
/** Una fila del listado: numero, fecha, receptor, total y CAE, en columnas alineadas. */
|
|
20
20
|
export declare function formatVoucherListRow(pointOfSale: number, voucher: IssuedVoucher): string;
|
|
21
21
|
/**
|
|
22
|
-
* Filas
|
|
23
|
-
*
|
|
22
|
+
* Filas para elegir un comprobante: cada columna mide lo justo para el dato mas largo de la lista y las separa
|
|
23
|
+
* `separator`. Con `width`, los separadores se agrandan para que las filas ocupen ese ancho, si entran.
|
|
24
24
|
*/
|
|
25
|
-
export declare function formatVoucherPickerRows(pointOfSale: number, vouchers: readonly IssuedVoucher[], separator: string): string[];
|
|
25
|
+
export declare function formatVoucherPickerRows(pointOfSale: number, vouchers: readonly IssuedVoucher[], separator: string, width?: number): string[];
|
|
26
26
|
export declare function formatVoucherListAsText(report: VoucherListReport): string;
|
|
27
27
|
export declare function formatVoucherListAsJson(report: VoucherListReport): string;
|
|
28
28
|
export declare function formatVoucherDetailAsJson(report: VoucherDetailReport): string;
|
|
@@ -33,10 +33,21 @@ export function formatVoucherListRow(pointOfSale, voucher) {
|
|
|
33
33
|
.trimEnd();
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
36
|
+
* Reparte `extra` espacios entre los separadores, a los dos lados del simbolo: ` · ` pasa a ` · `, y asi.
|
|
37
|
+
* Los primeros se llevan el sobrante de la division.
|
|
38
38
|
*/
|
|
39
|
-
|
|
39
|
+
function widenSeparators(separator, count, extra) {
|
|
40
|
+
return Array.from({ length: count }, (_, index) => {
|
|
41
|
+
const spaces = Math.floor(extra / count) + (index < extra % count ? 1 : 0);
|
|
42
|
+
const left = Math.floor(spaces / 2);
|
|
43
|
+
return `${' '.repeat(left)}${separator}${' '.repeat(spaces - left)}`;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Filas para elegir un comprobante: cada columna mide lo justo para el dato mas largo de la lista y las separa
|
|
48
|
+
* `separator`. Con `width`, los separadores se agrandan para que las filas ocupen ese ancho, si entran.
|
|
49
|
+
*/
|
|
50
|
+
export function formatVoucherPickerRows(pointOfSale, vouchers, separator, width) {
|
|
40
51
|
const columns = vouchers.map((voucher) => ({
|
|
41
52
|
cae: voucher.cae ? `CAE ${voucher.cae}` : '',
|
|
42
53
|
date: formatArcaDateAsArgentineDate(voucher.date),
|
|
@@ -46,9 +57,18 @@ export function formatVoucherPickerRows(pointOfSale, vouchers, separator) {
|
|
|
46
57
|
}));
|
|
47
58
|
const receiverWidth = Math.max(0, ...columns.map((column) => column.receiver.length));
|
|
48
59
|
const totalWidth = Math.max(0, ...columns.map((column) => column.total.length));
|
|
49
|
-
|
|
50
|
-
.
|
|
51
|
-
.
|
|
60
|
+
const cells = columns.map((column) => [
|
|
61
|
+
column.number,
|
|
62
|
+
column.date,
|
|
63
|
+
column.receiver.padEnd(receiverWidth),
|
|
64
|
+
column.total.padStart(totalWidth),
|
|
65
|
+
column.cae,
|
|
66
|
+
].filter(Boolean));
|
|
67
|
+
const natural = Math.max(0, ...cells.map((row) => row.join(separator).length));
|
|
68
|
+
const gaps = Math.max(0, ...cells.map((row) => row.length - 1));
|
|
69
|
+
const extra = width === undefined || gaps === 0 ? 0 : Math.max(0, width - natural);
|
|
70
|
+
const separators = widenSeparators(separator, gaps, extra);
|
|
71
|
+
return cells.map((row) => row.map((cell, index) => (index === 0 ? cell : `${separators[index - 1]}${cell}`)).join(''));
|
|
52
72
|
}
|
|
53
73
|
export function formatVoucherListAsText(report) {
|
|
54
74
|
const { pointOfSale, voucherKind, vouchers } = report;
|
|
@@ -121,6 +141,6 @@ export function formatVoucherDetailAsText(report) {
|
|
|
121
141
|
if (voucher.caeExpiration) {
|
|
122
142
|
rows.push(['Vencimiento CAE', formatArcaDateAsArgentineDate(voucher.caeExpiration)]);
|
|
123
143
|
}
|
|
124
|
-
return keyValuePanel(voucherKind.displayName, renderKeyValueRows(rows, { labelWidth: resolveKeyValueLabelWidth('
|
|
144
|
+
return keyValuePanel(voucherKind.displayName, renderKeyValueRows(rows, { labelWidth: resolveKeyValueLabelWidth('ticket', rows) }), voucher.result === 'A' ? 'APROBADO' : voucher.result === 'R' ? 'RECHAZADO' : undefined, 'ticket', voucher.result === 'R' ? 'danger' : 'success', 'ticket');
|
|
125
145
|
}
|
|
126
146
|
//# sourceMappingURL=voucher-history.presenter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voucher-history.presenter.js","sourceRoot":"","sources":["../../../src/modules/vouchers/voucher-history.presenter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAmBtG,MAAM,eAAe,GAA2B;IAC9C,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,KAAK;CACV,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,MAAc;IACrE,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAsB;IACnD,IAAI,OAAO,CAAC,gBAAgB,KAAK,EAAE,EAAE,CAAC;QACpC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAE7F,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;AAC9C,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,sBAAsB,CAAC,MAA2C;IAChF,OAAO,WAAW,MAAM,CAAC,WAAW,CAAC,WAAW,SAAS,MAAM,CAAC,WAAW,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;AACxG,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAAC,WAAmB,EAAE,OAAsB;IAC9E,OAAO;QACL,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC;QAChD,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3C,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;KACxC;SACE,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAmB,EACnB,QAAkC,EAClC,SAAiB;
|
|
1
|
+
{"version":3,"file":"voucher-history.presenter.js","sourceRoot":"","sources":["../../../src/modules/vouchers/voucher-history.presenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import type { Arca } from '@arcasdk/core';
|
|
2
2
|
import type { CreateVoucherResultDto } from '@arcasdk/core/lib/application/dto/electronic-billing';
|
|
3
|
-
import type {
|
|
3
|
+
import type { IVoucher } from '@arcasdk/core/lib/domain/types/voucher.types';
|
|
4
4
|
import type { BillingGateway } from '../../modules/billing/billing.types.internal';
|
|
5
5
|
export declare class ArcaBillingGateway implements BillingGateway {
|
|
6
6
|
private readonly arca;
|
|
7
7
|
constructor(arca: Arca);
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Primer paso de `createNextVoucher` del SDK: autentica en WSAA y pide el ultimo numero autorizado.
|
|
10
|
+
* Si falla, no se envio nada a ARCA. Como el SDK, sin comprobantes previos arranca en 1.
|
|
11
|
+
*/
|
|
12
|
+
getNextVoucherNumber(pointOfSale: number, voucherType: number): Promise<number>;
|
|
13
|
+
/** Segundo paso: la llamada que emite. Si falla, ARCA pudo haber autorizado el comprobante igual. */
|
|
14
|
+
createVoucher(voucher: IVoucher): Promise<CreateVoucherResultDto>;
|
|
9
15
|
getQuotation(currencyCode: string): Promise<number>;
|
|
10
16
|
}
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
import { AppError } from '../../lib/errors/app-error.js';
|
|
2
|
+
/** Tope de numeracion de ARCA; el SDK lo valida igual en `createNextVoucher`. */
|
|
3
|
+
const MAX_VOUCHER_NUMBER = 99_999_999;
|
|
2
4
|
export class ArcaBillingGateway {
|
|
3
5
|
arca;
|
|
4
6
|
constructor(arca) {
|
|
5
7
|
this.arca = arca;
|
|
6
8
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Primer paso de `createNextVoucher` del SDK: autentica en WSAA y pide el ultimo numero autorizado.
|
|
11
|
+
* Si falla, no se envio nada a ARCA. Como el SDK, sin comprobantes previos arranca en 1.
|
|
12
|
+
*/
|
|
13
|
+
async getNextVoucherNumber(pointOfSale, voucherType) {
|
|
14
|
+
const lastVoucher = await this.arca.electronicBillingService.getLastVoucher(pointOfSale, voucherType);
|
|
15
|
+
const nextNumber = (lastVoucher.cbteNro || 0) + 1;
|
|
16
|
+
if (nextNumber > MAX_VOUCHER_NUMBER) {
|
|
17
|
+
throw new Error(`Numero de comprobante no puede ser mayor a ${MAX_VOUCHER_NUMBER}`);
|
|
18
|
+
}
|
|
19
|
+
return nextNumber;
|
|
20
|
+
}
|
|
21
|
+
/** Segundo paso: la llamada que emite. Si falla, ARCA pudo haber autorizado el comprobante igual. */
|
|
22
|
+
async createVoucher(voucher) {
|
|
23
|
+
return this.arca.electronicBillingService.createVoucher(voucher);
|
|
9
24
|
}
|
|
10
25
|
async getQuotation(currencyCode) {
|
|
11
26
|
const result = await this.arca.electronicBillingService.getQuotation(currencyCode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arca-billing.gateway.js","sourceRoot":"","sources":["../../../src/services/arca/arca-billing.gateway.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,MAAM,OAAO,kBAAkB;IACO;IAApC,YAAoC,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"arca-billing.gateway.js","sourceRoot":"","sources":["../../../src/services/arca/arca-billing.gateway.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,iFAAiF;AACjF,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAEtC,MAAM,OAAO,kBAAkB;IACO;IAApC,YAAoC,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAElD;;;OAGG;IACI,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,WAAmB;QACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEtG,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,UAAU,GAAG,kBAAkB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,8CAA8C,kBAAkB,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,qGAAqG;IAC9F,KAAK,CAAC,aAAa,CAAC,OAAiB;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,YAAoB;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;QAEhD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,QAAQ,CAAC,+CAA+C,YAAY,GAAG,EAAE;gBACjF,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Arca } from '@arcasdk/core';
|
|
2
2
|
import type { ResolvedArcaRuntime } from './arca-context.resolver';
|
|
3
3
|
export declare class ArcaClientFactory {
|
|
4
|
-
|
|
4
|
+
/** Todo cliente de ARCA sale de aca: con el certificado vencido se corta antes de pedir el ticket a WSAA. */
|
|
5
|
+
create(runtime: Pick<ResolvedArcaRuntime, 'certificateExpiry' | 'context'>): Arca;
|
|
5
6
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Arca } from '@arcasdk/core';
|
|
2
|
+
import { CertificateExpiredError } from '../../modules/config/certificate-expiry.js';
|
|
2
3
|
export class ArcaClientFactory {
|
|
4
|
+
/** Todo cliente de ARCA sale de aca: con el certificado vencido se corta antes de pedir el ticket a WSAA. */
|
|
3
5
|
create(runtime) {
|
|
6
|
+
if (runtime.certificateExpiry?.expired) {
|
|
7
|
+
throw new CertificateExpiredError(runtime.certificateExpiry);
|
|
8
|
+
}
|
|
4
9
|
return new Arca(runtime.context);
|
|
5
10
|
}
|
|
6
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arca-client.factory.js","sourceRoot":"","sources":["../../../src/services/arca/arca-client.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"arca-client.factory.js","sourceRoot":"","sources":["../../../src/services/arca/arca-client.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAIlF,MAAM,OAAO,iBAAiB;IAC5B,6GAA6G;IACtG,MAAM,CAAC,OAAmE;QAC/E,IAAI,OAAO,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,uBAAuB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import type { Context } from '@arcasdk/core';
|
|
2
2
|
import type { GlobalCliOptions } from '../../cli/types';
|
|
3
|
+
import { type CertificateExpiryNotice } from '../../modules/config/certificate-expiry';
|
|
3
4
|
import type { ArcliConfig, ArcliEnvironment } from '../../modules/config/config.schemas';
|
|
4
5
|
import { ConfigService } from '../../modules/config/config.service';
|
|
5
6
|
export interface ResolveArcaContextOptions {
|
|
6
7
|
readonly configService?: ConfigService;
|
|
8
|
+
/** Reloj para el vencimiento del certificado; solo lo cambian los tests. */
|
|
9
|
+
readonly now?: Date;
|
|
7
10
|
readonly options?: GlobalCliOptions;
|
|
8
11
|
}
|
|
9
12
|
export interface ResolvedArcaRuntime {
|
|
13
|
+
/**
|
|
14
|
+
* El del entorno activo, solo si vence en menos de 30 dias o ya vencio: vencido, corta antes de ir a ARCA. Se
|
|
15
|
+
* calcula con el PEM ya leido para el contexto, sin red.
|
|
16
|
+
*/
|
|
17
|
+
readonly certificateExpiry?: CertificateExpiryNotice;
|
|
18
|
+
/** Los avisos de todos los certificados configurados, el del entorno activo primero: los que se muestran. */
|
|
19
|
+
readonly certificateNotices: readonly CertificateExpiryNotice[];
|
|
10
20
|
readonly config: ArcliConfig;
|
|
11
21
|
readonly context: Context;
|
|
12
22
|
readonly environment: ArcliEnvironment;
|
|
@@ -26,6 +36,7 @@ export interface ArcaRuntimeValidation {
|
|
|
26
36
|
}
|
|
27
37
|
export declare class ArcaContextResolver {
|
|
28
38
|
private readonly configService?;
|
|
39
|
+
private readonly now?;
|
|
29
40
|
private readonly options;
|
|
30
41
|
constructor(options?: ResolveArcaContextOptions);
|
|
31
42
|
resolve(): ResolvedArcaRuntime;
|
|
@@ -1,19 +1,32 @@
|
|
|
1
|
+
import { dirname } from 'node:path';
|
|
1
2
|
import { ConfigurationError } from '../../lib/errors/app-error.js';
|
|
3
|
+
import { restrictFolderToOwner } from '../../lib/files/restrict-to-owner.js';
|
|
2
4
|
import { ensurePathExists, readPemFile } from '../../lib/security/pem.js';
|
|
5
|
+
import { inspectConfiguredCertificates } from '../../modules/config/certificate-expiry.js';
|
|
3
6
|
import { ConfigService } from '../../modules/config/config.service.js';
|
|
4
7
|
export class ArcaContextResolver {
|
|
5
8
|
configService;
|
|
9
|
+
now;
|
|
6
10
|
options;
|
|
7
11
|
constructor(options = {}) {
|
|
8
12
|
this.configService = options.configService;
|
|
13
|
+
this.now = options.now;
|
|
9
14
|
this.options = options.options ?? {};
|
|
10
15
|
}
|
|
11
16
|
resolve() {
|
|
12
17
|
const validation = this.validate();
|
|
18
|
+
const cert = this.readRequiredFile(validation.certPath, 'certificado');
|
|
19
|
+
const certificateNotices = inspectConfiguredCertificates(validation.config.cert, {
|
|
20
|
+
activeEnvironment: validation.environment,
|
|
21
|
+
activePem: cert,
|
|
22
|
+
now: this.now,
|
|
23
|
+
});
|
|
13
24
|
return {
|
|
25
|
+
certificateExpiry: certificateNotices.find((notice) => notice.environment === validation.environment),
|
|
26
|
+
certificateNotices,
|
|
14
27
|
config: validation.config,
|
|
15
28
|
context: {
|
|
16
|
-
cert
|
|
29
|
+
cert,
|
|
17
30
|
cuit: validation.cuit,
|
|
18
31
|
key: this.readRequiredFile(validation.keyPath, 'clave privada'),
|
|
19
32
|
production: validation.environment === 'produccion',
|
|
@@ -38,6 +51,9 @@ export class ArcaContextResolver {
|
|
|
38
51
|
const outputJson = this.resolveOutputJson(config);
|
|
39
52
|
const outputRaw = this.resolveOutputRaw(config);
|
|
40
53
|
const ticketPath = service.resolveTicketPath(config);
|
|
54
|
+
// Los tickets dan acceso a ARCA como este CUIT por unas horas: carpetas de versiones viejas pasan a 0700.
|
|
55
|
+
restrictFolderToOwner(dirname(service.getPath()));
|
|
56
|
+
restrictFolderToOwner(ticketPath);
|
|
41
57
|
this.ensurePathExists(certPath, 'certificado');
|
|
42
58
|
this.ensurePathExists(keyPath, 'clave privada');
|
|
43
59
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arca-context.resolver.js","sourceRoot":"","sources":["../../../src/services/arca/arca-context.resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arca-context.resolver.js","sourceRoot":"","sources":["../../../src/services/arca/arca-context.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Arca } from '@arcasdk/core';
|
|
2
|
+
import { type PadronGateway, type Taxpayer } from '../../modules/padron/padron';
|
|
3
|
+
/** Arma un `Taxpayer` con la respuesta de `getTaxpayerDetails`. */
|
|
4
|
+
export declare function mapTaxpayerDetails(cuit: number, raw: unknown): Taxpayer;
|
|
5
|
+
export declare class ArcaPadronGateway implements PadronGateway {
|
|
6
|
+
private readonly arca;
|
|
7
|
+
constructor(arca: Arca);
|
|
8
|
+
getTaxpayer(cuit: number): Promise<Taxpayer | null>;
|
|
9
|
+
}
|