nfewizard-io 1.0.1 → 1.0.2

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/README.md ADDED
@@ -0,0 +1,313 @@
1
+ # NFeWizard-io 🪄
2
+
3
+ ## 🛠️ Lib atualizada com NT 2025.002 v.130 - Reforma Tributária
4
+
5
+ ---
6
+
7
+ ## 📦 Pacote de Operações NFe
8
+
9
+ Este é o pacote principal do ecossistema **NFeWizard**, responsável pelas **operações de NFe (Nota Fiscal Eletrônica - Modelo 55)**.
10
+
11
+ A partir da versão 1.0.0, o NFeWizard foi modularizado em 7 pacotes independentes:
12
+
13
+ | Pacote | Descrição | Tamanho |
14
+ |--------|-----------|---------|
15
+ | `nfewizard-io` | ✅ **Operações NFe** (este pacote) | 511.2 KB |
16
+ | `@nfewizard/nfce` | Operações NFCe + Cancelamento | 997.7 KB |
17
+ | `@nfewizard/nfse` | Operações NFSe | 578.0 KB |
18
+ | `@nfewizard/danfe` | Geração de DANFE (NFe e NFCe) | 2.31 MB |
19
+ | `@nfewizard/cte` | Operações CTe | 801.9 KB |
20
+ | `@nfewizard/types` | Tipos TypeScript | 542.4 KB |
21
+ | `@nfewizard/shared` | Utilitários compartilhados | 4.03 MB |
22
+
23
+ ---
24
+
25
+ ## 🚀 Instalação
26
+
27
+ ```bash
28
+ npm install nfewizard-io
29
+ ```
30
+
31
+ ---
32
+
33
+ ## 🎯 Sobre Este Pacote
34
+
35
+ Este pacote fornece métodos para operações de NFe, incluindo:
36
+
37
+ - ✅ **Autorização (Emissão de NFe)**: Submissão de Notas Fiscais Eletrônicas para autorização
38
+ - ✅ **Distribuição DFe**: Consulta e Download de documentos fiscais eletrônicos
39
+ - ✅ **Consulta de Protocolo**: Verificação da situação da NFe na SEFAZ
40
+ - ✅ **Inutilização**: Inutilização de números de NFe não utilizados
41
+ - ✅ **Consulta de Status**: Monitoramento do status dos serviços da SEFAZ
42
+ - ✅ **Recepção de Eventos**:
43
+ - Cancelamento de NFe
44
+ - Carta de Correção
45
+ - Ciência da Operação
46
+ - Confirmação da Operação
47
+ - Desconhecimento da Operação
48
+ - EPEC (Evento Prévio de Emissão em Contingência)
49
+ - Operação Não Realizada
50
+
51
+ > **⚠️ Importante**:
52
+ > - Para **DANFE** (geração de PDF), instale separadamente: `npm install @nfewizard/danfe`
53
+ > - Para **NFCe**, use o pacote: `npm install @nfewizard/nfce`
54
+ > - Para **CTe**, use o pacote: `npm install @nfewizard/cte`
55
+ > - Para **NFSe**, use o pacote: `npm install @nfewizard/nfse`
56
+
57
+ ---
58
+
59
+ ## 💡 Exemplo de Uso
60
+
61
+ ```typescript
62
+ import NFeWizard from 'nfewizard-io';
63
+
64
+ // Instanciar
65
+ const nfeWizard = new NFeWizard();
66
+
67
+ // Inicializar
68
+ await nfeWizard.NFE_LoadEnvironment({
69
+ config: {
70
+ dfe: {
71
+ baixarXMLDistribuicao: true,
72
+ pathXMLDistribuicao: "tmp/DistribuicaoDFe",
73
+ armazenarXMLAutorizacao: true,
74
+ pathXMLAutorizacao: "tmp/Autorizacao",
75
+ armazenarXMLRetorno: true,
76
+ pathXMLRetorno: "tmp/RequestLogs",
77
+ armazenarXMLConsulta: true,
78
+ pathXMLConsulta: "tmp/RequestLogs",
79
+ armazenarXMLConsultaComTagSoap: false,
80
+ armazenarRetornoEmJSON: false,
81
+ pathRetornoEmJSON: "tmp/DistribuicaoDFe",
82
+
83
+ pathCertificado: "certificado.pfx",
84
+ senhaCertificado: "1234",
85
+ UF: "SP",
86
+ CPFCNPJ: "99999999999999",
87
+ },
88
+ nfe: {
89
+ ambiente: 2,
90
+ versaoDF: "4.00",
91
+ idCSC: 1,
92
+ tokenCSC: '99999999-9999-9999-9999-999999999999'
93
+ },
94
+ email: {
95
+ host: 'mail.provider.com.br',
96
+ port: 465,
97
+ secure: true,
98
+ auth: {
99
+ user: 'nfe.example@email.com.br',
100
+ pass: '123456'
101
+ },
102
+ emailParams: {
103
+ from: 'Company <noreply.company@email.com>',
104
+ to: 'customer.name@email.com.br',
105
+ }
106
+ },
107
+ lib: {
108
+ connection: {
109
+ timeout: 30000,
110
+ },
111
+ log: {
112
+ exibirLogNoConsole: true,
113
+ armazenarLogs: true,
114
+ pathLogs: 'tmp/Logs'
115
+ },
116
+ useOpenSSL: false,
117
+ useForSchemaValidation: 'validateSchemaJsBased',
118
+ }
119
+ }
120
+ });
121
+
122
+ // Exemplo de Distribuição DFe por Chave
123
+ const chaveNFe: DFePorChaveNFe = {
124
+ cUFAutor: 35,
125
+ CNPJ: '99999999999999',
126
+ consChNFe: {
127
+ chNFe: '00000000000000000000000000000000000000000000'
128
+ },
129
+ }
130
+
131
+ await nfeWizard.NFE_DistribuicaoDFePorChave(chaveNFe);
132
+ ```
133
+
134
+ ---
135
+
136
+ ## 🚧 Requisitos
137
+
138
+ ### JDK (Opcional)
139
+ Para algumas funções, o JDK é necessário. Caso esteja rodando em ambientes sem suporte ao JDK (Vercel, etc.), configure:
140
+
141
+ ```typescript
142
+ lib: {
143
+ useForSchemaValidation: 'validateSchemaJsBased'
144
+ }
145
+ ```
146
+
147
+ ### Exemplo CJS (CommonJS)
148
+
149
+ ```typescript
150
+ const NFeWizard = require('nfewizard-io').default;
151
+ ```
152
+
153
+ ### Serverless Framework
154
+
155
+ Marque como dependência externa no `.yml`:
156
+
157
+ ```yml
158
+ build:
159
+ esbuild:
160
+ bundle: true
161
+ minify: true
162
+ sourcemap: true
163
+ target: 'node20'
164
+ format: 'cjs'
165
+ external:
166
+ - better-sqlite3
167
+ - mysql
168
+ - mysql2
169
+ - oracledb
170
+ - tedious
171
+ - sqlite3
172
+ - pg-query-stream
173
+ - nfewizard-io
174
+ ```
175
+
176
+ ---
177
+
178
+ ## 📖 Documentação
179
+
180
+ - **Documentação completa**: [NFeWizard-io - Docs](https://nfewizard-org.github.io/)
181
+ - **Guia de Migração v1.0.0**: [BREAKING_CHANGES.md](../../BREAKING_CHANGES.md)
182
+ - **Exemplos de Uso**: Pasta [examples/](../../examples/)
183
+ - [Exemplos de NFe](../../examples/NFe/)
184
+ - [Guia de Build](../../examples/BUILD.md)
185
+ - [Instalação Local para Testes](../../examples/INSTALACAO_LOCAL.md)
186
+ - **CTe**: [Documentação CTe](../../DOCS_CTE.md)
187
+
188
+ ---
189
+
190
+ ## 🔄 Versão 1.0.0 - Modularização
191
+
192
+ ### 🎉 Principais Mudanças
193
+
194
+ - ✅ **NFe**: API 100% compatível (sem breaking changes nas operações)
195
+ - ⚠️ **DANFE**: Removido deste pacote - use `@nfewizard/danfe`
196
+ - ⚠️ **NFCe**: Movido para `@nfewizard/nfce`
197
+ - ⚠️ **CTe**: Movido para `@nfewizard/cte`
198
+ - 🆕 **NFSe**: Novo pacote `@nfewizard/nfse` (em testes)
199
+ - 📉 **Redução de bundle**: Até 77% menor (4.37 MB vs 19.1 MB)
200
+ - ✅ **NT 2025.002 v.130**: Suporte completo à Reforma Tributária
201
+
202
+ 📋 **[Consulte o Guia Completo de Migração](../../BREAKING_CHANGES.md)**
203
+
204
+ ---
205
+
206
+ ## ⚙️ Configuração TypeScript
207
+
208
+ ### tsconfig.json recomendado
209
+
210
+ ```json
211
+ {
212
+ "compilerOptions": {
213
+ "target": "es2020",
214
+ "module": "nodenext",
215
+ "outDir": "dist",
216
+ "esModuleInterop": true,
217
+ "forceConsistentCasingInFileNames": true,
218
+ "strict": true,
219
+ "skipLibCheck": true,
220
+ "sourceMap": true,
221
+ "inlineSources": true,
222
+ "inlineSourceMap": false,
223
+ "declaration": true,
224
+ "declarationMap": true,
225
+ "moduleResolution": "nodenext"
226
+ }
227
+ }
228
+ ```
229
+
230
+ ### Debug no VS Code (launch.json)
231
+
232
+ ```json
233
+ {
234
+ "version": "0.2.0",
235
+ "configurations": [
236
+ {
237
+ "type": "node",
238
+ "request": "launch",
239
+ "name": "Debug NFe Wizard",
240
+ "skipFiles": ["<node_internals>/**"],
241
+ "program": "${workspaceFolder}/src/testes.ts",
242
+ "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/tsx",
243
+ "runtimeArgs": [],
244
+ "console": "integratedTerminal",
245
+ "env": {
246
+ "NODE_ENV": "development"
247
+ },
248
+ "sourceMaps": true,
249
+ "restart": true,
250
+ "protocol": "inspector",
251
+ "outFiles": ["${workspaceFolder}/**/*.js"]
252
+ }
253
+ ]
254
+ }
255
+ ```
256
+
257
+ ---
258
+
259
+ ## 📝 Observações
260
+
261
+ - **Certificado**: Implementado apenas em certificados A1
262
+ - **Node.js**: Testado com versões 16 ou superiores
263
+ - **UF**: Testado principalmente para São Paulo - reporte issues para outros estados
264
+
265
+ ---
266
+
267
+ ## 🐛 Reportando Issues
268
+
269
+ Ao abrir uma issue, inclua:
270
+
271
+ ```markdown
272
+ ## Parametrização
273
+ - UF: SP
274
+ - Certificado: A1
275
+ - Método: NFE_ConsultaStatusServico
276
+ - Status: ✅ Funcionando / ❌ Com erro
277
+
278
+ ## Logs Relevantes
279
+ Inclua logs de: app.jsonl, error.jsonl, http.jsonl
280
+ ```
281
+
282
+ ```jsonl
283
+ {"context":"NFE_ConsultaProtocolo","error":{"message":"Rejeição: Consumo Indevido",...}
284
+ ```
285
+
286
+ ---
287
+
288
+ ## 🤝 Contribua
289
+
290
+ - **Issues**: [GitHub Issues](https://github.com/Maurelima/nfewizard-io/issues)
291
+ - **Doações**: [GitHub Sponsors](https://github.com/sponsors/Maurelima)
292
+ - **Pix**: `944ce2f2-e90f-400a-a388-bb1fe6719e02` (Marco Lima)
293
+
294
+ ### Outras formas de contribuir
295
+
296
+ - ⭐ Dar uma estrela no [GitHub](https://github.com/Maurelima/nfewizard-io)
297
+ - 🐛 Reportar bugs e sugerir melhorias
298
+ - 📝 Contribuir com código e documentação
299
+ - 📢 Compartilhar o projeto
300
+
301
+ ---
302
+
303
+ ## 👨‍💻 Criador
304
+
305
+ | [<img src="https://avatars.githubusercontent.com/u/59918400?s=400&u=3554ebcf0f75263637516867945ebd371e68da71&v=4" width="75px;"/>](https://github.com/Maurelima) |
306
+ | :---: |
307
+ | [Marco Lima](https://github.com/Maurelima) |
308
+
309
+ ---
310
+
311
+ ## 📄 Licença
312
+
313
+ Projetado com ♥ por [Marco Lima](https://github.com/Maurelima). Licenciado sob a [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.pt-br.html).
@@ -34,5 +34,3 @@ export { NFEEpec } from './nfe/operations/NFERecepcaoEvento/NFEEpec.js';
34
34
  export { NFeWizard } from './NFeWizard.js';
35
35
  export { default } from './NFeWizard.js';
36
36
  export { mountICMS, mountPIS, mountCOFINS } from '@nfewizard/shared';
37
- export type * from '@nfewizard/types/nfe';
38
- export type * from '@nfewizard/types/shared';