@marsx-dev/launcher 0.0.34 → 0.0.35
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/loader.d.ts.map +1 -1
- package/dist/loader.js +19 -17
- package/package.json +1 -1
- package/src/loader.ts +24 -19
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;AA6K/D,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,uBASrD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CASzD"}
|
package/dist/loader.js
CHANGED
|
@@ -120,31 +120,33 @@ async function downloadAll(externalImports) {
|
|
|
120
120
|
const responses = await Promise.all(externalImports.map(downloadAndSave));
|
|
121
121
|
return lodash_1.default.flatten(responses);
|
|
122
122
|
}
|
|
123
|
-
async function
|
|
123
|
+
async function removeAllLocalSettingsBlocks() {
|
|
124
|
+
const files = await (0, fileUtils_1.listFilesRecursive)(configuration_1.config.blocksDir);
|
|
125
|
+
const settingsFiles = files.filter(filePath => !isImportedBlockFile(filePath)).filter(isSettingsBlockFile);
|
|
126
|
+
await Promise.all(settingsFiles.map(filePath => fs_1.promises.rm(filePath, { force: true })));
|
|
127
|
+
}
|
|
128
|
+
async function saveSettingsBlocks() {
|
|
124
129
|
console.log('Downloading settings from MongoDB');
|
|
125
130
|
const mongoConn = await new mongodb_1.MongoClient(configuration_1.config.mongoConn).connect();
|
|
126
131
|
try {
|
|
132
|
+
await removeAllLocalSettingsBlocks();
|
|
127
133
|
const db = mongoConn.db(configuration_1.config.mongoDbName);
|
|
128
|
-
const settingsBlocks =
|
|
129
|
-
.collection('blocks')
|
|
130
|
-
.find({
|
|
134
|
+
const settingsBlocks = db.collection('blocks').find({
|
|
131
135
|
Type: 'settings',
|
|
132
|
-
})
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
+
});
|
|
137
|
+
let downloadedCount = 0;
|
|
138
|
+
for await (const block of settingsBlocks) {
|
|
139
|
+
const serialized = (0, sfc_1.serializeSfc)((0, v3_1.convertV3ToSfc)(block));
|
|
140
|
+
const outputPath = path_1.default.join(configuration_1.config.blocksDir, serialized.filePath);
|
|
141
|
+
await (0, fileUtils_1.writeFileMakeDir)(outputPath, serialized.content);
|
|
142
|
+
downloadedCount += 1;
|
|
143
|
+
}
|
|
144
|
+
console.log(`Downloaded ${downloadedCount} settings block(s) from MongoDB`);
|
|
136
145
|
}
|
|
137
146
|
finally {
|
|
138
147
|
await mongoConn.close();
|
|
139
148
|
}
|
|
140
149
|
}
|
|
141
|
-
async function saveSettingsBlocks(blocks) {
|
|
142
|
-
for (const block of blocks) {
|
|
143
|
-
const serialized = (0, sfc_1.serializeSfc)(block);
|
|
144
|
-
const outputPath = path_1.default.join(configuration_1.config.blocksDir, serialized.filePath);
|
|
145
|
-
await (0, fileUtils_1.writeFileMakeDir)(outputPath, serialized.content);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
150
|
async function readBlockFile(blocksDir, filePath) {
|
|
149
151
|
const content = await fs_1.promises.readFile(filePath);
|
|
150
152
|
const relPath = path_1.default.relative(blocksDir, filePath);
|
|
@@ -162,10 +164,10 @@ exports.readBlockFiles = readBlockFiles;
|
|
|
162
164
|
async function loadAllBlocks() {
|
|
163
165
|
const externalBlocks = await downloadAll(configuration_1.config.importProjects);
|
|
164
166
|
if (!configuration_1.config.production && configuration_1.config.saveImportedBlocks) {
|
|
165
|
-
await saveSettingsBlocks(
|
|
167
|
+
await saveSettingsBlocks();
|
|
166
168
|
}
|
|
167
169
|
const localBlocks = await readBlockFiles(configuration_1.config.blocksDir);
|
|
168
170
|
return [...externalBlocks, ...localBlocks];
|
|
169
171
|
}
|
|
170
172
|
exports.loadAllBlocks = loadAllBlocks;
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDJCQUFvQztBQUNwQyxrRkFBOEM7QUFDOUMscUNBQXNDO0FBQ3RDLG9EQUF1QjtBQUN2QixnREFBd0I7QUFDeEIsbURBQThEO0FBQzlELHFDQUErRDtBQUMvRCxpREFBaUY7QUFDakYsbUNBQTBEO0FBRzFELE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDO0FBQ3hDLElBQUkscUJBQXFCLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7QUFFeEQsU0FBUyxVQUFVLENBQUMsS0FBOEI7SUFDaEQsT0FBTyxNQUFNLElBQUksS0FBSyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEtBQThCO0lBQ3pELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDcEUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUM5RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2hGLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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
|
package/package.json
CHANGED
package/src/loader.ts
CHANGED
|
@@ -140,34 +140,39 @@ async function downloadAll(externalImports: ImportProjectConfig[]) {
|
|
|
140
140
|
return _.flatten(responses);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
async function
|
|
143
|
+
async function removeAllLocalSettingsBlocks() {
|
|
144
|
+
const files = await listFilesRecursive(config.blocksDir);
|
|
145
|
+
const settingsFiles = files.filter(filePath => !isImportedBlockFile(filePath)).filter(isSettingsBlockFile);
|
|
146
|
+
|
|
147
|
+
await Promise.all(settingsFiles.map(filePath => fs.rm(filePath, { force: true })));
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
async function saveSettingsBlocks() {
|
|
144
151
|
console.log('Downloading settings from MongoDB');
|
|
145
152
|
const mongoConn = await new MongoClient(config.mongoConn).connect();
|
|
146
153
|
|
|
147
154
|
try {
|
|
155
|
+
await removeAllLocalSettingsBlocks();
|
|
156
|
+
|
|
148
157
|
const db = mongoConn.db(config.mongoDbName);
|
|
149
|
-
const settingsBlocks =
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
+
const settingsBlocks = db.collection<V3MongoBlock>('blocks').find({
|
|
159
|
+
Type: 'settings',
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
let downloadedCount = 0;
|
|
163
|
+
for await (const block of settingsBlocks) {
|
|
164
|
+
const serialized = serializeSfc(convertV3ToSfc(block));
|
|
165
|
+
const outputPath = path.join(config.blocksDir, serialized.filePath);
|
|
166
|
+
await writeFileMakeDir(outputPath, serialized.content);
|
|
167
|
+
downloadedCount += 1;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
console.log(`Downloaded ${downloadedCount} settings block(s) from MongoDB`);
|
|
158
171
|
} finally {
|
|
159
172
|
await mongoConn.close();
|
|
160
173
|
}
|
|
161
174
|
}
|
|
162
175
|
|
|
163
|
-
async function saveSettingsBlocks(blocks: SfcBlock[]) {
|
|
164
|
-
for (const block of blocks) {
|
|
165
|
-
const serialized = serializeSfc(block);
|
|
166
|
-
const outputPath = path.join(config.blocksDir, serialized.filePath);
|
|
167
|
-
await writeFileMakeDir(outputPath, serialized.content);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
176
|
async function readBlockFile(blocksDir: string, filePath: string): Promise<SfcBlock> {
|
|
172
177
|
const content = await fs.readFile(filePath);
|
|
173
178
|
const relPath = path.relative(blocksDir, filePath);
|
|
@@ -189,7 +194,7 @@ export async function loadAllBlocks(): Promise<SfcBlock[]> {
|
|
|
189
194
|
const externalBlocks = await downloadAll(config.importProjects);
|
|
190
195
|
|
|
191
196
|
if (!config.production && config.saveImportedBlocks) {
|
|
192
|
-
await saveSettingsBlocks(
|
|
197
|
+
await saveSettingsBlocks();
|
|
193
198
|
}
|
|
194
199
|
|
|
195
200
|
const localBlocks = await readBlockFiles(config.blocksDir);
|