treste 2.5.1 → 2.5.3
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 +19 -7
- package/SECURITY.md +165 -0
- package/dist/ast.d.ts +2 -0
- package/dist/ast.d.ts.map +1 -1
- package/dist/compiler/web.d.ts +13 -0
- package/dist/compiler/web.d.ts.map +1 -1
- package/dist/compiler/web.js +194 -6
- package/dist/compiler/web.js.map +1 -1
- package/dist/interpreter.d.ts +4 -0
- package/dist/interpreter.d.ts.map +1 -1
- package/dist/interpreter.js +166 -0
- package/dist/interpreter.js.map +1 -1
- package/dist/lexer.d.ts.map +1 -1
- package/dist/lexer.js +4 -0
- package/dist/lexer.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +25 -0
- package/dist/parser.js.map +1 -1
- package/dist/std/dom.trest +96 -0
- package/dist/std/style.trest +78 -0
- package/dist/std/test.trest +61 -0
- package/dist/std-native.d.ts +208 -2
- package/dist/std-native.d.ts.map +1 -1
- package/dist/std-native.js +823 -50
- package/dist/std-native.js.map +1 -1
- package/package.json +15 -4
- package/src/std/dom.trest +96 -0
- package/src/std/style.trest +78 -0
- package/src/std/test.trest +61 -0
package/README.md
CHANGED
|
@@ -9,9 +9,11 @@ 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.5.
|
|
12
|
+
> **🔒 Segurança:** Versão 2.5.3 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
|
-
> **🚀 Deploy na Vercel:** Versão 2.5.
|
|
14
|
+
> **🚀 Deploy na Vercel:** Versão 2.5.3 inclui suporte completo para deploy na Vercel! Use `npm create trest` para criar projetos otimizados para serverless functions.
|
|
15
|
+
|
|
16
|
+
> **🌐 Full Stack Revolution:** Versão 2.5.3 adiciona manipulação de DOM, CSS e interoperabilidade com NPM! Trest agora é uma linguagem completa para Web e Desktop.
|
|
15
17
|
|
|
16
18
|
## 🚀 Principais Funcionalidades
|
|
17
19
|
|
|
@@ -19,6 +21,10 @@ Linguagem de programação moderna e profissional, estruturalmente organizada e
|
|
|
19
21
|
- ✅ **Compilação para Web** - Gera JavaScript otimizado
|
|
20
22
|
- ✅ **Compilação para Desktop** - Cria executáveis .exe nativos
|
|
21
23
|
- ✅ **Deploy na Vercel** - Crie projetos otimizados para serverless functions
|
|
24
|
+
- ✅ **Manipulação de DOM** - Módulo std/dom para interação com páginas web
|
|
25
|
+
- ✅ **Sistema de CSS** - Módulo std/style para estilização e carregamento de CSS
|
|
26
|
+
- ✅ **Interoperabilidade NPM** - Importe qualquer pacote do ecossistema Node.js
|
|
27
|
+
- ✅ **Framework de Testes** - Módulo std/test para testes unitários
|
|
22
28
|
- ✅ **Sistema de Módulos** - Import/Export de módulos
|
|
23
29
|
- ✅ **Biblioteca Padrão** - std com funções matemáticas, strings, arrays e I/O
|
|
24
30
|
- ✅ **Tratamento de Erros** - Try/Catch/Throw estendido
|
|
@@ -86,13 +92,19 @@ npm --version # deve ser >= 9
|
|
|
86
92
|
|
|
87
93
|
### Criar novo projeto (Vercel-ready)
|
|
88
94
|
```bash
|
|
89
|
-
|
|
90
|
-
# ou
|
|
95
|
+
# Opção 1: Usando npx (Recomendado)
|
|
91
96
|
npx create-trest-app meu-projeto
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
|
|
98
|
+
# Opção 2: Usando npx com alias
|
|
99
|
+
npx create-trest meu-projeto
|
|
100
|
+
|
|
101
|
+
# Opção 3: Se já tiver instalado globalmente
|
|
102
|
+
npm install -g treste@latest
|
|
103
|
+
create-trest-app meu-projeto
|
|
94
104
|
```
|
|
95
105
|
|
|
106
|
+
**Nota:** O comando `npm create trest` requer um pacote separado `create-trest` no npm. Use `npx create-trest-app` que funciona imediatamente.
|
|
107
|
+
|
|
96
108
|
### Executar código inline (sem arquivo)
|
|
97
109
|
```bash
|
|
98
110
|
trest -e "печать('Olá, Mundo!')"
|
|
@@ -481,7 +493,7 @@ Veja a pasta `exemplos/` para programas completos demonstrando:
|
|
|
481
493
|
|
|
482
494
|
## 🔒 Segurança
|
|
483
495
|
|
|
484
|
-
**Versão 2.5.
|
|
496
|
+
**Versão 2.5.3** mantém todas as correções de segurança da cadeia de suprimentos:
|
|
485
497
|
- ✅ Scripts de instalação removidos
|
|
486
498
|
- ✅ Sem acesso ao shell durante instalação
|
|
487
499
|
- ✅ Acesso à rede controlado e documentado
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# 🛡️ Política de Segurança - Trest
|
|
2
|
+
|
|
3
|
+
## Resumo de Segurança
|
|
4
|
+
|
|
5
|
+
Este documento descreve as medidas de segurança implementadas no Trest e explica o uso de funcionalidades que podem ser sinalizadas por ferramentas de análise de segurança.
|
|
6
|
+
|
|
7
|
+
## ✅ Medidas de Segurança Implementadas
|
|
8
|
+
|
|
9
|
+
### 1. Dependências Atualizadas
|
|
10
|
+
|
|
11
|
+
- **Electron**: Atualizado para `^35.7.5` (corrige CVE moderado GHSA-vmqv-hx8q-j7mg)
|
|
12
|
+
- **better-sqlite3**: Atualizado para `^12.6.0` (versão mais recente)
|
|
13
|
+
- Todas as dependências são verificadas regularmente com `npm audit`
|
|
14
|
+
|
|
15
|
+
**⚠️ Vulnerabilidade Conhecida (DevDependency):**
|
|
16
|
+
- **pkg**: CVE moderado GHSA-22r3-9w55-cj54 (Local Privilege Escalation)
|
|
17
|
+
- **Status**: Sem correção disponível no momento
|
|
18
|
+
- **Impacto**: Apenas em desenvolvimento (devDependency)
|
|
19
|
+
- **Mitigação**: `pkg` é usado apenas para criar executáveis durante desenvolvimento. Não é incluído no pacote publicado.
|
|
20
|
+
- **Recomendação**: Usar apenas em ambientes de desenvolvimento confiáveis
|
|
21
|
+
|
|
22
|
+
### 2. Scripts de Instalação
|
|
23
|
+
|
|
24
|
+
**Status:** ✅ **SEGURO**
|
|
25
|
+
|
|
26
|
+
O script `prepare` é necessário para compilar o TypeScript antes da instalação. Ele:
|
|
27
|
+
- Executa apenas `npm run build` (compilação TypeScript)
|
|
28
|
+
- Não acessa rede ou shell
|
|
29
|
+
- É um padrão da indústria para pacotes TypeScript
|
|
30
|
+
|
|
31
|
+
**Scripts removidos:**
|
|
32
|
+
- ❌ `preinstall` - Removido (não executa código externo)
|
|
33
|
+
- ❌ `postinstall` - Removido (não executa código externo)
|
|
34
|
+
|
|
35
|
+
### 3. Acesso ao Shell (child_process)
|
|
36
|
+
|
|
37
|
+
**Status:** ⚠️ **FUNCIONALIDADE NECESSÁRIA** (Documentado)
|
|
38
|
+
|
|
39
|
+
O Trest usa `child_process.spawn()` e `child_process.execSync()` para:
|
|
40
|
+
|
|
41
|
+
1. **Executar compilador** (`src/cli.ts`):
|
|
42
|
+
- Quando `--mode` é usado, o CLI spawna o processo do compilador
|
|
43
|
+
- Isso é necessário para separar a execução do interpretador do compilador
|
|
44
|
+
- **Segurança**: Apenas executa `node compiler.js` com argumentos validados
|
|
45
|
+
|
|
46
|
+
2. **Executar Electron** (`src/cli.ts`):
|
|
47
|
+
- Quando código GUI é detectado, spawna o processo Electron
|
|
48
|
+
- Isso é necessário porque Electron precisa ser o processo principal
|
|
49
|
+
- **Segurança**: Apenas executa `electron` com caminhos validados
|
|
50
|
+
|
|
51
|
+
3. **Atualização** (`src/cli.ts`):
|
|
52
|
+
- O comando `trest --update` executa script de atualização
|
|
53
|
+
- **Segurança**: Apenas executa scripts locais do próprio pacote
|
|
54
|
+
|
|
55
|
+
**Mitigações:**
|
|
56
|
+
- ✅ Apenas executa processos conhecidos (`node`, `electron`)
|
|
57
|
+
- ✅ Argumentos são validados antes da execução
|
|
58
|
+
- ✅ Não executa código arbitrário do usuário
|
|
59
|
+
- ✅ Não usa `shell: true` exceto quando necessário (Windows)
|
|
60
|
+
|
|
61
|
+
### 4. Acesso à Rede
|
|
62
|
+
|
|
63
|
+
**Status:** ✅ **FUNCIONALIDADE LEGÍTIMA**
|
|
64
|
+
|
|
65
|
+
O módulo `std/http` acessa a rede para:
|
|
66
|
+
- Fazer requisições HTTP/HTTPS
|
|
67
|
+
- Criar servidores HTTP
|
|
68
|
+
- Funciona apenas quando o código Trest **explicitamente usa** o módulo
|
|
69
|
+
|
|
70
|
+
**Quando é usado:**
|
|
71
|
+
```trest
|
|
72
|
+
импорт * как HTTP измодуля "std/http"
|
|
73
|
+
HTTP.fetch("https://api.exemplo.com")
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Segurança:**
|
|
77
|
+
- ✅ Acesso à rede é controlado pelo usuário
|
|
78
|
+
- ✅ Não faz requisições automáticas
|
|
79
|
+
- ✅ Usa APIs nativas do Node.js (`http`, `https`)
|
|
80
|
+
|
|
81
|
+
### 5. Código Nativo
|
|
82
|
+
|
|
83
|
+
**Status:** ✅ **NECESSÁRIO PARA FUNCIONALIDADE**
|
|
84
|
+
|
|
85
|
+
Os seguintes pacotes contêm código nativo:
|
|
86
|
+
|
|
87
|
+
- **better-sqlite3**: Requerido para acesso a banco de dados SQLite
|
|
88
|
+
- **electron**: Requerido para aplicações GUI
|
|
89
|
+
- **mysql2**: Requerido para acesso a banco de dados MySQL (contém código nativo para performance)
|
|
90
|
+
|
|
91
|
+
**Segurança:**
|
|
92
|
+
- ✅ Todos os pacotes são de fontes confiáveis (npm oficial)
|
|
93
|
+
- ✅ Código nativo é compilado durante instalação
|
|
94
|
+
- ✅ Não há binários pré-compilados suspeitos
|
|
95
|
+
|
|
96
|
+
### 6. Uso de `require()` Dinâmico
|
|
97
|
+
|
|
98
|
+
**Status:** ✅ **FUNCIONALIDADE NECESSÁRIA**
|
|
99
|
+
|
|
100
|
+
O Trest usa `require()` dinâmico para:
|
|
101
|
+
- Carregar módulos NPM via `изpkg` / `fromPkg`
|
|
102
|
+
- Carregar módulos Trest via `импорт`
|
|
103
|
+
|
|
104
|
+
**Segurança:**
|
|
105
|
+
- ✅ Apenas carrega módulos especificados pelo usuário
|
|
106
|
+
- ✅ Não executa código arbitrário
|
|
107
|
+
- ✅ Usa o sistema de módulos padrão do Node.js
|
|
108
|
+
|
|
109
|
+
### 7. Dependências com Wildcards
|
|
110
|
+
|
|
111
|
+
**Status:** ✅ **CORRIGIDO**
|
|
112
|
+
|
|
113
|
+
Todas as dependências agora usam versões específicas ou ranges seguros:
|
|
114
|
+
- `^` (caret) permite apenas atualizações de patch e minor
|
|
115
|
+
- Não usa `*` ou ranges muito amplos
|
|
116
|
+
|
|
117
|
+
### 8. Pacotes Deprecados
|
|
118
|
+
|
|
119
|
+
**Status:** ✅ **VERIFICADO**
|
|
120
|
+
|
|
121
|
+
- Nenhum pacote direto está deprecado
|
|
122
|
+
- Dependências transitivas são verificadas regularmente
|
|
123
|
+
|
|
124
|
+
## 🔍 Verificação de Segurança
|
|
125
|
+
|
|
126
|
+
Para verificar a segurança do projeto:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Verificar vulnerabilidades
|
|
130
|
+
npm audit
|
|
131
|
+
|
|
132
|
+
# Verificar dependências desatualizadas
|
|
133
|
+
npm outdated
|
|
134
|
+
|
|
135
|
+
# Verificar licenças
|
|
136
|
+
npm ls --depth=0
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## 📝 Relatório de Vulnerabilidades
|
|
140
|
+
|
|
141
|
+
Se você encontrar uma vulnerabilidade de segurança, por favor:
|
|
142
|
+
|
|
143
|
+
1. **NÃO** abra uma issue pública
|
|
144
|
+
2. Envie um email para: [seu-email]
|
|
145
|
+
3. Inclua detalhes sobre a vulnerabilidade
|
|
146
|
+
4. Aguarde resposta antes de divulgar publicamente
|
|
147
|
+
|
|
148
|
+
## ✅ Checklist de Segurança
|
|
149
|
+
|
|
150
|
+
- [x] Dependências atualizadas
|
|
151
|
+
- [x] Scripts de instalação seguros
|
|
152
|
+
- [x] Shell access documentado
|
|
153
|
+
- [x] Network access documentado
|
|
154
|
+
- [x] Código nativo justificado
|
|
155
|
+
- [x] Require dinâmico documentado
|
|
156
|
+
- [x] Wildcards corrigidos
|
|
157
|
+
- [x] Pacotes deprecados verificados
|
|
158
|
+
- [x] CVE de produção corrigidos
|
|
159
|
+
- [x] CVE de desenvolvimento documentado (pkg - devDependency apenas)
|
|
160
|
+
|
|
161
|
+
## 📚 Referências
|
|
162
|
+
|
|
163
|
+
- [npm Security Best Practices](https://docs.npmjs.com/security-best-practices)
|
|
164
|
+
- [Node.js Security Checklist](https://blog.risingstack.com/node-js-security-checklist/)
|
|
165
|
+
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
|
package/dist/ast.d.ts
CHANGED
|
@@ -14,12 +14,14 @@ export interface FunctionDeclaration {
|
|
|
14
14
|
name: string;
|
|
15
15
|
params: string[];
|
|
16
16
|
body: BlockStatement;
|
|
17
|
+
async?: boolean;
|
|
17
18
|
}
|
|
18
19
|
export interface FunctionExpression {
|
|
19
20
|
type: 'FunctionExpression';
|
|
20
21
|
name?: string;
|
|
21
22
|
params: string[];
|
|
22
23
|
body: BlockStatement;
|
|
24
|
+
async?: boolean;
|
|
23
25
|
}
|
|
24
26
|
export interface ClassDeclaration {
|
|
25
27
|
type: 'ClassDeclaration';
|
package/dist/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GACf,OAAO,GACP,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,cAAc,GACd,WAAW,GACX,eAAe,GACf,UAAU,GACV,aAAa,GACb,cAAc,GACd,YAAY,GACZ,cAAc,GACd,cAAc,GACd,eAAe,GACf,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,UAAU,GACV,OAAO,GACP,YAAY,GACZ,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
|
package/dist/compiler/web.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare class WebCompiler {
|
|
|
3
3
|
private output;
|
|
4
4
|
private indentLevel;
|
|
5
5
|
private imports;
|
|
6
|
+
private basePath;
|
|
6
7
|
constructor(basePath?: string);
|
|
7
8
|
compile(filePath: string, options?: {
|
|
8
9
|
minify?: boolean;
|
|
@@ -29,6 +30,14 @@ export declare class WebCompiler {
|
|
|
29
30
|
private compileBinaryExpression;
|
|
30
31
|
private compileUnaryExpression;
|
|
31
32
|
private compileCallExpression;
|
|
33
|
+
/**
|
|
34
|
+
* Compila chamadas DOM para JavaScript nativo do navegador
|
|
35
|
+
*/
|
|
36
|
+
private compileDOMCall;
|
|
37
|
+
/**
|
|
38
|
+
* Compila chamadas Style para JavaScript nativo do navegador
|
|
39
|
+
*/
|
|
40
|
+
private compileStyleCall;
|
|
32
41
|
private compileAssignmentExpression;
|
|
33
42
|
private compileArrayLiteral;
|
|
34
43
|
private compileIndexExpression;
|
|
@@ -39,6 +48,10 @@ export declare class WebCompiler {
|
|
|
39
48
|
private addLine;
|
|
40
49
|
private indent;
|
|
41
50
|
private dedent;
|
|
51
|
+
/**
|
|
52
|
+
* Extrai string literal dos argumentos (para Style.loadFile)
|
|
53
|
+
*/
|
|
54
|
+
private extractStringFromArgs;
|
|
42
55
|
private minify;
|
|
43
56
|
}
|
|
44
57
|
//# sourceMappingURL=web.d.ts.map
|
|
@@ -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;
|
|
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;IACzC,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,GAAE,MAAsB;IAKrC,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;IA4BhH,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,0BAA0B;IAUlC,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;IAqB9B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoDtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmGxB,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,yBAAyB;IAsCjC,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,MAAM;CASf"}
|
package/dist/compiler/web.js
CHANGED
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.WebCompiler = void 0;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
38
39
|
const lexer_1 = require("../lexer");
|
|
39
40
|
const parser_1 = require("../parser");
|
|
40
41
|
const module_1 = require("../module");
|
|
@@ -44,6 +45,7 @@ class WebCompiler {
|
|
|
44
45
|
this.indentLevel = 0;
|
|
45
46
|
this.imports = new Set();
|
|
46
47
|
this.moduleSystem = new module_1.ModuleSystem(basePath);
|
|
48
|
+
this.basePath = basePath;
|
|
47
49
|
}
|
|
48
50
|
compile(filePath, options = {}) {
|
|
49
51
|
const source = fs.readFileSync(filePath, 'utf-8');
|
|
@@ -54,6 +56,8 @@ class WebCompiler {
|
|
|
54
56
|
this.output = [];
|
|
55
57
|
this.imports.clear();
|
|
56
58
|
this.indentLevel = 0;
|
|
59
|
+
// Atualizar basePath para o diretório do arquivo sendo compilado
|
|
60
|
+
this.basePath = path.dirname(path.resolve(filePath));
|
|
57
61
|
if (options.bundle) {
|
|
58
62
|
this.compileProgramBundled(program, filePath, options.expose);
|
|
59
63
|
}
|
|
@@ -207,7 +211,8 @@ class WebCompiler {
|
|
|
207
211
|
}
|
|
208
212
|
compileFunctionDeclaration(node) {
|
|
209
213
|
const params = node.params.join(', ');
|
|
210
|
-
|
|
214
|
+
const asyncKeyword = node.async ? 'async ' : '';
|
|
215
|
+
this.addLine(`${asyncKeyword}function ${node.name}(${params}) {`);
|
|
211
216
|
this.indent();
|
|
212
217
|
this.compileBlockStatement(node.body);
|
|
213
218
|
this.dedent();
|
|
@@ -289,10 +294,25 @@ class WebCompiler {
|
|
|
289
294
|
this.addLine(`${this.compileExpression(node.expression)};`);
|
|
290
295
|
}
|
|
291
296
|
compileImportStatement(node) {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
297
|
+
const isPkg = node.isPkg || false;
|
|
298
|
+
if (isPkg) {
|
|
299
|
+
// Importação de pacote NPM - usar require() ou import ES6
|
|
300
|
+
for (const spec of node.specifiers) {
|
|
301
|
+
if (spec.imported === '*') {
|
|
302
|
+
const localName = spec.local || '*';
|
|
303
|
+
this.addLine(`const ${localName} = require('${node.source}');`);
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
const localName = spec.local || spec.imported;
|
|
307
|
+
this.addLine(`const { ${spec.imported}: ${localName} } = require('${node.source}');`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
// Importação de módulo Trest - marcar para bundling
|
|
313
|
+
this.imports.add(node.source);
|
|
314
|
+
this.addLine(`// import ${node.specifiers.map((s) => s.local || s.imported).join(', ')} from '${node.source}'`);
|
|
315
|
+
}
|
|
296
316
|
}
|
|
297
317
|
compileTryStatement(node) {
|
|
298
318
|
this.addLine('try {');
|
|
@@ -349,13 +369,167 @@ class WebCompiler {
|
|
|
349
369
|
return `(${this.compileExpression(expr.left)} ${expr.operator} ${this.compileExpression(expr.right)})`;
|
|
350
370
|
}
|
|
351
371
|
compileUnaryExpression(expr) {
|
|
372
|
+
// Suporte a await
|
|
373
|
+
if (expr.operator === 'await') {
|
|
374
|
+
return `await ${this.compileExpression(expr.argument)}`;
|
|
375
|
+
}
|
|
352
376
|
return `${expr.operator}${this.compileExpression(expr.argument)}`;
|
|
353
377
|
}
|
|
354
378
|
compileCallExpression(expr) {
|
|
355
379
|
const callee = this.compileExpression(expr.callee);
|
|
356
380
|
const args = expr.arguments.map((arg) => this.compileExpression(arg)).join(', ');
|
|
381
|
+
// Compilar chamadas DOM para JavaScript nativo do navegador
|
|
382
|
+
if (callee.startsWith('DOM.')) {
|
|
383
|
+
return this.compileDOMCall(callee, args);
|
|
384
|
+
}
|
|
385
|
+
// Compilar chamadas Style para JavaScript nativo do navegador
|
|
386
|
+
if (callee.startsWith('Style.')) {
|
|
387
|
+
return this.compileStyleCall(callee, args);
|
|
388
|
+
}
|
|
357
389
|
return `${callee}(${args})`;
|
|
358
390
|
}
|
|
391
|
+
/**
|
|
392
|
+
* Compila chamadas DOM para JavaScript nativo do navegador
|
|
393
|
+
*/
|
|
394
|
+
compileDOMCall(callee, args) {
|
|
395
|
+
const method = callee.replace('DOM.', '');
|
|
396
|
+
// Mapear métodos Trest para JavaScript nativo
|
|
397
|
+
const domMap = {
|
|
398
|
+
'selecionar': 'document.querySelector',
|
|
399
|
+
'select': 'document.querySelector',
|
|
400
|
+
'evento': 'addEventListener',
|
|
401
|
+
'addEvent': 'addEventListener',
|
|
402
|
+
'texto': 'innerText',
|
|
403
|
+
'setText': 'innerText',
|
|
404
|
+
'html': 'innerHTML',
|
|
405
|
+
'setHTML': 'innerHTML',
|
|
406
|
+
'valor': 'value',
|
|
407
|
+
'val': 'value',
|
|
408
|
+
'criar': 'document.createElement',
|
|
409
|
+
'create': 'document.createElement',
|
|
410
|
+
'adicionar': 'appendChild',
|
|
411
|
+
'append': 'appendChild',
|
|
412
|
+
'remover': 'remove',
|
|
413
|
+
'remove': 'remove',
|
|
414
|
+
'atributo': 'getAttribute',
|
|
415
|
+
'getAttr': 'getAttribute',
|
|
416
|
+
'definirАтрибут': 'setAttribute',
|
|
417
|
+
'setAttr': 'setAttribute',
|
|
418
|
+
};
|
|
419
|
+
const jsMethod = domMap[method] || method;
|
|
420
|
+
// Métodos que retornam propriedades (getters)
|
|
421
|
+
if (['texto', 'setText', 'html', 'setHTML', 'valor', 'val', 'atributo', 'getAttr'].includes(method)) {
|
|
422
|
+
if (args) {
|
|
423
|
+
// Setter: elemento.innerText = valor
|
|
424
|
+
return `${args.split(',')[0]}.${jsMethod} = ${args.split(',')[1] || args.split(',')[0]}`;
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
// Getter: elemento.innerText
|
|
428
|
+
return `${args}.${jsMethod}`;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
// Métodos que são chamadas de função
|
|
432
|
+
if (jsMethod.includes('.')) {
|
|
433
|
+
// document.querySelector, document.createElement
|
|
434
|
+
return `${jsMethod}(${args})`;
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
// addEventListener, appendChild, etc (métodos de elemento)
|
|
438
|
+
const element = args.split(',')[0];
|
|
439
|
+
const restArgs = args.split(',').slice(1).join(',');
|
|
440
|
+
return `${element}.${jsMethod}(${restArgs})`;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Compila chamadas Style para JavaScript nativo do navegador
|
|
445
|
+
*/
|
|
446
|
+
compileStyleCall(callee, args) {
|
|
447
|
+
const method = callee.replace('Style.', '');
|
|
448
|
+
// Mapear métodos Trest para JavaScript nativo
|
|
449
|
+
const styleMap = {
|
|
450
|
+
'carregarCDN': 'loadCDN',
|
|
451
|
+
'loadCDN': 'loadCDN',
|
|
452
|
+
'carregarАрхив': 'loadFile',
|
|
453
|
+
'loadFile': 'loadFile',
|
|
454
|
+
'aplicar': 'apply',
|
|
455
|
+
'apply': 'apply',
|
|
456
|
+
'obter': 'getComputedStyle',
|
|
457
|
+
'get': 'getComputedStyle',
|
|
458
|
+
'definir': 'style',
|
|
459
|
+
'set': 'style',
|
|
460
|
+
'добавитьКласс': 'classList.add',
|
|
461
|
+
'addClass': 'classList.add',
|
|
462
|
+
'удалитьКласс': 'classList.remove',
|
|
463
|
+
'removeClass': 'classList.remove',
|
|
464
|
+
'переключитьКласс': 'classList.toggle',
|
|
465
|
+
'toggleClass': 'classList.toggle',
|
|
466
|
+
};
|
|
467
|
+
const jsMethod = styleMap[method] || method;
|
|
468
|
+
// Carregar CDN - criar elemento <link>
|
|
469
|
+
if (method === 'carregarCDN' || method === 'loadCDN') {
|
|
470
|
+
return `(function() { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = ${args}; document.head.appendChild(link); })()`;
|
|
471
|
+
}
|
|
472
|
+
// Carregar arquivo - ler CSS do disco e injetar como <style>
|
|
473
|
+
if (method === 'carregарАрхив' || method === 'loadFile') {
|
|
474
|
+
// Extrair o caminho do arquivo do argumento
|
|
475
|
+
const cssPath = this.extractStringFromArgs(args);
|
|
476
|
+
if (cssPath) {
|
|
477
|
+
// Resolver caminho relativo ao arquivo fonte
|
|
478
|
+
const resolvedPath = path.resolve(this.basePath, cssPath);
|
|
479
|
+
// Verificar se arquivo existe
|
|
480
|
+
if (fs.existsSync(resolvedPath)) {
|
|
481
|
+
// Ler conteúdo do CSS
|
|
482
|
+
const cssContent = fs.readFileSync(resolvedPath, 'utf-8');
|
|
483
|
+
// Minificar CSS básico (remover espaços extras)
|
|
484
|
+
const minifiedCSS = cssContent
|
|
485
|
+
.replace(/\/\*[\s\S]*?\*\//g, '') // Remover comentários
|
|
486
|
+
.replace(/\s+/g, ' ') // Comprimir espaços
|
|
487
|
+
.replace(/;\s*}/g, ';}') // Remover espaços antes de }
|
|
488
|
+
.replace(/\s*{\s*/g, '{') // Remover espaços em {
|
|
489
|
+
.replace(/\s*:\s*/g, ':') // Remover espaços em :
|
|
490
|
+
.trim();
|
|
491
|
+
// Escapar para JavaScript string
|
|
492
|
+
const escapedCSS = minifiedCSS
|
|
493
|
+
.replace(/\\/g, '\\\\')
|
|
494
|
+
.replace(/'/g, "\\'")
|
|
495
|
+
.replace(/"/g, '\\"')
|
|
496
|
+
.replace(/\n/g, '\\n')
|
|
497
|
+
.replace(/\r/g, '\\r');
|
|
498
|
+
// Retornar código que injeta o CSS como <style>
|
|
499
|
+
return `(function() { const style = document.createElement('style'); style.textContent = '${escapedCSS}'; document.head.appendChild(style); })()`;
|
|
500
|
+
}
|
|
501
|
+
else {
|
|
502
|
+
// Arquivo não encontrado - avisar mas não quebrar
|
|
503
|
+
console.warn(`[Web Compiler] Arquivo CSS não encontrado: ${resolvedPath}`);
|
|
504
|
+
return `(function() { console.warn('CSS file not found: ${cssPath}'); })()`;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
// Fallback para comportamento antigo se não conseguir extrair caminho
|
|
508
|
+
return `(function() { const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = ${args}; document.head.appendChild(link); })()`;
|
|
509
|
+
}
|
|
510
|
+
// Aplicar estilos - aplicar objeto de estilos
|
|
511
|
+
if (method === 'aplicar' || method === 'apply') {
|
|
512
|
+
const [element, styles] = args.split(',').map(a => a.trim());
|
|
513
|
+
return `(function() { const el = ${element}; const s = ${styles}; for (const k in s) { el.style[k] = s[k]; } })()`;
|
|
514
|
+
}
|
|
515
|
+
// Obter estilo computado
|
|
516
|
+
if (method === 'obter' || method === 'get') {
|
|
517
|
+
const [element, property] = args.split(',').map(a => a.trim());
|
|
518
|
+
return `window.getComputedStyle(${element}).${property}`;
|
|
519
|
+
}
|
|
520
|
+
// Definir estilo
|
|
521
|
+
if (method === 'definir' || method === 'set') {
|
|
522
|
+
const [element, property, value] = args.split(',').map(a => a.trim());
|
|
523
|
+
return `${element}.style.${property} = ${value}`;
|
|
524
|
+
}
|
|
525
|
+
// Classes CSS
|
|
526
|
+
if (method.includes('classList')) {
|
|
527
|
+
const [element, className] = args.split(',').map(a => a.trim());
|
|
528
|
+
const action = method.includes('add') ? 'add' : method.includes('remove') ? 'remove' : 'toggle';
|
|
529
|
+
return `${element}.classList.${action}(${className})`;
|
|
530
|
+
}
|
|
531
|
+
return `Style.${method}(${args})`;
|
|
532
|
+
}
|
|
359
533
|
compileAssignmentExpression(expr) {
|
|
360
534
|
const left = this.compileExpression(expr.left);
|
|
361
535
|
const right = this.compileExpression(expr.right);
|
|
@@ -385,8 +559,9 @@ class WebCompiler {
|
|
|
385
559
|
compileFunctionExpression(expr) {
|
|
386
560
|
const name = expr.name || '';
|
|
387
561
|
const params = expr.params.join(', ');
|
|
562
|
+
const asyncKeyword = expr.async ? 'async ' : '';
|
|
388
563
|
// Criar função anônima ou nomeada
|
|
389
|
-
const funcName = name ?
|
|
564
|
+
const funcName = name ? `${asyncKeyword}function ${name}` : `${asyncKeyword}function`;
|
|
390
565
|
// Compilar o corpo da função em um buffer separado
|
|
391
566
|
const funcBodyBuffer = [];
|
|
392
567
|
const savedOutput = this.output;
|
|
@@ -430,6 +605,19 @@ class WebCompiler {
|
|
|
430
605
|
dedent() {
|
|
431
606
|
this.indentLevel--;
|
|
432
607
|
}
|
|
608
|
+
/**
|
|
609
|
+
* Extrai string literal dos argumentos (para Style.loadFile)
|
|
610
|
+
*/
|
|
611
|
+
extractStringFromArgs(args) {
|
|
612
|
+
// Remover espaços e tentar extrair string
|
|
613
|
+
const trimmed = args.trim();
|
|
614
|
+
// Se começa e termina com aspas simples ou duplas
|
|
615
|
+
if ((trimmed.startsWith("'") && trimmed.endsWith("'")) ||
|
|
616
|
+
(trimmed.startsWith('"') && trimmed.endsWith('"'))) {
|
|
617
|
+
return trimmed.slice(1, -1);
|
|
618
|
+
}
|
|
619
|
+
return null;
|
|
620
|
+
}
|
|
433
621
|
minify(code) {
|
|
434
622
|
// Minificação básica
|
|
435
623
|
return code
|
package/dist/compiler/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/compiler/web.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/compiler/web.ts"],"names":[],"mappings":"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"}
|