arcli 0.1.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +164 -4
- package/dist/cli/commands/billing-family.command.d.ts +2 -0
- package/dist/cli/commands/billing-family.command.js +30 -0
- package/dist/cli/commands/billing-family.command.js.map +1 -0
- package/dist/cli/commands/billing-shortcuts.command.d.ts +2 -0
- package/dist/cli/commands/billing-shortcuts.command.js +18 -0
- package/dist/cli/commands/billing-shortcuts.command.js.map +1 -0
- package/dist/cli/commands/billing.command.interactive-preview.d.ts +17 -0
- package/dist/cli/commands/billing.command.interactive-preview.js +65 -0
- package/dist/cli/commands/billing.command.interactive-preview.js.map +1 -0
- package/dist/cli/commands/billing.command.options.d.ts +2 -0
- package/dist/cli/commands/billing.command.options.js +49 -0
- package/dist/cli/commands/billing.command.options.js.map +1 -0
- package/dist/cli/commands/billing.command.output.d.ts +12 -0
- package/dist/cli/commands/billing.command.output.js +33 -0
- package/dist/cli/commands/billing.command.output.js.map +1 -0
- package/dist/cli/commands/billing.command.parser.d.ts +18 -0
- package/dist/cli/commands/billing.command.parser.js +136 -0
- package/dist/cli/commands/billing.command.parser.js.map +1 -0
- package/dist/cli/commands/billing.command.shared.d.ts +7 -0
- package/dist/cli/commands/billing.command.shared.js +78 -0
- package/dist/cli/commands/billing.command.shared.js.map +1 -0
- package/dist/cli/commands/billing.command.shortcuts.d.ts +7 -0
- package/dist/cli/commands/billing.command.shortcuts.js +52 -0
- package/dist/cli/commands/billing.command.shortcuts.js.map +1 -0
- package/dist/cli/commands/config.command.d.ts +2 -0
- package/dist/cli/commands/config.command.js +125 -0
- package/dist/cli/commands/config.command.js.map +1 -0
- package/dist/cli/commands/examples.command.d.ts +2 -0
- package/dist/cli/commands/examples.command.js +14 -0
- package/dist/cli/commands/examples.command.js.map +1 -0
- package/dist/cli/commands/storybook.command.d.ts +2 -0
- package/dist/cli/commands/storybook.command.js +26 -0
- package/dist/cli/commands/storybook.command.js.map +1 -0
- package/dist/cli/help.d.ts +10 -0
- package/dist/cli/help.js +473 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +41 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/program.d.ts +2 -0
- package/dist/cli/program.js +28 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/types.d.ts +6 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/version.d.ts +1 -0
- package/dist/cli/version.js +2 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/dates/arca-date.d.ts +2 -0
- package/dist/lib/dates/arca-date.js +28 -0
- package/dist/lib/dates/arca-date.js.map +1 -0
- package/dist/lib/errors/app-error.d.ts +14 -0
- package/dist/lib/errors/app-error.js +29 -0
- package/dist/lib/errors/app-error.js.map +1 -0
- package/dist/lib/files/read-json-file.d.ts +1 -0
- package/dist/lib/files/read-json-file.js +21 -0
- package/dist/lib/files/read-json-file.js.map +1 -0
- package/dist/lib/paths/mask-path.d.ts +1 -0
- package/dist/lib/paths/mask-path.js +17 -0
- package/dist/lib/paths/mask-path.js.map +1 -0
- package/dist/lib/security/certificate.d.ts +7 -0
- package/dist/lib/security/certificate.js +16 -0
- package/dist/lib/security/certificate.js.map +1 -0
- package/dist/lib/security/pem.d.ts +5 -0
- package/dist/lib/security/pem.js +36 -0
- package/dist/lib/security/pem.js.map +1 -0
- package/dist/modules/billing/billing-response.d.ts +4 -0
- package/dist/modules/billing/billing-response.js +74 -0
- package/dist/modules/billing/billing-response.js.map +1 -0
- package/dist/modules/billing/billing.amounts.d.ts +9 -0
- package/dist/modules/billing/billing.amounts.js +30 -0
- package/dist/modules/billing/billing.amounts.js.map +1 -0
- package/dist/modules/billing/billing.associated-vouchers.d.ts +10 -0
- package/dist/modules/billing/billing.associated-vouchers.js +51 -0
- package/dist/modules/billing/billing.associated-vouchers.js.map +1 -0
- package/dist/modules/billing/billing.constants.d.ts +2 -0
- package/dist/modules/billing/billing.constants.js +3 -0
- package/dist/modules/billing/billing.constants.js.map +1 -0
- package/dist/modules/billing/billing.date-range.d.ts +8 -0
- package/dist/modules/billing/billing.date-range.js +45 -0
- package/dist/modules/billing/billing.date-range.js.map +1 -0
- package/dist/modules/billing/billing.display.d.ts +13 -0
- package/dist/modules/billing/billing.display.js +111 -0
- package/dist/modules/billing/billing.display.js.map +1 -0
- package/dist/modules/billing/billing.json-format.d.ts +6 -0
- package/dist/modules/billing/billing.json-format.js +5 -0
- package/dist/modules/billing/billing.json-format.js.map +1 -0
- package/dist/modules/billing/billing.labels.d.ts +9 -0
- package/dist/modules/billing/billing.labels.js +108 -0
- package/dist/modules/billing/billing.labels.js.map +1 -0
- package/dist/modules/billing/billing.mappers.d.ts +8 -0
- package/dist/modules/billing/billing.mappers.js +59 -0
- package/dist/modules/billing/billing.mappers.js.map +1 -0
- package/dist/modules/billing/billing.presenter.d.ts +7 -0
- package/dist/modules/billing/billing.presenter.js +3 -0
- package/dist/modules/billing/billing.presenter.js.map +1 -0
- package/dist/modules/billing/billing.schemas.d.ts +74 -0
- package/dist/modules/billing/billing.schemas.js +69 -0
- package/dist/modules/billing/billing.schemas.js.map +1 -0
- package/dist/modules/billing/billing.serialize.d.ts +8 -0
- package/dist/modules/billing/billing.serialize.js +51 -0
- package/dist/modules/billing/billing.serialize.js.map +1 -0
- package/dist/modules/billing/billing.service.d.ts +15 -0
- package/dist/modules/billing/billing.service.js +88 -0
- package/dist/modules/billing/billing.service.js.map +1 -0
- package/dist/modules/billing/billing.text.d.ts +8 -0
- package/dist/modules/billing/billing.text.js +44 -0
- package/dist/modules/billing/billing.text.js.map +1 -0
- package/dist/modules/billing/billing.types.d.ts +13 -0
- package/dist/modules/billing/billing.types.internal.d.ts +25 -0
- package/dist/modules/billing/billing.types.internal.js +2 -0
- package/dist/modules/billing/billing.types.internal.js.map +1 -0
- package/dist/modules/billing/billing.types.js +2 -0
- package/dist/modules/billing/billing.types.js.map +1 -0
- package/dist/modules/billing/billing.validation.d.ts +5 -0
- package/dist/modules/billing/billing.validation.js +45 -0
- package/dist/modules/billing/billing.validation.js.map +1 -0
- package/dist/modules/billing/voucher-kind-map.d.ts +9 -0
- package/dist/modules/billing/voucher-kind-map.js +180 -0
- package/dist/modules/billing/voucher-kind-map.js.map +1 -0
- package/dist/modules/config/config-doctor.d.ts +15 -0
- package/dist/modules/config/config-doctor.js +125 -0
- package/dist/modules/config/config-doctor.js.map +1 -0
- package/dist/modules/config/config-value-parser.d.ts +2 -0
- package/dist/modules/config/config-value-parser.js +71 -0
- package/dist/modules/config/config-value-parser.js.map +1 -0
- package/dist/modules/config/config.presenter.d.ts +7 -0
- package/dist/modules/config/config.presenter.js +80 -0
- package/dist/modules/config/config.presenter.js.map +1 -0
- package/dist/modules/config/config.schemas.d.ts +87 -0
- package/dist/modules/config/config.schemas.js +84 -0
- package/dist/modules/config/config.schemas.js.map +1 -0
- package/dist/modules/config/config.service.d.ts +20 -0
- package/dist/modules/config/config.service.js +78 -0
- package/dist/modules/config/config.service.js.map +1 -0
- package/dist/modules/examples/examples.d.ts +1 -0
- package/dist/modules/examples/examples.js +156 -0
- package/dist/modules/examples/examples.js.map +1 -0
- package/dist/modules/storybook/showcase-theme.d.ts +7 -0
- package/dist/modules/storybook/showcase-theme.js +6 -0
- package/dist/modules/storybook/showcase-theme.js.map +1 -0
- package/dist/modules/storybook/showcase.d.ts +2 -0
- package/dist/modules/storybook/showcase.js +310 -0
- package/dist/modules/storybook/showcase.js.map +1 -0
- package/dist/modules/update-check/update-check.presenter.d.ts +2 -0
- package/dist/modules/update-check/update-check.presenter.js +6 -0
- package/dist/modules/update-check/update-check.presenter.js.map +1 -0
- package/dist/modules/update-check/update-check.service.d.ts +8 -0
- package/dist/modules/update-check/update-check.service.js +72 -0
- package/dist/modules/update-check/update-check.service.js.map +1 -0
- package/dist/services/arca/arca-billing.gateway.d.ts +9 -0
- package/dist/services/arca/arca-billing.gateway.js +10 -0
- package/dist/services/arca/arca-billing.gateway.js.map +1 -0
- package/dist/services/arca/arca-client.factory.d.ts +5 -0
- package/dist/services/arca/arca-client.factory.js +7 -0
- package/dist/services/arca/arca-client.factory.js.map +1 -0
- package/dist/services/arca/arca-context.resolver.d.ts +44 -0
- package/dist/services/arca/arca-context.resolver.js +120 -0
- package/dist/services/arca/arca-context.resolver.js.map +1 -0
- package/dist/ui/components/contentPanel.d.ts +5 -0
- package/dist/ui/components/contentPanel.js +11 -0
- package/dist/ui/components/contentPanel.js.map +1 -0
- package/dist/ui/components/errorPanel.d.ts +1 -0
- package/dist/ui/components/errorPanel.js +13 -0
- package/dist/ui/components/errorPanel.js.map +1 -0
- package/dist/ui/components/index.d.ts +6 -0
- package/dist/ui/components/index.js +7 -0
- package/dist/ui/components/index.js.map +1 -0
- package/dist/ui/components/keyValuePanel.d.ts +3 -0
- package/dist/ui/components/keyValuePanel.js +14 -0
- package/dist/ui/components/keyValuePanel.js.map +1 -0
- package/dist/ui/components/noticePanel.d.ts +3 -0
- package/dist/ui/components/noticePanel.js +11 -0
- package/dist/ui/components/noticePanel.js.map +1 -0
- package/dist/ui/components/rawPanel.d.ts +1 -0
- package/dist/ui/components/rawPanel.js +5 -0
- package/dist/ui/components/rawPanel.js.map +1 -0
- package/dist/ui/components/statusPanel.d.ts +3 -0
- package/dist/ui/components/statusPanel.js +20 -0
- package/dist/ui/components/statusPanel.js.map +1 -0
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.js +6 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/presenters/billing.presenter.d.ts +2 -0
- package/dist/ui/presenters/billing.presenter.js +2 -0
- package/dist/ui/presenters/billing.presenter.js.map +1 -0
- package/dist/ui/presenters/config.presenter.d.ts +1 -0
- package/dist/ui/presenters/config.presenter.js +2 -0
- package/dist/ui/presenters/config.presenter.js.map +1 -0
- package/dist/ui/presenters/errors.presenter.d.ts +1 -0
- package/dist/ui/presenters/errors.presenter.js +89 -0
- package/dist/ui/presenters/errors.presenter.js.map +1 -0
- package/dist/ui/presenters/errors.zod-presenter.d.ts +2 -0
- package/dist/ui/presenters/errors.zod-presenter.js +82 -0
- package/dist/ui/presenters/errors.zod-presenter.js.map +1 -0
- package/dist/ui/presenters/index.d.ts +4 -0
- package/dist/ui/presenters/index.js +5 -0
- package/dist/ui/presenters/index.js.map +1 -0
- package/dist/ui/presenters/showcase.presenter.d.ts +1 -0
- package/dist/ui/presenters/showcase.presenter.js +2 -0
- package/dist/ui/presenters/showcase.presenter.js.map +1 -0
- package/dist/ui/primitives/index.d.ts +10 -0
- package/dist/ui/primitives/index.js +11 -0
- package/dist/ui/primitives/index.js.map +1 -0
- package/dist/ui/primitives/renderDivider.d.ts +5 -0
- package/dist/ui/primitives/renderDivider.js +5 -0
- package/dist/ui/primitives/renderDivider.js.map +1 -0
- package/dist/ui/primitives/renderFooter.d.ts +7 -0
- package/dist/ui/primitives/renderFooter.js +6 -0
- package/dist/ui/primitives/renderFooter.js.map +1 -0
- package/dist/ui/primitives/renderJson.d.ts +3 -0
- package/dist/ui/primitives/renderJson.js +19 -0
- package/dist/ui/primitives/renderJson.js.map +1 -0
- package/dist/ui/primitives/renderKeyValue.d.ts +14 -0
- package/dist/ui/primitives/renderKeyValue.js +34 -0
- package/dist/ui/primitives/renderKeyValue.js.map +1 -0
- package/dist/ui/primitives/renderLogo.d.ts +2 -0
- package/dist/ui/primitives/renderLogo.js +28 -0
- package/dist/ui/primitives/renderLogo.js.map +1 -0
- package/dist/ui/primitives/renderObject.d.ts +1 -0
- package/dist/ui/primitives/renderObject.js +19 -0
- package/dist/ui/primitives/renderObject.js.map +1 -0
- package/dist/ui/primitives/renderPanel.d.ts +23 -0
- package/dist/ui/primitives/renderPanel.js +114 -0
- package/dist/ui/primitives/renderPanel.js.map +1 -0
- package/dist/ui/primitives/renderSubtitle.d.ts +7 -0
- package/dist/ui/primitives/renderSubtitle.js +6 -0
- package/dist/ui/primitives/renderSubtitle.js.map +1 -0
- package/dist/ui/primitives/renderTable.d.ts +6 -0
- package/dist/ui/primitives/renderTable.js +14 -0
- package/dist/ui/primitives/renderTable.js.map +1 -0
- package/dist/ui/primitives/text.d.ts +18 -0
- package/dist/ui/primitives/text.js +154 -0
- package/dist/ui/primitives/text.js.map +1 -0
- package/dist/ui/stream/index.d.ts +1 -0
- package/dist/ui/stream/index.js +2 -0
- package/dist/ui/stream/index.js.map +1 -0
- package/dist/ui/stream/terminal-stream.d.ts +10 -0
- package/dist/ui/stream/terminal-stream.js +20 -0
- package/dist/ui/stream/terminal-stream.js.map +1 -0
- package/dist/ui/theme/index.d.ts +1 -0
- package/dist/ui/theme/index.js +2 -0
- package/dist/ui/theme/index.js.map +1 -0
- package/dist/ui/theme/theme.d.ts +27 -0
- package/dist/ui/theme/theme.js +41 -0
- package/dist/ui/theme/theme.js.map +1 -0
- package/llms.txt +157 -0
- package/package.json +98 -35
- package/.babelrc +0 -4
- package/.eslintignore +0 -1
- package/.eslintrc.js +0 -17
- package/.npmignore +0 -1
- package/lib/arcli.js +0 -275
- package/lib/arcli.min.js +0 -1
- package/src/config.js +0 -22
- package/src/consoler.js +0 -10
- package/src/index.js +0 -21
- package/src/init.js +0 -13
- package/src/run.js +0 -4
- package/src/spinner.js +0 -39
- package/tst/index.js +0 -26
- package/webpack.config.js +0 -47
package/llms.txt
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# arcli
|
|
2
|
+
|
|
3
|
+
> CLI de Node/TypeScript para emitir y previsualizar comprobantes ARCA (ex AFIP) desde
|
|
4
|
+
> terminal: facturas, notas de crédito/débito (papel y electrónicas), en testing o producción.
|
|
5
|
+
> Salida humana por defecto, `--json` para scripts/agentes. Repo: https://github.com/LcsGrz/arcli
|
|
6
|
+
|
|
7
|
+
Este archivo es una referencia densa para que un agente con acceso a shell pueda construir
|
|
8
|
+
comandos `arcli` correctos sin tener que ir probando `--ayuda` a ciegas. Para el detalle
|
|
9
|
+
completo de cada tema, ver los docs linkeados al final.
|
|
10
|
+
|
|
11
|
+
## Instalación y setup mínimo
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g arcli # o: yarn dev <comando> si corrés desde el repo
|
|
15
|
+
arcli config establecer cuit <11 digitos>
|
|
16
|
+
arcli config establecer cert.testing /ruta/al/certificado.crt
|
|
17
|
+
arcli config establecer key.testing /ruta/a/la/clave.key
|
|
18
|
+
arcli config establecer puntoVenta <numero>
|
|
19
|
+
arcli config revisar # valida que este todo listo antes de emitir
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Sin `cuit`, `cert.<entorno>`, `key.<entorno>` y `puntoVenta` configurados (o pasados por
|
|
23
|
+
flag), cualquier comando de facturación falla con `ConfigurationError` antes de contactar
|
|
24
|
+
ARCA. `--testing` es el entorno por defecto; `--produccion` cambia a real.
|
|
25
|
+
|
|
26
|
+
## Comandos de facturación (shortcut de 2-4 letras)
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
arcli <shortcut> --monto <n> --cs|--cp|--csp --ir-<tipo>|--iva-receptor <tipo> [--cuit N|--cuil N|--dni N|--consumidor-final] [--emitir|--previsualizar] [--json]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Shortcuts (`family` = comando alternativo `arcli <family> <letra>`, ej. `arcli factura c`):
|
|
33
|
+
|
|
34
|
+
| shortcut | comprobante | family | requiere comprobante asociado |
|
|
35
|
+
|---|---|---|---|
|
|
36
|
+
| fa, fb, fc | Factura A/B/C | factura | no |
|
|
37
|
+
| nca, ncb, ncc | Nota de crédito A/B/C | nota-credito | sí |
|
|
38
|
+
| nda, ndb, ndc | Nota de débito A/B/C | nota-debito | sí |
|
|
39
|
+
| fcea, fceb, fcec | Factura de crédito electrónica A/B/C | factura-credito-electronica | no |
|
|
40
|
+
| ncea, nceb, ncec | Nota de crédito electrónica A/B/C | nota-credito-electronica | sí |
|
|
41
|
+
| ndea, ndeb, ndec | Nota de débito electrónica A/B/C | nota-debito-electronica | sí |
|
|
42
|
+
|
|
43
|
+
## Flags principales (alias corto entre paréntesis)
|
|
44
|
+
|
|
45
|
+
- `-m, --monto <n>`: importe total (requerido).
|
|
46
|
+
- Concepto: `--concepto <tipo>` (`productos`/`servicios`/`productos-servicios`) o atajos `--cs` `--cp` `--csp`. Uno solo, no combinar `--concepto` con un atajo.
|
|
47
|
+
- IVA receptor: `--iva-receptor <tipo>` / `--ir <tipo>` (alias) o un atajo `--ir-ce|--ir-cf|--ir-il|--ir-ina|--ir-ms|--ir-mtip|--ir-pe|--ir-ri|--ir-rm|--ir-se|--ir-snc`. Usar exactamente una forma.
|
|
48
|
+
Valores válidos: `cliente-del-exterior`, `consumidor-final`, `iva-liberado`, `iva-no-alcanzado`, `monotributista-social`, `monotributo-trabajador-independiente-promovido`, `proveedor-del-exterior`, `responsable-inscripto`, `responsable-monotributo`, `sujeto-exento`, `sujeto-no-categorizado`.
|
|
49
|
+
- Identidad del receptor: `--cuit <n>` / `--cuil <n>` / `--dni <n>` / `--consumidor-final` (alias `--cfinal`, documento 0). Usar como máximo una.
|
|
50
|
+
- Punto de venta: `--punto-venta <n>` (alias `--pv`). Si no se pasa, usa el default de config.
|
|
51
|
+
- Moneda: `--moneda <codigo>` (alias `--mda`, ej. `ARS`/`USD`) y `--cotizacion-moneda <n>` (alias `--cm`).
|
|
52
|
+
- Fechas: `-f, --fecha <fecha>` acepta formato argentino día-primero: `D`, `DD`, `D/M`, `DD/MM`, `D-M-YY`, `DD-MM-YYYY` (con `-` o `/`); si se omiten mes/año usa los actuales. También `--servicio-desde`/`--sd` y `--servicio-hasta`/`--sh`, y `-d, --dia <n>` (día de vencimiento).
|
|
53
|
+
- Comprobante asociado (obligatorio en notas de crédito/débito): `--ac <shortcut>` (ej. `fc`), `--apv <n>` (punto de venta, alias `--asociado-punto-venta`), `--ar <n>` (número), `--acuit <n>`, `--at <n>` (tipo ARCA, alternativa a `--ac`; no combinar ambos).
|
|
54
|
+
- Ejecución: `--previsualizar` (default si no se especifica nada) vs `--emitir` (real contra ARCA) — son mutuamente excluyentes. En producción hace falta `--produccion --emitir` juntos — no hay un flag de confirmación adicional, así que esa combinación emite de verdad.
|
|
55
|
+
- Salida: `--json` (estructurada, para scripts/agentes — desactiva el aviso de nueva versión), `--bruto` (incluye la respuesta cruda de ARCA).
|
|
56
|
+
- `--cargar <path.json>`: carga uno o un array de comprobantes desde un JSON en vez de flags (ver forma abajo). Los flags pisan lo que venga del archivo.
|
|
57
|
+
|
|
58
|
+
## Modo no interactivo
|
|
59
|
+
|
|
60
|
+
Sin `--emitir` ni `--previsualizar`, si la sesión es interactiva (TTY) arcli muestra una vista
|
|
61
|
+
previa y pregunta si emitir. **Con `--json`, o cuando stdin/stdout no son un TTY (scripts,
|
|
62
|
+
agentes, CI), nunca pregunta** — se comporta como si fuera dry-run salvo que se pase
|
|
63
|
+
`--emitir` explícitamente. Para invocar desde un agente, siempre pasar `--emitir` o
|
|
64
|
+
`--previsualizar` de forma explícita y no depender del prompt.
|
|
65
|
+
|
|
66
|
+
## Forma del JSON de `--cargar` (un objeto o un array de estos)
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"concepto": "servicios",
|
|
71
|
+
"ivaReceptor": "consumidor-final",
|
|
72
|
+
"tipoDocumento": "consumidor-final",
|
|
73
|
+
"numeroDocumento": 0,
|
|
74
|
+
"montoTotal": 1000,
|
|
75
|
+
"puntoVenta": 3,
|
|
76
|
+
"codigoMoneda": "ARS",
|
|
77
|
+
"cotizacionMoneda": 1,
|
|
78
|
+
"fechaComprobante": "18-03-2026",
|
|
79
|
+
"servicioDesde": "01-03-2026",
|
|
80
|
+
"servicioHasta": "31-03-2026",
|
|
81
|
+
"dia": 10,
|
|
82
|
+
"emitir": false,
|
|
83
|
+
"previsualizar": true,
|
|
84
|
+
"confirmarProduccion": false,
|
|
85
|
+
"comprobanteAsociado": { "atajo": "fc", "cuit": "20123456789", "numero": 10, "puntoVenta": 3 }
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Forma de la respuesta (`--json`, sin `--bruto`)
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"atajo": "fa",
|
|
94
|
+
"comprobante": "Factura A",
|
|
95
|
+
"tipoArca": 1,
|
|
96
|
+
"estado": "aprobado | observado | rechazado",
|
|
97
|
+
"resultado": "A | R | P | null",
|
|
98
|
+
"cae": "string | null",
|
|
99
|
+
"caeVencimiento": "YYYYMMDD | null",
|
|
100
|
+
"errores": [],
|
|
101
|
+
"eventos": [],
|
|
102
|
+
"observaciones": ["..."],
|
|
103
|
+
"observacion": "string | null",
|
|
104
|
+
"solicitud": { "...": "payload enviado a ARCA" },
|
|
105
|
+
"previsualizacion": true,
|
|
106
|
+
"sugerencias": ["texto en español sugiriendo como resolver errores comunes de ARCA"]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Con múltiples comprobantes (batch o `--cargar` con array) la salida es un array de estos
|
|
111
|
+
objetos. Con `--bruto` se agrega `respuesta` con la respuesta cruda del SDK.
|
|
112
|
+
|
|
113
|
+
**Importante:** un comprobante rechazado por ARCA (`"estado": "rechazado"`) es una respuesta
|
|
114
|
+
válida, no una excepción — el proceso termina con exit code `0` igual. Para saber si un
|
|
115
|
+
comprobante fue realmente aprobado hay que revisar `estado`/`resultado`/`errores` en el
|
|
116
|
+
JSON, nunca alcanza con chequear el exit code.
|
|
117
|
+
|
|
118
|
+
## Salida de error
|
|
119
|
+
|
|
120
|
+
Sin `--json`: panel de texto en stderr. Con `--json`: JSON en stderr con la forma
|
|
121
|
+
`{"codigo": "...", "detalles": {...} | null, "error": "mensaje", "sugerencia": "..." | null}`.
|
|
122
|
+
`codigo` es `CONFIGURATION_ERROR`, `INPUT_VALIDATION_ERROR`, `TRANSIENT_ERROR` (reintentar,
|
|
123
|
+
suele ser "transacción activa" de ARCA) o `UNEXPECTED_ERROR`. El proceso termina con
|
|
124
|
+
exit code `1` en cualquier error.
|
|
125
|
+
|
|
126
|
+
## Comando `config`
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
arcli config # ver config actual (agregar --json)
|
|
130
|
+
arcli config revisar [--testing|--produccion] # valida credenciales + contexto real
|
|
131
|
+
arcli config ruta # path del archivo de config
|
|
132
|
+
arcli config establecer <clave> <valor>
|
|
133
|
+
arcli config eliminar <clave>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Claves válidas: `cuit`, `puntoVenta`, `concepto`, `ivaReceptor`, `moneda`, `cotizacion`,
|
|
137
|
+
`entorno` (`testing`/`produccion`), `emitir`, `json`, `bruto` (booleanos: `true/false`,
|
|
138
|
+
`si/no`, `1/0`), `cert.testing`, `cert.produccion`, `key.testing`, `key.produccion`
|
|
139
|
+
(rutas a archivos PEM, se validan al guardar), `ticketPath` (carpeta donde se cachea el
|
|
140
|
+
ticket WSAA; por defecto una carpeta junto al archivo de config).
|
|
141
|
+
|
|
142
|
+
`config revisar` también avisa si un certificado ya venció o vence en menos de 30 días.
|
|
143
|
+
|
|
144
|
+
## Otros comandos
|
|
145
|
+
|
|
146
|
+
- `arcli ejemplos`: comandos listos para copiar por cada tipo de comprobante.
|
|
147
|
+
- `arcli storybook [escena]`: demos visuales de la UI (sin llamar a ARCA).
|
|
148
|
+
- `arcli <cualquier comando> ayuda` o `--ayuda`: ayuda contextual con ejemplos (nota: el flag
|
|
149
|
+
estándar `--help` de commander está deshabilitado, usar `--ayuda` o el subcomando `ayuda`).
|
|
150
|
+
|
|
151
|
+
## Más detalle
|
|
152
|
+
|
|
153
|
+
- `docs/cli-reference.md`: referencia completa de comandos y flags.
|
|
154
|
+
- `docs/configuration.md`: config persistente, claves soportadas, ticketPath.
|
|
155
|
+
- `docs/validation-rules.md` y `docs/input-output.md`: reglas de validación y formatos de entrada/salida.
|
|
156
|
+
- `docs/troubleshooting.md`: errores comunes de ARCA y como resolverlos.
|
|
157
|
+
- `AGENTS.md`: para agentes que van a modificar el código de este repo (no para usar el CLI).
|
package/package.json
CHANGED
|
@@ -1,47 +1,110 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arcli",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "CLI para previsualizar y emitir comprobantes ARCA desde terminal, con validaciones claras y salida lista para automatizar",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"arca",
|
|
7
|
+
"afip",
|
|
8
|
+
"cli",
|
|
9
|
+
"facturacion",
|
|
10
|
+
"typescript",
|
|
11
|
+
"factura-electronica",
|
|
12
|
+
"argentina",
|
|
13
|
+
"cae",
|
|
14
|
+
"cuit",
|
|
15
|
+
"automation"
|
|
16
|
+
],
|
|
17
|
+
"homepage": "https://github.com/LcsGrz/arcli#readme",
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/LcsGrz/arcli/issues"
|
|
10
20
|
},
|
|
11
21
|
"repository": {
|
|
12
22
|
"type": "git",
|
|
13
|
-
"url": "git+https://github.com/
|
|
23
|
+
"url": "git+https://github.com/LcsGrz/arcli.git"
|
|
14
24
|
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
],
|
|
17
|
-
"author": "Arpit Bhayani",
|
|
18
25
|
"license": "MIT",
|
|
19
|
-
"
|
|
20
|
-
|
|
26
|
+
"author": "LcsGrz",
|
|
27
|
+
"sideEffects": false,
|
|
28
|
+
"type": "module",
|
|
29
|
+
"exports": {
|
|
30
|
+
".": "./dist/cli/index.js"
|
|
31
|
+
},
|
|
32
|
+
"main": "./dist/cli/index.js",
|
|
33
|
+
"types": "./dist/cli/index.d.ts",
|
|
34
|
+
"bin": {
|
|
35
|
+
"arcli": "dist/cli/index.js"
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist",
|
|
39
|
+
"LICENSE",
|
|
40
|
+
"README.md",
|
|
41
|
+
"llms.txt"
|
|
42
|
+
],
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "node ./scripts/clean-dist.mjs && tsc --project tsconfig.json && node ./scripts/fix-esm-extensions.mjs",
|
|
45
|
+
"clean": "node ./scripts/clean-dist.mjs",
|
|
46
|
+
"dev": "node --import tsx ./src/cli/index.ts",
|
|
47
|
+
"lint": "yarn lint:eslint && yarn lint:prettier",
|
|
48
|
+
"lint:eslint": "eslint 'src/**/*.{js,jsx,ts,tsx,json}'",
|
|
49
|
+
"lint:eslint:fix": "eslint --fix 'src/**/*.{js,jsx,ts,tsx,json}'",
|
|
50
|
+
"lint:prettier": "prettier --check 'src/**/*.{js,jsx,ts,tsx,json,md}' docs/**/*.md AGENTS.md README.md package.json",
|
|
51
|
+
"lint:prettier:fix": "prettier --write 'src/**/*.{js,jsx,ts,tsx,json,md}' docs/**/*.md AGENTS.md README.md package.json",
|
|
52
|
+
"open-source:check": "yarn typecheck && yarn test:coverage && yarn build && npm pack --dry-run",
|
|
53
|
+
"prepack": "yarn build",
|
|
54
|
+
"pack:check": "npm pack --dry-run",
|
|
55
|
+
"prepare": "husky",
|
|
56
|
+
"test": "vitest run",
|
|
57
|
+
"test:coverage": "vitest run --coverage",
|
|
58
|
+
"test:watch": "vitest",
|
|
59
|
+
"typecheck": "tsc --project tsconfig.typecheck.json"
|
|
60
|
+
},
|
|
61
|
+
"lint-staged": {
|
|
62
|
+
"src/**/*.{ts,tsx}": [
|
|
63
|
+
"tsc-files --noEmit"
|
|
64
|
+
],
|
|
65
|
+
"src/**/*.{js,jsx,ts,tsx,json}": [
|
|
66
|
+
"eslint --fix"
|
|
67
|
+
],
|
|
68
|
+
"src/**/*.{js,jsx,ts,tsx}": [
|
|
69
|
+
"vitest related --silent --passWithNoTests --run"
|
|
70
|
+
]
|
|
21
71
|
},
|
|
22
|
-
"homepage": "https://github.com/arpitbbhayani/arcli#readme",
|
|
23
72
|
"dependencies": {
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
73
|
+
"@arcasdk/core": "2.0.0",
|
|
74
|
+
"@inquirer/select": "5.2.2",
|
|
75
|
+
"big.js": "7.0.1",
|
|
76
|
+
"boxen": "8.0.1",
|
|
77
|
+
"commander": "15.0.0",
|
|
78
|
+
"conf": "15.1.0",
|
|
79
|
+
"ora": "9.4.1",
|
|
80
|
+
"zod": "4.4.3"
|
|
29
81
|
},
|
|
30
82
|
"devDependencies": {
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"eslint": "
|
|
40
|
-
"eslint-
|
|
41
|
-
"eslint-
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
|
|
83
|
+
"@eslint/js": "10.0.1",
|
|
84
|
+
"@eslint/json": "2.0.1",
|
|
85
|
+
"@types/big.js": "7.0.0",
|
|
86
|
+
"@types/node": "22.20.1",
|
|
87
|
+
"@typescript-eslint/parser": "8.67.0",
|
|
88
|
+
"@vitest/coverage-v8": "4.1.11",
|
|
89
|
+
"eslint": "10.9.0",
|
|
90
|
+
"eslint-config-prettier": "10.1.8",
|
|
91
|
+
"eslint-plugin-jsonc": "3.4.2",
|
|
92
|
+
"eslint-plugin-prettier": "5.5.6",
|
|
93
|
+
"eslint-plugin-simple-import-sort": "14.0.0",
|
|
94
|
+
"husky": "9.1.7",
|
|
95
|
+
"lint-staged": "17.3.0",
|
|
96
|
+
"prettier": "3.9.6",
|
|
97
|
+
"tsc-files": "1.1.4",
|
|
98
|
+
"tsx": "4.23.12",
|
|
99
|
+
"typescript": "6.0.3",
|
|
100
|
+
"typescript-eslint": "8.67.0",
|
|
101
|
+
"vitest": "4.1.11"
|
|
102
|
+
},
|
|
103
|
+
"engines": {
|
|
104
|
+
"node": ">=22.22.1"
|
|
105
|
+
},
|
|
106
|
+
"publishConfig": {
|
|
107
|
+
"access": "public"
|
|
108
|
+
},
|
|
109
|
+
"packageManager": "yarn@1.22.22+sha256.c17d3797fb9a9115bf375e31bfd30058cac6bc9c3b8807a3d8cb2094794b51ca"
|
|
47
110
|
}
|
package/.babelrc
DELETED
package/.eslintignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
node_modules
|
package/.eslintrc.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
"extends": "airbnb-base",
|
|
3
|
-
"rules": {
|
|
4
|
-
"semi": ["error", "always"],
|
|
5
|
-
"quotes": ["error", "single"],
|
|
6
|
-
"linebreak-style": "off",
|
|
7
|
-
"indent": ["error", 4],
|
|
8
|
-
"no-underscore-dangle": "off",
|
|
9
|
-
"no-console": "off",
|
|
10
|
-
"no-unused-vars": ["error", {"argsIgnorePattern": "next"}]
|
|
11
|
-
},
|
|
12
|
-
"env": {
|
|
13
|
-
"node": true,
|
|
14
|
-
"es6": true,
|
|
15
|
-
},
|
|
16
|
-
"parser": "babel-eslint",
|
|
17
|
-
};
|
package/.npmignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
node_modules
|
package/lib/arcli.js
DELETED
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
-
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
-
module.exports = factory();
|
|
4
|
-
else if(typeof define === 'function' && define.amd)
|
|
5
|
-
define("arcli", [], factory);
|
|
6
|
-
else if(typeof exports === 'object')
|
|
7
|
-
exports["arcli"] = factory();
|
|
8
|
-
else
|
|
9
|
-
root["arcli"] = factory();
|
|
10
|
-
})(this, function() {
|
|
11
|
-
return /******/ (function(modules) { // webpackBootstrap
|
|
12
|
-
/******/ // The module cache
|
|
13
|
-
/******/ var installedModules = {};
|
|
14
|
-
/******/
|
|
15
|
-
/******/ // The require function
|
|
16
|
-
/******/ function __webpack_require__(moduleId) {
|
|
17
|
-
/******/
|
|
18
|
-
/******/ // Check if module is in cache
|
|
19
|
-
/******/ if(installedModules[moduleId]) {
|
|
20
|
-
/******/ return installedModules[moduleId].exports;
|
|
21
|
-
/******/ }
|
|
22
|
-
/******/ // Create a new module (and put it into the cache)
|
|
23
|
-
/******/ var module = installedModules[moduleId] = {
|
|
24
|
-
/******/ i: moduleId,
|
|
25
|
-
/******/ l: false,
|
|
26
|
-
/******/ exports: {}
|
|
27
|
-
/******/ };
|
|
28
|
-
/******/
|
|
29
|
-
/******/ // Execute the module function
|
|
30
|
-
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
31
|
-
/******/
|
|
32
|
-
/******/ // Flag the module as loaded
|
|
33
|
-
/******/ module.l = true;
|
|
34
|
-
/******/
|
|
35
|
-
/******/ // Return the exports of the module
|
|
36
|
-
/******/ return module.exports;
|
|
37
|
-
/******/ }
|
|
38
|
-
/******/
|
|
39
|
-
/******/
|
|
40
|
-
/******/ // expose the modules object (__webpack_modules__)
|
|
41
|
-
/******/ __webpack_require__.m = modules;
|
|
42
|
-
/******/
|
|
43
|
-
/******/ // expose the module cache
|
|
44
|
-
/******/ __webpack_require__.c = installedModules;
|
|
45
|
-
/******/
|
|
46
|
-
/******/ // define getter function for harmony exports
|
|
47
|
-
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
48
|
-
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
49
|
-
/******/ Object.defineProperty(exports, name, {
|
|
50
|
-
/******/ configurable: false,
|
|
51
|
-
/******/ enumerable: true,
|
|
52
|
-
/******/ get: getter
|
|
53
|
-
/******/ });
|
|
54
|
-
/******/ }
|
|
55
|
-
/******/ };
|
|
56
|
-
/******/
|
|
57
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
58
|
-
/******/ __webpack_require__.n = function(module) {
|
|
59
|
-
/******/ var getter = module && module.__esModule ?
|
|
60
|
-
/******/ function getDefault() { return module['default']; } :
|
|
61
|
-
/******/ function getModuleExports() { return module; };
|
|
62
|
-
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
63
|
-
/******/ return getter;
|
|
64
|
-
/******/ };
|
|
65
|
-
/******/
|
|
66
|
-
/******/ // Object.prototype.hasOwnProperty.call
|
|
67
|
-
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
68
|
-
/******/
|
|
69
|
-
/******/ // __webpack_public_path__
|
|
70
|
-
/******/ __webpack_require__.p = "";
|
|
71
|
-
/******/
|
|
72
|
-
/******/ // Load entry module and return exports
|
|
73
|
-
/******/ return __webpack_require__(__webpack_require__.s = 6);
|
|
74
|
-
/******/ })
|
|
75
|
-
/************************************************************************/
|
|
76
|
-
/******/ ([
|
|
77
|
-
/* 0 */
|
|
78
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
79
|
-
|
|
80
|
-
"use strict";
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
84
|
-
|
|
85
|
-
var configInstance = {};
|
|
86
|
-
|
|
87
|
-
module.exports = {
|
|
88
|
-
add: function add(configurations) {
|
|
89
|
-
configInstance = _extends({}, configInstance, configurations);
|
|
90
|
-
},
|
|
91
|
-
get: function get(key, defaultValue) {
|
|
92
|
-
var tokens = key.split('.');
|
|
93
|
-
var tempConfig = configInstance;
|
|
94
|
-
for (var i = 0; i < tokens.length; i += 1) {
|
|
95
|
-
var token = tokens[i];
|
|
96
|
-
tempConfig = tempConfig[token];
|
|
97
|
-
if (tempConfig === undefined) {
|
|
98
|
-
return defaultValue;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return tempConfig;
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
/***/ }),
|
|
106
|
-
/* 1 */
|
|
107
|
-
/***/ (function(module, exports) {
|
|
108
|
-
|
|
109
|
-
module.exports = require("chalk");
|
|
110
|
-
|
|
111
|
-
/***/ }),
|
|
112
|
-
/* 2 */
|
|
113
|
-
/***/ (function(module, exports) {
|
|
114
|
-
|
|
115
|
-
module.exports = require("node-emoji");
|
|
116
|
-
|
|
117
|
-
/***/ }),
|
|
118
|
-
/* 3 */
|
|
119
|
-
/***/ (function(module, exports) {
|
|
120
|
-
|
|
121
|
-
module.exports = require("commander");
|
|
122
|
-
|
|
123
|
-
/***/ }),
|
|
124
|
-
/* 4 */
|
|
125
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
126
|
-
|
|
127
|
-
"use strict";
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
var arcliConfig = __webpack_require__(0);
|
|
131
|
-
|
|
132
|
-
var proc = null;
|
|
133
|
-
|
|
134
|
-
module.exports = {
|
|
135
|
-
setup: function setup(arcliProcess, configurations) {
|
|
136
|
-
proc = arcliProcess;
|
|
137
|
-
arcliConfig.add(configurations);
|
|
138
|
-
},
|
|
139
|
-
getArgv: function getArgv() {
|
|
140
|
-
return proc.argv;
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
/***/ }),
|
|
145
|
-
/* 5 */
|
|
146
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
147
|
-
|
|
148
|
-
"use strict";
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
var chalk = __webpack_require__(1);
|
|
152
|
-
var emoji = __webpack_require__(2);
|
|
153
|
-
|
|
154
|
-
module.exports = {
|
|
155
|
-
success: function success(text) {
|
|
156
|
-
return console.log(emoji.get('sign_of_the_horns') + ' ' + chalk.green.bold(text));
|
|
157
|
-
},
|
|
158
|
-
fail: function fail(text) {
|
|
159
|
-
return console.log(emoji.get('pensive') + ' ' + chalk.red.bold(text));
|
|
160
|
-
},
|
|
161
|
-
message: function message(text) {
|
|
162
|
-
return console.log('' + chalk.white.bold(text));
|
|
163
|
-
},
|
|
164
|
-
tell: function tell(text) {
|
|
165
|
-
return console.log(emoji.get('loudspeaker') + ' ' + chalk.yellow.bold(text));
|
|
166
|
-
},
|
|
167
|
-
plain: function plain(text) {
|
|
168
|
-
return console.log(text);
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
/***/ }),
|
|
173
|
-
/* 6 */
|
|
174
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
175
|
-
|
|
176
|
-
"use strict";
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
var Chalk = __webpack_require__(1);
|
|
180
|
-
var Emoji = __webpack_require__(2);
|
|
181
|
-
var Commander = __webpack_require__(3);
|
|
182
|
-
|
|
183
|
-
var init = __webpack_require__(4);
|
|
184
|
-
var run = __webpack_require__(7);
|
|
185
|
-
var Consoler = __webpack_require__(5);
|
|
186
|
-
var Config = __webpack_require__(0);
|
|
187
|
-
var Spinner = __webpack_require__(8);
|
|
188
|
-
|
|
189
|
-
module.exports = {
|
|
190
|
-
init: init,
|
|
191
|
-
run: run,
|
|
192
|
-
Consoler: Consoler,
|
|
193
|
-
Commander: Commander,
|
|
194
|
-
Config: Config,
|
|
195
|
-
Spinner: Spinner,
|
|
196
|
-
Chalk: Chalk,
|
|
197
|
-
Emoji: Emoji
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
/***/ }),
|
|
201
|
-
/* 7 */
|
|
202
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
203
|
-
|
|
204
|
-
"use strict";
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
var init = __webpack_require__(4);
|
|
208
|
-
var Commander = __webpack_require__(3);
|
|
209
|
-
|
|
210
|
-
module.exports = function () {
|
|
211
|
-
return Commander.parse(init.getArgv());
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
/***/ }),
|
|
215
|
-
/* 8 */
|
|
216
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
217
|
-
|
|
218
|
-
"use strict";
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
var ora = __webpack_require__(9);
|
|
222
|
-
var config = __webpack_require__(0);
|
|
223
|
-
var Consoler = __webpack_require__(5);
|
|
224
|
-
|
|
225
|
-
var _instance = null;
|
|
226
|
-
|
|
227
|
-
function stopAndPrint(text, consolerFunction) {
|
|
228
|
-
var fancy = config.get('fancy', false);
|
|
229
|
-
if (!fancy) {
|
|
230
|
-
return Consoler.plain(text);
|
|
231
|
-
}
|
|
232
|
-
if (!_instance) {
|
|
233
|
-
_instance = ora(text);
|
|
234
|
-
}
|
|
235
|
-
_instance.stop();
|
|
236
|
-
return consolerFunction(text);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
module.exports = {
|
|
240
|
-
start: function start(text) {
|
|
241
|
-
var fancy = config.get('fancy', false);
|
|
242
|
-
if (!fancy) {
|
|
243
|
-
return Consoler.plain(text);
|
|
244
|
-
}
|
|
245
|
-
if (!_instance) {
|
|
246
|
-
_instance = ora(text);
|
|
247
|
-
}
|
|
248
|
-
return _instance.start(text);
|
|
249
|
-
},
|
|
250
|
-
success: function success(text) {
|
|
251
|
-
return stopAndPrint(text, Consoler.success);
|
|
252
|
-
},
|
|
253
|
-
fail: function fail(text) {
|
|
254
|
-
return stopAndPrint(text, Consoler.fail);
|
|
255
|
-
},
|
|
256
|
-
message: function message(text) {
|
|
257
|
-
return stopAndPrint(text, Consoler.message);
|
|
258
|
-
},
|
|
259
|
-
tell: function tell(text) {
|
|
260
|
-
return stopAndPrint(text, Consoler.tell);
|
|
261
|
-
},
|
|
262
|
-
plain: function plain(text) {
|
|
263
|
-
return stopAndPrint(text, Consoler.plain);
|
|
264
|
-
}
|
|
265
|
-
};
|
|
266
|
-
|
|
267
|
-
/***/ }),
|
|
268
|
-
/* 9 */
|
|
269
|
-
/***/ (function(module, exports) {
|
|
270
|
-
|
|
271
|
-
module.exports = require("ora");
|
|
272
|
-
|
|
273
|
-
/***/ })
|
|
274
|
-
/******/ ]);
|
|
275
|
-
});
|
package/lib/arcli.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("arcli",[],t):"object"==typeof exports?exports.arcli=t():n.arcli=t()}(this,function(){return function(n){function t(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return n[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var e={};return t.m=n,t.c=e,t.d=function(n,e,r){t.o(n,e)||Object.defineProperty(n,e,{configurable:!1,enumerable:!0,get:r})},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=6)}([function(n,t,e){"use strict";var r=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r])}return n},o={};n.exports={add:function(n){o=r({},o,n)},get:function(n,t){for(var e=n.split("."),r=o,u=0;u<e.length;u+=1){if(void 0===(r=r[e[u]]))return t}return r}}},function(n,t){n.exports=require("chalk")},function(n,t){n.exports=require("node-emoji")},function(n,t){n.exports=require("commander")},function(n,t,e){"use strict";var r=e(0),o=null;n.exports={setup:function(n,t){o=n,r.add(t)},getArgv:function(){return o.argv}}},function(n,t,e){"use strict";var r=e(1),o=e(2);n.exports={success:function(n){return console.log(o.get("sign_of_the_horns")+" "+r.green.bold(n))},fail:function(n){return console.log(o.get("pensive")+" "+r.red.bold(n))},message:function(n){return console.log(""+r.white.bold(n))},tell:function(n){return console.log(o.get("loudspeaker")+" "+r.yellow.bold(n))},plain:function(n){return console.log(n)}}},function(n,t,e){"use strict";var r=e(1),o=e(2),u=e(3),i=e(4),c=e(7),s=e(5),f=e(0),l=e(8);n.exports={init:i,run:c,Consoler:s,Commander:u,Config:f,Spinner:l,Chalk:r,Emoji:o}},function(n,t,e){"use strict";var r=e(4),o=e(3);n.exports=function(){return o.parse(r.getArgv())}},function(n,t,e){"use strict";function r(n,t){return u.get("fancy",!1)?(c||(c=o(n)),c.stop(),t(n)):i.plain(n)}var o=e(9),u=e(0),i=e(5),c=null;n.exports={start:function(n){return u.get("fancy",!1)?(c||(c=o(n)),c.start(n)):i.plain(n)},success:function(n){return r(n,i.success)},fail:function(n){return r(n,i.fail)},message:function(n){return r(n,i.message)},tell:function(n){return r(n,i.tell)},plain:function(n){return r(n,i.plain)}}},function(n,t){n.exports=require("ora")}])});
|
package/src/config.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
let configInstance = {};
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
add(configurations) {
|
|
5
|
-
configInstance = {
|
|
6
|
-
...configInstance,
|
|
7
|
-
...configurations,
|
|
8
|
-
};
|
|
9
|
-
},
|
|
10
|
-
get(key, defaultValue) {
|
|
11
|
-
const tokens = key.split('.');
|
|
12
|
-
let tempConfig = configInstance;
|
|
13
|
-
for (let i = 0; i < tokens.length; i += 1) {
|
|
14
|
-
const token = tokens[i];
|
|
15
|
-
tempConfig = tempConfig[token];
|
|
16
|
-
if (tempConfig === undefined) {
|
|
17
|
-
return defaultValue;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return tempConfig;
|
|
21
|
-
},
|
|
22
|
-
};
|
package/src/consoler.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const chalk = require('chalk');
|
|
2
|
-
const emoji = require('node-emoji');
|
|
3
|
-
|
|
4
|
-
module.exports = {
|
|
5
|
-
success: text => console.log(`${emoji.get('sign_of_the_horns')} ${chalk.green.bold(text)}`),
|
|
6
|
-
fail: text => console.log(`${emoji.get('pensive')} ${chalk.red.bold(text)}`),
|
|
7
|
-
message: text => console.log(`${chalk.white.bold(text)}`),
|
|
8
|
-
tell: text => console.log(`${emoji.get('loudspeaker')} ${chalk.yellow.bold(text)}`),
|
|
9
|
-
plain: text => console.log(text),
|
|
10
|
-
};
|
package/src/index.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const Chalk = require('chalk');
|
|
2
|
-
const Emoji = require('node-emoji');
|
|
3
|
-
const Commander = require('commander');
|
|
4
|
-
|
|
5
|
-
const init = require('./init');
|
|
6
|
-
const run = require('./run');
|
|
7
|
-
const Consoler = require('./consoler');
|
|
8
|
-
const Config = require('./config');
|
|
9
|
-
const Spinner = require('./spinner');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
module.exports = {
|
|
13
|
-
init,
|
|
14
|
-
run,
|
|
15
|
-
Consoler,
|
|
16
|
-
Commander,
|
|
17
|
-
Config,
|
|
18
|
-
Spinner,
|
|
19
|
-
Chalk,
|
|
20
|
-
Emoji,
|
|
21
|
-
};
|