pwi-plata-type 0.3.18 → 0.4.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/__BUILD__/bin/extras/create-api-cli.js +96 -0
- package/__BUILD__/bin/extras/create-api-cli.js.map +1 -0
- package/__BUILD__/bin/extras/create-lib-cli.js +62 -0
- package/__BUILD__/bin/extras/create-lib-cli.js.map +1 -0
- package/__BUILD__/bin/extras/plata-create-tools.js +94 -0
- package/__BUILD__/bin/extras/plata-create-tools.js.map +1 -0
- package/__BUILD__/bin/plata-api.js +138 -0
- package/__BUILD__/bin/plata-api.js.map +1 -0
- package/__BUILD__/bin/plata-create.js +24 -0
- package/__BUILD__/bin/plata-create.js.map +1 -0
- package/__BUILD__/bin/plata-runtime.js +156 -0
- package/__BUILD__/bin/plata-runtime.js.map +1 -0
- package/__BUILD__/bin/plata-swagger.js +82 -0
- package/__BUILD__/bin/plata-swagger.js.map +1 -0
- package/__BUILD__/bin/runtime/_setupRuntime.js +43 -0
- package/__BUILD__/bin/runtime/_setupRuntime.js.map +1 -0
- package/__BUILD__/bin/runtime/class.js +18 -0
- package/__BUILD__/bin/runtime/class.js.map +1 -0
- package/__BUILD__/bin/runtime/dirs.js +16 -0
- package/__BUILD__/bin/runtime/dirs.js.map +1 -0
- package/__BUILD__/bin/runtime/promises.js +15 -0
- package/__BUILD__/bin/runtime/promises.js.map +1 -0
- package/__BUILD__/bin/runtime/require.js +88 -0
- package/__BUILD__/bin/runtime/require.js.map +1 -0
- package/__BUILD__/index.js +42 -0
- package/__BUILD__/index.js.map +1 -0
- package/__BUILD__/libs/axios.js +42 -0
- package/__BUILD__/libs/axios.js.map +1 -0
- package/__BUILD__/libs/cluster.js +160 -0
- package/__BUILD__/libs/cluster.js.map +1 -0
- package/__BUILD__/libs/fs.js +206 -0
- package/__BUILD__/libs/fs.js.map +1 -0
- package/__BUILD__/libs/model-validations.js +356 -0
- package/__BUILD__/libs/model-validations.js.map +1 -0
- package/__BUILD__/libs/model.js +185 -0
- package/__BUILD__/libs/model.js.map +1 -0
- package/__BUILD__/libs/router.js +127 -0
- package/__BUILD__/libs/router.js.map +1 -0
- package/__BUILD__/libs/swagger.js +64 -0
- package/__BUILD__/libs/swagger.js.map +1 -0
- package/__BUILD__/libs/tasks.js +134 -0
- package/__BUILD__/libs/tasks.js.map +1 -0
- package/__BUILD__/libs/tools.js +231 -0
- package/__BUILD__/libs/tools.js.map +1 -0
- package/__BUILD__/scripts/post-install/api.js +25 -0
- package/__BUILD__/scripts/post-install/api.js.map +1 -0
- package/__BUILD__/scripts/post-install/lib.js +25 -0
- package/__BUILD__/scripts/post-install/lib.js.map +1 -0
- package/__BUILD__/scripts/post-install.js +65 -0
- package/__BUILD__/scripts/post-install.js.map +1 -0
- package/__BUILD__/scripts/pre-test.js +25 -0
- package/__BUILD__/scripts/pre-test.js.map +1 -0
- package/package.json +18 -16
- package/src/@types/cluster.actions.d.ts +7 -0
- package/src/@types/cluster.d.ts +33 -0
- package/src/@types/create-cli.d.ts +9 -0
- package/src/@types/exported.d.ts +24 -0
- package/src/@types/global.d.ts +69 -0
- package/src/@types/model.d.ts +69 -0
- package/src/@types/router.d.ts +75 -0
- package/src/@types/swagger.d.ts +23 -0
- package/{bin/extras/plata-create-api.ts → src/bin/extras/create-api-cli.ts} +5 -6
- package/{bin/extras/plata-create-lib.ts → src/bin/extras/create-lib-cli.ts} +3 -4
- package/{bin → src/bin}/extras/plata-create-tools.ts +4 -4
- package/src/bin/plata-api.ts +172 -0
- package/src/bin/plata-create.ts +21 -0
- package/src/bin/plata-runtime.ts +188 -0
- package/src/bin/plata-swagger.ts +100 -0
- package/src/bin/runtime/_setupRuntime.ts +49 -0
- package/src/bin/runtime/_types.d.ts +4 -0
- package/src/bin/runtime/class.ts +21 -0
- package/src/bin/runtime/dirs.ts +26 -0
- package/src/bin/runtime/promises.ts +15 -0
- package/src/bin/runtime/require.ts +104 -0
- package/{index.ts → src/index.ts} +2 -4
- package/{libs → src/libs}/axios.ts +0 -0
- package/src/libs/cluster.ts +189 -0
- package/src/libs/fs.ts +382 -0
- package/{libs/model.ts → src/libs/model-validations.ts} +28 -262
- package/src/libs/model.ts +233 -0
- package/src/libs/router.ts +147 -0
- package/src/libs/swagger.ts +81 -0
- package/{libs → src/libs}/tasks.ts +0 -0
- package/{libs → src/libs}/tools.ts +3 -18
- package/src/scripts/post-install/api.ts +32 -0
- package/src/scripts/post-install/lib.ts +30 -0
- package/src/scripts/post-install.ts +65 -0
- package/src/scripts/pre-test.ts +34 -0
- package/src/tests/assets/config/test.txt +1 -0
- package/src/tests/config.test.ts +13 -0
- package/src/tests/model.test.ts +115 -0
- package/templates/create-cli/cluster.ts +7 -9
- package/templates/create-cli/config.ts +2 -8
- package/templates/create-cli/lib.ts +7 -17
- package/templates/create-cli/model.ts +10 -21
- package/templates/create-cli/route.ts +1 -3
- package/templates/postinstall/api/configs/env.ts +2 -8
- package/templates/postinstall/api/tsconfig.json +20 -37
- package/templates/postinstall/lib/postinstall-tools.mjs +1 -1
- package/templates/postinstall/lib/postinstall.js +1 -0
- package/templates/postinstall/lib/tsconfig.json +21 -38
- package/tsconfig.json +25 -37
- package/Dockerfile +0 -13
- package/bin/extras/plata-build-tool.ts +0 -151
- package/bin/plata-build.ts +0 -144
- package/bin/plata-create.ts +0 -28
- package/bin/plata-reload.ts +0 -13
- package/bin/plata-swagger-gen.ts +0 -183
- package/bin/plata.ts +0 -122
- package/libs/cluster.ts +0 -219
- package/libs/env.ts +0 -28
- package/libs/routes.ts +0 -275
- package/libs/swagger.ts +0 -79
- package/postinstall-tools.mjs +0 -115
- package/postinstall.mjs +0 -42
- package/templates/postinstall/api/_install.mjs +0 -34
- package/templates/postinstall/lib/_install.mjs +0 -30
|
@@ -0,0 +1,96 @@
|
|
|
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.cli = void 0;
|
|
7
|
+
const plata_create_tools_1 = require("./plata-create-tools");
|
|
8
|
+
const commander_1 = require("commander");
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const program = new commander_1.Command();
|
|
11
|
+
program.name('Plata Create cli');
|
|
12
|
+
program.description('CLI usada para criar rotas, libs, models e muito mais na plata');
|
|
13
|
+
program.version(Plata.PlataJson.version);
|
|
14
|
+
program.command('route <routes...>')
|
|
15
|
+
.description('Cria uma rota utilizando o templete da plata')
|
|
16
|
+
.action(async (routes) => {
|
|
17
|
+
if (!Array.isArray(routes)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const promises = [];
|
|
21
|
+
const plataName = Plata.ProjectJson.plata_name;
|
|
22
|
+
for (const route of routes) {
|
|
23
|
+
const r = `${route}/`.replace(/:(.*?)(?:\/|$)/g, (_, parm) => {
|
|
24
|
+
return parm[parm.length - 1] !== '?' ? `{${parm}}/` : `[${parm.slice(0, -1)}]/`;
|
|
25
|
+
});
|
|
26
|
+
const routeArg = r.slice(0, -1).split('/');
|
|
27
|
+
const routeFileName = routeArg[routeArg.length - 1] === '' ? 'index' : routeArg.pop();
|
|
28
|
+
const routeFilePath = node_path_1.default.join('routes', ...routeArg.filter(v => v !== ''));
|
|
29
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject(routeFilePath, 'route', `${routeFileName}.ts`, { PlataName: `${plataName}` }).finally(() => console.log(`Rota ${routeFilePath}/${routeFileName === 'index' ? '' : routeFileName} criada`)));
|
|
30
|
+
}
|
|
31
|
+
await Promise.all(promises);
|
|
32
|
+
});
|
|
33
|
+
program.command('lib <libs...>')
|
|
34
|
+
.description('Cria uma config com e uma lib utilizando o templete da plata')
|
|
35
|
+
.action(async (libs) => {
|
|
36
|
+
if (!Array.isArray(libs)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const promises = [];
|
|
40
|
+
for (const lib of libs) {
|
|
41
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('configs', 'config', `${lib}.ts`.toLowerCase(), { Name: `${lib}`, name: `${lib}`.toLowerCase() }).finally(() => console.log(`Config ${lib} criada`)));
|
|
42
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('libs', 'lib', `${lib}.ts`.toLowerCase(), { Name: `${lib}`, name: `${lib}`.toLowerCase() }).finally(() => console.log(`Lib ${lib} criada`)));
|
|
43
|
+
}
|
|
44
|
+
await Promise.all(promises);
|
|
45
|
+
});
|
|
46
|
+
program.command('config <configs...>')
|
|
47
|
+
.description('Cria uma config utilizando o templete da plata')
|
|
48
|
+
.action(async (configs) => {
|
|
49
|
+
if (!Array.isArray(configs)) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const promises = [];
|
|
53
|
+
for (const config of configs) {
|
|
54
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('configs', 'config', `${config}.ts`.toLowerCase(), { Name: `${config}`, name: `${config}`.toLowerCase() }).finally(() => console.log(`Config ${config} criada`)));
|
|
55
|
+
}
|
|
56
|
+
await Promise.all(promises);
|
|
57
|
+
});
|
|
58
|
+
program.command('model <models...>')
|
|
59
|
+
.description('Cria um model utilizando o templete da plata')
|
|
60
|
+
.action(async (models) => {
|
|
61
|
+
if (!Array.isArray(models)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const promises = [];
|
|
65
|
+
const plataName = Plata.ProjectJson.plata_name;
|
|
66
|
+
for (const model of models) {
|
|
67
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('models', 'model', `${model}.ts`.toLowerCase(), { Name: `${model}`, PlataName: `${plataName}` }).finally(() => console.log(`Model ${model} criada`)));
|
|
68
|
+
}
|
|
69
|
+
await Promise.all(promises);
|
|
70
|
+
});
|
|
71
|
+
program.command('task <tasks...>')
|
|
72
|
+
.description('Cria uma task utilizando o templete da plata')
|
|
73
|
+
.action(async (tasks) => {
|
|
74
|
+
if (!Array.isArray(tasks)) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const promises = [];
|
|
78
|
+
const plataName = Plata.ProjectJson.plata_name;
|
|
79
|
+
for (const task of tasks) {
|
|
80
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('tasks', 'task', `${task}.ts`.toLowerCase(), { Name: `${task}`, PlataName: `${plataName}` }).finally(() => console.log(`Task ${tasks} criada`)));
|
|
81
|
+
}
|
|
82
|
+
await Promise.all(promises);
|
|
83
|
+
});
|
|
84
|
+
program.command('cluster <clusters...>')
|
|
85
|
+
.description('Cria o arquivo do worker utilizando o templete da plata')
|
|
86
|
+
.action(async (clusters) => {
|
|
87
|
+
if (!Array.isArray(clusters))
|
|
88
|
+
return;
|
|
89
|
+
const promises = [];
|
|
90
|
+
const plataName = Plata.ProjectJson.plata_name;
|
|
91
|
+
for (const cluster of clusters) {
|
|
92
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('clusters', 'cluster', `${cluster}.ts`.toLowerCase(), { Name: `${cluster}`, PlataName: `${plataName}` }).finally(() => console.log(`Worker ${cluster} criada`)));
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
exports.cli = program;
|
|
96
|
+
//# sourceMappingURL=create-api-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-api-cli.js","sourceRoot":"","sources":["../../../src/bin/extras/create-api-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cli = void 0;
|
|
4
|
+
const plata_create_tools_1 = require("./plata-create-tools");
|
|
5
|
+
const commander_1 = require("commander");
|
|
6
|
+
const program = new commander_1.Command();
|
|
7
|
+
program.name('Plata Create cli');
|
|
8
|
+
program.description('CLI usada para criar rotas, libs, models e muito mais na plata');
|
|
9
|
+
program.version(Plata.PlataJson.version);
|
|
10
|
+
program.command('lib <libs...>')
|
|
11
|
+
.description('Cria uma config com e uma lib utilizando o templete da plata')
|
|
12
|
+
.action(async (libs) => {
|
|
13
|
+
if (!Array.isArray(libs)) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const promises = [];
|
|
17
|
+
for (const lib of libs) {
|
|
18
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('configs', 'config', `${lib}.ts`.toLowerCase(), { Name: `${lib}`, name: `${lib}`.toLowerCase() }).finally(() => console.log(`Config ${lib} criada`)));
|
|
19
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('libs', 'lib', `${lib}.ts`.toLowerCase(), { Name: `${lib}`, name: `${lib}`.toLowerCase() }).finally(() => console.log(`Lib ${lib} criada`)));
|
|
20
|
+
}
|
|
21
|
+
await Promise.all(promises);
|
|
22
|
+
});
|
|
23
|
+
program.command('config <configs...>')
|
|
24
|
+
.description('Cria uma config utilizando o templete da plata')
|
|
25
|
+
.action(async (configs) => {
|
|
26
|
+
if (!Array.isArray(configs)) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const promises = [];
|
|
30
|
+
for (const config of configs) {
|
|
31
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('configs', 'config', `${config}.ts`.toLowerCase(), { Name: `${config}`, name: `${config}`.toLowerCase() }).finally(() => console.log(`Config ${config} criada`)));
|
|
32
|
+
}
|
|
33
|
+
await Promise.all(promises);
|
|
34
|
+
});
|
|
35
|
+
program.command('model <models...>')
|
|
36
|
+
.description('Cria um model utilizando o templete da plata')
|
|
37
|
+
.action(async (models) => {
|
|
38
|
+
if (!Array.isArray(models)) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const promises = [];
|
|
42
|
+
const plataName = Plata.ProjectJson.plata_name;
|
|
43
|
+
for (const model of models) {
|
|
44
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('models', 'model', `${model}.ts`.toLowerCase(), { Name: `${model}`, PlataName: `${plataName}` }).finally(() => console.log(`Model ${model} criada`)));
|
|
45
|
+
}
|
|
46
|
+
await Promise.all(promises);
|
|
47
|
+
});
|
|
48
|
+
program.command('task <tasks...>')
|
|
49
|
+
.description('Cria uma task utilizando o templete da plata')
|
|
50
|
+
.action(async (tasks) => {
|
|
51
|
+
if (!Array.isArray(tasks)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const promises = [];
|
|
55
|
+
const plataName = Plata.ProjectJson.plata_name;
|
|
56
|
+
for (const task of tasks) {
|
|
57
|
+
promises.push(plata_create_tools_1.tools.files.deployFileToProject('tasks', 'task', `${task}.ts`.toLowerCase(), { Name: `${task}`, PlataName: `${plataName}` }).finally(() => console.log(`Task ${tasks} criada`)));
|
|
58
|
+
}
|
|
59
|
+
await Promise.all(promises);
|
|
60
|
+
});
|
|
61
|
+
exports.cli = program;
|
|
62
|
+
//# sourceMappingURL=create-lib-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-lib-cli.js","sourceRoot":"","sources":["../../../src/bin/extras/create-lib-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
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.tools = void 0;
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const tools_1 = require("../../libs/tools");
|
|
10
|
+
var tools;
|
|
11
|
+
(function (tools) {
|
|
12
|
+
let files;
|
|
13
|
+
(function (files) {
|
|
14
|
+
async function mkdirIfNotExists(dir) {
|
|
15
|
+
try {
|
|
16
|
+
const p = node_path_1.default.resolve(dir);
|
|
17
|
+
if (!node_fs_1.default.existsSync(p)) {
|
|
18
|
+
node_fs_1.default.mkdirSync(p, { recursive: true });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
console.error(err);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
files.mkdirIfNotExists = mkdirIfNotExists;
|
|
27
|
+
async function copyFileIfNotExists(source, destination) {
|
|
28
|
+
try {
|
|
29
|
+
const s = node_path_1.default.resolve(source);
|
|
30
|
+
const d = node_path_1.default.resolve(destination);
|
|
31
|
+
if (!node_fs_1.default.existsSync(d)) {
|
|
32
|
+
node_fs_1.default.copyFileSync(s, d);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
console.error(err);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
files.copyFileIfNotExists = copyFileIfNotExists;
|
|
41
|
+
async function copyFileToProject(projectFolder, templateFile, fileName) {
|
|
42
|
+
const s = node_path_1.default.resolve(tools_1.PlataDirs.getPlataTempleteDir('create-cli', `${templateFile}.ts`));
|
|
43
|
+
let d = node_path_1.default.resolve(Plata.ProjectDir, projectFolder);
|
|
44
|
+
await mkdirIfNotExists(d);
|
|
45
|
+
d = node_path_1.default.join(d, fileName);
|
|
46
|
+
await copyFileIfNotExists(s, d);
|
|
47
|
+
return d;
|
|
48
|
+
}
|
|
49
|
+
files.copyFileToProject = copyFileToProject;
|
|
50
|
+
async function deployFileToProject(projectFolder, templateFile, fileName, args) {
|
|
51
|
+
const fileInProject = await copyFileToProject(projectFolder, templateFile, fileName);
|
|
52
|
+
const content = await tools_1.PlataFiles.readFileSync(fileInProject, (line) => {
|
|
53
|
+
if (line === '//@ts-nocheck') {
|
|
54
|
+
return '';
|
|
55
|
+
}
|
|
56
|
+
if (line === '') {
|
|
57
|
+
return '';
|
|
58
|
+
}
|
|
59
|
+
let lastIndex = 0;
|
|
60
|
+
while (lastIndex !== -1) {
|
|
61
|
+
lastIndex = line.indexOf('$__', lastIndex);
|
|
62
|
+
if (lastIndex !== -1) {
|
|
63
|
+
const pIndex = line.indexOf('__$', lastIndex);
|
|
64
|
+
const param = line.slice(lastIndex + 3, pIndex);
|
|
65
|
+
line = line.replace(new RegExp(`\\$__${param}__\\$`, 'g'), args[param]);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return line;
|
|
69
|
+
});
|
|
70
|
+
if (content.err !== undefined) {
|
|
71
|
+
console.log(content.err);
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
node_fs_1.default.writeFileSync(fileInProject, content);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
files.deployFileToProject = deployFileToProject;
|
|
79
|
+
})(files = tools.files || (tools.files = {}));
|
|
80
|
+
let args;
|
|
81
|
+
(function (args_1) {
|
|
82
|
+
async function forEachArg(callback) {
|
|
83
|
+
let args = process.argv.slice(process.argv.indexOf('--') + 1);
|
|
84
|
+
while (args.length !== 0) {
|
|
85
|
+
const command = args.shift();
|
|
86
|
+
if (command !== undefined) {
|
|
87
|
+
args = await callback(command, args);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
args_1.forEachArg = forEachArg;
|
|
92
|
+
})(args = tools.args || (tools.args = {}));
|
|
93
|
+
})(tools = exports.tools || (exports.tools = {}));
|
|
94
|
+
//# sourceMappingURL=plata-create-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plata-create-tools.js","sourceRoot":"","sources":["../../../src/bin/extras/plata-create-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
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.main = void 0;
|
|
7
|
+
const express_1 = __importDefault(require("express"));
|
|
8
|
+
const cluster_1 = require("++/libs/cluster");
|
|
9
|
+
const node_https_1 = require("node:https");
|
|
10
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
11
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
+
const router_1 = require("++/libs/router");
|
|
13
|
+
const main = async () => {
|
|
14
|
+
const cluster = new cluster_1.PlataClusterManager();
|
|
15
|
+
if (cluster.isPrimary()) {
|
|
16
|
+
let workers = undefined;
|
|
17
|
+
if (Plata.config._PLATA_API_WORKERS !== undefined) {
|
|
18
|
+
workers = +Plata.config._PLATA_API_WORKERS || undefined;
|
|
19
|
+
}
|
|
20
|
+
const clustersPromise = require("@@/clusters/*.*");
|
|
21
|
+
cluster.startCluster({
|
|
22
|
+
name: '__PLATA_EXPRESS__',
|
|
23
|
+
env: Plata.config.ENV ?? 'prod',
|
|
24
|
+
onStart: async () => { },
|
|
25
|
+
workers: workers,
|
|
26
|
+
});
|
|
27
|
+
const clusters = await clustersPromise;
|
|
28
|
+
if (clusters.errorID !== undefined) {
|
|
29
|
+
console.log(clusters);
|
|
30
|
+
process.exit(0);
|
|
31
|
+
}
|
|
32
|
+
{
|
|
33
|
+
const promises = [];
|
|
34
|
+
clusters.forEach(c => {
|
|
35
|
+
const config = c.exports.default;
|
|
36
|
+
promises.push(cluster.startCluster(config).then(r => {
|
|
37
|
+
if (r !== null) {
|
|
38
|
+
console.log(r);
|
|
39
|
+
process.exit(0);
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
});
|
|
43
|
+
await promises;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (Plata.config._PLATA_WORKER_NAME === '__PLATA_EXPRESS__') {
|
|
48
|
+
const projectRoutesPromise = Plata.FastPromise(() => (0, router_1.loadRoutesFromProject)());
|
|
49
|
+
const app = (0, express_1.default)();
|
|
50
|
+
app.disable('x-powered-by');
|
|
51
|
+
const apiRoots = Plata.config._PLATA_API_ROOT ?? '/api';
|
|
52
|
+
app.use(express_1.default.json({ limit: Plata.config._PLATA_API_JSON_SIZE ?? '100kb' }));
|
|
53
|
+
const requiredRoutes = await projectRoutesPromise;
|
|
54
|
+
if (requiredRoutes.errorID !== undefined) {
|
|
55
|
+
console.log(requiredRoutes);
|
|
56
|
+
await cluster.send({
|
|
57
|
+
action: 'KILL',
|
|
58
|
+
msg: 'Erro enquanto carregava as rotas'
|
|
59
|
+
});
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
{
|
|
63
|
+
const result = await (0, router_1.buildExpressRouter)(requiredRoutes);
|
|
64
|
+
if (result.errorID !== undefined) {
|
|
65
|
+
console.log(result);
|
|
66
|
+
await cluster.send({
|
|
67
|
+
action: 'KILL',
|
|
68
|
+
msg: 'Erro enquanto carregava as rotas'
|
|
69
|
+
});
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
app.use(apiRoots.split(','), result);
|
|
73
|
+
}
|
|
74
|
+
app.use((err, _req, res, _next) => {
|
|
75
|
+
return res.status(500).json({
|
|
76
|
+
errorID: 'PRAPI0001',
|
|
77
|
+
error: 'Erro interno inesperado',
|
|
78
|
+
msg: err.message
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
app.all('*', (req, res) => {
|
|
82
|
+
return res.status(404).json({
|
|
83
|
+
errorID: 'PRAPI0002',
|
|
84
|
+
error: 'Rota não encontrada',
|
|
85
|
+
msg: req.path
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
const port = process.env.PORT ?? 3050;
|
|
89
|
+
if (!Plata.config._PLATA_API_SSL_KEY || !Plata.config._PLATA_API_SSL_CERT) {
|
|
90
|
+
console.log(`Nenhum certificado configurado na env ${process.env.ENV}:`);
|
|
91
|
+
console.log(`_PLATA_API_SSL_KEY: ${process.env._PLATA_API_SSL_KEY}`);
|
|
92
|
+
console.log(`_PLATA_API_SSL_CERT: ${process.env._PLATA_API_SSL_CERT}`);
|
|
93
|
+
app.listen(port, () => {
|
|
94
|
+
console.log(`Iniciando Worker Express na porta ${port}`);
|
|
95
|
+
setTimeout(() => process.removeAllListeners('exit'), 500);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
console.log('Iniciando a Plata com ssl usando os arquivos:');
|
|
100
|
+
console.log(`key: ${process.env._PLATA_API_SSL_KEY}`);
|
|
101
|
+
console.log(`cert: ${process.env._PLATA_API_SSL_CERT}`);
|
|
102
|
+
const [cert, key] = await Promise.all([
|
|
103
|
+
promises_1.default.readFile(node_path_1.default.normalize(node_path_1.default.join(Plata.ProjectDir, Plata.config._PLATA_API_SSL_CERT))),
|
|
104
|
+
promises_1.default.readFile(node_path_1.default.normalize(node_path_1.default.join(Plata.ProjectDir, Plata.config._PLATA_API_SSL_KEY)))
|
|
105
|
+
]).catch(err => {
|
|
106
|
+
console.log({
|
|
107
|
+
errorID: 'PRAPI0003',
|
|
108
|
+
msg: 'Erro ao ler o certifica e chave ssl',
|
|
109
|
+
error: err
|
|
110
|
+
});
|
|
111
|
+
process.exit(1);
|
|
112
|
+
});
|
|
113
|
+
const https = (0, node_https_1.createServer)({
|
|
114
|
+
cert,
|
|
115
|
+
key,
|
|
116
|
+
passphrase: process.env._PLATA_API_SSL_PASS
|
|
117
|
+
}, app);
|
|
118
|
+
https.listen(port, () => {
|
|
119
|
+
console.log(`Iniciando Worker Express na porta ${port} com SSL`);
|
|
120
|
+
setTimeout(() => process.removeAllListeners('exit'), 500);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
if (Plata.config._PLATA_WORKER_NAME === undefined) {
|
|
126
|
+
await cluster.send({
|
|
127
|
+
action: 'KILL',
|
|
128
|
+
msg: 'tried to start a Worker without _PLATA_WORKER_NAME'
|
|
129
|
+
});
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const c = require(`@@/clusters/${Plata.config._PLATA_WORKER_NAME}`);
|
|
133
|
+
await c.default.onStart();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
exports.main = main;
|
|
138
|
+
//# sourceMappingURL=plata-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plata-api.js","sourceRoot":"","sources":["../../src/bin/plata-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.main = void 0;
|
|
4
|
+
const main = async () => {
|
|
5
|
+
if (Plata.ProjectJson.plata_no_setup !== undefined) {
|
|
6
|
+
console.log('Plata not configurated remove plata_no_setup from package.json');
|
|
7
|
+
process.exit(0);
|
|
8
|
+
}
|
|
9
|
+
const args = process.argv.slice(process.argv.indexOf('+'));
|
|
10
|
+
switch (Plata.ProjectJson.plata_type ?? 'api') {
|
|
11
|
+
case 'api':
|
|
12
|
+
await require('++/bin/extras/create-api-cli').cli.parseAsync(args);
|
|
13
|
+
break;
|
|
14
|
+
case 'lib':
|
|
15
|
+
await require('++/bin/extras/create-lib-cli').cli.parseAsync(args);
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
console.log(`${Plata.ProjectJson.plata_type} not supported`);
|
|
19
|
+
process.exit(0);
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.main = main;
|
|
24
|
+
//# sourceMappingURL=plata-create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plata-create.js","sourceRoot":"","sources":["../../src/bin/plata-create.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IAC3B,IAAI,KAAK,CAAC,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE;QAChD,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAA;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IAE1D,QAAQ,KAAK,CAAC,WAAW,CAAC,UAAU,IAAI,KAAK,EAAE;QAC3C,KAAK,KAAK;YACN,MAAO,OAAO,CAAC,8BAA8B,CAAiC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACvG,MAAK;QACL,KAAK,KAAK;YACN,MAAO,OAAO,CAAC,8BAA8B,CAAiC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACvG,MAAK;QACL;YACI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,gBAAgB,CAAC,CAAA;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,MAAK;KACR;AACL,CAAC,CAAA;AApBY,QAAA,IAAI,QAoBhB"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.compile = void 0;
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
10
|
+
const node_assert_1 = require("node:assert");
|
|
11
|
+
const node_readline_1 = __importDefault(require("node:readline"));
|
|
12
|
+
const node_cluster_1 = __importDefault(require("node:cluster"));
|
|
13
|
+
const tsc_prog_1 = require("tsc-prog");
|
|
14
|
+
const glob_1 = __importDefault(require("glob"));
|
|
15
|
+
const _setupRuntime_1 = require("./runtime/_setupRuntime");
|
|
16
|
+
function compile() {
|
|
17
|
+
if (!node_cluster_1.default.isPrimary)
|
|
18
|
+
return;
|
|
19
|
+
(0, tsc_prog_1.build)({
|
|
20
|
+
basePath: Plata.ProjectDir,
|
|
21
|
+
configFilePath: 'tsconfig.json',
|
|
22
|
+
compilerOptions: {
|
|
23
|
+
newLine: 'LF',
|
|
24
|
+
rootDir: '.'
|
|
25
|
+
},
|
|
26
|
+
include: [
|
|
27
|
+
'./**/*'
|
|
28
|
+
],
|
|
29
|
+
exclude: [
|
|
30
|
+
'./__BUILD__',
|
|
31
|
+
'./node_modules',
|
|
32
|
+
'./.vscode'
|
|
33
|
+
],
|
|
34
|
+
copyOtherToOutDir: true,
|
|
35
|
+
clean: {
|
|
36
|
+
outDir: true,
|
|
37
|
+
declarationDir: true,
|
|
38
|
+
outFile: true
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
exports.compile = compile;
|
|
43
|
+
const main = async () => {
|
|
44
|
+
const g = global;
|
|
45
|
+
g.Plata = await (0, _setupRuntime_1.loadRuntimeLibs)();
|
|
46
|
+
g.Plata.files = new Object(null);
|
|
47
|
+
g.Plata.files.ReadFileSync = (file, callback) => {
|
|
48
|
+
return new Promise(resolve => {
|
|
49
|
+
try {
|
|
50
|
+
const content = [];
|
|
51
|
+
const stream = node_readline_1.default.createInterface({
|
|
52
|
+
input: node_fs_1.default.createReadStream(file),
|
|
53
|
+
crlfDelay: Infinity
|
|
54
|
+
});
|
|
55
|
+
stream.on('close', () => {
|
|
56
|
+
resolve(content.join('\n'));
|
|
57
|
+
});
|
|
58
|
+
stream.on('line', (line) => {
|
|
59
|
+
content.push(callback(line));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
resolve({
|
|
64
|
+
errorID: 'PLTRF0004',
|
|
65
|
+
msg: `Error while reading file: ${file}`,
|
|
66
|
+
error: e
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
g.Plata.files.ReadFileAsync = async (file, callback) => {
|
|
72
|
+
return new Promise(resolve => {
|
|
73
|
+
try {
|
|
74
|
+
const promises = [];
|
|
75
|
+
const stream = node_readline_1.default.createInterface({
|
|
76
|
+
input: node_fs_1.default.createReadStream(file),
|
|
77
|
+
crlfDelay: Infinity
|
|
78
|
+
});
|
|
79
|
+
stream.on('close', () => {
|
|
80
|
+
Promise.all(promises).then(() => resolve(null), e => resolve({
|
|
81
|
+
errorID: 'PPFRFA0002',
|
|
82
|
+
msg: `Unexpected error while reading file: ${file}`,
|
|
83
|
+
error: e
|
|
84
|
+
}));
|
|
85
|
+
});
|
|
86
|
+
stream.on('line', line => {
|
|
87
|
+
promises.push(Plata.FastPromise(() => callback(line)));
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
return resolve({
|
|
92
|
+
errorID: 'PPFRFA0001',
|
|
93
|
+
msg: `Unexpected error while reading file: ${file}`,
|
|
94
|
+
error: e
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
g.Plata.files.FindFiles = async (folders, file) => {
|
|
100
|
+
const files = [];
|
|
101
|
+
for (const folder of folders) {
|
|
102
|
+
files.push(...glob_1.default.sync(`${folder.replace(/\\/g, '/')}/**/${file}`));
|
|
103
|
+
}
|
|
104
|
+
return files;
|
|
105
|
+
};
|
|
106
|
+
compile();
|
|
107
|
+
module.constructor.prototype.require = function (pathRequire) {
|
|
108
|
+
const self = this;
|
|
109
|
+
(0, node_assert_1.ok)(typeof pathRequire === 'string', 'path must be a string');
|
|
110
|
+
(0, node_assert_1.ok)(pathRequire, 'missing path');
|
|
111
|
+
try {
|
|
112
|
+
switch (pathRequire.slice(0, 2)) {
|
|
113
|
+
case '@@':
|
|
114
|
+
pathRequire = pathRequire.replace('@@', `${Plata.ProjectDir}/__BUILD__`);
|
|
115
|
+
break;
|
|
116
|
+
case '++':
|
|
117
|
+
pathRequire = pathRequire.replace('++', `${Plata.PlataDir}/__BUILD__`);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
pathRequire = pathRequire.replace(/\\/g, '/');
|
|
121
|
+
switch (node_path_1.default.extname(pathRequire)) {
|
|
122
|
+
case '.env':
|
|
123
|
+
return Plata.FastPromise(() => Plata.ReadEnvFileToPromise(pathRequire));
|
|
124
|
+
break;
|
|
125
|
+
case '.*':
|
|
126
|
+
return Plata.FastPromise(() => Plata.RequireFolder(node_path_1.default.dirname(pathRequire)));
|
|
127
|
+
break;
|
|
128
|
+
default:
|
|
129
|
+
return self.constructor._load(pathRequire, self);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
if (err.code === 'MODULE_NOT_FOUND') {
|
|
135
|
+
throw err;
|
|
136
|
+
}
|
|
137
|
+
pathRequire = node_path_1.default.resolve(__dirname, pathRequire);
|
|
138
|
+
console.log('Error in file: ' + pathRequire);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
g.Plata.config = new Object(null);
|
|
142
|
+
const configEnv = require('@@/configs/env').envConfig;
|
|
143
|
+
const envFilePromise = require(`@@/envs/${configEnv.env}.env`);
|
|
144
|
+
for (const key in process.env) {
|
|
145
|
+
g.Plata.config[key] = process.env[key];
|
|
146
|
+
}
|
|
147
|
+
const envFile = await envFilePromise;
|
|
148
|
+
for (const key in envFile) {
|
|
149
|
+
g.Plata.config[key] = envFile[key];
|
|
150
|
+
}
|
|
151
|
+
const run = process.argv[process.argv.indexOf('+') + 1];
|
|
152
|
+
const app = require(`++/bin/${run}`);
|
|
153
|
+
await app.main();
|
|
154
|
+
};
|
|
155
|
+
main();
|
|
156
|
+
//# sourceMappingURL=plata-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plata-runtime.js","sourceRoot":"","sources":["../../src/bin/plata-runtime.ts"],"names":[],"mappings":"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"}
|