pwi-plata-type 0.4.167 → 0.4.169
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/__BUILD__/bin/plata-runtime.js +2 -1
- package/__BUILD__/bin/plata-runtime.js.map +1 -1
- package/__BUILD__/bin/runtime/wasm.js +8 -0
- package/__BUILD__/bin/runtime/wasm.js.map +1 -0
- package/__BUILD__/libs/build.js +2 -0
- package/__BUILD__/libs/build.js.map +1 -1
- package/__BUILD__/libs/build_wasm.js +113 -0
- package/__BUILD__/libs/build_wasm.js.map +1 -0
- package/__BUILD__/misc/golang/wasm_exec.js +479 -0
- package/__BUILD__/misc/golang/wasm_exec.js.map +1 -0
- package/package.json +2 -1
- package/src/@types/build.d.ts +0 -1
- package/src/bin/plata-runtime.ts +4 -1
- package/src/bin/runtime/wasm.ts +12 -0
- package/src/libs/build.ts +3 -0
- package/src/libs/build_wasm.ts +156 -0
- package/src/misc/golang/wasm_exec.js +575 -0
- package/tsconfig.json +1 -1
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.compile = compile;
|
|
8
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
8
|
const node_assert_1 = require("node:assert");
|
|
10
9
|
const node_cluster_1 = __importDefault(require("node:cluster"));
|
|
@@ -12,6 +11,7 @@ const _setupRuntime_1 = require("./runtime/_setupRuntime");
|
|
|
12
11
|
const fs_1 = require("../libs/fs");
|
|
13
12
|
const env_1 = require("../libs/env");
|
|
14
13
|
const build_1 = require("../libs/build");
|
|
14
|
+
const build_wasm_1 = require("../libs/build_wasm");
|
|
15
15
|
async function compile() {
|
|
16
16
|
if (!node_cluster_1.default.isPrimary)
|
|
17
17
|
return;
|
|
@@ -76,6 +76,7 @@ const main = async () => {
|
|
|
76
76
|
for (const key in envFile) {
|
|
77
77
|
g.Plata.config[key] = envFile[key];
|
|
78
78
|
}
|
|
79
|
+
await build_wasm_1.PlataBuildWasm.loadFilesWasm();
|
|
79
80
|
const run = process.argv[process.argv.indexOf('+') + 1];
|
|
80
81
|
const app = require(`++/bin/${run}`);
|
|
81
82
|
await app.main();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plata-runtime.js","sourceRoot":"","sources":["../../src/bin/plata-runtime.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"plata-runtime.js","sourceRoot":"","sources":["../../src/bin/plata-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PlataRuntimeE = void 0;
|
|
4
|
+
var PlataRuntimeE;
|
|
5
|
+
(function (PlataRuntimeE) {
|
|
6
|
+
PlataRuntimeE._loadedsWasms = new Set();
|
|
7
|
+
})(PlataRuntimeE || (exports.PlataRuntimeE = PlataRuntimeE = {}));
|
|
8
|
+
//# sourceMappingURL=wasm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../../src/bin/runtime/wasm.ts"],"names":[],"mappings":";;;AASA,IAAiB,aAAa,CAE7B;AAFD,WAAiB,aAAa;IACb,2BAAa,GAAgB,IAAI,GAAG,EAAE,CAAA;AACvD,CAAC,EAFgB,aAAa,6BAAb,aAAa,QAE7B"}
|
package/__BUILD__/libs/build.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.PlataBuild = void 0;
|
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const glob_1 = require("glob");
|
|
9
9
|
const moment_1 = __importDefault(require("moment"));
|
|
10
|
+
const build_wasm_1 = require("./build_wasm");
|
|
10
11
|
var PlataBuild;
|
|
11
12
|
(function (PlataBuild) {
|
|
12
13
|
PlataBuild.getConfigDefault = () => ({
|
|
@@ -134,6 +135,7 @@ var PlataBuild;
|
|
|
134
135
|
}, null, 4));
|
|
135
136
|
console.log(`🚀 Compilação finalizada`);
|
|
136
137
|
}
|
|
138
|
+
await build_wasm_1.PlataBuildWasm.compileWasm();
|
|
137
139
|
return true;
|
|
138
140
|
}
|
|
139
141
|
PlataBuild.compile = compile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/libs/build.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAC5B,+BAA2B;AAC3B,oDAA2B;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/libs/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PlataBuildWasm = void 0;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const node_child_process_1 = require("node:child_process");
|
|
9
|
+
var PlataBuildWasm;
|
|
10
|
+
(function (PlataBuildWasm) {
|
|
11
|
+
async function compileWasm() {
|
|
12
|
+
const wasmPath = node_path_1.default.join(Plata.ProjectDir, 'wasm');
|
|
13
|
+
const hasGoWasmModule = await Plata.files.access(wasmPath);
|
|
14
|
+
if (hasGoWasmModule !== true) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
console.log('⚠️ - Modulos WASM foram indentificados');
|
|
18
|
+
console.log('⚠️ - Esse funcionalidade é experimental! e so suporta Golang');
|
|
19
|
+
const modules = await PlataBuildWasm.listWasmModules(wasmPath, true);
|
|
20
|
+
for (let i = 0; i < modules.length; i++) {
|
|
21
|
+
await buildGoWasmModule(node_path_1.default.join(wasmPath, modules[i]), modules[i]);
|
|
22
|
+
}
|
|
23
|
+
console.log('✅ - Modulos buildados!');
|
|
24
|
+
}
|
|
25
|
+
PlataBuildWasm.compileWasm = compileWasm;
|
|
26
|
+
async function listWasmModules(wasmPath, log) {
|
|
27
|
+
const wasmFolderContent = await Plata.files.fs.readdir(wasmPath, { withFileTypes: true }).catch((err) => err.toString());
|
|
28
|
+
if (typeof wasmFolderContent === 'string') {
|
|
29
|
+
console.log(wasmFolderContent);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
const modules = wasmFolderContent
|
|
33
|
+
.filter(w => w.isDirectory()).map(w => w.name);
|
|
34
|
+
if (log) {
|
|
35
|
+
console.log('💡 - Modulos encontrados: ', modules.join(','));
|
|
36
|
+
}
|
|
37
|
+
return modules;
|
|
38
|
+
}
|
|
39
|
+
PlataBuildWasm.listWasmModules = listWasmModules;
|
|
40
|
+
async function listWasmFiles(wasmPath) {
|
|
41
|
+
const wasmFolderContent = await Plata.files.fs.readdir(wasmPath, { withFileTypes: true }).catch((err) => err.toString());
|
|
42
|
+
if (typeof wasmFolderContent === 'string') {
|
|
43
|
+
console.log(wasmFolderContent);
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
const files = wasmFolderContent
|
|
47
|
+
.filter(w => w.isFile() && w.name.endsWith('.wasm')).map(w => w.name);
|
|
48
|
+
return files;
|
|
49
|
+
}
|
|
50
|
+
PlataBuildWasm.listWasmFiles = listWasmFiles;
|
|
51
|
+
async function buildGoWasmModule(wasmModulePath, name) {
|
|
52
|
+
console.log('🔨 - Buildando WASM GO ', name);
|
|
53
|
+
const wasmFileName = `go.main.${name}.wasm`;
|
|
54
|
+
const wasmPath = node_path_1.default.resolve(Plata.ProjectDir, '__BUILD__', 'wasm', wasmFileName);
|
|
55
|
+
(0, node_child_process_1.execSync)(`go build -trimpath -o ${wasmPath}`, {
|
|
56
|
+
cwd: wasmModulePath,
|
|
57
|
+
windowsHide: true,
|
|
58
|
+
env: {
|
|
59
|
+
...process.env,
|
|
60
|
+
GOOS: 'js',
|
|
61
|
+
GOARCH: 'wasm'
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
PlataBuildWasm.buildGoWasmModule = buildGoWasmModule;
|
|
66
|
+
function setupRuntime() {
|
|
67
|
+
require('++/misc/golang/wasm_exec');
|
|
68
|
+
}
|
|
69
|
+
PlataBuildWasm.setupRuntime = setupRuntime;
|
|
70
|
+
async function loadFilesWasm() {
|
|
71
|
+
const wasmPath = node_path_1.default.join(Plata.ProjectDir, '__BUILD__', 'wasm');
|
|
72
|
+
const hasGoWasmModule = await Plata.files.access(wasmPath);
|
|
73
|
+
if (hasGoWasmModule !== true) {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
const files = await PlataBuildWasm.listWasmFiles(wasmPath);
|
|
77
|
+
setupRuntime();
|
|
78
|
+
const promises = [];
|
|
79
|
+
for (let i = 0; i < files.length; i++) {
|
|
80
|
+
promises.push(...files.map(f => Plata.FastPromise(() => PlataBuildWasm.loadGoWasmFile(node_path_1.default.join(wasmPath, f), f))));
|
|
81
|
+
}
|
|
82
|
+
await Promise.all(promises);
|
|
83
|
+
}
|
|
84
|
+
PlataBuildWasm.loadFilesWasm = loadFilesWasm;
|
|
85
|
+
async function loadGoWasmFile(wasmFilePath, wasmName) {
|
|
86
|
+
if (Plata._loadedsWasms.has(wasmName)) {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
const go = new Go();
|
|
90
|
+
const fileContet = await Plata.files.fs.readFile(wasmFilePath).catch((err) => ({
|
|
91
|
+
errorID: 'PLBUILDWASMLDGO0001',
|
|
92
|
+
msg: 'Erro ao ler arquivo WASM',
|
|
93
|
+
error: err
|
|
94
|
+
}));
|
|
95
|
+
if (fileContet.errorID !== undefined) {
|
|
96
|
+
console.log(JSON.stringify(fileContet, null, 4));
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
const resultWASM = await WebAssembly.instantiate(fileContet, go.importObject).catch(err => ({
|
|
100
|
+
errorID: 'PLBUILDWASMLDGO0002',
|
|
101
|
+
msg: 'Erro ao iniciar WASM',
|
|
102
|
+
error: err
|
|
103
|
+
}));
|
|
104
|
+
if (resultWASM.errorID !== undefined) {
|
|
105
|
+
console.log(JSON.stringify(resultWASM, null, 4));
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
go.run(resultWASM.instance);
|
|
109
|
+
Plata._loadedsWasms.add(wasmName);
|
|
110
|
+
}
|
|
111
|
+
PlataBuildWasm.loadGoWasmFile = loadGoWasmFile;
|
|
112
|
+
})(PlataBuildWasm || (exports.PlataBuildWasm = PlataBuildWasm = {}));
|
|
113
|
+
//# sourceMappingURL=build_wasm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build_wasm.js","sourceRoot":"","sources":["../../src/libs/build_wasm.ts"],"names":[],"mappings":"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"}
|