@marsx-dev/launcher 0.0.23 → 0.0.25

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 CHANGED
@@ -1,6 +1,4 @@
1
- import { ImportProjectConfig } from './configuration';
2
1
  import { SfcBlock } from './utils/sfc';
3
2
  export declare function readBlockFiles(blocksDir: string): Promise<SfcBlock[]>;
4
- export declare function readImportedBlockFiles(externalImport: ImportProjectConfig): Promise<SfcBlock[]>;
5
3
  export declare function loadAllBlocks(): Promise<SfcBlock[]>;
6
4
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAU,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAA0B,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2F/D,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,uBAQrD;AAED,wBAAsB,sBAAsB,CAAC,cAAc,EAAE,mBAAmB,uBAO/E;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAMzD"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,QAAQ,EAAE,MAAM,aAAa,CAAC;AAoG/D,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,uBASrD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAKzD"}
package/dist/loader.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadAllBlocks = exports.readImportedBlockFiles = exports.readBlockFiles = void 0;
6
+ exports.loadAllBlocks = exports.readBlockFiles = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const fs_1 = require("fs");
9
9
  const mongodb_1 = require("mongodb");
@@ -20,6 +20,15 @@ function getImportedBlocksRoot() {
20
20
  function getImportedProjectDir(externalImport) {
21
21
  return path_1.default.join(getImportedBlocksRoot(), externalImport.name);
22
22
  }
23
+ function isImportedBlockFile(filePath) {
24
+ const importedBlocksRoot = getImportedBlocksRoot();
25
+ const absoluteFilePath = path_1.default.resolve(filePath);
26
+ const absoluteImportedRoot = path_1.default.resolve(importedBlocksRoot);
27
+ return absoluteFilePath === absoluteImportedRoot || absoluteFilePath.startsWith(`${absoluteImportedRoot}${path_1.default.sep}`);
28
+ }
29
+ function isSettingsBlockFile(filePath) {
30
+ return path_1.default.parse(filePath).name.endsWith('.settings');
31
+ }
23
32
  async function downloadFromExternal(externalImport) {
24
33
  const params = { api_key: externalImport.api_key, git_commit_ish: externalImport.git_commit_ish || '' };
25
34
  const url = lodash_1.default.trimEnd(externalImport.url, '/');
@@ -73,7 +82,6 @@ async function downloadSettingsFromDb() {
73
82
  }
74
83
  }
75
84
  async function saveSettingsBlocks(blocks) {
76
- await fs_1.promises.rm(path_1.default.join(configuration_1.config.blocksDir, '_settings'), { recursive: true, force: true });
77
85
  for (const block of blocks) {
78
86
  const serialized = (0, sfc_1.serializeSfc)(block);
79
87
  const outputPath = path_1.default.join(configuration_1.config.blocksDir, serialized.filePath);
@@ -89,25 +97,16 @@ async function readBlockFiles(blocksDir) {
89
97
  const files = await (0, fileUtils_1.listFilesRecursive)(blocksDir);
90
98
  return await Promise.all(files
91
99
  .filter(f => !path_1.default.basename(f).startsWith('.'))
92
- .filter(f => path_1.default.relative(blocksDir, f).split(path_1.default.sep)[0] !== IMPORTED_BLOCKS_DIR)
100
+ .filter(f => !isImportedBlockFile(f))
101
+ .filter(f => !isSettingsBlockFile(f))
93
102
  .map(f => readBlockFile(blocksDir, f)));
94
103
  }
95
104
  exports.readBlockFiles = readBlockFiles;
96
- async function readImportedBlockFiles(externalImport) {
97
- const importedProjectDir = getImportedProjectDir(externalImport);
98
- if (!(await (0, fileUtils_1.isDirectory)(importedProjectDir))) {
99
- return [];
100
- }
101
- const files = await (0, fileUtils_1.listFilesRecursive)(importedProjectDir);
102
- return await Promise.all(files.filter(f => !path_1.default.basename(f).startsWith('.')).map(f => readBlockFile(importedProjectDir, f)));
103
- }
104
- exports.readImportedBlockFiles = readImportedBlockFiles;
105
105
  async function loadAllBlocks() {
106
- await downloadAll(configuration_1.config.importProjects);
106
+ const externalBlocks = await downloadAll(configuration_1.config.importProjects);
107
107
  await saveSettingsBlocks(await downloadSettingsFromDb());
108
- const externalBlocks = lodash_1.default.flatten(await Promise.all(configuration_1.config.importProjects.map(readImportedBlockFiles)));
109
108
  const localBlocks = await readBlockFiles(configuration_1.config.blocksDir);
110
109
  return [...externalBlocks, ...localBlocks];
111
110
  }
112
111
  exports.loadAllBlocks = loadAllBlocks;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsMkJBQW9DO0FBQ3BDLHFDQUFzQztBQUN0QyxvREFBdUI7QUFDdkIsZ0RBQXdCO0FBQ3hCLG1EQUE4RDtBQUM5RCxxQ0FBK0Q7QUFDL0QsaURBQXNGO0FBQ3RGLG1DQUEwRDtBQUcxRCxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztBQUV4QyxTQUFTLHFCQUFxQjtJQUM1QixPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMsc0JBQU0sQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxjQUFtQztJQUNoRSxPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUVELEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxjQUFtQztJQUNyRSxNQUFNLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsY0FBYyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBRXhHLE1BQU0sR0FBRyxHQUFHLGdCQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5QyxJQUFJO1FBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxlQUFLLENBQUMsR0FBRyxDQUFhLEdBQUcsR0FBRyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDNUYsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0tBQ3BCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFP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
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsMkJBQW9DO0FBQ3BDLHFDQUFzQztBQUN0QyxvREFBdUI7QUFDdkIsZ0RBQXdCO0FBQ3hCLG1EQUE4RDtBQUM5RCxxQ0FBK0Q7QUFDL0QsaURBQXlFO0FBQ3pFLG1DQUEwRDtBQUcxRCxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztBQUV4QyxTQUFTLHFCQUFxQjtJQUM1QixPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMsc0JBQU0sQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxjQUFtQztJQUNoRSxPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsUUFBZ0I7SUFDM0MsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO0lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxNQUFNLG9CQUFvQixHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxPQUFPLGdCQUFnQixLQUFLLG9CQUFvQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLG9CQUFvQixHQUFHLGNBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ3hILENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLFFBQWdCO0lBQzNDLE9BQU8sY0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxLQUFLLFVB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marsx-dev/launcher",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "description": "MarsX launcher",
5
5
  "author": "MarsX team <team@marsx.dev>",
6
6
  "homepage": "https://marsx.dev/",
package/src/loader.ts CHANGED
@@ -5,7 +5,7 @@ import _ from 'lodash';
5
5
  import path from 'path';
6
6
  import { config, ImportProjectConfig } from './configuration';
7
7
  import { parseSFC, serializeSfc, SfcBlock } from './utils/sfc';
8
- import { isDirectory, listFilesRecursive, writeFileMakeDir } from './utils/fileUtils';
8
+ import { listFilesRecursive, writeFileMakeDir } from './utils/fileUtils';
9
9
  import { convertV3ToSfc, V3MongoBlock } from './utils/v3';
10
10
 
11
11
  type V4Response = { commit: string; hash: string; blocks: SfcBlock[] };
@@ -19,6 +19,17 @@ function getImportedProjectDir(externalImport: ImportProjectConfig) {
19
19
  return path.join(getImportedBlocksRoot(), externalImport.name);
20
20
  }
21
21
 
22
+ function isImportedBlockFile(filePath: string) {
23
+ const importedBlocksRoot = getImportedBlocksRoot();
24
+ const absoluteFilePath = path.resolve(filePath);
25
+ const absoluteImportedRoot = path.resolve(importedBlocksRoot);
26
+ return absoluteFilePath === absoluteImportedRoot || absoluteFilePath.startsWith(`${absoluteImportedRoot}${path.sep}`);
27
+ }
28
+
29
+ function isSettingsBlockFile(filePath: string) {
30
+ return path.parse(filePath).name.endsWith('.settings');
31
+ }
32
+
22
33
  async function downloadFromExternal(externalImport: ImportProjectConfig): Promise<V4Response> {
23
34
  const params = { api_key: externalImport.api_key, git_commit_ish: externalImport.git_commit_ish || '' };
24
35
 
@@ -80,8 +91,6 @@ async function downloadSettingsFromDb(): Promise<SfcBlock[]> {
80
91
  }
81
92
 
82
93
  async function saveSettingsBlocks(blocks: SfcBlock[]) {
83
- await fs.rm(path.join(config.blocksDir, '_settings'), { recursive: true, force: true });
84
-
85
94
  for (const block of blocks) {
86
95
  const serialized = serializeSfc(block);
87
96
  const outputPath = path.join(config.blocksDir, serialized.filePath);
@@ -100,24 +109,15 @@ export async function readBlockFiles(blocksDir: string) {
100
109
  return await Promise.all(
101
110
  files
102
111
  .filter(f => !path.basename(f).startsWith('.'))
103
- .filter(f => path.relative(blocksDir, f).split(path.sep)[0] !== IMPORTED_BLOCKS_DIR)
112
+ .filter(f => !isImportedBlockFile(f))
113
+ .filter(f => !isSettingsBlockFile(f))
104
114
  .map(f => readBlockFile(blocksDir, f)),
105
115
  );
106
116
  }
107
117
 
108
- export async function readImportedBlockFiles(externalImport: ImportProjectConfig) {
109
- const importedProjectDir = getImportedProjectDir(externalImport);
110
- if (!(await isDirectory(importedProjectDir))) {
111
- return [];
112
- }
113
- const files = await listFilesRecursive(importedProjectDir);
114
- return await Promise.all(files.filter(f => !path.basename(f).startsWith('.')).map(f => readBlockFile(importedProjectDir, f)));
115
- }
116
-
117
118
  export async function loadAllBlocks(): Promise<SfcBlock[]> {
118
- await downloadAll(config.importProjects);
119
+ const externalBlocks = await downloadAll(config.importProjects);
119
120
  await saveSettingsBlocks(await downloadSettingsFromDb());
120
- const externalBlocks = _.flatten(await Promise.all(config.importProjects.map(readImportedBlockFiles)));
121
121
  const localBlocks = await readBlockFiles(config.blocksDir);
122
122
  return [...externalBlocks, ...localBlocks];
123
123
  }