@designliquido/delegua-node 1.5.17 → 1.6.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/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts +4 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js +35 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js.map +1 -1
- package/bin/package.json +7 -7
- package/delegua.js +1 -1
- package/interpretador/comum.js +1 -1
- package/interpretador/comum.js.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.d.ts +5 -0
- package/mecanismo-importacao-bibliotecas/index.d.ts.map +1 -0
- package/{interpretador/mecanismo-importacao-bibliotecas.js → mecanismo-importacao-bibliotecas/index.js} +34 -17
- package/mecanismo-importacao-bibliotecas/index.js.map +1 -0
- package/package.json +7 -7
- package/interpretador/mecanismo-importacao-bibliotecas.d.ts +0 -3
- package/interpretador/mecanismo-importacao-bibliotecas.d.ts.map +0 -1
- package/interpretador/mecanismo-importacao-bibliotecas.js.map +0 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { AvaliadorSintatico, Declaracao, RetornoAvaliadorSintatico, RetornoLexador, SimboloInterface } from "@designliquido/delegua";
|
|
1
|
+
import { AvaliadorSintatico, Chamada, Construto, Declaracao, Literal, RetornoAvaliadorSintatico, RetornoLexador, SimboloInterface } from "@designliquido/delegua";
|
|
2
2
|
import { ImportadorInterface } from "../interfaces";
|
|
3
|
+
import { ImportarBiblioteca } from "../construtos";
|
|
3
4
|
export declare class AvaliadorSintaticoComImportacao extends AvaliadorSintatico {
|
|
4
5
|
importador: ImportadorInterface<SimboloInterface>;
|
|
5
6
|
arquivosImportados: string[];
|
|
6
7
|
modoLair: boolean;
|
|
7
8
|
constructor(importador: ImportadorInterface<SimboloInterface>);
|
|
9
|
+
finalizarChamada(entidadeChamada: Construto, tipoPrimitiva?: string | undefined): Chamada;
|
|
10
|
+
protected importarBibliotecaNode(literalCaminho: Literal): ImportarBiblioteca;
|
|
8
11
|
declaracaoImportar(): any;
|
|
9
12
|
/**
|
|
10
13
|
* No modo LAIR, a pilha de escopos não deve ser reinicializada a cada execução.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,kBAAkB,EAClB,OAAO,EAEP,SAAS,EACT,UAAU,EACV,OAAO,EACP,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EACnB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKnD,qBAAa,+BAAgC,SAAQ,kBAAkB;IACnE,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAClD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;gBAEN,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;IAMpD,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAiBlG,SAAS,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,GAAG,kBAAkB;IA8BpE,kBAAkB,IAAI,GAAG;IAmElC;;;OAGG;cACgB,uBAAuB,IAAI,IAAI;IAQzC,QAAQ,CACb,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,EACnB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC9B,yBAAyB,CAAC,UAAU,CAAC;CAI3C"}
|
|
@@ -8,12 +8,46 @@ const delegua_1 = require("@designliquido/delegua");
|
|
|
8
8
|
const delegua_2 = __importDefault(require("@designliquido/delegua/tipos-de-simbolos/delegua"));
|
|
9
9
|
const declaracoes_1 = require("../declaracoes");
|
|
10
10
|
const construtos_1 = require("../construtos");
|
|
11
|
+
const mecanismo_importacao_bibliotecas_1 = require("fontes/mecanismo-importacao-bibliotecas");
|
|
12
|
+
const informacao_variavel_ou_constante_1 = require("@designliquido/delegua/informacao-variavel-ou-constante");
|
|
11
13
|
class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
12
14
|
constructor(importador) {
|
|
13
15
|
super();
|
|
14
16
|
this.arquivosImportados = [];
|
|
15
17
|
this.importador = importador;
|
|
16
18
|
}
|
|
19
|
+
finalizarChamada(entidadeChamada, tipoPrimitiva) {
|
|
20
|
+
const chamadaResolvida = super.finalizarChamada(entidadeChamada, tipoPrimitiva);
|
|
21
|
+
if (chamadaResolvida.entidadeChamada instanceof delegua_1.AcessoMetodo && chamadaResolvida.entidadeChamada.objeto.tipo === 'módulo') {
|
|
22
|
+
// Espera-se que o módulo esteja devidamente registrado.
|
|
23
|
+
const entidadeChamadaResolvida = chamadaResolvida.entidadeChamada;
|
|
24
|
+
const objetoEntidadeChamada = entidadeChamadaResolvida.objeto;
|
|
25
|
+
if (objetoEntidadeChamada && objetoEntidadeChamada.simbolo.lexema in this.primitivasConhecidas) {
|
|
26
|
+
const moduloCorrespondente = this.primitivasConhecidas[objetoEntidadeChamada.simbolo.lexema];
|
|
27
|
+
if (entidadeChamadaResolvida.nomeMetodo in moduloCorrespondente) {
|
|
28
|
+
chamadaResolvida.tipo = moduloCorrespondente[entidadeChamadaResolvida.nomeMetodo].tipo;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return chamadaResolvida;
|
|
33
|
+
}
|
|
34
|
+
importarBibliotecaNode(literalCaminho) {
|
|
35
|
+
const bibliotecaResolvida = (0, mecanismo_importacao_bibliotecas_1.verificarModulosDelegua)(literalCaminho.valor);
|
|
36
|
+
if (bibliotecaResolvida) {
|
|
37
|
+
const moduloResolvido = (0, mecanismo_importacao_bibliotecas_1.carregarBibliotecaDelegua)(bibliotecaResolvida);
|
|
38
|
+
this.primitivasConhecidas[literalCaminho.valor] = {};
|
|
39
|
+
for (const [nomeComponente, dadosComponente] of Object.entries(moduloResolvido.componentes)) {
|
|
40
|
+
// TODO: Tipar isso corretamente na próxima versão do núcleo.
|
|
41
|
+
const dadosComponenteResolvido = dadosComponente;
|
|
42
|
+
const componente = new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante(nomeComponente, dadosComponenteResolvido.tipoRetorno, []);
|
|
43
|
+
for (const argumento of dadosComponenteResolvido.argumentos) {
|
|
44
|
+
componente.argumentos.push(new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante(argumento.nome, argumento.tipo));
|
|
45
|
+
}
|
|
46
|
+
this.primitivasConhecidas[literalCaminho.valor][nomeComponente] = componente;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return new construtos_1.ImportarBiblioteca(literalCaminho.hashArquivo, literalCaminho.linha, literalCaminho.valor);
|
|
50
|
+
}
|
|
17
51
|
declaracaoImportar() {
|
|
18
52
|
this.consumir(delegua_2.default.PARENTESE_ESQUERDO, "Esperado '(' após declaração.");
|
|
19
53
|
const caminho = this.expressao();
|
|
@@ -21,7 +55,7 @@ class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
|
21
55
|
// Chegando aqui sem erros, a importação é sintaticamente válida.
|
|
22
56
|
const literalCaminho = caminho;
|
|
23
57
|
if (!literalCaminho.valor.endsWith('.delegua')) {
|
|
24
|
-
return
|
|
58
|
+
return this.importarBibliotecaNode(literalCaminho);
|
|
25
59
|
}
|
|
26
60
|
const resultadoImportacao = this.importador.importar(literalCaminho.valor, caminho.hashArquivo);
|
|
27
61
|
// Havendo erros no lexador, levantamos um erro de avaliação sintática na
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-com-importacao.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-com-importacao.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"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"}
|
package/bin/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua-node",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.18",
|
|
4
4
|
"description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"testes:servidor-depuracao": "yarn ts-node ./fontes/depuracao/servidor-depuracao.ts"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@designliquido/birl": "^0.1.
|
|
16
|
-
"@designliquido/delegua": "^0.45.
|
|
17
|
-
"@designliquido/mapler": "^0.1.
|
|
18
|
-
"@designliquido/portugol-studio": "^0.4.
|
|
19
|
-
"@designliquido/potigol": "^0.2.
|
|
20
|
-
"@designliquido/visualg": "^0.3.
|
|
15
|
+
"@designliquido/birl": "^0.1.32",
|
|
16
|
+
"@designliquido/delegua": "^0.45.9",
|
|
17
|
+
"@designliquido/mapler": "^0.1.33",
|
|
18
|
+
"@designliquido/portugol-studio": "^0.4.32",
|
|
19
|
+
"@designliquido/potigol": "^0.2.2",
|
|
20
|
+
"@designliquido/visualg": "^0.3.32",
|
|
21
21
|
"chalk": "4.1.2",
|
|
22
22
|
"commander": "^14.0.0",
|
|
23
23
|
"json-colorizer": "^3.0.1"
|
package/delegua.js
CHANGED
|
@@ -57,7 +57,7 @@ class Delegua {
|
|
|
57
57
|
return JSON.parse(sistemaArquivos.readFileSync(manifesto, { encoding: 'utf8' })).version || '0.41';
|
|
58
58
|
}
|
|
59
59
|
catch (error) {
|
|
60
|
-
return '0.
|
|
60
|
+
return '0.45 (núcleo, desenvolvimento)';
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
async executarCodigoComoArgumento(codigo, dialeto = 'delegua', performance = false) {
|
package/interpretador/comum.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.visitarConstrutoImportarBiblioteca = visitarConstrutoImportarBiblioteca;
|
|
|
7
7
|
exports.visitarDeclaracaoDefinicaoFuncao = visitarDeclaracaoDefinicaoFuncao;
|
|
8
8
|
exports.visitarDeclaracaoModuloDeclaracoes = visitarDeclaracaoModuloDeclaracoes;
|
|
9
9
|
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
10
|
-
const mecanismo_importacao_bibliotecas_1 = __importDefault(require("
|
|
10
|
+
const mecanismo_importacao_bibliotecas_1 = __importDefault(require("../mecanismo-importacao-bibliotecas"));
|
|
11
11
|
async function visitarConstrutoImportarBiblioteca(_, importarBiblioteca) {
|
|
12
12
|
try {
|
|
13
13
|
return await (0, mecanismo_importacao_bibliotecas_1.default)(importarBiblioteca.nomeBiblioteca);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":";;;;;AASA,gFAUC;AAED,4EASC;AAED,gFAyBC;AAzDD,gFAA+F;AAO/F,
|
|
1
|
+
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":";;;;;AASA,gFAUC;AAED,4EASC;AAED,gFAyBC;AAzDD,gFAA+F;AAO/F,2GAAyE;AAElE,KAAK,UAAU,kCAAkC,CACpD,CAAsC,EACtC,kBAAsC;IAEtC,IAAI,CAAC;QACD,OAAO,MAAM,IAAA,0CAAsB,EAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,IAAS,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,gCAAgC,CAClD,aAAkD,EAClD,gBAAkC;IAElC,MAAM,MAAM,GAAG,IAAI,0BAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3F,iEAAiE;IACjE,aAAa,CAAC,oBAAoB,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5F,aAAa,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1F,OAAO,MAAM,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,kCAAkC,CACpD,aAAkD,EAClD,UAA6B;IAE7B,6CAA6C;IAC7C,8CAA8C;IAC9C,+BAA+B;IAC/B,MAAM,MAAM,GAAG,IAAI,0BAAa,EAAE,CAAC;IACnC,KAAK,MAAM,aAAa,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,yBAAyB,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClF,QAAQ,yBAAyB,EAAE,CAAC;gBAChC,KAAK,eAAe;oBAChB,MAAM,uBAAuB,GAAG,UAA2B,CAAC;oBAC5D,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;oBAC9D,MAAM;gBACV;oBACI,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,yBAAyB,CAAC,CAAC;oBACvF,MAAM;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DeleguaModulo } from '@designliquido/delegua/interpretador/estruturas';
|
|
2
|
+
export declare const carregarBibliotecaDelegua: (nome: string) => DeleguaModulo;
|
|
3
|
+
export declare const verificarModulosDelegua: (nome: string) => string | boolean;
|
|
4
|
+
export default function (nome: string): Promise<DeleguaModulo>;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/mecanismo-importacao-bibliotecas/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAA8B,MAAM,iDAAiD,CAAC;AAE5G,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,kBAcrD,CAAC;AAsGF,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,OAkB/D,CAAC;AAEF,yBAA+B,IAAI,EAAE,MAAM,0BAK1C"}
|
|
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.verificarModulosDelegua = exports.carregarBibliotecaDelegua = void 0;
|
|
36
37
|
exports.default = default_1;
|
|
37
38
|
const processoFilho = __importStar(require("child_process"));
|
|
38
39
|
const caminho = __importStar(require("path"));
|
|
@@ -40,21 +41,23 @@ const sistemaArquivos = __importStar(require("fs"));
|
|
|
40
41
|
const excecoes_1 = require("@designliquido/delegua/excecoes");
|
|
41
42
|
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
42
43
|
const carregarBibliotecaDelegua = (nome) => {
|
|
43
|
-
let dadosDoModulo;
|
|
44
44
|
try {
|
|
45
|
-
|
|
45
|
+
const dadosDoManifesto = require(nome + '/delegua-modulo');
|
|
46
|
+
const primeiroManifesto = Object.entries(dadosDoManifesto)[0];
|
|
47
|
+
return modularizarBibliotecaPorManifesto(primeiroManifesto[1], nome);
|
|
46
48
|
}
|
|
47
49
|
catch (erro) {
|
|
48
|
-
// Biblioteca não existe localmente. Tentar importação global
|
|
50
|
+
// Biblioteca não existe localmente. Tentar importação global.
|
|
49
51
|
try {
|
|
50
|
-
dadosDoModulo = importarPacoteDeleguaCompleto(nome);
|
|
52
|
+
const dadosDoModulo = importarPacoteDeleguaCompleto(nome);
|
|
53
|
+
return modularizarBibliotecaNpmPadrao(dadosDoModulo, nome);
|
|
51
54
|
}
|
|
52
55
|
catch (erro2) {
|
|
53
|
-
throw new excecoes_1.ErroEmTempoDeExecucao(null, `Biblioteca ${nome} não encontrada para importação.`);
|
|
56
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(null, `Biblioteca ${nome} não encontrada para importação, nem por referência local, nem por instalação global.`);
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
|
-
return modularizarBiblioteca(dadosDoModulo, nome);
|
|
57
59
|
};
|
|
60
|
+
exports.carregarBibliotecaDelegua = carregarBibliotecaDelegua;
|
|
58
61
|
const carregarBiblioteca = async (nomeDaBiblioteca, caminhoDaBiblioteca) => {
|
|
59
62
|
let dadosDoModulo;
|
|
60
63
|
try {
|
|
@@ -68,9 +71,22 @@ const carregarBiblioteca = async (nomeDaBiblioteca, caminhoDaBiblioteca) => {
|
|
|
68
71
|
throw new excecoes_1.ErroEmTempoDeExecucao(null, `Biblioteca ${nomeDaBiblioteca} não encontrada para importação. Informações adicionais: ${(erro2 === null || erro2 === void 0 ? void 0 : erro2.message) || '(nenhuma)'}`);
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
|
-
return
|
|
74
|
+
return modularizarBibliotecaNpmPadrao(dadosDoModulo, nomeDaBiblioteca);
|
|
75
|
+
};
|
|
76
|
+
const modularizarBibliotecaPorManifesto = (manifestoModulo, nome) => {
|
|
77
|
+
const novoModulo = new estruturas_1.DeleguaModulo(nome);
|
|
78
|
+
for (const [metodo, dadosMetodo] of Object.entries(manifestoModulo)) {
|
|
79
|
+
const funcaoPadrao = new estruturas_1.FuncaoPadrao(dadosMetodo.argumentos.length, dadosMetodo.funcao);
|
|
80
|
+
// TODO: Remover cast para any pós lançamento de versão do núcleo.
|
|
81
|
+
funcaoPadrao.descartarPrimeiroArgumento = false;
|
|
82
|
+
funcaoPadrao.argumentos = dadosMetodo.argumentos;
|
|
83
|
+
funcaoPadrao.tipoRetorno = dadosMetodo.tipoRetorno;
|
|
84
|
+
// (funcaoPadrao as any).documentacao = dadosMetodo.documentacao;
|
|
85
|
+
novoModulo.componentes[metodo] = funcaoPadrao;
|
|
86
|
+
}
|
|
87
|
+
return novoModulo;
|
|
72
88
|
};
|
|
73
|
-
const
|
|
89
|
+
const modularizarBibliotecaNpmPadrao = (dadosDoModulo, nome) => {
|
|
74
90
|
const novoModulo = new estruturas_1.DeleguaModulo(nome);
|
|
75
91
|
const chaves = Object.keys(dadosDoModulo);
|
|
76
92
|
for (let i = 0; i < chaves.length; i++) {
|
|
@@ -101,12 +117,12 @@ const importarPacoteCaminhoBase = async (caminhoRelativo) => {
|
|
|
101
117
|
const npm = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
102
118
|
const comandoDescobertaDiretorioGlobal = processoFilho.spawnSync(npm, ['root', '--location=global']);
|
|
103
119
|
const diretorioGlobal = comandoDescobertaDiretorioGlobal.output[1].toString().trim();
|
|
104
|
-
const caminhoAbsolutoPacote = caminho.join(diretorioGlobal
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
120
|
+
const caminhoAbsolutoPacote = caminho.join(diretorioGlobal, caminhoRelativo);
|
|
121
|
+
const caminhoAbsolutoPackageJson = caminho.join(caminhoAbsolutoPacote, 'package.json');
|
|
122
|
+
let arquivoInicio = JSON.parse(sistemaArquivos.readFileSync(caminhoAbsolutoPackageJson, 'utf-8')).main || 'index.js';
|
|
123
|
+
const resposta = await Promise.resolve(`${caminho.join('file:///' + diretorioGlobal) +
|
|
124
|
+
`\\${caminhoRelativo}\\${arquivoInicio.replace('./', '')}`}`).then(s => __importStar(require(s)));
|
|
125
|
+
resultado = resposta;
|
|
110
126
|
return resultado;
|
|
111
127
|
};
|
|
112
128
|
const importarPacoteDeleguaCompleto = async (nome) => {
|
|
@@ -132,10 +148,11 @@ const verificarModulosDelegua = (nome) => {
|
|
|
132
148
|
}
|
|
133
149
|
return false;
|
|
134
150
|
};
|
|
151
|
+
exports.verificarModulosDelegua = verificarModulosDelegua;
|
|
135
152
|
async function default_1(nome) {
|
|
136
|
-
const nomeBibliotecaResolvido = verificarModulosDelegua(nome);
|
|
153
|
+
const nomeBibliotecaResolvido = (0, exports.verificarModulosDelegua)(nome);
|
|
137
154
|
return nomeBibliotecaResolvido
|
|
138
|
-
? carregarBibliotecaDelegua(String(nomeBibliotecaResolvido))
|
|
155
|
+
? (0, exports.carregarBibliotecaDelegua)(String(nomeBibliotecaResolvido))
|
|
139
156
|
: await carregarBiblioteca(nome, nome);
|
|
140
157
|
}
|
|
141
|
-
//# sourceMappingURL=
|
|
158
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/mecanismo-importacao-bibliotecas/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua-node",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"testes:servidor-depuracao": "yarn ts-node ./fontes/depuracao/servidor-depuracao.ts"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@designliquido/birl": "^0.1.
|
|
16
|
-
"@designliquido/delegua": "^0.45.
|
|
17
|
-
"@designliquido/mapler": "^0.1.
|
|
18
|
-
"@designliquido/portugol-studio": "^0.4.
|
|
19
|
-
"@designliquido/potigol": "^0.2.
|
|
20
|
-
"@designliquido/visualg": "^0.3.
|
|
15
|
+
"@designliquido/birl": "^0.1.32",
|
|
16
|
+
"@designliquido/delegua": "^0.45.9",
|
|
17
|
+
"@designliquido/mapler": "^0.1.33",
|
|
18
|
+
"@designliquido/portugol-studio": "^0.4.32",
|
|
19
|
+
"@designliquido/potigol": "^0.2.2",
|
|
20
|
+
"@designliquido/visualg": "^0.3.32",
|
|
21
21
|
"chalk": "4.1.2",
|
|
22
22
|
"commander": "^14.0.0",
|
|
23
23
|
"json-colorizer": "^3.0.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mecanismo-importacao-bibliotecas.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/mecanismo-importacao-bibliotecas.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAA8B,MAAM,iDAAiD,CAAC;AAoH5G,yBAA+B,IAAI,EAAE,MAAM,0BAK1C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mecanismo-importacao-bibliotecas.js","sourceRoot":"","sources":["../../fontes/interpretador/mecanismo-importacao-bibliotecas.ts"],"names":[],"mappings":"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"}
|