@marsx-dev/launcher 0.0.32 → 0.0.34
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/dist/configuration.js +3 -3
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +22 -24
- package/package.json +1 -1
- package/src/configuration.ts +2 -2
- package/src/loader.ts +23 -22
package/dist/configuration.js
CHANGED
|
@@ -55,8 +55,8 @@ const ConfigSchema = yup.object().shape({
|
|
|
55
55
|
.string()
|
|
56
56
|
.required()
|
|
57
57
|
.transform(v => path_1.default.resolve(v)),
|
|
58
|
-
compileCache: yup.boolean().
|
|
59
|
-
saveImportedBlocks: yup.boolean().
|
|
58
|
+
compileCache: yup.boolean().required(),
|
|
59
|
+
saveImportedBlocks: yup.boolean().required(),
|
|
60
60
|
mongoConn: yup.string().required(),
|
|
61
61
|
mongoDbName: yup.string().required(),
|
|
62
62
|
azureStorageConnection: yup.string().required(),
|
|
@@ -151,4 +151,4 @@ function getEnvVarMapping() {
|
|
|
151
151
|
return result;
|
|
152
152
|
}
|
|
153
153
|
exports.CustomEnvironmentVariables = getEnvVarMapping();
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBRTFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDbkQsb0RBQWtDO0FBQ2xDLG9EQUF1QjtBQUN2QixnREFBd0I7QUFDeEIseUNBQTJCO0FBQzNCLDZCQUFzQztBQUV0QyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQztBQTZCNUMsTUFBYSxXQUFZLFNBQVEsS0FBSztDQUFHO0FBQXpDLGtDQUF5QztBQUV6QyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDckMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDeEMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztJQUN0QyxVQUFVLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUNsRCxTQUFTLEVBQUUsR0FBRztTQUNYLE1BQU0sRUFBRTtTQUNSLFFBQVEsRUFBRTtTQUNWLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsUUFBUSxFQUFFLEdBQUc7U0FDVixNQUFNLEVBQUU7U0FDUixRQUFRLEVBQUU7U0FDVixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLFlBQVksRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hELGVBQWUsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLGFBQWEsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDckMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDL0QsQ0FBQyxDQUFDO0FBRUgsU0FBUyxtQkFBbUIsQ0FBQyxZQUFvQjtJQUMvQyxPQUFPLElBQUksS0FBSyxDQUFDLEVBQVcsRUFBRTtRQUM1QixHQUFHO1lBQ0QsTUFBTSxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsY0FBYztJQUNyQixJQUFJLGdCQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNyRCxPQUFPLG1CQUFtQixDQUFDLG9FQUFvRSxDQUFDLENBQUM7S0FDbEc7SUFFRCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzNDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7S0FDbEc7SUFFRCxNQUFNLFlBQVksR0FBRztRQUNuQixRQUFRLEVBQUUsZUFBZTtRQUN6QixZQUFZLEVBQUUsSUFBSTtRQUNsQixrQkFBa0IsRUFBRSxLQUFLO1FBQ3pCLEdBQUcsZ0JBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQy9CLEdBQUcsZUFBZTtLQUNuQixDQUFDO0lBRUYsSUFBSSxZQUFZLENBQUMsUUFBUSxLQUFLLGVBQWUsRUFBRTtRQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsbUdBQW1HLENBQUMsQ0FBQyxDQUFDO0tBQzdIO0lBRUQsSUFBSTtRQUNGLE9BQU8sWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQzVGO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsWUFBWSxxQkFBZSxFQUFFO1lBQ2hDLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNqRDthQUFNO1lBQ0wsTUFBTSxDQUFDLENBQUM7U0FDVDtLQUNGO0FBQ0gsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLE1BQWMsRUFBRSxVQUFVLEdBQUcsSUFBSTtJQUNyRCxNQUFNLEdBQUcsR0FBOEIsRUFBRSxDQUFDO0lBQzFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDaEIsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM1RCxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDeEM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixJQUFJLGVBQWUsR0FBb0IsRUFBRSxDQUFDO0lBRTFDLFVBQVU7SUFDVixNQUFNLEdBQUcsR0FBRztRQUNWLEdBQUcsT0FBTyxDQUFDLEdBQUc7UUFDZCxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUM7S0FDaEMsQ0FBQztJQUVGLElBQUk7UUFDRixlQUFlLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQW9CLENBQUM7S0FDckY7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLE9BQU8sQ0FBQyxHQUFHLENBQ1QsZUFBSyxDQUFDLE1BQU0sQ0FDVix1RkFBdUYsR0FBRyxxQ0FBcUMsQ0FDaEksQ0FDRixDQUFDO1FBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ25CO0lBRUQsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFHLGNBQWMsRUFBRSxDQUFDO0FBRXZDLFNBQVMsZ0JBQWdCO0lBQ3ZCLE1BQU0sTUFBTSxHQUFrRSxFQUFFLENBQUM7SUFDakYsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQy9ELE1BQU0sTUFBTSxHQUFHLFNBQVMsZ0JBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUMxRCxJQUFJLE1BQU0sSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxFQUFFO1lBQzFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQ3JEO2FBQU07WUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ3ZCO0tBQ0Y7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRVksUUFBQSwwQkFBMEIsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDIn0=
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAQA,OAAO,EAA0B,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAQA,OAAO,EAA0B,QAAQ,EAAE,MAAM,aAAa,CAAC;AAwK/D,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,uBASrD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CASzD"}
|
package/dist/loader.js
CHANGED
|
@@ -16,7 +16,7 @@ const sfc_1 = require("./utils/sfc");
|
|
|
16
16
|
const fileUtils_1 = require("./utils/fileUtils");
|
|
17
17
|
const v3_1 = require("./utils/v3");
|
|
18
18
|
const IMPORTED_BLOCKS_DIR = '_imported';
|
|
19
|
-
let
|
|
19
|
+
let EXTERNAL_BLOCKS_CAHCE = new Map();
|
|
20
20
|
function isSfcBlock(block) {
|
|
21
21
|
return 'path' in block;
|
|
22
22
|
}
|
|
@@ -24,7 +24,8 @@ function getExternalBlockKey(block) {
|
|
|
24
24
|
const folder = isSfcBlock(block) ? block.path.folder : block.Folder;
|
|
25
25
|
const name = isSfcBlock(block) ? block.path.name : block.Name;
|
|
26
26
|
const blockTypeName = isSfcBlock(block) ? block.path.blockTypeName : block.Type;
|
|
27
|
-
|
|
27
|
+
const version = isSfcBlock(block) ? Number(block.metadata['version'] ?? 3) : 3;
|
|
28
|
+
return blockTypeName === 'settings' ? `${folder}/${name}.${blockTypeName}` : `mars${version}_${name}`;
|
|
28
29
|
}
|
|
29
30
|
function getImportedBlocksRoot() {
|
|
30
31
|
return path_1.default.join(configuration_1.config.blocksDir, IMPORTED_BLOCKS_DIR);
|
|
@@ -43,19 +44,18 @@ function isSettingsBlockFile(filePath) {
|
|
|
43
44
|
}
|
|
44
45
|
function rememberExternalBlocks(blocks) {
|
|
45
46
|
for (const block of blocks) {
|
|
46
|
-
|
|
47
|
+
const blockKey = getExternalBlockKey(block);
|
|
48
|
+
EXTERNAL_BLOCKS_CAHCE.set(blockKey, block);
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
function filterFreshExternalBlocks(blocks) {
|
|
50
|
-
const result =
|
|
51
|
-
for (const
|
|
52
|
-
const blockKey = getExternalBlockKey(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
downloadedExternalBlockNames.add(blockKey);
|
|
56
|
-
result.push(block);
|
|
52
|
+
const result = new Map();
|
|
53
|
+
for (const sfcBlock of blocks) {
|
|
54
|
+
const blockKey = getExternalBlockKey(sfcBlock);
|
|
55
|
+
EXTERNAL_BLOCKS_CAHCE.set(blockKey, sfcBlock);
|
|
56
|
+
result.set(blockKey, sfcBlock);
|
|
57
57
|
}
|
|
58
|
-
return result;
|
|
58
|
+
return Array.from(result.values());
|
|
59
59
|
}
|
|
60
60
|
async function downloadFromExternal(externalImport) {
|
|
61
61
|
const params = { api_key: externalImport.api_key, git_commit_ish: externalImport.git_commit_ish || '' };
|
|
@@ -69,15 +69,14 @@ async function downloadFromExternal(externalImport) {
|
|
|
69
69
|
console.log(`${url} does not support V4, fallback to V3`);
|
|
70
70
|
}
|
|
71
71
|
const v3Resp = await axios_1.default.get(`${url}/api/GetExportedAppBlocks`, { params });
|
|
72
|
-
const v3Blocks =
|
|
73
|
-
for (const block of v3Resp.data
|
|
72
|
+
const v3Blocks = new Map();
|
|
73
|
+
for (const block of v3Resp.data) {
|
|
74
74
|
const blockKey = getExternalBlockKey(block);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
v3Blocks.push((0, v3_1.convertV3ToSfc)(block));
|
|
75
|
+
const sfcBlock = (0, v3_1.convertV3ToSfc)(block);
|
|
76
|
+
v3Blocks.set(blockKey, sfcBlock);
|
|
77
|
+
EXTERNAL_BLOCKS_CAHCE.set(blockKey, sfcBlock);
|
|
79
78
|
}
|
|
80
|
-
return { commit: '', hash: '', blocks: v3Blocks };
|
|
79
|
+
return { commit: '', hash: '', blocks: Array.from(v3Blocks.values()) };
|
|
81
80
|
}
|
|
82
81
|
async function saveImportedBlocks(externalImport, blocks) {
|
|
83
82
|
const importedProjectDir = getImportedProjectDir(externalImport);
|
|
@@ -117,7 +116,7 @@ async function downloadAndSave(externalImport) {
|
|
|
117
116
|
return blocks;
|
|
118
117
|
}
|
|
119
118
|
async function downloadAll(externalImports) {
|
|
120
|
-
|
|
119
|
+
EXTERNAL_BLOCKS_CAHCE = new Map();
|
|
121
120
|
const responses = await Promise.all(externalImports.map(downloadAndSave));
|
|
122
121
|
return lodash_1.default.flatten(responses);
|
|
123
122
|
}
|
|
@@ -140,9 +139,6 @@ async function downloadSettingsFromDb() {
|
|
|
140
139
|
}
|
|
141
140
|
}
|
|
142
141
|
async function saveSettingsBlocks(blocks) {
|
|
143
|
-
if (configuration_1.config.production) {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
142
|
for (const block of blocks) {
|
|
147
143
|
const serialized = (0, sfc_1.serializeSfc)(block);
|
|
148
144
|
const outputPath = path_1.default.join(configuration_1.config.blocksDir, serialized.filePath);
|
|
@@ -165,9 +161,11 @@ async function readBlockFiles(blocksDir) {
|
|
|
165
161
|
exports.readBlockFiles = readBlockFiles;
|
|
166
162
|
async function loadAllBlocks() {
|
|
167
163
|
const externalBlocks = await downloadAll(configuration_1.config.importProjects);
|
|
168
|
-
|
|
164
|
+
if (!configuration_1.config.production && configuration_1.config.saveImportedBlocks) {
|
|
165
|
+
await saveSettingsBlocks(await downloadSettingsFromDb());
|
|
166
|
+
}
|
|
169
167
|
const localBlocks = await readBlockFiles(configuration_1.config.blocksDir);
|
|
170
168
|
return [...externalBlocks, ...localBlocks];
|
|
171
169
|
}
|
|
172
170
|
exports.loadAllBlocks = loadAllBlocks;
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDJCQUFvQztBQUNwQyxrRkFBOEM7QUFDOUMscUNBQXNDO0FBQ3RDLG9EQUF1QjtBQUN2QixnREFBd0I7QUFDeEIsbURBQThEO0FBQzlELHFDQUErRDtBQUMvRCxpREFBaUY7QUFDakYsbUNBQTBEO0FBRzFELE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDO0FBQ3hDLElBQUkscUJBQXFCLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7QUFFeEQsU0FBUyxVQUFVLENBQUMsS0FBOEI7SUFDaEQsT0FBTyxNQUFNLElBQUksS0FBSyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEtBQThCO0lBQ3pELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDcEUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUM5RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2hGLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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
|
package/package.json
CHANGED
package/src/configuration.ts
CHANGED
|
@@ -56,8 +56,8 @@ const ConfigSchema = yup.object().shape({
|
|
|
56
56
|
.string()
|
|
57
57
|
.required()
|
|
58
58
|
.transform(v => path.resolve(v)),
|
|
59
|
-
compileCache: yup.boolean().
|
|
60
|
-
saveImportedBlocks: yup.boolean().
|
|
59
|
+
compileCache: yup.boolean().required(),
|
|
60
|
+
saveImportedBlocks: yup.boolean().required(),
|
|
61
61
|
mongoConn: yup.string().required(),
|
|
62
62
|
mongoDbName: yup.string().required(),
|
|
63
63
|
azureStorageConnection: yup.string().required(),
|
package/src/loader.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { convertV3ToSfc, V3MongoBlock } from './utils/v3';
|
|
|
12
12
|
|
|
13
13
|
type V4Response = { commit: string; hash: string; blocks: SfcBlock[] };
|
|
14
14
|
const IMPORTED_BLOCKS_DIR = '_imported';
|
|
15
|
-
let
|
|
15
|
+
let EXTERNAL_BLOCKS_CAHCE = new Map<string, SfcBlock>();
|
|
16
16
|
|
|
17
17
|
function isSfcBlock(block: SfcBlock | V3MongoBlock): block is SfcBlock {
|
|
18
18
|
return 'path' in block;
|
|
@@ -22,7 +22,8 @@ function getExternalBlockKey(block: SfcBlock | V3MongoBlock) {
|
|
|
22
22
|
const folder = isSfcBlock(block) ? block.path.folder : block.Folder;
|
|
23
23
|
const name = isSfcBlock(block) ? block.path.name : block.Name;
|
|
24
24
|
const blockTypeName = isSfcBlock(block) ? block.path.blockTypeName : block.Type;
|
|
25
|
-
|
|
25
|
+
const version = isSfcBlock(block) ? Number(block.metadata['version'] ?? 3) : 3;
|
|
26
|
+
return blockTypeName === 'settings' ? `${folder}/${name}.${blockTypeName}` : `mars${version}_${name}`;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
function getImportedBlocksRoot() {
|
|
@@ -46,22 +47,22 @@ function isSettingsBlockFile(filePath: string) {
|
|
|
46
47
|
|
|
47
48
|
function rememberExternalBlocks(blocks: SfcBlock[]) {
|
|
48
49
|
for (const block of blocks) {
|
|
49
|
-
|
|
50
|
+
const blockKey = getExternalBlockKey(block);
|
|
51
|
+
EXTERNAL_BLOCKS_CAHCE.set(blockKey, block);
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
function filterFreshExternalBlocks(blocks: SfcBlock[]) {
|
|
54
|
-
const result
|
|
56
|
+
const result = new Map<string, SfcBlock>();
|
|
55
57
|
|
|
56
|
-
for (const
|
|
57
|
-
const blockKey = getExternalBlockKey(
|
|
58
|
-
if (downloadedExternalBlockNames.has(blockKey)) continue;
|
|
58
|
+
for (const sfcBlock of blocks) {
|
|
59
|
+
const blockKey = getExternalBlockKey(sfcBlock);
|
|
59
60
|
|
|
60
|
-
|
|
61
|
-
result.
|
|
61
|
+
EXTERNAL_BLOCKS_CAHCE.set(blockKey, sfcBlock);
|
|
62
|
+
result.set(blockKey, sfcBlock);
|
|
62
63
|
}
|
|
63
64
|
|
|
64
|
-
return result;
|
|
65
|
+
return Array.from(result.values());
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
async function downloadFromExternal(externalImport: ImportProjectConfig): Promise<V4Response> {
|
|
@@ -77,17 +78,17 @@ async function downloadFromExternal(externalImport: ImportProjectConfig): Promis
|
|
|
77
78
|
}
|
|
78
79
|
|
|
79
80
|
const v3Resp = await axios.get<V3MongoBlock[]>(`${url}/api/GetExportedAppBlocks`, { params });
|
|
80
|
-
const v3Blocks
|
|
81
|
+
const v3Blocks = new Map<string, SfcBlock>();
|
|
81
82
|
|
|
82
|
-
for (const block of v3Resp.data
|
|
83
|
+
for (const block of v3Resp.data) {
|
|
83
84
|
const blockKey = getExternalBlockKey(block);
|
|
84
|
-
|
|
85
|
+
const sfcBlock = convertV3ToSfc(block);
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
v3Blocks.set(blockKey, sfcBlock);
|
|
88
|
+
EXTERNAL_BLOCKS_CAHCE.set(blockKey, sfcBlock);
|
|
88
89
|
}
|
|
89
90
|
|
|
90
|
-
return { commit: '', hash: '', blocks: v3Blocks };
|
|
91
|
+
return { commit: '', hash: '', blocks: Array.from(v3Blocks.values()) };
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
async function saveImportedBlocks(externalImport: ImportProjectConfig, blocks: SfcBlock[]) {
|
|
@@ -134,7 +135,7 @@ async function downloadAndSave(externalImport: ImportProjectConfig): Promise<Sfc
|
|
|
134
135
|
}
|
|
135
136
|
|
|
136
137
|
async function downloadAll(externalImports: ImportProjectConfig[]) {
|
|
137
|
-
|
|
138
|
+
EXTERNAL_BLOCKS_CAHCE = new Map<string, SfcBlock>();
|
|
138
139
|
const responses = await Promise.all(externalImports.map(downloadAndSave));
|
|
139
140
|
return _.flatten(responses);
|
|
140
141
|
}
|
|
@@ -160,10 +161,6 @@ async function downloadSettingsFromDb(): Promise<SfcBlock[]> {
|
|
|
160
161
|
}
|
|
161
162
|
|
|
162
163
|
async function saveSettingsBlocks(blocks: SfcBlock[]) {
|
|
163
|
-
if (config.production) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
164
|
for (const block of blocks) {
|
|
168
165
|
const serialized = serializeSfc(block);
|
|
169
166
|
const outputPath = path.join(config.blocksDir, serialized.filePath);
|
|
@@ -190,7 +187,11 @@ export async function readBlockFiles(blocksDir: string) {
|
|
|
190
187
|
|
|
191
188
|
export async function loadAllBlocks(): Promise<SfcBlock[]> {
|
|
192
189
|
const externalBlocks = await downloadAll(config.importProjects);
|
|
193
|
-
|
|
190
|
+
|
|
191
|
+
if (!config.production && config.saveImportedBlocks) {
|
|
192
|
+
await saveSettingsBlocks(await downloadSettingsFromDb());
|
|
193
|
+
}
|
|
194
|
+
|
|
194
195
|
const localBlocks = await readBlockFiles(config.blocksDir);
|
|
195
196
|
return [...externalBlocks, ...localBlocks];
|
|
196
197
|
}
|