@marsx-dev/launcher 0.0.8 → 0.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/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +6 -3
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +11 -10
- package/dist/utils/compile.d.ts +5 -1
- package/dist/utils/compile.d.ts.map +1 -1
- package/dist/utils/compile.js +9 -5
- package/jsx-runtime/jsx-runtime.js +16 -0
- package/jsx-runtime/package.json +5 -0
- package/package.json +2 -1
- package/src/cli/init.ts +6 -2
- package/src/loader.ts +13 -10
- package/src/utils/compile.ts +13 -4
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAyDA,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAwFpD"}
|
package/dist/cli/init.js
CHANGED
|
@@ -12,6 +12,7 @@ const configuration_1 = require("../configuration");
|
|
|
12
12
|
const fileUtils_1 = require("../utils/fileUtils");
|
|
13
13
|
const textUtils_1 = require("../utils/textUtils");
|
|
14
14
|
const index_1 = require("./index");
|
|
15
|
+
const fs_1 = require("fs");
|
|
15
16
|
const FASTIFY_DEPS = [
|
|
16
17
|
'@fastify/session',
|
|
17
18
|
'fastify',
|
|
@@ -97,7 +98,7 @@ async function initProject(projectName) {
|
|
|
97
98
|
importProjects: [
|
|
98
99
|
{
|
|
99
100
|
name: 'marsx-core',
|
|
100
|
-
url: 'https://core.
|
|
101
|
+
url: 'https://core.marscloud.dev',
|
|
101
102
|
api_key: '<API_KEY>',
|
|
102
103
|
git_commit_ish: 'main',
|
|
103
104
|
},
|
|
@@ -117,7 +118,9 @@ async function initProject(projectName) {
|
|
|
117
118
|
run('git', 'init', '--initial-branch=main');
|
|
118
119
|
run('git', 'add', '.gitignore');
|
|
119
120
|
run('git', 'add', '-A');
|
|
120
|
-
|
|
121
|
+
// When shell=true cmd args must be escaped
|
|
122
|
+
run('git', 'commit', '-m', '"Initial MarsX commit"');
|
|
123
|
+
await fs_1.promises.mkdir(path_1.default.join(projectDir, 'blocks'));
|
|
121
124
|
console.log(`\n${chalk_1.default.green('Success!')} Created ${projectName} at ${projectDir}`);
|
|
122
125
|
console.log(`\nNext steps:`);
|
|
123
126
|
console.log(` - Open new project directory: ${chalk_1.default.underline(`cd ${projectName}`)}`);
|
|
@@ -126,4 +129,4 @@ async function initProject(projectName) {
|
|
|
126
129
|
console.log(` - Start local server: ${chalk_1.default.underline('npm run start')}`);
|
|
127
130
|
}
|
|
128
131
|
exports.initProject = initProject;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsaURBQTBDO0FBQzFDLG1DQUFxQztBQUNyQyxnREFBd0I7QUFDeEIsb0RBQXNFO0FBQ3RFLGtEQUFtRTtBQUNuRSxrREFBNEM7QUFDNUMsbUNBQW1DO0FBQ25DLDJCQUFvQztBQUVwQyxNQUFNLFlBQVksR0FBRztJQUNuQixrQkFBa0I7SUFDbEIsU0FBUztJQUNULGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxjQUFjO0lBQ2QsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsbUJBQW1CO0NBQ3BCLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRztJQUNsQixxQkFBcUI7SUFDckIsU0FBUztJQUNULE9BQU87SUFDUCxlQUFlO0lBQ2YsUUFBUTtJQUNSLFFBQVE7SUFDUixVQUFVO0lBQ1YsUUFBUTtJQUNSLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsWUFBWTtJQUNaLE1BQU07SUFDTixRQUFRO0NBQ1QsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ2QsWUFBWTtJQUNaLGtDQUFrQztJQUNsQyxRQUFRO0lBQ1IsV0FBVztJQUNYLGNBQWM7SUFDZCxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixZQUFZO0NBQ2IsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztBQUU1RCxLQUFLLFVBQVUsV0FBVyxDQUFDLFdBQW1CO0lBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFdBQVcsS0FBSyxXQUFXLENB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
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,QAAQ,EAAE,MAAM,aAAa,CAAC;AAwDjD,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAIzD"}
|
package/dist/loader.js
CHANGED
|
@@ -16,16 +16,17 @@ const fileUtils_1 = require("./utils/fileUtils");
|
|
|
16
16
|
const v3_1 = require("./utils/v3");
|
|
17
17
|
async function downloadFromExternal(externalImport) {
|
|
18
18
|
const params = { api_key: externalImport.api_key, git_commit_ish: externalImport.git_commit_ish || '' };
|
|
19
|
-
|
|
19
|
+
const url = lodash_1.default.trimEnd(externalImport.url, '/');
|
|
20
|
+
console.log(`Downloading blocks from ${url}`);
|
|
20
21
|
try {
|
|
21
|
-
const v4Resp = await axios_1.default.get(`${
|
|
22
|
+
const v4Resp = await axios_1.default.get(`${url}/api/GetExportedAppBlocksV4`, { params });
|
|
22
23
|
return v4Resp.data;
|
|
23
24
|
}
|
|
24
25
|
catch (e) {
|
|
25
|
-
console.log(`${
|
|
26
|
+
console.log(`${url} does not support V4, fallback to V3`);
|
|
26
27
|
}
|
|
27
|
-
const v3Resp = await axios_1.default.get(`${
|
|
28
|
-
return v3Resp.data.map(b => (0, v3_1.convertV3ToSfc)(b));
|
|
28
|
+
const v3Resp = await axios_1.default.get(`${url}/api/GetExportedAppBlocks`, { params });
|
|
29
|
+
return { commit: '', hash: '', blocks: v3Resp.data.map(b => (0, v3_1.convertV3ToSfc)(b)) };
|
|
29
30
|
}
|
|
30
31
|
async function loadCachedOrDownload(externalImport) {
|
|
31
32
|
const hash = crypto_1.default.createHash('md5').update((0, json_stable_stringify_1.default)(externalImport)).digest('hex');
|
|
@@ -36,10 +37,10 @@ async function loadCachedOrDownload(externalImport) {
|
|
|
36
37
|
console.log(`Loading cached blocks from ${externalImport.url}`);
|
|
37
38
|
return JSON.parse(content.toString('utf-8'));
|
|
38
39
|
}
|
|
39
|
-
const
|
|
40
|
-
console.log(`Downloaded ${
|
|
41
|
-
await (0, fileUtils_1.writeFileMakeDir)(cacheFilePath, JSON.stringify(
|
|
42
|
-
return
|
|
40
|
+
const { blocks } = await downloadFromExternal(externalImport);
|
|
41
|
+
console.log(`Downloaded ${blocks.length} blocks from ${externalImport.url}`);
|
|
42
|
+
await (0, fileUtils_1.writeFileMakeDir)(cacheFilePath, JSON.stringify(blocks, null, 2), 'utf-8');
|
|
43
|
+
return blocks;
|
|
43
44
|
}
|
|
44
45
|
async function downloadAll(externalImports) {
|
|
45
46
|
const responses = await Promise.all(externalImports.map(loadCachedOrDownload));
|
|
@@ -60,4 +61,4 @@ async function loadAllBlocks() {
|
|
|
60
61
|
return [...externalBlocks, ...localBlocks];
|
|
61
62
|
}
|
|
62
63
|
exports.loadAllBlocks = loadAllBlocks;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDJCQUFvQztBQUNwQyxrRkFBOEM7QUFDOUMsb0RBQXVCO0FBQ3ZCLGdEQUF3QjtBQUN4QixtREFBOEQ7QUFDOUQscUNBQWlEO0FBQ2pELGlEQUFpRjtBQUNqRixtQ0FBMEQ7QUFJMUQsS0FBSyxVQUFVLG9CQUFvQixDQUFDLGNBQW1DO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxjQUFjLElBQUksRUFBRSxFQUFFLENBQUM7SUFFeEcsTUFBTSxHQUFHLEdBQUcsZ0JBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLElBQUk7UUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQWEsR0FBRyxHQUFHLDZCQUE2QixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM1RixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDcEI7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLHNDQUFzQyxDQUFDLENBQUM7S0FDM0Q7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQWlCLEdBQUcsR0FBRywyQkFBMkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDOUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxH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
|
package/dist/utils/compile.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
1
2
|
import { SfcBlock } from './sfc';
|
|
2
3
|
export declare function transpileTypescript(sourceCode: string, options?: {
|
|
3
4
|
sourceRoot?: string;
|
|
4
5
|
originalFilePath?: string;
|
|
5
6
|
compiledFilePath?: string;
|
|
6
7
|
lineOffset?: number | undefined;
|
|
8
|
+
compilerOptions?: ts.CompilerOptions;
|
|
7
9
|
}): string;
|
|
8
|
-
export declare function compileSfcSource(sfcBlock: SfcBlock, sourceId: string
|
|
10
|
+
export declare function compileSfcSource(sfcBlock: SfcBlock, sourceId: string, options?: {
|
|
11
|
+
compileOptions?: ts.CompilerOptions;
|
|
12
|
+
}): Promise<string>;
|
|
9
13
|
//# sourceMappingURL=compile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQjC,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;CACtC,GACA,MAAM,CAyBR;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,EAAE,CAAC,eAAe,CAAA;CAAE,GAChD,OAAO,CAAC,MAAM,CAAC,CAejB"}
|
package/dist/utils/compile.js
CHANGED
|
@@ -24,8 +24,7 @@ function transpileTypescript(sourceCode, options) {
|
|
|
24
24
|
target: typescript_1.default.ScriptTarget.Latest,
|
|
25
25
|
esModuleInterop: true,
|
|
26
26
|
sourceMap: true,
|
|
27
|
-
|
|
28
|
-
// inlineSourceMap: true,
|
|
27
|
+
...options?.compilerOptions,
|
|
29
28
|
},
|
|
30
29
|
});
|
|
31
30
|
(0, textUtils_1.assert)(transpiled.sourceMapText);
|
|
@@ -37,15 +36,20 @@ function transpileTypescript(sourceCode, options) {
|
|
|
37
36
|
return transpiled.outputText.replace(/\n\/\/# sourceMappingURL=.+/, '') + sourceMapComment;
|
|
38
37
|
}
|
|
39
38
|
exports.transpileTypescript = transpileTypescript;
|
|
40
|
-
async function compileSfcSource(sfcBlock, sourceId) {
|
|
39
|
+
async function compileSfcSource(sfcBlock, sourceId, options) {
|
|
41
40
|
const sourceCode = sfcBlock.sources[sourceId];
|
|
42
41
|
if (!sourceCode)
|
|
43
42
|
throw new Error(`Source code block ${sourceId} not found in ${sfcBlock.path.filePath}`);
|
|
44
43
|
const compiledFilePath = path_1.default.join(configuration_1.config.cacheDir, 'compiled', `${sfcBlock.path.filePath}.${sourceId}.js`);
|
|
45
44
|
const originalFilePath = path_1.default.join(configuration_1.config.blocksDir, sfcBlock.path.filePath);
|
|
46
|
-
const code = transpileTypescript(sourceCode.source, {
|
|
45
|
+
const code = transpileTypescript(sourceCode.source, {
|
|
46
|
+
compiledFilePath,
|
|
47
|
+
originalFilePath,
|
|
48
|
+
lineOffset: sourceCode.lineOffset,
|
|
49
|
+
...options,
|
|
50
|
+
});
|
|
47
51
|
await (0, fileUtils_1.writeFileMakeDir)(compiledFilePath, code, 'utf-8');
|
|
48
52
|
return compiledFilePath;
|
|
49
53
|
}
|
|
50
54
|
exports.compileSfcSource = compileSfcSource;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb21waWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGdEQUF3QjtBQUN4Qiw0REFBNEI7QUFDNUIsb0RBQTBDO0FBRTFDLDJDQUErQztBQUMvQywyQ0FBcUM7QUFFckMsU0FBUyxtQkFBbUIsQ0FBQyxTQUEyQjtJQUN0RCxPQUFPLHVEQUF1RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1SCxDQUFDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQ2pDLFVBQWtCLEVBQ2xCLE9BTUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxjQUFjLENBQUM7SUFDckUsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLEVBQUUsZ0JBQWdCLElBQUksY0FBYyxDQUFDO0lBRXJFLElBQUksT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN2QixVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO0tBQzNEO0lBRUQsTUFBTSxVQUFVLEdBQUcsb0JBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFO1FBQ2hELGVBQWUsRUFBRTtZQUNmLE1BQU0sRUFBRSxvQkFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQzlCLE1BQU0sRUFBRSxvQkFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNO1lBQzlCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsR0FBRyxPQUFPLEVBQUUsZUFBZTtTQUM1QjtLQUNGLENBQUMsQ0FBQztJQUNILElBQUEsa0JBQU0sRUFBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFakMsTUFBTSxTQUFTLEdBQXFCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pFLFNBQVMsQ0FBQyxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDakQsU0FBUyxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztJQUNsQyxTQUFTLENBQUMsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2QyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLEVBQUUsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7QUFDN0YsQ0FBQztBQWxDRCxrREFrQ0M7QUFFTSxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLFFBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLE9BQWlEO0lBRWpELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFDLFVBQVU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixRQUFRLGlCQUFpQixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFekcsTUFBTSxnQkFBZ0IsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUM7SUFDNUcsTUFBTSxnQkFBZ0IsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0UsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUNsRCxnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtRQUNqQyxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7SUFFSCxNQUFNLElBQUEsNEJBQWdCLEVBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQW5CRCw0Q0FtQkMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function createVNode(node, props, key) {
|
|
2
|
+
if (typeof node === 'string') {
|
|
3
|
+
return { type: 'TAG', tag: node, props, key };
|
|
4
|
+
} else {
|
|
5
|
+
return { type: 'FC', fc: node, props, key };
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function Fragment(props) {
|
|
10
|
+
return props.children;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.jsx = createVNode;
|
|
14
|
+
exports.jsxs = createVNode;
|
|
15
|
+
exports.jsxDEV = createVNode;
|
|
16
|
+
exports.Fragment = Fragment;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marsx-dev/launcher",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
4
|
"description": "MarsX launcher",
|
|
5
5
|
"author": "MarsX team <team@marsx.dev>",
|
|
6
6
|
"homepage": "https://marsx.dev/",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"files": [
|
|
21
21
|
"dist",
|
|
22
22
|
"src",
|
|
23
|
+
"jsx-runtime",
|
|
23
24
|
"LICENSE",
|
|
24
25
|
"README.md"
|
|
25
26
|
],
|
package/src/cli/init.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { Config, CustomEnvironmentVariables } from '../configuration';
|
|
|
6
6
|
import { isDirectory, writeFileMakeDir } from '../utils/fileUtils';
|
|
7
7
|
import { assert } from '../utils/textUtils';
|
|
8
8
|
import { CliError } from './index';
|
|
9
|
+
import { promises as fs } from 'fs';
|
|
9
10
|
|
|
10
11
|
const FASTIFY_DEPS = [
|
|
11
12
|
'@fastify/session',
|
|
@@ -103,7 +104,7 @@ export async function initProject(projectName: string) {
|
|
|
103
104
|
importProjects: [
|
|
104
105
|
{
|
|
105
106
|
name: 'marsx-core',
|
|
106
|
-
url: 'https://core.
|
|
107
|
+
url: 'https://core.marscloud.dev',
|
|
107
108
|
api_key: '<API_KEY>',
|
|
108
109
|
git_commit_ish: 'main',
|
|
109
110
|
},
|
|
@@ -130,7 +131,10 @@ export async function initProject(projectName: string) {
|
|
|
130
131
|
run('git', 'init', '--initial-branch=main');
|
|
131
132
|
run('git', 'add', '.gitignore');
|
|
132
133
|
run('git', 'add', '-A');
|
|
133
|
-
|
|
134
|
+
// When shell=true cmd args must be escaped
|
|
135
|
+
run('git', 'commit', '-m', '"Initial MarsX commit"');
|
|
136
|
+
|
|
137
|
+
await fs.mkdir(path.join(projectDir, 'blocks'));
|
|
134
138
|
|
|
135
139
|
console.log(`\n${chalk.green('Success!')} Created ${projectName} at ${projectDir}`);
|
|
136
140
|
|
package/src/loader.ts
CHANGED
|
@@ -9,19 +9,22 @@ import { parseSFC, SfcBlock } from './utils/sfc';
|
|
|
9
9
|
import { isFile, listFilesRecursive, writeFileMakeDir } from './utils/fileUtils';
|
|
10
10
|
import { convertV3ToSfc, V3MongoBlock } from './utils/v3';
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
type V4Response = { commit: string; hash: string; blocks: SfcBlock[] };
|
|
13
|
+
|
|
14
|
+
async function downloadFromExternal(externalImport: ImportProjectConfig): Promise<V4Response> {
|
|
13
15
|
const params = { api_key: externalImport.api_key, git_commit_ish: externalImport.git_commit_ish || '' };
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
const url = _.trimEnd(externalImport.url, '/');
|
|
18
|
+
console.log(`Downloading blocks from ${url}`);
|
|
16
19
|
try {
|
|
17
|
-
const v4Resp = await axios.get<
|
|
20
|
+
const v4Resp = await axios.get<V4Response>(`${url}/api/GetExportedAppBlocksV4`, { params });
|
|
18
21
|
return v4Resp.data;
|
|
19
22
|
} catch (e) {
|
|
20
|
-
console.log(`${
|
|
23
|
+
console.log(`${url} does not support V4, fallback to V3`);
|
|
21
24
|
}
|
|
22
25
|
|
|
23
|
-
const v3Resp = await axios.get<V3MongoBlock[]>(`${
|
|
24
|
-
return v3Resp.data.map(b => convertV3ToSfc(b));
|
|
26
|
+
const v3Resp = await axios.get<V3MongoBlock[]>(`${url}/api/GetExportedAppBlocks`, { params });
|
|
27
|
+
return { commit: '', hash: '', blocks: v3Resp.data.map(b => convertV3ToSfc(b)) };
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
async function loadCachedOrDownload(externalImport: ImportProjectConfig): Promise<SfcBlock[]> {
|
|
@@ -35,11 +38,11 @@ async function loadCachedOrDownload(externalImport: ImportProjectConfig): Promis
|
|
|
35
38
|
return JSON.parse(content.toString('utf-8'));
|
|
36
39
|
}
|
|
37
40
|
|
|
38
|
-
const
|
|
39
|
-
console.log(`Downloaded ${
|
|
41
|
+
const { blocks } = await downloadFromExternal(externalImport);
|
|
42
|
+
console.log(`Downloaded ${blocks.length} blocks from ${externalImport.url}`);
|
|
40
43
|
|
|
41
|
-
await writeFileMakeDir(cacheFilePath, JSON.stringify(
|
|
42
|
-
return
|
|
44
|
+
await writeFileMakeDir(cacheFilePath, JSON.stringify(blocks, null, 2), 'utf-8');
|
|
45
|
+
return blocks;
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
async function downloadAll(externalImports: ImportProjectConfig[]) {
|
package/src/utils/compile.ts
CHANGED
|
@@ -17,6 +17,7 @@ export function transpileTypescript(
|
|
|
17
17
|
originalFilePath?: string;
|
|
18
18
|
compiledFilePath?: string;
|
|
19
19
|
lineOffset?: number | undefined;
|
|
20
|
+
compilerOptions?: ts.CompilerOptions;
|
|
20
21
|
},
|
|
21
22
|
): string {
|
|
22
23
|
const compiledFilePath = options?.compiledFilePath || '<UNKNOWN>.js';
|
|
@@ -32,8 +33,7 @@ export function transpileTypescript(
|
|
|
32
33
|
target: ts.ScriptTarget.Latest,
|
|
33
34
|
esModuleInterop: true,
|
|
34
35
|
sourceMap: true,
|
|
35
|
-
|
|
36
|
-
// inlineSourceMap: true,
|
|
36
|
+
...options?.compilerOptions,
|
|
37
37
|
},
|
|
38
38
|
});
|
|
39
39
|
assert(transpiled.sourceMapText);
|
|
@@ -46,13 +46,22 @@ export function transpileTypescript(
|
|
|
46
46
|
return transpiled.outputText.replace(/\n\/\/# sourceMappingURL=.+/, '') + sourceMapComment;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export async function compileSfcSource(
|
|
49
|
+
export async function compileSfcSource(
|
|
50
|
+
sfcBlock: SfcBlock,
|
|
51
|
+
sourceId: string,
|
|
52
|
+
options?: { compileOptions?: ts.CompilerOptions },
|
|
53
|
+
): Promise<string> {
|
|
50
54
|
const sourceCode = sfcBlock.sources[sourceId];
|
|
51
55
|
if (!sourceCode) throw new Error(`Source code block ${sourceId} not found in ${sfcBlock.path.filePath}`);
|
|
52
56
|
|
|
53
57
|
const compiledFilePath = path.join(config.cacheDir, 'compiled', `${sfcBlock.path.filePath}.${sourceId}.js`);
|
|
54
58
|
const originalFilePath = path.join(config.blocksDir, sfcBlock.path.filePath);
|
|
55
|
-
const code = transpileTypescript(sourceCode.source, {
|
|
59
|
+
const code = transpileTypescript(sourceCode.source, {
|
|
60
|
+
compiledFilePath,
|
|
61
|
+
originalFilePath,
|
|
62
|
+
lineOffset: sourceCode.lineOffset,
|
|
63
|
+
...options,
|
|
64
|
+
});
|
|
56
65
|
|
|
57
66
|
await writeFileMakeDir(compiledFilePath, code, 'utf-8');
|
|
58
67
|
return compiledFilePath;
|