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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.command.shared.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"billing.command.shared.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import type { ArcliConfig } from '../../modules/config/config.schemas';
|
|
2
3
|
import { type ConfigDoctorRuntimeCheck } from '../../modules/config/config-doctor';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
testing?: boolean;
|
|
6
|
-
}): ConfigDoctorRuntimeCheck;
|
|
4
|
+
/** Valida el entorno por defecto y cualquier otro que tenga cert o key cargados: `revisar` cubre los dos. */
|
|
5
|
+
export declare function buildRuntimeChecks(config: ArcliConfig): ConfigDoctorRuntimeCheck[];
|
|
7
6
|
export declare function registerConfigCommand(program: Command): void;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ConfigService } from '../../modules/config/config.service.js';
|
|
2
2
|
import { buildConfigDoctorReport } from '../../modules/config/config-doctor.js';
|
|
3
3
|
import { ArcaContextResolver } from '../../services/arca/arca-context.resolver.js';
|
|
4
|
-
import { formatConfig, formatConfigAsText, formatConfigDoctor, formatConfigDoctorAsText, formatConfigPath, writeTerminalJson, writeTerminalOutput, } from '../../ui/index.js';
|
|
5
|
-
import {
|
|
4
|
+
import { formatConfig, formatConfigAsText, formatConfigDoctor, formatConfigDoctorAsText, formatConfigPath, formatConfigPathAsJson, writeTerminalJson, writeTerminalOutput, } from '../../ui/index.js';
|
|
5
|
+
import { registerJsonOption, resolveOutputJson } from '../global-options.js';
|
|
6
|
+
import { configureSpanishHelp, createConfigHelp, createConfigSetHelp } from '../help.js';
|
|
6
7
|
import { startSpinner } from '../spinner.js';
|
|
7
8
|
function createConfigService() {
|
|
8
9
|
const service = new ConfigService();
|
|
@@ -16,34 +17,33 @@ function printConfigResult(textValue, jsonValue, useJson = false) {
|
|
|
16
17
|
}
|
|
17
18
|
writeTerminalOutput(textValue);
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
20
|
+
const ENVIRONMENTS = ['testing', 'produccion'];
|
|
21
|
+
/** Valida el entorno por defecto y cualquier otro que tenga cert o key cargados: `revisar` cubre los dos. */
|
|
22
|
+
export function buildRuntimeChecks(config) {
|
|
23
|
+
return ENVIRONMENTS.filter((environment) => environment === config.entornoPorDefecto || Boolean(config.cert[environment] || config.key[environment])).map((environment) => {
|
|
24
|
+
try {
|
|
25
|
+
new ArcaContextResolver({ options: { [environment]: true } }).validate();
|
|
26
|
+
return { environment };
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return {
|
|
30
|
+
environment,
|
|
31
|
+
error: error instanceof Error ? error.message : 'No se pudo completar la validacion.',
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
35
|
}
|
|
36
36
|
export function registerConfigCommand(program) {
|
|
37
37
|
const configCommand = program
|
|
38
38
|
.command('config')
|
|
39
39
|
.description('guardar defaults, credenciales y revisar si el CLI esta listo para emitir');
|
|
40
40
|
configureSpanishHelp(configCommand);
|
|
41
|
-
configCommand
|
|
41
|
+
registerJsonOption(configCommand).action((_options, command) => {
|
|
42
42
|
const service = createConfigService();
|
|
43
43
|
try {
|
|
44
44
|
const config = service.getConfig();
|
|
45
45
|
const paths = service.resolvePaths(config);
|
|
46
|
-
printConfigResult(formatConfigAsText(config, paths), formatConfig(config, paths),
|
|
46
|
+
printConfigResult(formatConfigAsText(config, paths), formatConfig(config, paths), resolveOutputJson(command, config));
|
|
47
47
|
}
|
|
48
48
|
finally {
|
|
49
49
|
service.close();
|
|
@@ -52,17 +52,17 @@ export function registerConfigCommand(program) {
|
|
|
52
52
|
configCommand.addHelpText('after', createConfigHelp());
|
|
53
53
|
const revisarCommand = configCommand
|
|
54
54
|
.command('revisar')
|
|
55
|
-
.description('revisar configuracion, defaults, credenciales y validacion
|
|
56
|
-
.
|
|
57
|
-
.option('--testing', 'revisar para testing')
|
|
58
|
-
.option('--produccion', 'revisar para produccion')
|
|
59
|
-
.action((options) => {
|
|
55
|
+
.description('revisar configuracion, defaults, credenciales y validacion de cada entorno')
|
|
56
|
+
.action((_options, command) => {
|
|
60
57
|
const service = createConfigService();
|
|
61
|
-
|
|
58
|
+
let spinner = null;
|
|
62
59
|
try {
|
|
63
|
-
const
|
|
60
|
+
const config = service.getConfig();
|
|
61
|
+
const useJson = resolveOutputJson(command, config);
|
|
62
|
+
spinner = useJson ? null : startSpinner('Generando revision...');
|
|
63
|
+
const report = buildConfigDoctorReport(config, buildRuntimeChecks(config));
|
|
64
64
|
spinner?.stop();
|
|
65
|
-
printConfigResult(formatConfigDoctorAsText(report), formatConfigDoctor(report),
|
|
65
|
+
printConfigResult(formatConfigDoctorAsText(report), formatConfigDoctor(report), useJson);
|
|
66
66
|
}
|
|
67
67
|
catch (error) {
|
|
68
68
|
spinner?.stop();
|
|
@@ -72,14 +72,13 @@ export function registerConfigCommand(program) {
|
|
|
72
72
|
service.close();
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
|
+
registerJsonOption(revisarCommand);
|
|
75
76
|
configureSpanishHelp(revisarCommand);
|
|
76
|
-
const rutaCommand = configCommand
|
|
77
|
-
.command('ruta')
|
|
78
|
-
.description('mostrar la ruta del archivo de configuracion')
|
|
79
|
-
.action(() => {
|
|
77
|
+
const rutaCommand = registerJsonOption(configCommand.command('ruta').description('mostrar la ruta del archivo de configuracion')).action((_options, command) => {
|
|
80
78
|
const service = createConfigService();
|
|
81
79
|
try {
|
|
82
|
-
|
|
80
|
+
const path = service.getPath();
|
|
81
|
+
printConfigResult(formatConfigPath(path), formatConfigPathAsJson(path), resolveOutputJson(command, service.getConfig()));
|
|
83
82
|
}
|
|
84
83
|
finally {
|
|
85
84
|
service.close();
|
|
@@ -89,37 +88,40 @@ export function registerConfigCommand(program) {
|
|
|
89
88
|
const establecerCommand = configCommand
|
|
90
89
|
.command('establecer')
|
|
91
90
|
.description('guardar un valor de configuracion')
|
|
92
|
-
.option('--json', 'imprimir salida JSON')
|
|
93
91
|
.argument('<clave>', 'clave publica de configuracion')
|
|
94
92
|
.argument('<valor>', 'valor a guardar')
|
|
95
|
-
.
|
|
96
|
-
|
|
93
|
+
.addHelpText('after', createConfigSetHelp())
|
|
94
|
+
.action((key, value, _options, command) => {
|
|
95
|
+
// Sin ensureInitialized: si la config quedo invalida, establecer o eliminar la clave es la forma de arreglarla.
|
|
96
|
+
const service = new ConfigService();
|
|
97
97
|
try {
|
|
98
98
|
const config = service.setValue(key, value);
|
|
99
99
|
const paths = service.resolvePaths(config);
|
|
100
|
-
printConfigResult(formatConfigAsText(config, paths), formatConfig(config, paths),
|
|
100
|
+
printConfigResult(formatConfigAsText(config, paths), formatConfig(config, paths), resolveOutputJson(command, config));
|
|
101
101
|
}
|
|
102
102
|
finally {
|
|
103
103
|
service.close();
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
|
+
registerJsonOption(establecerCommand);
|
|
106
107
|
configureSpanishHelp(establecerCommand);
|
|
107
108
|
const eliminarCommand = configCommand
|
|
108
109
|
.command('eliminar')
|
|
109
110
|
.description('eliminar un valor de configuracion')
|
|
110
|
-
.option('--json', 'imprimir salida JSON')
|
|
111
111
|
.argument('<clave>', 'clave publica de configuracion')
|
|
112
|
-
.action((key,
|
|
113
|
-
|
|
112
|
+
.action((key, _options, command) => {
|
|
113
|
+
// Sin ensureInitialized: si la config quedo invalida, establecer o eliminar la clave es la forma de arreglarla.
|
|
114
|
+
const service = new ConfigService();
|
|
114
115
|
try {
|
|
115
116
|
const config = service.unsetValue(key);
|
|
116
117
|
const paths = service.resolvePaths(config);
|
|
117
|
-
printConfigResult(formatConfigAsText(config, paths), formatConfig(config, paths),
|
|
118
|
+
printConfigResult(formatConfigAsText(config, paths), formatConfig(config, paths), resolveOutputJson(command, config));
|
|
118
119
|
}
|
|
119
120
|
finally {
|
|
120
121
|
service.close();
|
|
121
122
|
}
|
|
122
123
|
});
|
|
124
|
+
registerJsonOption(eliminarCommand);
|
|
123
125
|
configureSpanishHelp(eliminarCommand);
|
|
124
126
|
}
|
|
125
127
|
//# sourceMappingURL=config.command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.command.js","sourceRoot":"","sources":["../../../src/cli/commands/config.command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.command.js","sourceRoot":"","sources":["../../../src/cli/commands/config.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InputValidationError } from '../../lib/errors/app-error.js';
|
|
2
|
+
/** CUIT de un argumento posicional: 11 digitos, sin guiones. */
|
|
3
|
+
export function parseCuitArgument(value) {
|
|
4
|
+
const normalizedValue = value.trim();
|
|
5
|
+
if (!/^\d{11}$/.test(normalizedValue)) {
|
|
6
|
+
throw new InputValidationError(`El CUIT "${value}" no es valido: debe tener 11 digitos.`);
|
|
7
|
+
}
|
|
8
|
+
return Number(normalizedValue);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=cuit-argument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cuit-argument.js","sourceRoot":"","sources":["../../../src/cli/commands/cuit-argument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,gEAAgE;AAChE,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAErC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,oBAAoB,CAAC,YAAY,KAAK,wCAAwC,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
import { formatDateAsArcaDate, parseArgentineDateInputAsArcaDate } from '../../lib/dates/arca-date.js';
|
|
2
|
-
import { InputValidationError } from '../../lib/errors/app-error.js';
|
|
3
2
|
import { formatFceObligationAsJson, formatFceObligationAsText } from '../../modules/fce/fce-obligation.presenter.js';
|
|
4
3
|
import { ArcaClientFactory } from '../../services/arca/arca-client.factory.js';
|
|
5
|
-
import { ArcaContextResolver } from '../../services/arca/arca-context.resolver.js';
|
|
6
4
|
import { ArcaFceObligationGateway } from '../../services/arca/arca-fce-obligation.gateway.js';
|
|
7
5
|
import { writeTerminalJson, writeTerminalOutput } from '../../ui/index.js';
|
|
6
|
+
import { resolveArcaRuntime } from '../arca-runtime.js';
|
|
7
|
+
import { getGlobalOptions, registerQueryOptions } from '../global-options.js';
|
|
8
8
|
import { configureSpanishHelp, createFceObligationHelp } from '../help.js';
|
|
9
9
|
import { startSpinner } from '../spinner.js';
|
|
10
|
-
import {
|
|
11
|
-
function parseCuit(value) {
|
|
12
|
-
const normalizedValue = value.trim();
|
|
13
|
-
if (!/^\d{11}$/.test(normalizedValue)) {
|
|
14
|
-
throw new InputValidationError(`El CUIT "${value}" no es valido: debe tener 11 digitos.`);
|
|
15
|
-
}
|
|
16
|
-
return Number(normalizedValue);
|
|
17
|
-
}
|
|
10
|
+
import { parseCuitArgument } from './cuit-argument.js';
|
|
18
11
|
export function registerFceObligationCommand(program) {
|
|
19
12
|
const command = program
|
|
20
13
|
.command('fce-obligado')
|
|
@@ -22,14 +15,14 @@ export function registerFceObligationCommand(program) {
|
|
|
22
15
|
.description('consultar si un receptor esta obligado a recibir Factura de Credito Electronica (FCE)')
|
|
23
16
|
.option('-f, --fecha <fecha>', 'fecha de emision a consultar; por defecto hoy')
|
|
24
17
|
.addHelpText('after', createFceObligationHelp());
|
|
25
|
-
|
|
18
|
+
registerQueryOptions(command);
|
|
26
19
|
configureSpanishHelp(command);
|
|
27
20
|
command.action(async (rawCuit, options, self) => {
|
|
28
|
-
const cuit =
|
|
21
|
+
const cuit = parseCuitArgument(rawCuit);
|
|
29
22
|
const issueDate = options.fecha
|
|
30
23
|
? parseArgentineDateInputAsArcaDate(options.fecha)
|
|
31
24
|
: formatDateAsArcaDate(new Date());
|
|
32
|
-
const runtime =
|
|
25
|
+
const runtime = resolveArcaRuntime(getGlobalOptions(self));
|
|
33
26
|
const spinner = runtime.outputJson ? null : startSpinner('Consultando ARCA...');
|
|
34
27
|
try {
|
|
35
28
|
const gateway = new ArcaFceObligationGateway(new ArcaClientFactory().create(runtime));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fce-obligation.command.js","sourceRoot":"","sources":["../../../src/cli/commands/fce-obligation.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fce-obligation.command.js","sourceRoot":"","sources":["../../../src/cli/commands/fce-obligation.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAClH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,UAAU,4BAA4B,CAAC,OAAgB;IAC3D,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACnD,WAAW,CAAC,uFAAuF,CAAC;SACpG,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;SAC9E,WAAW,CAAC,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAEnD,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAA2B,EAAE,IAAa,EAAE,EAAE;QACnF,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;YAC7B,CAAC,CAAC,iCAAiC,CAAC,OAAO,CAAC,KAAK,CAAC;YAClD,CAAC,CAAC,oBAAoB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;QAEhF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,IAAI,iBAAiB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACtF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YAEjF,OAAO,EAAE,IAAI,EAAE,CAAC;YAEhB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,iBAAiB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAErD,OAAO;YACT,CAAC;YAED,mBAAmB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InputValidationError } from '../../lib/errors/app-error.js';
|
|
2
|
+
import { getGlobalOptions, registerEnvironmentOptions } from '../global-options.js';
|
|
2
3
|
import { configureSpanishHelp } from '../help.js';
|
|
3
4
|
import { runInteractiveMode } from '../interactive/interactive-mode.js';
|
|
4
|
-
import { getGlobalOptions, registerGlobalOptions } from './billing.command.shared.js';
|
|
5
5
|
export function isInteractiveTerminal() {
|
|
6
6
|
return Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
7
7
|
}
|
|
@@ -9,14 +9,16 @@ export function registerInteractiveCommand(program) {
|
|
|
9
9
|
const command = program
|
|
10
10
|
.command('interactivo')
|
|
11
11
|
.description('asistente paso a paso para emitir comprobantes; tambien se abre con "arcli" sin argumentos');
|
|
12
|
-
|
|
12
|
+
// Solo el entorno: el asistente no tiene salida JSON ni respuesta bruta.
|
|
13
|
+
registerEnvironmentOptions(command);
|
|
13
14
|
configureSpanishHelp(command);
|
|
14
15
|
command.action(async (_options, self) => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
throw new InputValidationError('El modo interactivo necesita una terminal interactiva y no admite --json. Use los comandos con flags.');
|
|
16
|
+
if (!isInteractiveTerminal()) {
|
|
17
|
+
throw new InputValidationError('El modo interactivo necesita una terminal interactiva. Use los comandos con flags.');
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
// `--json` y `--bruto` se ignoran con un aviso: al asistente le llega solo el entorno.
|
|
20
|
+
const { produccion, testing } = getGlobalOptions(self);
|
|
21
|
+
await runInteractiveMode({ produccion, testing });
|
|
20
22
|
});
|
|
21
23
|
}
|
|
22
24
|
//# sourceMappingURL=interactive.command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.command.js","sourceRoot":"","sources":["../../../src/cli/commands/interactive.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"interactive.command.js","sourceRoot":"","sources":["../../../src/cli/commands/interactive.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,4FAA4F,CAAC,CAAC;IAE7G,yEAAyE;IACzE,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,QAAiB,EAAE,IAAa,EAAE,EAAE;QACxD,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,oBAAoB,CAC5B,oFAAoF,CACrF,CAAC;QACJ,CAAC;QAED,uFAAuF;QACvF,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvD,MAAM,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { AppError } from '../../lib/errors/app-error.js';
|
|
2
|
+
import { formatPadronAsJson, formatPadronAsText } from '../../modules/padron/padron.presenter.js';
|
|
3
|
+
import { ArcaClientFactory } from '../../services/arca/arca-client.factory.js';
|
|
4
|
+
import { ArcaPadronGateway } from '../../services/arca/arca-padron.gateway.js';
|
|
5
|
+
import { writeTerminalJson, writeTerminalOutput } from '../../ui/index.js';
|
|
6
|
+
import { resolveArcaRuntime } from '../arca-runtime.js';
|
|
7
|
+
import { getGlobalOptions, registerQueryOptions } from '../global-options.js';
|
|
8
|
+
import { configureSpanishHelp, createPadronHelp } from '../help.js';
|
|
9
|
+
import { startSpinner } from '../spinner.js';
|
|
10
|
+
import { parseCuitArgument } from './cuit-argument.js';
|
|
11
|
+
export function registerPadronCommand(program) {
|
|
12
|
+
const command = program
|
|
13
|
+
.command('padron')
|
|
14
|
+
.argument('<cuit>', 'CUIT a consultar')
|
|
15
|
+
.description('consultar en el padron de ARCA el nombre, domicilio y condicion IVA de un CUIT')
|
|
16
|
+
.addHelpText('after', createPadronHelp());
|
|
17
|
+
registerQueryOptions(command);
|
|
18
|
+
configureSpanishHelp(command);
|
|
19
|
+
command.action(async (rawCuit, _options, self) => {
|
|
20
|
+
const cuit = parseCuitArgument(rawCuit);
|
|
21
|
+
const runtime = resolveArcaRuntime(getGlobalOptions(self));
|
|
22
|
+
const spinner = runtime.outputJson ? null : startSpinner('Consultando el padron...');
|
|
23
|
+
try {
|
|
24
|
+
const taxpayer = await new ArcaPadronGateway(new ArcaClientFactory().create(runtime)).getTaxpayer(cuit);
|
|
25
|
+
spinner?.stop();
|
|
26
|
+
if (!taxpayer) {
|
|
27
|
+
throw new AppError(`El CUIT ${cuit} no figura en el padron de ARCA (${runtime.environment}).`, {
|
|
28
|
+
code: 'TAXPAYER_NOT_FOUND',
|
|
29
|
+
suggestion: runtime.environment === 'testing'
|
|
30
|
+
? 'El padron de testing tiene datos ficticios: pruebe con 20201797064.'
|
|
31
|
+
: 'Revise el numero.',
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const report = { environment: runtime.environment, taxpayer };
|
|
35
|
+
if (runtime.outputJson) {
|
|
36
|
+
writeTerminalJson(formatPadronAsJson(report));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
writeTerminalOutput(formatPadronAsText(report));
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
spinner?.stop();
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=padron.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padron.command.js","sourceRoot":"","sources":["../../../src/cli/commands/padron.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;SACtC,WAAW,CAAC,gFAAgF,CAAC;SAC7F,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE5C,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,QAAiB,EAAE,IAAa,EAAE,EAAE;QACzE,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAErF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,iBAAiB,CAAC,IAAI,iBAAiB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAExG,OAAO,EAAE,IAAI,EAAE,CAAC;YAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,QAAQ,CAAC,WAAW,IAAI,oCAAoC,OAAO,CAAC,WAAW,IAAI,EAAE;oBAC7F,IAAI,EAAE,oBAAoB;oBAC1B,UAAU,EACR,OAAO,CAAC,WAAW,KAAK,SAAS;wBAC/B,CAAC,CAAC,qEAAqE;wBACvE,CAAC,CAAC,mBAAmB;iBAC1B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;YAE9D,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,iBAAiB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAE9C,OAAO;YACT,CAAC;YAED,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -4,14 +4,14 @@ import { filterCurrentEntries, resolveParameterTable, salesPointToEntry } from '
|
|
|
4
4
|
import { formatParameterEntriesAsJson, formatParameterEntriesAsText, formatParameterTablesAsJson, formatParameterTablesAsText, formatQuotationAsJson, formatQuotationAsText, formatStatusAsJson, formatStatusAsText, } from '../../modules/parameters/parameters.presenter.js';
|
|
5
5
|
import { buildStatusReport } from '../../modules/parameters/status.js';
|
|
6
6
|
import { ArcaClientFactory } from '../../services/arca/arca-client.factory.js';
|
|
7
|
-
import { ArcaContextResolver } from '../../services/arca/arca-context.resolver.js';
|
|
8
7
|
import { ArcaParametersGateway } from '../../services/arca/arca-parameters.gateway.js';
|
|
9
8
|
import { writeTerminalJson, writeTerminalOutput } from '../../ui/index.js';
|
|
9
|
+
import { resolveArcaRuntime } from '../arca-runtime.js';
|
|
10
|
+
import { getGlobalOptions, registerQueryOptions, resolveOutputJson } from '../global-options.js';
|
|
10
11
|
import { configureSpanishHelp } from '../help.js';
|
|
11
12
|
import { startSpinner } from '../spinner.js';
|
|
12
|
-
import { getGlobalOptions, registerGlobalOptions } from './billing.command.shared.js';
|
|
13
13
|
function createContext(command) {
|
|
14
|
-
const runtime =
|
|
14
|
+
const runtime = resolveArcaRuntime(getGlobalOptions(command));
|
|
15
15
|
return { gateway: new ArcaParametersGateway(new ArcaClientFactory().create(runtime)), runtime };
|
|
16
16
|
}
|
|
17
17
|
async function withSpinner(runtime, run) {
|
|
@@ -36,12 +36,13 @@ export function registerParametersCommands(program) {
|
|
|
36
36
|
.argument('[tabla]', 'tabla a consultar; sin tabla lista las disponibles')
|
|
37
37
|
.argument('[moneda]', 'solo para "cotizacion": codigo de moneda, por ejemplo USD')
|
|
38
38
|
.description('consultar tablas de ARCA: puntos de venta, tipos, alicuotas, monedas y cotizacion');
|
|
39
|
-
|
|
39
|
+
registerQueryOptions(parameters);
|
|
40
40
|
configureSpanishHelp(parameters);
|
|
41
41
|
parameters.action(async (rawTable, currency, _options, self) => {
|
|
42
42
|
if (!rawTable) {
|
|
43
|
-
// No consulta ARCA: no hace falta config ni credenciales para ver las tablas
|
|
44
|
-
|
|
43
|
+
// No consulta ARCA: no hace falta config ni credenciales para ver las tablas (si la config no se puede
|
|
44
|
+
// leer, sale en texto salvo con --json).
|
|
45
|
+
if (resolveOutputJson(self)) {
|
|
45
46
|
writeTerminalJson(formatParameterTablesAsJson());
|
|
46
47
|
}
|
|
47
48
|
else {
|
|
@@ -68,7 +69,7 @@ export function registerParametersCommands(program) {
|
|
|
68
69
|
const status = program
|
|
69
70
|
.command('estado')
|
|
70
71
|
.description('ver si ARCA responde y si el punto de venta configurado esta habilitado');
|
|
71
|
-
|
|
72
|
+
registerQueryOptions(status);
|
|
72
73
|
configureSpanishHelp(status);
|
|
73
74
|
status.action(async (_options, self) => {
|
|
74
75
|
const { gateway, runtime } = createContext(self);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters.command.js","sourceRoot":"","sources":["../../../src/cli/commands/parameters.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACrH,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"parameters.command.js","sourceRoot":"","sources":["../../../src/cli/commands/parameters.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,22 +2,23 @@ import { join } from 'node:path';
|
|
|
2
2
|
import { ConfigService } from '../../modules/config/config.service.js';
|
|
3
3
|
import { PdfPlugin } from '../../services/pdf/pdf-plugin.js';
|
|
4
4
|
import { formatPdfPluginStatusAsJson, formatPdfPluginStatusAsText, noticePanel, writeTerminalJson, writeTerminalOutput, } from '../../ui/index.js';
|
|
5
|
+
import { registerJsonOption, resolveOutputJson } from '../global-options.js';
|
|
5
6
|
import { configureSpanishHelp } from '../help.js';
|
|
6
7
|
import { startSpinner } from '../spinner.js';
|
|
7
|
-
function
|
|
8
|
+
function createContext(command) {
|
|
8
9
|
const service = new ConfigService();
|
|
9
10
|
try {
|
|
10
11
|
const config = service.getConfig();
|
|
11
|
-
return
|
|
12
|
+
return {
|
|
13
|
+
json: resolveOutputJson(command, config),
|
|
14
|
+
plugin: new PdfPlugin({ configuredBrowser: config.pdfNavegador, path: join(service.getPluginsPath(), 'pdf') }),
|
|
15
|
+
};
|
|
12
16
|
}
|
|
13
17
|
finally {
|
|
14
18
|
service.close();
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
|
-
function
|
|
18
|
-
return command.optsWithGlobals().json === true;
|
|
19
|
-
}
|
|
20
|
-
function printStatus(plugin, json, title) {
|
|
21
|
+
function printStatus({ json, plugin }, title) {
|
|
21
22
|
const status = plugin.getStatus();
|
|
22
23
|
if (json) {
|
|
23
24
|
writeTerminalJson(formatPdfPluginStatusAsJson(status));
|
|
@@ -26,26 +27,16 @@ function printStatus(plugin, json, title) {
|
|
|
26
27
|
writeTerminalOutput(formatPdfPluginStatusAsText(status, title));
|
|
27
28
|
}
|
|
28
29
|
export function registerPdfCommand(program) {
|
|
29
|
-
const pdfCommand = program
|
|
30
|
-
.command('pdf')
|
|
31
|
-
.description('instalar o revisar el plugin que genera los PDFs de los comprobantes')
|
|
32
|
-
.option('--json', 'imprimir salida JSON')
|
|
33
|
-
.action((_options, command) => printStatus(createPlugin(), wantsJson(command)));
|
|
30
|
+
const pdfCommand = registerJsonOption(program.command('pdf').description('instalar o revisar el plugin que genera los PDFs de los comprobantes')).action((_options, command) => printStatus(createContext(command)));
|
|
34
31
|
configureSpanishHelp(pdfCommand);
|
|
35
|
-
const estadoCommand = pdfCommand
|
|
36
|
-
.command('estado')
|
|
37
|
-
.description('mostrar si el plugin esta instalado, su version y el navegador que usa')
|
|
38
|
-
.option('--json', 'imprimir salida JSON')
|
|
39
|
-
.action((_options, command) => printStatus(createPlugin(), wantsJson(command)));
|
|
32
|
+
const estadoCommand = registerJsonOption(pdfCommand.command('estado').description('mostrar si el plugin esta instalado, su version y el navegador que usa')).action((_options, command) => printStatus(createContext(command)));
|
|
40
33
|
configureSpanishHelp(estadoCommand);
|
|
41
34
|
// Pedir el comando ya es la confirmacion: no se vuelve a preguntar, asi tambien sirve en scripts.
|
|
42
|
-
const instalarCommand = pdfCommand
|
|
35
|
+
const instalarCommand = registerJsonOption(pdfCommand
|
|
43
36
|
.command('instalar')
|
|
44
|
-
.description('descargar el plugin de PDF (~160 MB, o ~360 MB si no hay Chrome instalado)')
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const json = wantsJson(command);
|
|
48
|
-
const plugin = createPlugin();
|
|
37
|
+
.description('descargar el plugin de PDF (~160 MB, o ~360 MB si no hay Chrome instalado)')).action(async (_options, command) => {
|
|
38
|
+
const context = createContext(command);
|
|
39
|
+
const { json, plugin } = context;
|
|
49
40
|
const spinner = json ? null : startSpinner('Instalando el plugin de PDF...');
|
|
50
41
|
try {
|
|
51
42
|
await plugin.install((message) => {
|
|
@@ -57,17 +48,13 @@ export function registerPdfCommand(program) {
|
|
|
57
48
|
finally {
|
|
58
49
|
spinner?.stop();
|
|
59
50
|
}
|
|
60
|
-
printStatus(
|
|
51
|
+
printStatus(context, 'Plugin de PDF instalado');
|
|
61
52
|
});
|
|
62
53
|
configureSpanishHelp(instalarCommand);
|
|
63
|
-
const desinstalarCommand = pdfCommand
|
|
64
|
-
|
|
65
|
-
.description('borrar el plugin de PDF y el navegador que haya descargado')
|
|
66
|
-
.option('--json', 'imprimir salida JSON')
|
|
67
|
-
.action((_options, command) => {
|
|
68
|
-
const plugin = createPlugin();
|
|
54
|
+
const desinstalarCommand = registerJsonOption(pdfCommand.command('desinstalar').description('borrar el plugin de PDF y el navegador que haya descargado')).action((_options, command) => {
|
|
55
|
+
const { json, plugin } = createContext(command);
|
|
69
56
|
plugin.uninstall();
|
|
70
|
-
if (
|
|
57
|
+
if (json) {
|
|
71
58
|
writeTerminalJson(JSON.stringify({ desinstalado: true, ruta: plugin.getStatus().path }, null, 2));
|
|
72
59
|
return;
|
|
73
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.command.js","sourceRoot":"","sources":["../../../src/cli/commands/pdf.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf.command.js","sourceRoot":"","sources":["../../../src/cli/commands/pdf.command.ts"],"names":[],"mappings":"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"}
|