treste 2.4.7 → 2.4.9
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/INSTALL.md +35 -4
- package/README.md +2 -2
- package/dist/ast.d.ts +1 -1
- package/dist/ast.d.ts.map +1 -1
- package/dist/cli.js +178 -0
- package/dist/cli.js.map +1 -1
- package/dist/compiler/exe.d.ts.map +1 -1
- package/dist/compiler/exe.js +130 -18
- package/dist/compiler/exe.js.map +1 -1
- package/dist/compiler/web.d.ts +1 -0
- package/dist/compiler/web.d.ts.map +1 -1
- package/dist/compiler/web.js +31 -0
- package/dist/compiler/web.js.map +1 -1
- package/dist/interpreter.d.ts.map +1 -1
- package/dist/interpreter.js +89 -16
- package/dist/interpreter.js.map +1 -1
- package/dist/lexer.d.ts.map +1 -1
- package/dist/lexer.js +3 -0
- package/dist/lexer.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +43 -13
- package/dist/parser.js.map +1 -1
- package/dist/scripts/create-app.js +408 -0
- package/dist/std/date.trest +9 -4
- package/dist/std/gui.trest +5 -0
- package/dist/std-native.d.ts +61 -9
- package/dist/std-native.d.ts.map +1 -1
- package/dist/std-native.js +861 -48
- package/dist/std-native.js.map +1 -1
- package/package.json +98 -95
- package/src/std/date.trest +9 -4
- package/src/std/gui.trest +5 -0
package/INSTALL.md
CHANGED
|
@@ -39,9 +39,39 @@ trest arquivo.trest
|
|
|
39
39
|
trestc arquivo.trest --mode web
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
### Opção 2:
|
|
42
|
+
### Opção 2: Criar Novo Projeto com create-trest-app (Recomendado para Novos Projetos)
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
Crie um novo projeto Trest localmente com estrutura completa:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx create-trest-app meu-projeto
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
ou
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx create-treste-app meu-projeto
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Isso criará:
|
|
57
|
+
- ✅ Estrutura de pastas (`src/`, `exemplos/`)
|
|
58
|
+
- ✅ Arquivo principal (`src/main.trest`)
|
|
59
|
+
- ✅ Exemplo de código (`exemplos/exemplo.trest`)
|
|
60
|
+
- ✅ `package.json` configurado com scripts
|
|
61
|
+
- ✅ `README.md` com instruções
|
|
62
|
+
- ✅ Instalação local do Trest (versão atualizada)
|
|
63
|
+
|
|
64
|
+
**Entrar no projeto e executar:**
|
|
65
|
+
```bash
|
|
66
|
+
cd meu-projeto
|
|
67
|
+
npm start
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Veja [CREATE_APP.md](CREATE_APP.md) para mais informações.
|
|
71
|
+
|
|
72
|
+
### Opção 3: Instalação Local em Projeto Existente
|
|
73
|
+
|
|
74
|
+
Para usar o Trest em um projeto já existente:
|
|
45
75
|
|
|
46
76
|
```bash
|
|
47
77
|
npm install treste
|
|
@@ -53,7 +83,7 @@ npx trest arquivo.trest
|
|
|
53
83
|
npx trestc arquivo.trest --mode web
|
|
54
84
|
```
|
|
55
85
|
|
|
56
|
-
### Opção
|
|
86
|
+
### Opção 4: Instalação a partir do Código Fonte
|
|
57
87
|
|
|
58
88
|
Se você quer contribuir ou customizar o Trest:
|
|
59
89
|
|
|
@@ -95,7 +125,7 @@ O Trest cria automaticamente um arquivo `.trestrc` na primeira execução:
|
|
|
95
125
|
|
|
96
126
|
```json
|
|
97
127
|
{
|
|
98
|
-
"version": "2.4.
|
|
128
|
+
"version": "2.4.9",
|
|
99
129
|
"compiler": {
|
|
100
130
|
"web": {
|
|
101
131
|
"minify": false,
|
|
@@ -220,6 +250,7 @@ npm uninstall treste
|
|
|
220
250
|
Depois de instalar, consulte:
|
|
221
251
|
|
|
222
252
|
- [README.md](README.md) - Visão geral do projeto
|
|
253
|
+
- [CREATE_APP.md](CREATE_APP.md) - Como criar novos projetos com `create-trest-app`
|
|
223
254
|
- [DOCUMENTACAO_COMPLETA.md](DOCUMENTACAO_COMPLETA.md) - Documentação completa unificada
|
|
224
255
|
|
|
225
256
|
## 💡 Dicas
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ Linguagem de programação moderna e profissional, estruturalmente organizada e
|
|
|
9
9
|
|
|
10
10
|
> **🎯 Característica Única:** Trest permite programar usando palavras-chave em cirílico ou latino, mantendo a mesma sintaxe e funcionalidades.
|
|
11
11
|
|
|
12
|
-
> **🔒 Segurança:** Versão 2.4.
|
|
12
|
+
> **🔒 Segurança:** Versão 2.4.9 mantém todas as correções de segurança da cadeia de suprimentos. Veja [DOCUMENTACAO_COMPLETA.md](./DOCUMENTACAO_COMPLETA.md#segurança) para detalhes.
|
|
13
13
|
|
|
14
14
|
## 🚀 Principais Funcionalidades
|
|
15
15
|
|
|
@@ -469,7 +469,7 @@ Veja a pasta `exemplos/` para programas completos demonstrando:
|
|
|
469
469
|
|
|
470
470
|
## 🔒 Segurança
|
|
471
471
|
|
|
472
|
-
**Versão 2.4.
|
|
472
|
+
**Versão 2.4.9** mantém todas as correções de segurança da cadeia de suprimentos:
|
|
473
473
|
- ✅ Scripts de instalação removidos
|
|
474
474
|
- ✅ Sem acesso ao shell durante instalação
|
|
475
475
|
- ✅ Acesso à rede controlado e documentado
|
package/dist/ast.d.ts
CHANGED
|
@@ -134,7 +134,7 @@ export interface ThrowStatement {
|
|
|
134
134
|
export type Expression = AssignmentExpression | BinaryExpression | UnaryExpression | TernaryExpression | CallExpression | NewExpression | FunctionExpression | Identifier | Literal | ArrayLiteral | IndexExpression | ObjectLiteral | MemberExpression;
|
|
135
135
|
export interface AssignmentExpression {
|
|
136
136
|
type: 'AssignmentExpression';
|
|
137
|
-
left: Identifier | IndexExpression;
|
|
137
|
+
left: Identifier | IndexExpression | MemberExpression;
|
|
138
138
|
operator: '=' | '+=' | '-=' | '*=' | '/=' | '%=';
|
|
139
139
|
right: Expression;
|
|
140
140
|
}
|
package/dist/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -86,6 +86,24 @@ function main() {
|
|
|
86
86
|
executeCode(code, process.cwd(), args);
|
|
87
87
|
process.exit(0);
|
|
88
88
|
}
|
|
89
|
+
// Se há flags de compilação (--mode ou -m), redirecionar para o compilador
|
|
90
|
+
if (args.mode || args.m) {
|
|
91
|
+
const { spawn } = require('child_process');
|
|
92
|
+
const compilerPath = path.join(__dirname, 'compiler.js');
|
|
93
|
+
const compilerArgs = process.argv.slice(2);
|
|
94
|
+
const compilerProcess = spawn('node', [compilerPath, ...compilerArgs], {
|
|
95
|
+
stdio: 'inherit',
|
|
96
|
+
cwd: process.cwd()
|
|
97
|
+
});
|
|
98
|
+
compilerProcess.on('close', (code) => {
|
|
99
|
+
process.exit(code || 0);
|
|
100
|
+
});
|
|
101
|
+
compilerProcess.on('error', (err) => {
|
|
102
|
+
console.error('❌ Erro ao executar compilador:', err.message);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
});
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
89
107
|
const filePath = args._[0];
|
|
90
108
|
// Validações de arquivo
|
|
91
109
|
if (!filePath) {
|
|
@@ -113,12 +131,172 @@ function main() {
|
|
|
113
131
|
function executeFile(filePath, args) {
|
|
114
132
|
try {
|
|
115
133
|
const startTime = Date.now();
|
|
134
|
+
// Se há flags de compilação (--mode), redirecionar para o compilador
|
|
135
|
+
const mode = args.mode || args.m;
|
|
136
|
+
if (mode) {
|
|
137
|
+
const { spawn } = require('child_process');
|
|
138
|
+
const compilerPath = path.join(__dirname, 'compiler.js');
|
|
139
|
+
const compilerArgs = process.argv.slice(2);
|
|
140
|
+
const compilerProcess = spawn('node', [compilerPath, ...compilerArgs], {
|
|
141
|
+
stdio: 'inherit',
|
|
142
|
+
cwd: process.cwd()
|
|
143
|
+
});
|
|
144
|
+
compilerProcess.on('close', (code) => {
|
|
145
|
+
process.exit(code || 0);
|
|
146
|
+
});
|
|
147
|
+
compilerProcess.on('error', (err) => {
|
|
148
|
+
console.error('❌ Erro ao executar compilador:', err.message);
|
|
149
|
+
process.exit(1);
|
|
150
|
+
});
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
116
153
|
// Ler arquivo
|
|
117
154
|
const code = fs.readFileSync(filePath, 'utf-8');
|
|
118
155
|
if (code.length === 0) {
|
|
119
156
|
console.warn('⚠️ Warning: File is empty');
|
|
120
157
|
process.exit(0);
|
|
121
158
|
}
|
|
159
|
+
// Detectar se usa GUI (Electron precisa ser processo principal)
|
|
160
|
+
const usesGUI = /GUI\.|импорт.*GUI|import.*GUI|создатьОкно|createWindow/i.test(code);
|
|
161
|
+
if (args.debug || args.verbose) {
|
|
162
|
+
console.log(`🔍 GUI detectado: ${usesGUI}, Electron disponível: ${!!process.versions.electron}`);
|
|
163
|
+
}
|
|
164
|
+
// Se usar GUI e não estiver no Electron, executar através do Electron
|
|
165
|
+
// Mas apenas se não estiver em modo de compilação
|
|
166
|
+
const isCompilationMode = args.mode || args.m;
|
|
167
|
+
if (usesGUI && !process.versions.electron && !isCompilationMode) {
|
|
168
|
+
try {
|
|
169
|
+
const electronPath = require.resolve('electron');
|
|
170
|
+
if (electronPath) {
|
|
171
|
+
console.log('🖥️ Detectado uso de GUI - executando através do Electron...\n');
|
|
172
|
+
// Criar script temporário que executa o Trest code no Electron
|
|
173
|
+
const tempScript = path.join(__dirname, '..', 'scripts', 'electron-run.js');
|
|
174
|
+
const resolvedFilePath = path.resolve(filePath);
|
|
175
|
+
const basePath = path.dirname(resolvedFilePath);
|
|
176
|
+
const distPath = path.join(__dirname, '..', 'dist').replace(/\\/g, '/');
|
|
177
|
+
const scriptContent = `const { app } = require('electron');
|
|
178
|
+
const path = require('path');
|
|
179
|
+
const fs = require('fs');
|
|
180
|
+
|
|
181
|
+
const distPath = ${JSON.stringify(distPath)};
|
|
182
|
+
const filePath = ${JSON.stringify(resolvedFilePath.replace(/\\/g, '/'))};
|
|
183
|
+
const basePath = ${JSON.stringify(basePath.replace(/\\/g, '/'))};
|
|
184
|
+
|
|
185
|
+
const { Interpreter } = require(path.join(distPath, 'interpreter'));
|
|
186
|
+
const { Lexer } = require(path.join(distPath, 'lexer'));
|
|
187
|
+
const { Parser } = require(path.join(distPath, 'parser'));
|
|
188
|
+
const { ModuleSystem } = require(path.join(distPath, 'module'));
|
|
189
|
+
|
|
190
|
+
app.whenReady().then(() => {
|
|
191
|
+
try {
|
|
192
|
+
const code = fs.readFileSync(filePath, 'utf-8');
|
|
193
|
+
const lexer = new Lexer(code);
|
|
194
|
+
const tokens = lexer.tokenize();
|
|
195
|
+
const parser = new Parser(tokens);
|
|
196
|
+
const program = parser.parse();
|
|
197
|
+
|
|
198
|
+
const moduleSystem = new ModuleSystem(basePath);
|
|
199
|
+
const interpreter = new Interpreter();
|
|
200
|
+
interpreter.interpret(program);
|
|
201
|
+
} catch (error) {
|
|
202
|
+
console.error('❌ Erro:', error.message);
|
|
203
|
+
if (error.stack) console.error(error.stack);
|
|
204
|
+
app.quit();
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
app.on('window-all-closed', () => {
|
|
209
|
+
if (process.platform !== 'darwin') {
|
|
210
|
+
app.quit();
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
`;
|
|
214
|
+
// Criar pasta scripts se não existir
|
|
215
|
+
const scriptsDir = path.dirname(tempScript);
|
|
216
|
+
if (!fs.existsSync(scriptsDir)) {
|
|
217
|
+
fs.mkdirSync(scriptsDir, { recursive: true });
|
|
218
|
+
}
|
|
219
|
+
fs.writeFileSync(tempScript, scriptContent);
|
|
220
|
+
// Executar através do Electron
|
|
221
|
+
const { spawn } = require('child_process');
|
|
222
|
+
// Tentar encontrar o binário do electron
|
|
223
|
+
let electronCmd;
|
|
224
|
+
let electronArgs = [];
|
|
225
|
+
try {
|
|
226
|
+
// Tentar encontrar o executável do electron usando o package.json do electron
|
|
227
|
+
const electronPackageJson = require.resolve('electron/package.json');
|
|
228
|
+
const electronPackageDir = path.dirname(electronPackageJson);
|
|
229
|
+
const electronExe = path.join(electronPackageDir, 'dist', 'electron.exe');
|
|
230
|
+
const electronCli = path.join(electronPackageDir, 'cli.js');
|
|
231
|
+
// No Windows, usar o .exe diretamente se existir
|
|
232
|
+
if (process.platform === 'win32' && fs.existsSync(electronExe)) {
|
|
233
|
+
electronCmd = electronExe;
|
|
234
|
+
electronArgs = [tempScript];
|
|
235
|
+
}
|
|
236
|
+
else if (fs.existsSync(electronCli)) {
|
|
237
|
+
// Usar node para executar o cli.js do electron (funciona em todos os sistemas)
|
|
238
|
+
electronCmd = process.execPath;
|
|
239
|
+
electronArgs = [electronCli, tempScript];
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
// Usar npx como fallback
|
|
243
|
+
electronCmd = 'npx';
|
|
244
|
+
electronArgs = ['--yes', 'electron', tempScript];
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
// Usar npx como fallback
|
|
249
|
+
electronCmd = 'npx';
|
|
250
|
+
electronArgs = ['--yes', 'electron', tempScript];
|
|
251
|
+
}
|
|
252
|
+
console.log(`🚀 Executando Electron: ${electronCmd} ${electronArgs.join(' ')}`);
|
|
253
|
+
const electronProcess = spawn(electronCmd, electronArgs, {
|
|
254
|
+
stdio: 'inherit',
|
|
255
|
+
cwd: path.dirname(__dirname),
|
|
256
|
+
shell: process.platform === 'win32'
|
|
257
|
+
});
|
|
258
|
+
electronProcess.on('close', (code) => {
|
|
259
|
+
// Limpar script temporário
|
|
260
|
+
try {
|
|
261
|
+
if (fs.existsSync(tempScript)) {
|
|
262
|
+
fs.unlinkSync(tempScript);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
catch (e) {
|
|
266
|
+
// Ignorar erros de limpeza
|
|
267
|
+
}
|
|
268
|
+
process.exit(code || 0);
|
|
269
|
+
});
|
|
270
|
+
electronProcess.on('error', (err) => {
|
|
271
|
+
console.error('❌ Erro ao executar Electron:', err.message);
|
|
272
|
+
console.error('💡 Tentando executar normalmente...\n');
|
|
273
|
+
// Limpar script temporário
|
|
274
|
+
try {
|
|
275
|
+
if (fs.existsSync(tempScript)) {
|
|
276
|
+
fs.unlinkSync(tempScript);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
catch (e) {
|
|
280
|
+
// Ignorar erros de limpeza
|
|
281
|
+
}
|
|
282
|
+
// Fallback: executar normalmente
|
|
283
|
+
try {
|
|
284
|
+
const basePath = path.dirname(filePath);
|
|
285
|
+
executeCode(code, basePath, args);
|
|
286
|
+
}
|
|
287
|
+
catch (execError) {
|
|
288
|
+
handleError(execError, args);
|
|
289
|
+
process.exit(1);
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
catch (e) {
|
|
296
|
+
// Electron não disponível ou erro ao executar - continuar normalmente
|
|
297
|
+
console.warn('⚠️ Aviso: GUI detectado mas Electron não disponível. Executando normalmente...\n');
|
|
298
|
+
}
|
|
299
|
+
}
|
|
122
300
|
const basePath = path.dirname(filePath);
|
|
123
301
|
executeCode(code, basePath, args);
|
|
124
302
|
const duration = Date.now() - startTime;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exe.d.ts","sourceRoot":"","sources":["../../src/compiler/exe.ts"],"names":[],"mappings":"AAQA,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,GAAE,MAAsB;IAK/B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAkChH,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"exe.d.ts","sourceRoot":"","sources":["../../src/compiler/exe.ts"],"names":[],"mappings":"AAQA,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,GAAE,MAAsB;IAK/B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAkChH,OAAO,CAAC,aAAa;YAsDP,eAAe;YAqGf,0BAA0B;IAgB3B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAuBvF"}
|
package/dist/compiler/exe.js
CHANGED
|
@@ -72,29 +72,141 @@ class ExeCompiler {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
createWrapper(jsPath) {
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
|
|
75
|
+
// Criar wrapper que inclui o código diretamente e garante execução correta
|
|
76
|
+
const jsCode = fs.readFileSync(jsPath, 'utf-8');
|
|
77
|
+
// Detectar se o código usa GUI (Electron) ou servidor HTTP
|
|
78
|
+
const usesGUI = /GUI\.|создатьОкно|createWindow|createProgrammaticWindow|manterRodando|keepRunning/i.test(jsCode);
|
|
79
|
+
const usesServer = /createServer|\.listen\(/i.test(jsCode);
|
|
80
|
+
// Criar wrapper que garante execução correta no Node.js
|
|
81
|
+
let wrapperCode = `#!/usr/bin/env node
|
|
82
|
+
// Wrapper para executável Trest
|
|
83
|
+
'use strict';
|
|
78
84
|
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
85
|
+
// Capturar erros não tratados
|
|
86
|
+
process.on('uncaughtException', (error) => {
|
|
87
|
+
console.error('❌ Erro não tratado:', error.message);
|
|
88
|
+
if (error.stack) {
|
|
89
|
+
console.error(error.stack);
|
|
90
|
+
}
|
|
91
|
+
process.exit(1);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
process.on('unhandledRejection', (reason, promise) => {
|
|
95
|
+
console.error('❌ Promise rejeitada não tratada:', reason);
|
|
96
|
+
process.exit(1);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
// Executar código compilado
|
|
100
|
+
try {
|
|
101
|
+
${jsCode}
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.error('❌ Erro ao executar código:', error.message);
|
|
104
|
+
if (error.stack) {
|
|
105
|
+
console.error(error.stack);
|
|
106
|
+
}
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Gerenciar ciclo de vida do processo
|
|
111
|
+
${usesGUI || usesServer ? `
|
|
112
|
+
// Programa usa GUI ou servidor - manter processo vivo
|
|
113
|
+
// O código do programa deve gerenciar o ciclo de vida (GUI.manterRodando() ou servidor.listen())
|
|
114
|
+
` : `
|
|
115
|
+
// Programa simples - aguardar um pouco para garantir que a saída seja exibida
|
|
116
|
+
// Aguardar um tempo maior para permitir operações assíncronas completarem
|
|
117
|
+
setTimeout(() => {
|
|
118
|
+
process.exit(0);
|
|
119
|
+
}, 500);
|
|
120
|
+
`}
|
|
121
|
+
`;
|
|
122
|
+
return wrapperCode;
|
|
83
123
|
}
|
|
84
124
|
async buildExecutable(wrapperPath, outputPath) {
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
125
|
+
// Determinar plataforma e arquitetura
|
|
126
|
+
const platform = process.platform === 'win32' ? 'win' : process.platform === 'darwin' ? 'macos' : 'linux';
|
|
127
|
+
const arch = process.arch === 'x64' ? 'x64' : process.arch === 'ia32' ? 'x86' : 'x64';
|
|
128
|
+
const target = `node18-${platform}-${arch}`;
|
|
129
|
+
// Escapar caminhos para Windows
|
|
130
|
+
const escapePath = (p) => p.replace(/\\/g, '/');
|
|
131
|
+
const wrapperPathEscaped = escapePath(wrapperPath);
|
|
132
|
+
const outputPathEscaped = escapePath(outputPath);
|
|
133
|
+
// Tentar múltiplas estratégias para encontrar o pkg
|
|
134
|
+
const strategies = [
|
|
135
|
+
// 1. Tentar npx pkg (funciona para local e global) - mais confiável
|
|
136
|
+
{
|
|
137
|
+
name: 'npx',
|
|
138
|
+
cmd: `npx --yes pkg "${wrapperPathEscaped}" --target ${target} --output "${outputPathEscaped}"`
|
|
139
|
+
},
|
|
140
|
+
// 2. Tentar pkg global no PATH
|
|
141
|
+
{
|
|
142
|
+
name: 'global',
|
|
143
|
+
cmd: `pkg "${wrapperPathEscaped}" --target ${target} --output "${outputPathEscaped}"`
|
|
144
|
+
},
|
|
145
|
+
// 3. Tentar pkg local em node_modules do projeto atual
|
|
146
|
+
{
|
|
147
|
+
name: 'project-local',
|
|
148
|
+
cmd: (() => {
|
|
149
|
+
// Tentar encontrar node_modules próximo ao dist/cli.js ou dist/compiler.js
|
|
150
|
+
const possiblePaths = [
|
|
151
|
+
path.join(__dirname, '..', 'node_modules', '.bin', 'pkg'),
|
|
152
|
+
path.join(__dirname, '..', '..', 'node_modules', '.bin', 'pkg'),
|
|
153
|
+
path.join(process.cwd(), 'node_modules', '.bin', 'pkg'),
|
|
154
|
+
];
|
|
155
|
+
// No Windows, também tentar com .cmd
|
|
156
|
+
if (process.platform === 'win32') {
|
|
157
|
+
possiblePaths.push(path.join(__dirname, '..', 'node_modules', '.bin', 'pkg.cmd'), path.join(__dirname, '..', '..', 'node_modules', '.bin', 'pkg.cmd'), path.join(process.cwd(), 'node_modules', '.bin', 'pkg.cmd'));
|
|
158
|
+
}
|
|
159
|
+
for (const pkgPath of possiblePaths) {
|
|
160
|
+
if (fs.existsSync(pkgPath)) {
|
|
161
|
+
return `"${escapePath(pkgPath)}" "${wrapperPathEscaped}" --target ${target} --output "${outputPathEscaped}"`;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return null;
|
|
165
|
+
})()
|
|
166
|
+
},
|
|
167
|
+
// 4. Tentar pkg local em node_modules do diretório atual
|
|
168
|
+
{
|
|
169
|
+
name: 'local',
|
|
170
|
+
cmd: (() => {
|
|
171
|
+
const localPkg = path.join(process.cwd(), 'node_modules', '.bin', 'pkg');
|
|
172
|
+
const localPkgCmd = path.join(process.cwd(), 'node_modules', '.bin', 'pkg.cmd');
|
|
173
|
+
if (fs.existsSync(localPkg)) {
|
|
174
|
+
return `"${escapePath(localPkg)}" "${wrapperPathEscaped}" --target ${target} --output "${outputPathEscaped}"`;
|
|
175
|
+
}
|
|
176
|
+
if (process.platform === 'win32' && fs.existsSync(localPkgCmd)) {
|
|
177
|
+
return `"${escapePath(localPkgCmd)}" "${wrapperPathEscaped}" --target ${target} --output "${outputPathEscaped}"`;
|
|
178
|
+
}
|
|
179
|
+
return null;
|
|
180
|
+
})()
|
|
181
|
+
}
|
|
182
|
+
];
|
|
183
|
+
// Tentar cada estratégia até uma funcionar
|
|
184
|
+
for (const strategy of strategies) {
|
|
185
|
+
if (!strategy.cmd)
|
|
186
|
+
continue;
|
|
187
|
+
try {
|
|
188
|
+
console.log(`🔨 Tentando criar executável usando: ${strategy.name}...`);
|
|
189
|
+
const { stdout, stderr } = await execAsync(strategy.cmd);
|
|
190
|
+
if (stdout) {
|
|
191
|
+
console.log(stdout);
|
|
192
|
+
}
|
|
193
|
+
if (stderr && !stderr.includes('warning') && !stderr.includes('Installing')) {
|
|
194
|
+
console.warn(stderr);
|
|
195
|
+
}
|
|
196
|
+
// Verificar se o arquivo .exe foi criado
|
|
197
|
+
if (fs.existsSync(outputPath)) {
|
|
198
|
+
console.log(`✓ Executável criado com sucesso: ${outputPath}`);
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
// Se falhar, tentar próxima estratégia
|
|
204
|
+
continue;
|
|
91
205
|
}
|
|
92
206
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
await this.buildExecutableAlternative(wrapperPath, outputPath);
|
|
97
|
-
}
|
|
207
|
+
// Se nenhuma estratégia funcionou, usar método alternativo
|
|
208
|
+
console.warn('⚠️ pkg não disponível ou não funcionou, tentando método alternativo...');
|
|
209
|
+
await this.buildExecutableAlternative(wrapperPath, outputPath);
|
|
98
210
|
}
|
|
99
211
|
async buildExecutableAlternative(wrapperPath, outputPath) {
|
|
100
212
|
// Método alternativo: usar nexe ou criar um script Node.js standalone
|
package/dist/compiler/exe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exe.js","sourceRoot":"","sources":["../../src/compiler/exe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,+BAAoC;AACpC,iDAAqC;AACrC,+BAAiC;AAEjC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAElC,MAAa,WAAW;IAItB,YAAY,WAAmB,OAAO,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAW,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,UAAmB,EAAE,UAAgC,EAAE;QAC5F,2BAA2B;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5F,4CAA4C;QAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC;QACtF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAErC,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAE3C,8BAA8B;QAC9B,MAAM,eAAe,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,CAC3C,CAAC;QAEF,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACvD,OAAO,eAAe,CAAC;QACzB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,OAAO
|
|
1
|
+
{"version":3,"file":"exe.js","sourceRoot":"","sources":["../../src/compiler/exe.ts"],"names":[],"mappings":"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"}
|
package/dist/compiler/web.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/compiler/web.ts"],"names":[],"mappings":"AAOA,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,QAAQ,GAAE,MAAsB;IAIrC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,MAAM;IA0BhH,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,gCAAgC;IASxC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/compiler/web.ts"],"names":[],"mappings":"AAOA,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,QAAQ,GAAE,MAAsB;IAIrC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,MAAM;IA0BhH,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,gCAAgC;IASxC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;CASf"}
|
package/dist/compiler/web.js
CHANGED
|
@@ -339,6 +339,8 @@ class WebCompiler {
|
|
|
339
339
|
return this.compileObjectLiteral(expr);
|
|
340
340
|
case 'MemberExpression':
|
|
341
341
|
return this.compileMemberExpression(expr);
|
|
342
|
+
case 'FunctionExpression':
|
|
343
|
+
return this.compileFunctionExpression(expr);
|
|
342
344
|
default:
|
|
343
345
|
throw new Error(`Tipo de expressão não suportado: ${expr.type}`);
|
|
344
346
|
}
|
|
@@ -380,6 +382,35 @@ class WebCompiler {
|
|
|
380
382
|
: `.${expr.property}`;
|
|
381
383
|
return `${obj}${prop}`;
|
|
382
384
|
}
|
|
385
|
+
compileFunctionExpression(expr) {
|
|
386
|
+
const name = expr.name || '';
|
|
387
|
+
const params = expr.params.join(', ');
|
|
388
|
+
// Criar função anônima ou nomeada
|
|
389
|
+
const funcName = name ? `function ${name}` : 'function';
|
|
390
|
+
// Compilar o corpo da função em um buffer separado
|
|
391
|
+
const funcBodyBuffer = [];
|
|
392
|
+
const savedOutput = this.output;
|
|
393
|
+
const savedIndent = this.indentLevel;
|
|
394
|
+
// Compilar apenas o conteúdo do bloco (sem as chaves externas)
|
|
395
|
+
this.output = funcBodyBuffer;
|
|
396
|
+
this.indentLevel = 0; // Sem indentação extra, pois será formatado aqui
|
|
397
|
+
// Compilar as declarações dentro do bloco
|
|
398
|
+
for (const stmt of expr.body.body) {
|
|
399
|
+
this.compileNode(stmt, false);
|
|
400
|
+
}
|
|
401
|
+
// Restaurar output e indent originais
|
|
402
|
+
this.output = savedOutput;
|
|
403
|
+
this.indentLevel = savedIndent;
|
|
404
|
+
// Juntar o corpo e adicionar indentação correta
|
|
405
|
+
const bodyLines = funcBodyBuffer.join('').split('\n').filter(line => line.trim().length > 0);
|
|
406
|
+
const indentedBody = bodyLines.map(line => {
|
|
407
|
+
// Remover indentação existente e adicionar indentação correta para função
|
|
408
|
+
const trimmed = line.trim();
|
|
409
|
+
return trimmed ? ' ' + trimmed : '';
|
|
410
|
+
}).join('\n');
|
|
411
|
+
// Retornar como string de função (com formatação correta)
|
|
412
|
+
return `${funcName}(${params}) {\n${indentedBody}\n }`;
|
|
413
|
+
}
|
|
383
414
|
formatLiteral(value) {
|
|
384
415
|
if (value === null)
|
|
385
416
|
return 'null';
|