jopi-toolkit 3.0.5 → 3.0.11
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 +1 -1
- package/dist/jk_crypto/jBundler_ifServer.d.ts +2 -2
- package/dist/jk_crypto/jBundler_ifServer.js +8 -8
- package/dist/jk_crypto/jBundler_ifServer.js.map +1 -1
- package/dist/jk_events/index.d.ts +5 -5
- package/dist/jk_events/index.js +20 -10
- package/dist/jk_events/index.js.map +1 -1
- package/dist/jk_fs/jBundler_ifBrowser.d.ts +2 -2
- package/dist/jk_fs/jBundler_ifBrowser.js +2 -2
- package/dist/jk_fs/jBundler_ifServer.d.ts +39 -3
- package/dist/jk_fs/jBundler_ifServer.js +152 -3
- package/dist/jk_fs/jBundler_ifServer.js.map +1 -1
- package/dist/jk_logs/index.d.ts +54 -0
- package/dist/jk_logs/index.js +316 -0
- package/dist/jk_logs/index.js.map +1 -0
- package/dist/jk_logs/jBundler_ifBrowser.js.map +1 -0
- package/dist/jk_logs/jBundler_ifServer.d.ts +2 -0
- package/dist/jk_logs/jBundler_ifServer.js +25 -0
- package/dist/jk_logs/jBundler_ifServer.js.map +1 -0
- package/dist/jk_schemas/index.js +2 -0
- package/dist/jk_schemas/index.js.map +1 -1
- package/dist/jk_timer/index.js +9 -4
- package/dist/jk_timer/index.js.map +1 -1
- package/dist/jk_tools/common.d.ts +29 -0
- package/{src/jk_tools/index.js → dist/jk_tools/common.js} +28 -21
- package/dist/jk_tools/common.js.map +1 -0
- package/dist/jk_tools/index.d.ts +1 -20
- package/dist/jk_tools/index.js +1 -71
- package/dist/jk_tools/index.js.map +1 -1
- package/dist/jk_tools/jBundler_ifBrowser.d.ts +1 -0
- package/dist/jk_tools/jBundler_ifBrowser.js +2 -0
- package/dist/jk_tools/jBundler_ifBrowser.js.map +1 -0
- package/dist/jk_tools/jBundler_ifServer.d.ts +22 -0
- package/dist/jk_tools/jBundler_ifServer.js +75 -0
- package/dist/jk_tools/jBundler_ifServer.js.map +1 -0
- package/package.json +11 -4
- package/src/jk_crypto/jBundler_ifServer.ts +8 -8
- package/src/jk_events/index.ts +24 -3
- package/src/jk_fs/jBundler_ifBrowser.ts +2 -2
- package/src/jk_fs/jBundler_ifServer.ts +171 -4
- package/src/jk_logs/index.ts +444 -0
- package/src/jk_logs/jBundler_ifBrowser.ts +2 -0
- package/src/jk_logs/jBundler_ifServer.ts +27 -0
- package/src/jk_tools/common.ts +99 -0
- package/src/jk_tools/index.ts +1 -82
- package/src/jk_tools/jBundler_ifBrowser.ts +1 -0
- package/src/jk_tools/jBundler_ifServer.ts +109 -0
- package/dist/jk_appResolver/common.d.ts +0 -40
- package/dist/jk_appResolver/common.js +0 -306
- package/dist/jk_appResolver/common.js.map +0 -1
- package/dist/jk_appResolver/index.d.ts +0 -30
- package/dist/jk_appResolver/index.js +0 -276
- package/dist/jk_appResolver/index.js.map +0 -1
- package/dist/jk_appResolver/jBundler_ifBrowser.js.map +0 -1
- package/dist/jk_appResolver/jBundler_ifServer.d.ts +0 -1
- package/dist/jk_appResolver/jBundler_ifServer.js +0 -9
- package/dist/jk_appResolver/jBundler_ifServer.js.map +0 -1
- package/dist/jk_linker/TypeComposite.d.ts +0 -12
- package/dist/jk_linker/TypeComposite.js +0 -112
- package/dist/jk_linker/TypeComposite.js.map +0 -1
- package/dist/jk_linker/arobaseType_List.d.ts +0 -44
- package/dist/jk_linker/arobaseType_List.js +0 -183
- package/dist/jk_linker/arobaseType_List.js.map +0 -1
- package/dist/jk_linker/arobaseTypes.d.ts +0 -45
- package/dist/jk_linker/arobaseTypes.js +0 -181
- package/dist/jk_linker/arobaseTypes.js.map +0 -1
- package/dist/jk_linker/binding.d.ts +0 -1
- package/dist/jk_linker/binding.js +0 -13
- package/dist/jk_linker/binding.js.map +0 -1
- package/dist/jk_linker/engine.d.ts +0 -119
- package/dist/jk_linker/engine.js +0 -553
- package/dist/jk_linker/engine.js.map +0 -1
- package/dist/jk_linker/index.d.ts +0 -1
- package/dist/jk_linker/index.js +0 -2
- package/dist/jk_linker/index.js.map +0 -1
- package/dist/jk_linker/install.d.ts +0 -4
- package/dist/jk_linker/install.js +0 -44
- package/dist/jk_linker/install.js.map +0 -1
- package/dist/jk_linker/jBundler_ifServer.d.ts +0 -3
- package/dist/jk_linker/jBundler_ifServer.js +0 -4
- package/dist/jk_linker/jBundler_ifServer.js.map +0 -1
- package/dist/jk_linker/modulesInitProcessor.d.ts +0 -7
- package/dist/jk_linker/modulesInitProcessor.js +0 -36
- package/dist/jk_linker/modulesInitProcessor.js.map +0 -1
- package/dist/jk_linker/typeChunks.d.ts +0 -15
- package/dist/jk_linker/typeChunks.js +0 -42
- package/dist/jk_linker/typeChunks.js.map +0 -1
- package/dist/jk_linker/typeComposites.d.ts +0 -13
- package/dist/jk_linker/typeComposites.js +0 -121
- package/dist/jk_linker/typeComposites.js.map +0 -1
- package/dist/jk_linker/typeEvents.d.ts +0 -5
- package/dist/jk_linker/typeEvents.js +0 -29
- package/dist/jk_linker/typeEvents.js.map +0 -1
- package/dist/jk_linker/typeList.d.ts +0 -30
- package/dist/jk_linker/typeList.js +0 -144
- package/dist/jk_linker/typeList.js.map +0 -1
- package/dist/jk_linker/typeListeners.d.ts +0 -21
- package/dist/jk_linker/typeListeners.js +0 -188
- package/dist/jk_linker/typeListeners.js.map +0 -1
- package/dist/jk_linker/typeReplaces.d.ts +0 -8
- package/dist/jk_linker/typeReplaces.js +0 -41
- package/dist/jk_linker/typeReplaces.js.map +0 -1
- package/dist/jk_registry/index.d.ts +0 -11
- package/dist/jk_registry/index.js +0 -36
- package/dist/jk_registry/index.js.map +0 -1
- package/src/jk_app/common.js +0 -442
- package/src/jk_events/index.js +0 -203
- package/src/jk_fs/index.js +0 -2
- package/src/jk_translate/index.js +0 -56
- /package/dist/{jk_appResolver → jk_logs}/jBundler_ifBrowser.d.ts +0 -0
- /package/dist/{jk_appResolver → jk_logs}/jBundler_ifBrowser.js +0 -0
package/dist/jk_linker/engine.js
DELETED
|
@@ -1,553 +0,0 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
|
-
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
10
|
-
import * as jk_tools from "jopi-toolkit/jk_tools";
|
|
11
|
-
import * as jk_term from "jopi-toolkit/jk_term";
|
|
12
|
-
import * as jk_app from "jopi-toolkit/jk_app";
|
|
13
|
-
import * as jk_what from "jopi-toolkit/jk_what";
|
|
14
|
-
const LOG = false;
|
|
15
|
-
//region Helpers
|
|
16
|
-
export async function createDirSymlink(newFilePath, targetFilePath) {
|
|
17
|
-
await jk_fs.mkDir(jk_fs.dirname(newFilePath));
|
|
18
|
-
await jk_fs.symlink(targetFilePath, newFilePath, "dir");
|
|
19
|
-
}
|
|
20
|
-
export async function resolve(dirToSearch, fileNames) {
|
|
21
|
-
for (let fileName of fileNames) {
|
|
22
|
-
let filePath = jk_fs.join(dirToSearch, fileName);
|
|
23
|
-
if (await jk_fs.isFile(filePath))
|
|
24
|
-
return filePath;
|
|
25
|
-
}
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
export function declareError(message, filePath) {
|
|
29
|
-
jk_term.logBgRed("⚠️ Jopi Linker Error -", message, "⚠️");
|
|
30
|
-
if (filePath)
|
|
31
|
-
jk_term.logBlue("See:", jk_fs.pathToFileURL(filePath));
|
|
32
|
-
process.exit(1);
|
|
33
|
-
}
|
|
34
|
-
export function addNameIntoFile(filePath, name = jk_fs.basename(filePath)) {
|
|
35
|
-
return jk_fs.writeTextToFile(filePath, name);
|
|
36
|
-
}
|
|
37
|
-
export async function getSortedDirItem(dirPath) {
|
|
38
|
-
const items = await jk_fs.listDir(dirPath);
|
|
39
|
-
return items.sort((a, b) => a.name.localeCompare(b.name));
|
|
40
|
-
}
|
|
41
|
-
export async function analizeDirContent(dirPath, rules, useThisUid) {
|
|
42
|
-
function decodeCond(condName) {
|
|
43
|
-
// Remove .cond at the end.
|
|
44
|
-
condName = condName.slice(0, -5);
|
|
45
|
-
condName = condName.toLowerCase();
|
|
46
|
-
if (condName.startsWith("if"))
|
|
47
|
-
condName = condName.substring(2);
|
|
48
|
-
condName = condName.replace("-", "");
|
|
49
|
-
condName = condName.replace("_", "");
|
|
50
|
-
return condName;
|
|
51
|
-
}
|
|
52
|
-
function decodePriority(priorityName, itemFullPath) {
|
|
53
|
-
priorityName = priorityName.toLowerCase();
|
|
54
|
-
priorityName = priorityName.replace("-", "");
|
|
55
|
-
priorityName = priorityName.replace("_", "");
|
|
56
|
-
switch (priorityName) {
|
|
57
|
-
case "default.priority":
|
|
58
|
-
return PriorityLevel.default;
|
|
59
|
-
case "veryhigh.priority":
|
|
60
|
-
return PriorityLevel.veryHigh;
|
|
61
|
-
case "high.priority":
|
|
62
|
-
return PriorityLevel.high;
|
|
63
|
-
case "low.priority":
|
|
64
|
-
return PriorityLevel.low;
|
|
65
|
-
case "verylow.priority":
|
|
66
|
-
return PriorityLevel.veryLow;
|
|
67
|
-
}
|
|
68
|
-
throw declareError("Unknown priority name: " + jk_fs.basename(itemFullPath, ".priority"), itemFullPath);
|
|
69
|
-
}
|
|
70
|
-
async function checkDirItem(entry) {
|
|
71
|
-
if (entry.isSymbolicLink)
|
|
72
|
-
return false;
|
|
73
|
-
if (entry.name[0] === ".")
|
|
74
|
-
return false;
|
|
75
|
-
if (entry.isDirectory) {
|
|
76
|
-
if (entry.name === "_") {
|
|
77
|
-
let uid = useThisUid || jk_tools.generateUUIDv4();
|
|
78
|
-
let newPath = jk_fs.join(jk_fs.dirname(entry.fullPath), uid);
|
|
79
|
-
await jk_fs.rename(entry.fullPath, newPath);
|
|
80
|
-
entry.name = uid;
|
|
81
|
-
entry.fullPath = newPath;
|
|
82
|
-
}
|
|
83
|
-
if (entry.name[0] == "_")
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
if (entry.name === "_.myuid") {
|
|
88
|
-
let uid = useThisUid || jk_tools.generateUUIDv4();
|
|
89
|
-
await jk_fs.unlink(entry.fullPath);
|
|
90
|
-
entry.fullPath = jk_fs.join(jk_fs.dirname(entry.fullPath), uid + ".myuid");
|
|
91
|
-
entry.name = uid + ".myuid";
|
|
92
|
-
await jk_fs.writeTextToFile(entry.fullPath, uid);
|
|
93
|
-
}
|
|
94
|
-
if (entry.name[0] == "_")
|
|
95
|
-
return false;
|
|
96
|
-
if (entry.name.endsWith(".myuid")) {
|
|
97
|
-
if (result.myUid) {
|
|
98
|
-
throw declareError("More than one .myuid file found here", entry.fullPath);
|
|
99
|
-
}
|
|
100
|
-
result.myUid = entry.name.slice(0, -6);
|
|
101
|
-
await addNameIntoFile(entry.fullPath);
|
|
102
|
-
}
|
|
103
|
-
else if (entry.name.endsWith(".priority")) {
|
|
104
|
-
if (result.priority) {
|
|
105
|
-
throw declareError("More than one .priority file found here", entry.fullPath);
|
|
106
|
-
}
|
|
107
|
-
if (rules.requirePriority === false) {
|
|
108
|
-
throw declareError("A .priority file is NOT expected here", entry.fullPath);
|
|
109
|
-
}
|
|
110
|
-
await addNameIntoFile(entry.fullPath);
|
|
111
|
-
result.priority = decodePriority(entry.name, entry.fullPath);
|
|
112
|
-
}
|
|
113
|
-
else if (entry.name.endsWith(".cond")) {
|
|
114
|
-
if (rules.allowConditions === false) {
|
|
115
|
-
throw declareError("A .cond file is NOT expected here", entry.fullPath);
|
|
116
|
-
}
|
|
117
|
-
await addNameIntoFile(entry.fullPath);
|
|
118
|
-
if (!result.conditionsFound)
|
|
119
|
-
result.conditionsFound = new Set();
|
|
120
|
-
result.conditionsFound.add(decodeCond(entry.name));
|
|
121
|
-
}
|
|
122
|
-
else if (entry.name.endsWith(".ref")) {
|
|
123
|
-
if (result.refTarget) {
|
|
124
|
-
throw declareError("More than one .ref file found here", entry.fullPath);
|
|
125
|
-
}
|
|
126
|
-
if (rules.requireRefFile === false) {
|
|
127
|
-
throw declareError("A .ref file is NOT expected here", entry.fullPath);
|
|
128
|
-
}
|
|
129
|
-
result.refTarget = entry.name.slice(0, -4);
|
|
130
|
-
await addNameIntoFile(entry.fullPath);
|
|
131
|
-
}
|
|
132
|
-
return true;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
let result = { dirItems: [] };
|
|
136
|
-
const items = await getSortedDirItem(dirPath);
|
|
137
|
-
for (let item of items) {
|
|
138
|
-
if (!await checkDirItem(item))
|
|
139
|
-
continue;
|
|
140
|
-
result.dirItems.push(item);
|
|
141
|
-
}
|
|
142
|
-
return result;
|
|
143
|
-
}
|
|
144
|
-
export function doesDirItemBeExclude(item) {
|
|
145
|
-
return (item.name[0] === ".") || (item.name[0] === "_");
|
|
146
|
-
}
|
|
147
|
-
export async function mustSkip_expectDir(item) {
|
|
148
|
-
if (!item.isDirectory)
|
|
149
|
-
return true;
|
|
150
|
-
if (item.name === "_") {
|
|
151
|
-
let uid = jk_tools.generateUUIDv4();
|
|
152
|
-
let newPath = jk_fs.join(jk_fs.dirname(item.fullPath), uid);
|
|
153
|
-
await jk_fs.rename(item.fullPath, newPath);
|
|
154
|
-
item.name = uid;
|
|
155
|
-
item.fullPath = newPath;
|
|
156
|
-
}
|
|
157
|
-
return ((item.name[0] === "_") || (item.name[0] === "."));
|
|
158
|
-
}
|
|
159
|
-
let gRegistry = {};
|
|
160
|
-
let gReplacing = {};
|
|
161
|
-
export function requireRegistryItem(key, requireType) {
|
|
162
|
-
const entry = gRegistry[key];
|
|
163
|
-
if (!entry)
|
|
164
|
-
throw declareError("The item " + key + " is required but not defined");
|
|
165
|
-
if (requireType && (entry.arobaseType !== requireType))
|
|
166
|
-
throw declareError("The item " + key + " is not of the expected type @" + requireType.typeName);
|
|
167
|
-
return entry;
|
|
168
|
-
}
|
|
169
|
-
export function getRegistryItem(key, requireType) {
|
|
170
|
-
const entry = gRegistry[key];
|
|
171
|
-
if (requireType && entry && (entry.arobaseType !== requireType))
|
|
172
|
-
throw declareError("The item " + key + " is not of the expected type @" + requireType.typeName);
|
|
173
|
-
return entry;
|
|
174
|
-
}
|
|
175
|
-
export function addReplace(mustReplace, replaceWith, priority, declarationFile) {
|
|
176
|
-
if (!priority)
|
|
177
|
-
priority = PriorityLevel.default;
|
|
178
|
-
let current = gReplacing[mustReplace];
|
|
179
|
-
if (current) {
|
|
180
|
-
if (current.priority > priority)
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
gReplacing[mustReplace] = { declarationFile, mustReplace, replaceWith, priority };
|
|
184
|
-
if (LOG)
|
|
185
|
-
console.log("Add REPLACE", mustReplace, "=>", replaceWith, "priority", priority);
|
|
186
|
-
}
|
|
187
|
-
export function addToRegistry(uid, item) {
|
|
188
|
-
if (gRegistry[uid])
|
|
189
|
-
declareError("The UID " + uid + " is already defined", gRegistry[uid].itemPath);
|
|
190
|
-
gRegistry[uid] = item;
|
|
191
|
-
if (LOG) {
|
|
192
|
-
const relPath = jk_fs.getRelativePath(gSrcRootDir, item.itemPath);
|
|
193
|
-
console.log(`Add ${uid} to registry. Path: ${relPath}`);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
//endregion
|
|
197
|
-
//region Generating code
|
|
198
|
-
export var FilePart;
|
|
199
|
-
(function (FilePart) {
|
|
200
|
-
FilePart["imports"] = "imports";
|
|
201
|
-
FilePart["body"] = "body";
|
|
202
|
-
FilePart["footer"] = "footer";
|
|
203
|
-
})(FilePart || (FilePart = {}));
|
|
204
|
-
export var InstallFileType;
|
|
205
|
-
(function (InstallFileType) {
|
|
206
|
-
InstallFileType[InstallFileType["server"] = 0] = "server";
|
|
207
|
-
InstallFileType[InstallFileType["browser"] = 1] = "browser";
|
|
208
|
-
InstallFileType[InstallFileType["both"] = 2] = "both";
|
|
209
|
-
})(InstallFileType || (InstallFileType = {}));
|
|
210
|
-
const gDefaultInstallTemplate = `
|
|
211
|
-
__HEADER
|
|
212
|
-
export default function() {
|
|
213
|
-
__BODY
|
|
214
|
-
__FOOTER
|
|
215
|
-
}
|
|
216
|
-
`;
|
|
217
|
-
let gServerInstallFile = {};
|
|
218
|
-
let gServerInstallFileTemplate = gDefaultInstallTemplate;
|
|
219
|
-
let gBrowserInstallFile = {};
|
|
220
|
-
let gBrowserInstallFileTemplate = gDefaultInstallTemplate;
|
|
221
|
-
export async function genWriteFile(filePath, fileContent) {
|
|
222
|
-
await jk_fs.mkDir(jk_fs.dirname(filePath));
|
|
223
|
-
return jk_fs.writeTextToFile(filePath, fileContent);
|
|
224
|
-
}
|
|
225
|
-
export function genAddToInstallFile(who, where, text) {
|
|
226
|
-
function addTo(group) {
|
|
227
|
-
let part = group[where] || "";
|
|
228
|
-
group[where] = part + text;
|
|
229
|
-
}
|
|
230
|
-
if (who === InstallFileType.both) {
|
|
231
|
-
addTo(gServerInstallFile);
|
|
232
|
-
addTo(gBrowserInstallFile);
|
|
233
|
-
}
|
|
234
|
-
else if (who === InstallFileType.server) {
|
|
235
|
-
addTo(gServerInstallFile);
|
|
236
|
-
}
|
|
237
|
-
else if (who === InstallFileType.browser) {
|
|
238
|
-
addTo(gBrowserInstallFile);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
async function generateAll() {
|
|
242
|
-
function applyTemplate(template, header, body, footer) {
|
|
243
|
-
if (!header)
|
|
244
|
-
header = "";
|
|
245
|
-
if (!footer)
|
|
246
|
-
footer = "";
|
|
247
|
-
if (!body)
|
|
248
|
-
body = "";
|
|
249
|
-
template = template.replace("__HEADER", header);
|
|
250
|
-
template = template.replace("__BODY", body);
|
|
251
|
-
template = template.replace("__FOOTER", footer);
|
|
252
|
-
return template;
|
|
253
|
-
}
|
|
254
|
-
function applyReplaces() {
|
|
255
|
-
for (let mustReplace in gReplacing) {
|
|
256
|
-
let replaceParams = gReplacing[mustReplace];
|
|
257
|
-
let itemToReplaceRef = gRegistry[mustReplace];
|
|
258
|
-
//
|
|
259
|
-
if (!itemToReplaceRef) {
|
|
260
|
-
throw declareError("Can't find the element to replace : " + mustReplace, replaceParams.declarationFile);
|
|
261
|
-
}
|
|
262
|
-
let replaceWithRef = gRegistry[replaceParams.replaceWith];
|
|
263
|
-
//
|
|
264
|
-
if (!replaceWithRef) {
|
|
265
|
-
throw declareError("Can't find the element used for replacement : " + replaceParams.replaceWith, replaceParams.declarationFile);
|
|
266
|
-
}
|
|
267
|
-
if (itemToReplaceRef.arobaseType !== replaceWithRef.arobaseType) {
|
|
268
|
-
throw declareError(`Try to replace an element of type ${itemToReplaceRef.arobaseType.typeName} with an element of type ${replaceWithRef.arobaseType.typeName}`, replaceParams.declarationFile);
|
|
269
|
-
}
|
|
270
|
-
gRegistry[mustReplace] = replaceWithRef;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
applyReplaces();
|
|
274
|
-
const infos = { genDir: gGenRootDir };
|
|
275
|
-
for (let arobaseType of Object.values(gArobaseHandler)) {
|
|
276
|
-
await arobaseType.beginGeneratingCode();
|
|
277
|
-
let items = [];
|
|
278
|
-
for (let key in gRegistry) {
|
|
279
|
-
const entry = gRegistry[key];
|
|
280
|
-
if (entry.arobaseType === arobaseType) {
|
|
281
|
-
items.push(entry);
|
|
282
|
-
await entry.arobaseType.generateCodeForItem(key, entry, infos);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
await arobaseType.endGeneratingCode(items);
|
|
286
|
-
}
|
|
287
|
-
for (let p of gModuleDirProcessors) {
|
|
288
|
-
await p.generateCode();
|
|
289
|
-
}
|
|
290
|
-
let installerFile = applyTemplate(gServerInstallFileTemplate, gServerInstallFile[FilePart.imports], gServerInstallFile[FilePart.body], gServerInstallFile[FilePart.footer]);
|
|
291
|
-
await jk_fs.writeTextToFile(jk_fs.join(gGenRootDir, "installServer.ts"), installerFile);
|
|
292
|
-
gServerInstallFile = {};
|
|
293
|
-
installerFile = applyTemplate(gBrowserInstallFileTemplate, gBrowserInstallFile[FilePart.imports], gBrowserInstallFile[FilePart.body], gBrowserInstallFile[FilePart.footer]);
|
|
294
|
-
await jk_fs.writeTextToFile(jk_fs.join(gGenRootDir, "installBrowser.ts"), installerFile);
|
|
295
|
-
gBrowserInstallFile = {};
|
|
296
|
-
}
|
|
297
|
-
export function setInstallerTemplate(type, template) {
|
|
298
|
-
if (type === InstallFileType.both) {
|
|
299
|
-
gServerInstallFileTemplate = template;
|
|
300
|
-
gBrowserInstallFileTemplate = template;
|
|
301
|
-
}
|
|
302
|
-
else if (type === InstallFileType.server) {
|
|
303
|
-
gServerInstallFileTemplate = template;
|
|
304
|
-
}
|
|
305
|
-
else if (type === InstallFileType.browser) {
|
|
306
|
-
gBrowserInstallFileTemplate = template;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
export var PriorityLevel;
|
|
310
|
-
(function (PriorityLevel) {
|
|
311
|
-
PriorityLevel[PriorityLevel["veryLow"] = -200] = "veryLow";
|
|
312
|
-
PriorityLevel[PriorityLevel["low"] = -100] = "low";
|
|
313
|
-
PriorityLevel[PriorityLevel["default"] = 0] = "default";
|
|
314
|
-
PriorityLevel[PriorityLevel["high"] = 100] = "high";
|
|
315
|
-
PriorityLevel[PriorityLevel["veryHigh"] = 200] = "veryHigh";
|
|
316
|
-
})(PriorityLevel || (PriorityLevel = {}));
|
|
317
|
-
/**
|
|
318
|
-
* Process the root directory of a type.
|
|
319
|
-
*
|
|
320
|
-
* ruleType/itemType/newRule/...
|
|
321
|
-
* ^- we will iterate it
|
|
322
|
-
* ^-- we are here
|
|
323
|
-
*/
|
|
324
|
-
export async function applyTypeRulesOnDir(p) {
|
|
325
|
-
const dirItems = await jk_fs.listDir(p.dirToScan);
|
|
326
|
-
for (let entry of dirItems) {
|
|
327
|
-
if (doesDirItemBeExclude(entry))
|
|
328
|
-
continue;
|
|
329
|
-
if (p.expectFsType === "file") {
|
|
330
|
-
if (entry.isFile) {
|
|
331
|
-
await applyTypeRulesOnChildDir(p.itemDefRules, entry);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
else if (p.expectFsType === "dir") {
|
|
335
|
-
if (entry.isDirectory) {
|
|
336
|
-
await applyTypeRulesOnChildDir(p.itemDefRules, entry);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
else if (p.expectFsType === "fileOrDir") {
|
|
340
|
-
await applyTypeRulesOnChildDir(p.itemDefRules, entry);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* Process the subdirectory of a type.
|
|
346
|
-
* Generally, it's the rule we add.
|
|
347
|
-
*
|
|
348
|
-
* ruleType/itemType/newRule/...
|
|
349
|
-
* ^- we will iterate on it
|
|
350
|
-
* ^-- we are here
|
|
351
|
-
*/
|
|
352
|
-
export async function applyTypeRulesOnChildDir(p, dirItem) {
|
|
353
|
-
const thisIsFile = dirItem.isFile;
|
|
354
|
-
const thisFullPath = dirItem.fullPath;
|
|
355
|
-
const thisName = dirItem.name;
|
|
356
|
-
let thisNameAsUID;
|
|
357
|
-
// The file / folder-name is a UUID4?
|
|
358
|
-
let thisIsUUID = jk_tools.isUUIDv4(thisName);
|
|
359
|
-
if (thisIsUUID) {
|
|
360
|
-
if (p.nameConstraint === "mustNotBeUid") {
|
|
361
|
-
throw declareError("The name must NOT be an UID", thisFullPath);
|
|
362
|
-
}
|
|
363
|
-
thisNameAsUID = thisName;
|
|
364
|
-
}
|
|
365
|
-
else {
|
|
366
|
-
if (p.nameConstraint === "mustBeUid") {
|
|
367
|
-
throw declareError("The name MUST be an UID", thisFullPath);
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
// It's a file?
|
|
371
|
-
if (thisIsFile) {
|
|
372
|
-
// Process it now.
|
|
373
|
-
await p.transform({
|
|
374
|
-
itemName: thisName,
|
|
375
|
-
uid: thisIsUUID ? thisName : undefined,
|
|
376
|
-
priority: PriorityLevel.default,
|
|
377
|
-
itemPath: thisFullPath, isFile: thisIsFile,
|
|
378
|
-
parentDirName: p.rootDirName,
|
|
379
|
-
resolved: {}
|
|
380
|
-
});
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
// Will search references to config.json / index.tsx / ...
|
|
384
|
-
//
|
|
385
|
-
let resolved = {};
|
|
386
|
-
//
|
|
387
|
-
if (p.filesToResolve) {
|
|
388
|
-
for (let key in p.filesToResolve) {
|
|
389
|
-
resolved[key] = await resolve(thisFullPath, p.filesToResolve[key]);
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
// Search the "uid.myuid" file, which allows knowing the uid of the item.
|
|
393
|
-
//
|
|
394
|
-
const result = await analizeDirContent(thisFullPath, p);
|
|
395
|
-
const myUid = result.myUid;
|
|
396
|
-
const refTarget = result.refTarget;
|
|
397
|
-
const conditions = result.conditionsFound;
|
|
398
|
-
let priority = result.priority;
|
|
399
|
-
if (!priority) {
|
|
400
|
-
priority = PriorityLevel.default;
|
|
401
|
-
await jk_fs.writeTextToFile(jk_fs.join(thisFullPath, "default.priority"), "default.priority");
|
|
402
|
-
}
|
|
403
|
-
if (myUid) {
|
|
404
|
-
// If itemUid already defined, then must match myUidFile.
|
|
405
|
-
if (thisNameAsUID && (thisNameAsUID !== myUid)) {
|
|
406
|
-
throw declareError("The UID in the .myuid file is NOT the same as the UID in the folder name", thisFullPath);
|
|
407
|
-
}
|
|
408
|
-
thisNameAsUID = myUid;
|
|
409
|
-
}
|
|
410
|
-
await p.transform({
|
|
411
|
-
itemName: thisName, uid: thisNameAsUID, refTarget,
|
|
412
|
-
itemPath: thisFullPath, isFile: thisIsFile, resolved, priority,
|
|
413
|
-
parentDirName: p.rootDirName,
|
|
414
|
-
conditions
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
//endregion
|
|
418
|
-
//region Processing project
|
|
419
|
-
async function processProject() {
|
|
420
|
-
await jk_fs.rmDir(gGenRootDir);
|
|
421
|
-
await processModules();
|
|
422
|
-
await generateAll();
|
|
423
|
-
}
|
|
424
|
-
async function processModules() {
|
|
425
|
-
let modules = await jk_fs.listDir(gSrcRootDir);
|
|
426
|
-
for (let module of modules) {
|
|
427
|
-
if (!module.isDirectory)
|
|
428
|
-
continue;
|
|
429
|
-
if (!module.name.startsWith("mod_"))
|
|
430
|
-
continue;
|
|
431
|
-
for (let p of gModuleDirProcessors) {
|
|
432
|
-
await p.onBeginModuleProcessing(module.fullPath);
|
|
433
|
-
}
|
|
434
|
-
await processModule(module.fullPath);
|
|
435
|
-
for (let p of gModuleDirProcessors) {
|
|
436
|
-
await p.onEndModuleProcessing(module.fullPath);
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
async function processModule(moduleDir) {
|
|
441
|
-
let dirItems = await jk_fs.listDir(moduleDir);
|
|
442
|
-
let arobaseDir;
|
|
443
|
-
for (let dirItem of dirItems) {
|
|
444
|
-
if (!dirItem.isDirectory)
|
|
445
|
-
continue;
|
|
446
|
-
if (dirItem.name[0] !== "@")
|
|
447
|
-
continue;
|
|
448
|
-
if (dirItem.name == "@") {
|
|
449
|
-
arobaseDir = dirItem;
|
|
450
|
-
continue;
|
|
451
|
-
}
|
|
452
|
-
let name = dirItem.name.substring(1);
|
|
453
|
-
let arobaseType = gArobaseHandler[name];
|
|
454
|
-
if (!arobaseType)
|
|
455
|
-
throw declareError("Unknown arobase type: " + name, dirItem.fullPath);
|
|
456
|
-
if (arobaseType.position !== "root")
|
|
457
|
-
continue;
|
|
458
|
-
await arobaseType.processDir({ moduleDir, arobaseDir: dirItem.fullPath, genDir: gGenRootDir });
|
|
459
|
-
}
|
|
460
|
-
if (arobaseDir) {
|
|
461
|
-
dirItems = await jk_fs.listDir(arobaseDir.fullPath);
|
|
462
|
-
for (let dirItem of dirItems) {
|
|
463
|
-
if (!dirItem.isDirectory)
|
|
464
|
-
continue;
|
|
465
|
-
let name = dirItem.name;
|
|
466
|
-
let arobaseType = gArobaseHandler[name];
|
|
467
|
-
if (!arobaseType)
|
|
468
|
-
throw declareError("Unknown arobase type: " + name, dirItem.fullPath);
|
|
469
|
-
if (arobaseType.position === "root")
|
|
470
|
-
continue;
|
|
471
|
-
await arobaseType.processDir({ moduleDir, arobaseDir: dirItem.fullPath, genDir: gGenRootDir });
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
//endregion
|
|
476
|
-
//region Extensions
|
|
477
|
-
export class ArobaseType {
|
|
478
|
-
constructor(typeName, position) {
|
|
479
|
-
this.typeName = typeName;
|
|
480
|
-
this.position = position;
|
|
481
|
-
}
|
|
482
|
-
generateCodeForItem(key, rItem, infos) {
|
|
483
|
-
return Promise.resolve();
|
|
484
|
-
}
|
|
485
|
-
beginGeneratingCode() {
|
|
486
|
-
return Promise.resolve();
|
|
487
|
-
}
|
|
488
|
-
endGeneratingCode(items) {
|
|
489
|
-
return Promise.resolve();
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
export class ModuleDirProcessor {
|
|
493
|
-
onBeginModuleProcessing(moduleDir) {
|
|
494
|
-
return Promise.resolve();
|
|
495
|
-
}
|
|
496
|
-
onEndModuleProcessing(moduleDir) {
|
|
497
|
-
return Promise.resolve();
|
|
498
|
-
}
|
|
499
|
-
generateCode() {
|
|
500
|
-
return Promise.resolve();
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
export function addArobaseType(type) {
|
|
504
|
-
return gArobaseHandler[type.typeName] = type;
|
|
505
|
-
}
|
|
506
|
-
export function addModuleDirProcess(p) {
|
|
507
|
-
gModuleDirProcessors.push(p);
|
|
508
|
-
}
|
|
509
|
-
let gArobaseHandler = {};
|
|
510
|
-
let gModuleDirProcessors = [];
|
|
511
|
-
//endregion
|
|
512
|
-
//region Bootstrap
|
|
513
|
-
let gProjectRootDir;
|
|
514
|
-
let gGenRootDir;
|
|
515
|
-
let gSrcRootDir;
|
|
516
|
-
export function getProjectGenDir() {
|
|
517
|
-
return gGenRootDir;
|
|
518
|
-
}
|
|
519
|
-
export function init(rootDir) {
|
|
520
|
-
if (gIsInit)
|
|
521
|
-
return;
|
|
522
|
-
gIsInit = true;
|
|
523
|
-
if (!rootDir)
|
|
524
|
-
rootDir = jk_app.findPackageJsonDir();
|
|
525
|
-
gProjectRootDir = rootDir;
|
|
526
|
-
gSrcRootDir = jk_fs.join(gProjectRootDir, "src");
|
|
527
|
-
gGenRootDir = jk_fs.join(gSrcRootDir, "_jopiLinkerGen");
|
|
528
|
-
}
|
|
529
|
-
export async function compile(rootDir) {
|
|
530
|
-
if (gIsCompiled)
|
|
531
|
-
return;
|
|
532
|
-
gIsCompiled = true;
|
|
533
|
-
async function searchLinkerScript() {
|
|
534
|
-
let jopiLinkerScript = jk_fs.join(gProjectRootDir, "dist", "jopi-linker.js");
|
|
535
|
-
if (await jk_fs.isFile(jopiLinkerScript))
|
|
536
|
-
return jopiLinkerScript;
|
|
537
|
-
if (jk_what.isBunJS) {
|
|
538
|
-
jopiLinkerScript = jk_fs.join(gSrcRootDir, "jopi-linker.ts");
|
|
539
|
-
if (await jk_fs.isFile(jopiLinkerScript))
|
|
540
|
-
return jopiLinkerScript;
|
|
541
|
-
}
|
|
542
|
-
return undefined;
|
|
543
|
-
}
|
|
544
|
-
init(rootDir);
|
|
545
|
-
let jopiLinkerScript = await searchLinkerScript();
|
|
546
|
-
if (jopiLinkerScript)
|
|
547
|
-
await import(__rewriteRelativeImportExtension(jopiLinkerScript));
|
|
548
|
-
await processProject();
|
|
549
|
-
}
|
|
550
|
-
let gIsInit = false;
|
|
551
|
-
let gIsCompiled = false;
|
|
552
|
-
//endregion
|
|
553
|
-
//# sourceMappingURL=engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/jk_linker/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./jBundler_ifServer.ts";
|
package/dist/jk_linker/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jk_linker/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
|
-
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
10
|
-
import { getProjectGenDir } from "./engine.js";
|
|
11
|
-
import * as jk_app from "jopi-toolkit/jk_app";
|
|
12
|
-
export async function loadServerInstall() {
|
|
13
|
-
let genDir = getProjectGenDir();
|
|
14
|
-
let installFilePath = jk_fs.join(genDir, "installServer.ts");
|
|
15
|
-
if (!await jk_fs.isFile(installFilePath))
|
|
16
|
-
return;
|
|
17
|
-
installFilePath = jk_app.getCompiledFilePathFor(installFilePath);
|
|
18
|
-
if (!installFilePath)
|
|
19
|
-
return;
|
|
20
|
-
let v = await import(__rewriteRelativeImportExtension(installFilePath));
|
|
21
|
-
if (!v.default)
|
|
22
|
-
return;
|
|
23
|
-
await v.default();
|
|
24
|
-
}
|
|
25
|
-
export async function getBrowserInstallFunction() {
|
|
26
|
-
let installFilePath = getBrowserInstallScript();
|
|
27
|
-
if (!await jk_fs.isFile(installFilePath))
|
|
28
|
-
return gVoidFunction;
|
|
29
|
-
installFilePath = jk_app.getCompiledFilePathFor(installFilePath);
|
|
30
|
-
if (!installFilePath)
|
|
31
|
-
return gVoidFunction;
|
|
32
|
-
let v = await import(__rewriteRelativeImportExtension(installFilePath));
|
|
33
|
-
if (!v.default)
|
|
34
|
-
return gVoidFunction;
|
|
35
|
-
return function (registry) {
|
|
36
|
-
v.default(registry);
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
export function getBrowserInstallScript() {
|
|
40
|
-
let genDir = getProjectGenDir();
|
|
41
|
-
return jk_fs.join(genDir, "installBrowser.ts");
|
|
42
|
-
}
|
|
43
|
-
const gVoidFunction = () => { };
|
|
44
|
-
//# sourceMappingURL=install.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/jk_linker/install.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACnC,IAAI,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;QAAE,OAAO;IAEjD,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACjE,IAAI,CAAC,eAAe;QAAE,OAAO;IAE7B,IAAI,CAAC,GAAG,MAAM,MAAM,kCAAC,eAAe,EAAC,CAAC;IACtC,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO;IAEvB,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;AACtB,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC3C,IAAI,eAAe,GAAG,uBAAuB,EAAE,CAAC;IAChD,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;QAAE,OAAO,aAAa,CAAC;IAE/D,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACjE,IAAI,CAAC,eAAe;QAAE,OAAO,aAAa,CAAC;IAE3C,IAAI,CAAC,GAAG,MAAM,MAAM,kCAAC,eAAe,EAAC,CAAC;IACtC,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,aAAa,CAAC;IAErC,OAAO,UAAS,QAAW;QACvB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB;IACnC,IAAI,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jBundler_ifServer.js","sourceRoot":"","sources":["../../src/jk_linker/jBundler_ifServer.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|