@marsx-dev/launcher 0.0.4 → 0.0.5
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 +32 -32
- package/dist/cli/migrate.js +3 -3
- package/dist/cli/start.js +3 -3
- package/dist/configuration.d.ts +9 -3
- package/dist/configuration.d.ts.map +1 -1
- package/dist/configuration.js +95 -34
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -5
- package/dist/launcher.d.ts.map +1 -1
- package/dist/launcher.js +6 -5
- package/dist/loader.js +5 -5
- package/dist/utils/compile.d.ts.map +1 -1
- package/dist/utils/compile.js +8 -7
- package/dist/utils/{utils.d.ts → fileUtils.d.ts} +1 -5
- package/dist/utils/fileUtils.d.ts.map +1 -0
- package/dist/utils/fileUtils.js +42 -0
- package/dist/utils/sfc.d.ts +24 -24
- package/dist/utils/sfc.d.ts.map +1 -1
- package/dist/utils/sfc.js +54 -98
- package/dist/utils/textUtils.d.ts +17 -0
- package/dist/utils/textUtils.d.ts.map +1 -0
- package/dist/utils/textUtils.js +105 -0
- package/dist/utils/v3.d.ts.map +1 -1
- package/dist/utils/v3.js +5 -6
- package/package.json +4 -2
- package/src/cli/init.ts +31 -30
- package/src/cli/migrate.ts +1 -1
- package/src/cli/start.ts +1 -1
- package/src/configuration.ts +86 -35
- package/src/index.ts +4 -3
- package/src/launcher.ts +3 -2
- package/src/loader.ts +1 -1
- package/src/utils/compile.ts +5 -4
- package/src/utils/{utils.ts → fileUtils.ts} +0 -18
- package/src/utils/sfc.ts +62 -85
- package/src/utils/textUtils.ts +82 -0
- package/src/utils/v3.ts +4 -5
- package/dist/utils/utils.d.ts.map +0 -1
- package/dist/utils/utils.js +0 -60
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":"AAwDA,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAqFpD"}
|
package/dist/cli/init.js
CHANGED
|
@@ -8,7 +8,9 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
8
8
|
const child_process_1 = require("child_process");
|
|
9
9
|
const crypto_1 = require("crypto");
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const
|
|
11
|
+
const configuration_1 = require("../configuration");
|
|
12
|
+
const fileUtils_1 = require("../utils/fileUtils");
|
|
13
|
+
const textUtils_1 = require("../utils/textUtils");
|
|
12
14
|
const index_1 = require("./index");
|
|
13
15
|
const FASTIFY_DEPS = [
|
|
14
16
|
'@fastify/session',
|
|
@@ -53,27 +55,22 @@ const V3_DEPS = [
|
|
|
53
55
|
'route-sort',
|
|
54
56
|
];
|
|
55
57
|
const DEFAULT_DEPS = [...FASTIFY_DEPS, ...COMMON_DEPS, ...V3_DEPS];
|
|
56
|
-
const DEMO_BOOTER = `<json id='metadata'>
|
|
57
|
-
{"version": 4, "restartOnChange": true}
|
|
58
|
-
</json>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
<script id='BlockFunction' lang='tsx'>
|
|
62
|
-
export default async () => {
|
|
63
|
-
console.log('MarsX loaded!')
|
|
64
|
-
};
|
|
65
|
-
</script>`;
|
|
66
58
|
async function initProject(projectName) {
|
|
67
59
|
if (!projectName.match(/^\w+$/) || projectName !== projectName.toLowerCase()) {
|
|
68
60
|
throw new index_1.CliError(`Project name "${projectName}" may contain only lower case alphanumeric characters and underscores (eg. my_project_name)`);
|
|
69
61
|
}
|
|
62
|
+
const name = {
|
|
63
|
+
snakeCase: projectName,
|
|
64
|
+
withDashes: projectName.replace('_', '-'),
|
|
65
|
+
noSep: projectName.replace('_', ''),
|
|
66
|
+
};
|
|
70
67
|
const projectDir = path_1.default.resolve(projectName);
|
|
71
|
-
if (await (0,
|
|
68
|
+
if (await (0, fileUtils_1.isDirectory)(projectDir)) {
|
|
72
69
|
throw new index_1.CliError(`Project dir "${projectName}" already exist. Delete it or choose a different name.`);
|
|
73
70
|
}
|
|
74
71
|
console.log(`Creating a new MarsX project in ${chalk_1.default.green(projectDir)}`);
|
|
75
72
|
const packageJson = {
|
|
76
|
-
name:
|
|
73
|
+
name: name.withDashes,
|
|
77
74
|
version: '0.0.0',
|
|
78
75
|
private: true,
|
|
79
76
|
scripts: {
|
|
@@ -82,48 +79,51 @@ async function initProject(projectName) {
|
|
|
82
79
|
dependencies: {},
|
|
83
80
|
};
|
|
84
81
|
const packageJsonStr = JSON.stringify(packageJson, null, 2);
|
|
85
|
-
await (0,
|
|
82
|
+
await (0, fileUtils_1.writeFileMakeDir)(path_1.default.join(projectDir, 'package.json'), packageJsonStr);
|
|
86
83
|
const config = {
|
|
87
84
|
production: false,
|
|
88
85
|
port: 3000,
|
|
89
86
|
blocksDir: 'blocks',
|
|
90
87
|
cacheDir: '.cache',
|
|
91
88
|
mongoConn: '<CONN_STR>',
|
|
92
|
-
mongoDbName:
|
|
89
|
+
mongoDbName: name.withDashes,
|
|
93
90
|
azureStorageConnection: '<CONN_STR>',
|
|
94
|
-
azureStorageAccountName:
|
|
95
|
-
azureStorageUrl: `https://${
|
|
91
|
+
azureStorageAccountName: name.noSep,
|
|
92
|
+
azureStorageUrl: `https://${name.noSep}.blob.core.windows.net`,
|
|
96
93
|
webFilesTable: 'webFiles',
|
|
97
94
|
webRecentFilesTable: 'webRecentFiles',
|
|
98
95
|
webFilesBlob: 'web-files',
|
|
99
|
-
secret: (await (0, crypto_1.randomBytes)(
|
|
96
|
+
secret: (await (0, crypto_1.randomBytes)(32)).toString('hex'),
|
|
100
97
|
importProjects: [
|
|
101
98
|
{
|
|
102
|
-
name: '
|
|
103
|
-
url: 'https://
|
|
99
|
+
name: 'marsx-core',
|
|
100
|
+
url: 'https://core.marsx.dev',
|
|
104
101
|
api_key: '<API_KEY>',
|
|
105
102
|
git_commit_ish: 'main',
|
|
106
103
|
},
|
|
107
104
|
],
|
|
108
105
|
};
|
|
109
|
-
await (0,
|
|
110
|
-
await (0,
|
|
111
|
-
await (0,
|
|
106
|
+
await (0, fileUtils_1.writeFileMakeDir)(path_1.default.join(projectDir, 'config', 'default.json'), JSON.stringify(config, null, 2));
|
|
107
|
+
await (0, fileUtils_1.writeFileMakeDir)(path_1.default.join(projectDir, 'config', 'custom-environment-variables.json'), JSON.stringify(configuration_1.CustomEnvironmentVariables, null, 2));
|
|
108
|
+
await (0, fileUtils_1.writeFileMakeDir)(path_1.default.join(projectDir, '.gitignore'), 'node_modules\ndist\n.cache\n');
|
|
112
109
|
function run(...args) {
|
|
113
110
|
const cmd = args[0];
|
|
114
|
-
(0,
|
|
111
|
+
(0, textUtils_1.assert)(cmd);
|
|
115
112
|
(0, child_process_1.spawnSync)(cmd, args.slice(1), { cwd: projectDir, stdio: 'inherit' });
|
|
116
113
|
}
|
|
117
|
-
console.log('
|
|
114
|
+
console.log('\nInstalling dependencies. This might take a couple of minutes.');
|
|
118
115
|
run('npm', 'i', ...DEFAULT_DEPS);
|
|
119
|
-
|
|
116
|
+
console.log('');
|
|
117
|
+
run('git', 'init', '--initial-branch=main');
|
|
120
118
|
run('git', 'add', '.gitignore');
|
|
121
119
|
run('git', 'add', '-A');
|
|
122
|
-
run('git', 'commit', '-m', 'Initial commit');
|
|
123
|
-
console.log('
|
|
124
|
-
console.log(
|
|
125
|
-
console.log(
|
|
126
|
-
console.log(
|
|
120
|
+
run('git', 'commit', '-m', 'Initial MarsX commit');
|
|
121
|
+
console.log(`\n${chalk_1.default.green('Success!')} Created ${projectName} at ${projectDir}`);
|
|
122
|
+
console.log(`\nNext steps:`);
|
|
123
|
+
console.log(` - Open new project directory: ${chalk_1.default.underline(`cd ${projectName}`)}`);
|
|
124
|
+
console.log(` - Contact MarsX to get config params and update them: ${chalk_1.default.underline('code config/default.json')}`);
|
|
125
|
+
console.log(` - (optionally) Migrate V3 blocks using: ${chalk_1.default.underline('npx marsx migrate')}`);
|
|
126
|
+
console.log(` - Start local server: ${chalk_1.default.underline('npm run start')}`);
|
|
127
127
|
}
|
|
128
128
|
exports.initProject = initProject;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsaURBQTBDO0FBQzFDLG1DQUFxQztBQUNyQyxnREFBd0I7QUFDeEIsb0RBQXNFO0FBQ3RFLGtEQUFtRTtBQUNuRSxrREFBNEM7QUFDNUMsbUNBQW1DO0FBRW5DLE1BQU0sWUFBWSxHQUFHO0lBQ25CLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQixtQkFBbUI7Q0FDcEIsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLHFCQUFxQjtJQUNyQixTQUFTO0lBQ1QsT0FBTztJQUNQLGVBQWU7SUFDZixRQUFRO0lBQ1IsUUFBUTtJQUNSLFVBQVU7SUFDVixRQUFRO0lBQ1Isd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixZQUFZO0lBQ1osTUFBTTtJQUNOLFFBQVE7Q0FDVCxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUc7SUFDZCxZQUFZO0lBQ1osa0NBQWtDO0lBQ2xDLFFBQVE7SUFDUixXQUFXO0lBQ1gsY0FBYztJQUNkLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLFlBQVk7Q0FDYixDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBRTVELEtBQUssVUFBVSxXQUFXLENBQUMsV0FBbUI7SUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksV0FBVyxLQUFLLFdBQVcsQ0FBQyxXQUFXLEVBQUUs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
|
package/dist/cli/migrate.js
CHANGED
|
@@ -9,7 +9,7 @@ const mongodb_1 = require("mongodb");
|
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
10
|
const configuration_1 = require("../configuration");
|
|
11
11
|
const sfc_1 = require("../utils/sfc");
|
|
12
|
-
const
|
|
12
|
+
const fileUtils_1 = require("../utils/fileUtils");
|
|
13
13
|
const v3_1 = require("../utils/v3");
|
|
14
14
|
async function migrateV3ToV4() {
|
|
15
15
|
console.log('Connecting to MongoDB...');
|
|
@@ -19,10 +19,10 @@ async function migrateV3ToV4() {
|
|
|
19
19
|
console.log(`Downloaded ${allBlocks.length} block(s)`);
|
|
20
20
|
for (const block of allBlocks) {
|
|
21
21
|
const serialized = (0, sfc_1.serializeSfc)((0, v3_1.convertV3ToSfc)(block));
|
|
22
|
-
await (0,
|
|
22
|
+
await (0, fileUtils_1.writeFileMakeDir)(path_1.default.join(configuration_1.config.blocksDir, serialized.filePath), serialized.content);
|
|
23
23
|
console.log(`Saved ${serialized.filePath}`);
|
|
24
24
|
}
|
|
25
25
|
console.log(chalk_1.default.green('\nMigration complete successfully!'));
|
|
26
26
|
}
|
|
27
27
|
exports.migrateV3ToV4 = migrateV3ToV4;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvbWlncmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIscUNBQXNDO0FBQ3RDLGdEQUF3QjtBQUN4QixvREFBMEM7QUFDMUMsc0NBQTRDO0FBQzVDLGtEQUFzRDtBQUN0RCxvQ0FBMkQ7QUFFcEQsS0FBSyxVQUFVLGFBQWE7SUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxxQkFBVyxDQUFDLHNCQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxzQkFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBZSxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvRSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsU0FBUyxDQUFDLE1BQU0sV0FBVyxDQUFDLENBQUM7SUFFdkQsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUU7UUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBQSxrQkFBWSxFQUFDLElBQUEsbUJBQWMsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sSUFBQSw0QkFBZ0IsRUFBQyxjQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFNLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBQzdDO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBZEQsc0NBY0MifQ==
|
package/dist/cli/start.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.start = exports.RESTART_EXIT_CODe = void 0;
|
|
|
7
7
|
const child_process_1 = __importDefault(require("child_process"));
|
|
8
8
|
const configuration_1 = require("../configuration");
|
|
9
9
|
const launcher_1 = require("../launcher");
|
|
10
|
-
const
|
|
10
|
+
const textUtils_1 = require("../utils/textUtils");
|
|
11
11
|
exports.RESTART_EXIT_CODe = 9;
|
|
12
12
|
const start = async () => {
|
|
13
13
|
if (configuration_1.config.production || process.env['MARSX_NO_SPAWN']) {
|
|
@@ -17,7 +17,7 @@ const start = async () => {
|
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
19
19
|
const spawnChildProc = () => {
|
|
20
|
-
(0,
|
|
20
|
+
(0, textUtils_1.assert)(process.argv[0]);
|
|
21
21
|
const child = child_process_1.default.spawn(process.argv[0], ['--inspect', '--enable-source-maps', ...process.argv.slice(1)], {
|
|
22
22
|
cwd: process.cwd(),
|
|
23
23
|
env: { ...process.env, MARSX_NO_SPAWN: 'true' },
|
|
@@ -37,4 +37,4 @@ const start = async () => {
|
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
exports.start = start;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3N0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtFQUEwQztBQUMxQyxvREFBMEM7QUFDMUMsMENBQTJDO0FBQzNDLGtEQUE0QztBQUUvQixRQUFBLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixNQUFNLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixJQUFJLHNCQUFNLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixPQUFPLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQztRQUN4RCxNQUFNLElBQUEsdUJBQVksR0FBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0tBQ3JEO1NBQU07UUFDTCxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7WUFDMUIsSUFBQSxrQkFBTSxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QixNQUFNLEtBQUssR0FBRyx1QkFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLHNCQUFzQixFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEgsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xCLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFO2dCQUMvQyxLQUFLLEVBQUUsU0FBUzthQUNqQixDQUFDLENBQUM7WUFFSCxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixLQUFLLENBQUMsR0FBRyxvQkFBb0IsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxJQUFJLEtBQUsseUJBQWlCLEVBQUU7b0JBQzlCLFVBQVUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQ2pDO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixjQUFjLEVBQUUsQ0FBQztLQUNsQjtBQUNILENBQUMsQ0FBQztBQTFCVyxRQUFBLEtBQUssU0EwQmhCIn0=
|
package/dist/configuration.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export interface ImportProjectConfig {
|
|
|
4
4
|
api_key: string;
|
|
5
5
|
git_commit_ish?: string | undefined;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
7
|
+
export interface Config {
|
|
8
8
|
production: boolean;
|
|
9
9
|
port: number;
|
|
10
10
|
blocksDir: string;
|
|
@@ -19,6 +19,12 @@ export declare const config: {
|
|
|
19
19
|
webRecentFilesTable: string;
|
|
20
20
|
webFilesBlob: string;
|
|
21
21
|
importProjects: ImportProjectConfig[];
|
|
22
|
-
}
|
|
23
|
-
export declare
|
|
22
|
+
}
|
|
23
|
+
export declare class ConfigError extends Error {
|
|
24
|
+
}
|
|
25
|
+
export declare const config: Config;
|
|
26
|
+
export declare const CustomEnvironmentVariables: Record<string, string | {
|
|
27
|
+
__name: string;
|
|
28
|
+
__format: string;
|
|
29
|
+
}>;
|
|
24
30
|
//# sourceMappingURL=configuration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,mBAAmB,EAAE,CAAC;CACvC;AAED,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAyDzC,eAAO,MAAM,MAAM,QAAmB,CAAC;AAevC,eAAO,MAAM,0BAA0B;YAZW,MAAM;cAAY,MAAM;EAYd,CAAC"}
|
package/dist/configuration.js
CHANGED
|
@@ -1,45 +1,106 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.config = void 0;
|
|
29
|
+
exports.CustomEnvironmentVariables = exports.config = exports.ConfigError = void 0;
|
|
7
30
|
process.env['SUPPRESS_NO_CONFIG_WARNING'] = 'true';
|
|
8
31
|
const config_1 = __importDefault(require("config"));
|
|
32
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
33
|
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
34
|
+
const yup = __importStar(require("yup"));
|
|
35
|
+
const yup_1 = require("yup");
|
|
36
|
+
class ConfigError extends Error {
|
|
37
|
+
}
|
|
38
|
+
exports.ConfigError = ConfigError;
|
|
39
|
+
const ImportProjectSchema = yup.object({
|
|
40
|
+
name: yup.string().required(),
|
|
41
|
+
url: yup.string().url().required(),
|
|
42
|
+
api_key: yup.string().required(),
|
|
43
|
+
git_commit_ish: yup.string().optional(),
|
|
44
|
+
});
|
|
45
|
+
const ConfigSchema = yup.object().shape({
|
|
46
|
+
production: yup.boolean().required(),
|
|
47
|
+
port: yup.number().required().positive().integer(),
|
|
48
|
+
blocksDir: yup
|
|
49
|
+
.string()
|
|
50
|
+
.required()
|
|
51
|
+
.transform(v => path_1.default.resolve(v)),
|
|
52
|
+
cacheDir: yup
|
|
53
|
+
.string()
|
|
54
|
+
.required()
|
|
55
|
+
.transform(v => path_1.default.resolve(v)),
|
|
56
|
+
mongoConn: yup.string().required(),
|
|
57
|
+
mongoDbName: yup.string().required(),
|
|
58
|
+
azureStorageConnection: yup.string().required(),
|
|
59
|
+
azureStorageAccountName: yup.string().required(),
|
|
60
|
+
azureStorageUrl: yup.string().required(),
|
|
61
|
+
secret: yup.string().required(),
|
|
62
|
+
webFilesTable: yup.string().required(),
|
|
63
|
+
webRecentFilesTable: yup.string().required(),
|
|
64
|
+
webFilesBlob: yup.string().required(),
|
|
65
|
+
importProjects: yup.array().of(ImportProjectSchema).required(),
|
|
66
|
+
});
|
|
67
|
+
function ErrorThrowingConfig(errorMessage) {
|
|
68
|
+
return new Proxy({}, {
|
|
69
|
+
get() {
|
|
70
|
+
throw new ConfigError(errorMessage);
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
function validateConfig() {
|
|
20
75
|
if (config_1.default.util.getConfigSources().length === 0) {
|
|
21
|
-
return
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
});
|
|
76
|
+
return ErrorThrowingConfig('Config file not found, ensure you have "config/default.json" file.');
|
|
77
|
+
}
|
|
78
|
+
const configObject = config_1.default.util.toObject();
|
|
79
|
+
try {
|
|
80
|
+
return ConfigSchema.validateSync(configObject, { abortEarly: false, stripUnknown: false });
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
if (e instanceof yup_1.ValidationError) {
|
|
84
|
+
return ErrorThrowingConfig(e.errors.join('\n'));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
throw e;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.config = validateConfig();
|
|
92
|
+
function getEnvVarMapping() {
|
|
93
|
+
const result = {};
|
|
94
|
+
for (const [name, field] of Object.entries(ConfigSchema.fields)) {
|
|
95
|
+
const envVar = `MARSX_${lodash_1.default.snakeCase(name).toUpperCase()}`;
|
|
96
|
+
if ('type' in field && (field.type === 'object' || field.type === 'array')) {
|
|
97
|
+
result[name] = { __name: envVar, __format: 'json' };
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
result[name] = envVar;
|
|
101
|
+
}
|
|
26
102
|
}
|
|
27
|
-
return
|
|
28
|
-
production: ensureBoolean('production'),
|
|
29
|
-
port: ensureNumber('port'),
|
|
30
|
-
blocksDir: path_1.default.resolve(ensureString('blocksDir')),
|
|
31
|
-
cacheDir: path_1.default.resolve(ensureString('cacheDir')),
|
|
32
|
-
mongoConn: ensureString('mongoConn'),
|
|
33
|
-
mongoDbName: ensureString('mongoDbName'),
|
|
34
|
-
azureStorageConnection: ensureString('azureStorageConnection'),
|
|
35
|
-
azureStorageAccountName: ensureString('azureStorageAccountName'),
|
|
36
|
-
azureStorageUrl: ensureString('azureStorageUrl'),
|
|
37
|
-
secret: ensureString('secret'),
|
|
38
|
-
webFilesTable: ensureString('webFilesTable'),
|
|
39
|
-
webRecentFilesTable: ensureString('webRecentFilesTable'),
|
|
40
|
-
webFilesBlob: ensureString('webFilesBlob'),
|
|
41
|
-
importProjects: config_1.default.get('importProjects'),
|
|
42
|
-
};
|
|
103
|
+
return result;
|
|
43
104
|
}
|
|
44
|
-
exports.
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
exports.CustomEnvironmentVariables = getEnvVarMapping();
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNuRCxvREFBa0M7QUFDbEMsb0RBQXVCO0FBQ3ZCLGdEQUF3QjtBQUN4Qix5Q0FBMkI7QUFDM0IsNkJBQXNDO0FBMEJ0QyxNQUFhLFdBQVksU0FBUSxLQUFLO0NBQUc7QUFBekMsa0NBQXlDO0FBRXpDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxjQUFjLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUN4QyxDQUFDLENBQUM7QUFFSCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3RDLFVBQVUsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ2xELFNBQVMsRUFBRSxHQUFHO1NBQ1gsTUFBTSxFQUFFO1NBQ1IsUUFBUSxFQUFFO1NBQ1YsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxR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
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { config, ImportProjectConfig,
|
|
1
|
+
export { config, ImportProjectConfig, Config } from './configuration';
|
|
2
2
|
export { compileSfcSource, transpileTypescript } from './utils/compile';
|
|
3
|
-
export { parseSFC, serializeSfc,
|
|
4
|
-
export * as utils from './utils/utils';
|
|
3
|
+
export { parseSFC, serializeSfc, parseSfcPath, serializeSfcPath, SfcBlock, SfcPath, SfcSource } from './utils/sfc';
|
|
5
4
|
export { convertSfcToV3, convertV3ToSfc, V3MongoBlock } from './utils/v3';
|
|
5
|
+
export * as textUtils from './utils/textUtils';
|
|
6
|
+
export * as fileUtils from './utils/fileUtils';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.fileUtils = exports.textUtils = exports.convertV3ToSfc = exports.convertSfcToV3 = exports.serializeSfcPath = exports.parseSfcPath = exports.serializeSfc = exports.parseSFC = exports.transpileTypescript = exports.compileSfcSource = exports.config = void 0;
|
|
27
27
|
var configuration_1 = require("./configuration");
|
|
28
28
|
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return configuration_1.config; } });
|
|
29
29
|
var compile_1 = require("./utils/compile");
|
|
@@ -32,10 +32,11 @@ Object.defineProperty(exports, "transpileTypescript", { enumerable: true, get: f
|
|
|
32
32
|
var sfc_1 = require("./utils/sfc");
|
|
33
33
|
Object.defineProperty(exports, "parseSFC", { enumerable: true, get: function () { return sfc_1.parseSFC; } });
|
|
34
34
|
Object.defineProperty(exports, "serializeSfc", { enumerable: true, get: function () { return sfc_1.serializeSfc; } });
|
|
35
|
-
Object.defineProperty(exports, "
|
|
36
|
-
Object.defineProperty(exports, "
|
|
37
|
-
exports.utils = __importStar(require("./utils/utils"));
|
|
35
|
+
Object.defineProperty(exports, "parseSfcPath", { enumerable: true, get: function () { return sfc_1.parseSfcPath; } });
|
|
36
|
+
Object.defineProperty(exports, "serializeSfcPath", { enumerable: true, get: function () { return sfc_1.serializeSfcPath; } });
|
|
38
37
|
var v3_1 = require("./utils/v3");
|
|
39
38
|
Object.defineProperty(exports, "convertSfcToV3", { enumerable: true, get: function () { return v3_1.convertSfcToV3; } });
|
|
40
39
|
Object.defineProperty(exports, "convertV3ToSfc", { enumerable: true, get: function () { return v3_1.convertV3ToSfc; } });
|
|
41
|
-
|
|
40
|
+
exports.textUtils = __importStar(require("./utils/textUtils"));
|
|
41
|
+
exports.fileUtils = __importStar(require("./utils/fileUtils"));
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBc0U7QUFBN0QsdUdBQUEsTUFBTSxPQUFBO0FBQ2YsMkNBQXdFO0FBQS9ELDJHQUFBLGdCQUFnQixPQUFBO0FBQUUsOEdBQUEsbUJBQW1CLE9BQUE7QUFDOUMsbUNBQW1IO0FBQTFHLCtGQUFBLFFBQVEsT0FBQTtBQUFFLG1HQUFBLFlBQVksT0FBQTtBQUFFLG1HQUFBLFlBQVksT0FBQTtBQUFFLHVHQUFBLGdCQUFnQixPQUFBO0FBQy9ELGlDQUEwRTtBQUFqRSxvR0FBQSxjQUFjLE9BQUE7QUFBRSxvR0FBQSxjQUFjLE9BQUE7QUFDdkMsK0RBQStDO0FBQy9DLCtEQUErQyJ9
|
package/dist/launcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAmBA,wBAAsB,YAAY,CAAC,eAAe,SAAW,iBAmB5D"}
|
package/dist/launcher.js
CHANGED
|
@@ -5,7 +5,8 @@ const configuration_1 = require("./configuration");
|
|
|
5
5
|
const loader_1 = require("./loader");
|
|
6
6
|
const compile_1 = require("./utils/compile");
|
|
7
7
|
const sfc_1 = require("./utils/sfc");
|
|
8
|
-
const
|
|
8
|
+
const fileUtils_1 = require("./utils/fileUtils");
|
|
9
|
+
const textUtils_1 = require("./utils/textUtils");
|
|
9
10
|
const v3_1 = require("./utils/v3");
|
|
10
11
|
const LAUNCHER_UTILS = {
|
|
11
12
|
config: configuration_1.config,
|
|
@@ -15,16 +16,16 @@ const LAUNCHER_UTILS = {
|
|
|
15
16
|
convertSfcToV3: v3_1.convertSfcToV3,
|
|
16
17
|
transpileTypescript: compile_1.transpileTypescript,
|
|
17
18
|
compileSfcSource: compile_1.compileSfcSource,
|
|
18
|
-
writeFileMakeDir:
|
|
19
|
+
writeFileMakeDir: fileUtils_1.writeFileMakeDir,
|
|
19
20
|
};
|
|
20
21
|
async function launchBooter(booterBlockName = 'Booter') {
|
|
21
22
|
const allBlocks = await (0, loader_1.loadAllBlocks)();
|
|
22
|
-
const booterBlocks = allBlocks.filter(b => b.
|
|
23
|
+
const booterBlocks = allBlocks.filter(b => b.path.name === booterBlockName);
|
|
23
24
|
if (booterBlocks.length === 0)
|
|
24
25
|
throw new Error(`Booter block ${booterBlockName} not found. Ensure you have it locally or it is imported.`);
|
|
25
26
|
// Take last because order of imports matter and local blocks always override imported.
|
|
26
27
|
const booterBlock = booterBlocks[booterBlocks.length - 1];
|
|
27
|
-
(0,
|
|
28
|
+
(0, textUtils_1.assert)(booterBlock);
|
|
28
29
|
const compiledBooterPath = await (0, compile_1.compileSfcSource)(booterBlock, 'BlockFunction');
|
|
29
30
|
try {
|
|
30
31
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
@@ -36,4 +37,4 @@ async function launchBooter(booterBlockName = 'Booter') {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
exports.launchBooter = launchBooter;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGF1bmNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXlDO0FBQ3pDLHFDQUF5QztBQUN6Qyw2Q0FBd0U7QUFDeEUscUNBQXFEO0FBQ3JELGlEQUFxRDtBQUNyRCxpREFBMkM7QUFDM0MsbUNBQTREO0FBRTVELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLE1BQU0sRUFBTixzQkFBTTtJQUNOLFFBQVEsRUFBUixjQUFRO0lBQ1IsWUFBWSxFQUFaLGtCQUFZO0lBQ1osY0FBYyxFQUFkLG1CQUFjO0lBQ2QsY0FBYyxFQUFkLG1CQUFjO0lBQ2QsbUJBQW1CLEVBQW5CLDZCQUFtQjtJQUNuQixnQkFBZ0IsRUFBaEIsMEJBQWdCO0lBQ2hCLGdCQUFnQixFQUFoQiw0QkFBZ0I7Q0FDakIsQ0FBQztBQUVLLEtBQUssVUFBVSxZQUFZLENBQUMsZUFBZSxHQUFHLFFBQVE7SUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLHNCQUFhLEdBQUUsQ0FBQztJQUV4QyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUM7SUFDNUUsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsZUFBZSwyREFBMkQsQ0FBQyxDQUFDO0lBRTlHLHVGQUF1RjtJQUN2RixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxJQUFBLGtCQUFNLEVBQUMsV0FBVyxDQUFDLENBQUM7SUFFcEIsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUEsMEJBQWdCLEVBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2hGLElBQUk7UUFDRiw4REFBOEQ7UUFDOUQsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0tBQ3RFO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDO0FBbkJELG9DQW1CQyJ9
|
package/dist/loader.js
CHANGED
|
@@ -12,7 +12,7 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
|
12
12
|
const path_1 = __importDefault(require("path"));
|
|
13
13
|
const configuration_1 = require("./configuration");
|
|
14
14
|
const sfc_1 = require("./utils/sfc");
|
|
15
|
-
const
|
|
15
|
+
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 || '' };
|
|
@@ -31,14 +31,14 @@ async function loadCachedOrDownload(externalImport) {
|
|
|
31
31
|
const hash = crypto_1.default.createHash('md5').update((0, json_stable_stringify_1.default)(externalImport)).digest('hex');
|
|
32
32
|
const cacheFileName = `${externalImport.name}_${externalImport.git_commit_ish}_${hash}.json`.replace(/[^\w.]+/g, '_');
|
|
33
33
|
const cacheFilePath = path_1.default.join(configuration_1.config.cacheDir, 'imports', cacheFileName);
|
|
34
|
-
if (await (0,
|
|
34
|
+
if (await (0, fileUtils_1.isFile)(cacheFilePath)) {
|
|
35
35
|
const content = await fs_1.promises.readFile(cacheFilePath);
|
|
36
36
|
console.log(`Loading cached blocks from ${externalImport.url}`);
|
|
37
37
|
return JSON.parse(content.toString('utf-8'));
|
|
38
38
|
}
|
|
39
39
|
const data = await downloadFromExternal(externalImport);
|
|
40
40
|
console.log(`Downloaded ${data.length} blocks from ${externalImport.url}`);
|
|
41
|
-
await (0,
|
|
41
|
+
await (0, fileUtils_1.writeFileMakeDir)(cacheFilePath, JSON.stringify(data, null, 2), 'utf-8');
|
|
42
42
|
return data;
|
|
43
43
|
}
|
|
44
44
|
async function downloadAll(externalImports) {
|
|
@@ -51,7 +51,7 @@ async function readBlockFile(blocksDir, filePath) {
|
|
|
51
51
|
return (0, sfc_1.parseSFC)(relPath, content);
|
|
52
52
|
}
|
|
53
53
|
async function readBlockFiles(blocksDir) {
|
|
54
|
-
const files = await (0,
|
|
54
|
+
const files = await (0, fileUtils_1.listFilesRecursive)(blocksDir);
|
|
55
55
|
return await Promise.all(files.filter(f => !path_1.default.basename(f).startsWith('.')).map(f => readBlockFile(blocksDir, f)));
|
|
56
56
|
}
|
|
57
57
|
async function loadAllBlocks() {
|
|
@@ -60,4 +60,4 @@ async function loadAllBlocks() {
|
|
|
60
60
|
return [...externalBlocks, ...localBlocks];
|
|
61
61
|
}
|
|
62
62
|
exports.loadAllBlocks = loadAllBlocks;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDJCQUFvQztBQUNwQyxrRkFBOEM7QUFDOUMsb0RBQXVCO0FBQ3ZCLGdEQUF3QjtBQUN4QixtREFBOEQ7QUFDOUQscUNBQWlEO0FBQ2pELGlEQUFpRjtBQUNqRixtQ0FBMEQ7QUFFMUQsS0FBSyxVQUFVLG9CQUFvQixDQUFDLGNBQW1DO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxjQUFjLElBQUksRUFBRSxFQUFFLENBQUM7SUFFeEcsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDN0QsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sZUFBSyxDQUFDLEdBQUcsQ0FBYSxHQUFHLGNBQWMsQ0FBQyxHQUFHLDZCQUE2QixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDcEI7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsR0FBRyxzQ0FBc0MsQ0FBQyxDQUFDO0tBQzFFO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxlQUFLLENBQUMsR0FBRyxDQUFpQixHQUFHLGNBQWMsQ0FBQyxHQUFHLDJCQUEyQixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBQSxtQkFBYyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELEtBQUssVUFBVSxv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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"AAIA,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;CACjC,GACA,MAAM,CA0BR;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU5F"}
|
package/dist/utils/compile.js
CHANGED
|
@@ -7,7 +7,8 @@ exports.compileSfcSource = exports.transpileTypescript = void 0;
|
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const typescript_1 = __importDefault(require("typescript"));
|
|
9
9
|
const configuration_1 = require("../configuration");
|
|
10
|
-
const
|
|
10
|
+
const fileUtils_1 = require("./fileUtils");
|
|
11
|
+
const textUtils_1 = require("./textUtils");
|
|
11
12
|
function genSourceMapComment(sourceMap) {
|
|
12
13
|
return `\n//# sourceMappingURL=data:application/json;base64,${Buffer.from(JSON.stringify(sourceMap)).toString('base64')}`;
|
|
13
14
|
}
|
|
@@ -27,7 +28,7 @@ function transpileTypescript(sourceCode, options) {
|
|
|
27
28
|
// inlineSourceMap: true,
|
|
28
29
|
},
|
|
29
30
|
});
|
|
30
|
-
(0,
|
|
31
|
+
(0, textUtils_1.assert)(transpiled.sourceMapText);
|
|
31
32
|
const sourceMap = JSON.parse(transpiled.sourceMapText);
|
|
32
33
|
sourceMap.sourceRoot = options?.sourceRoot || '';
|
|
33
34
|
sourceMap.file = compiledFilePath;
|
|
@@ -39,12 +40,12 @@ exports.transpileTypescript = transpileTypescript;
|
|
|
39
40
|
async function compileSfcSource(sfcBlock, sourceId) {
|
|
40
41
|
const sourceCode = sfcBlock.sources[sourceId];
|
|
41
42
|
if (!sourceCode)
|
|
42
|
-
throw new Error(`Source code block ${sourceId} not found in ${sfcBlock.
|
|
43
|
-
const compiledFilePath = path_1.default.join(configuration_1.config.cacheDir, 'compiled', `${sfcBlock.
|
|
44
|
-
const originalFilePath = path_1.default.join(configuration_1.config.blocksDir, sfcBlock.
|
|
43
|
+
throw new Error(`Source code block ${sourceId} not found in ${sfcBlock.path.filePath}`);
|
|
44
|
+
const compiledFilePath = path_1.default.join(configuration_1.config.cacheDir, 'compiled', `${sfcBlock.path.filePath}.${sourceId}.js`);
|
|
45
|
+
const originalFilePath = path_1.default.join(configuration_1.config.blocksDir, sfcBlock.path.filePath);
|
|
45
46
|
const code = transpileTypescript(sourceCode.source, { compiledFilePath, originalFilePath, lineOffset: sourceCode.lineOffset });
|
|
46
|
-
await (0,
|
|
47
|
+
await (0, fileUtils_1.writeFileMakeDir)(compiledFilePath, code, 'utf-8');
|
|
47
48
|
return compiledFilePath;
|
|
48
49
|
}
|
|
49
50
|
exports.compileSfcSource = compileSfcSource;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb21waWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGdEQUF3QjtBQUN4Qiw0REFBNEI7QUFDNUIsb0RBQTBDO0FBRTFDLDJDQUErQztBQUMvQywyQ0FBcUM7QUFFckMsU0FBUyxtQkFBbUIsQ0FBQyxTQUEyQjtJQUN0RCxPQUFPLHVEQUF1RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1SCxDQUFDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQ2pDLFVBQWtCLEVBQ2xCLE9BS0M7SUFFRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxjQUFjLENBQUM7SUFDckUsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLEVBQUUsZ0JBQWdCLElBQUksY0FBYyxDQUFDO0lBRXJFLElBQUksT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN2QixVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO0tBQzNEO0lBRUQsTUFBTSxVQUFVLEdBQUcsb0JBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFO1FBQ2hELGVBQWUsRUFBRTtZQUNmLE1BQU0sRUFBRSxvQkFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQzlCLE1BQU0sRUFBRSxvQkFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNO1lBQzlCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtTQUMxQjtLQUNGLENBQUMsQ0FBQztJQUNILElBQUEsa0JBQU0sRUFBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFakMsTUFBTSxTQUFTLEdBQXFCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pFLFNBQVMsQ0FBQyxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDakQsU0FBUyxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztJQUNsQyxTQUFTLENBQUMsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2QyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLEVBQUUsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7QUFDN0YsQ0FBQztBQWxDRCxrREFrQ0M7QUFFTSxLQUFLLFVBQVUsZ0JBQWdCLENBQUMsUUFBa0IsRUFBRSxRQUFnQjtJQUN6RSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBQyxVQUFVO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsUUFBUSxpQkFBaUIsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRXpHLE1BQU0sZ0JBQWdCLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxzQkFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssQ0FBQyxDQUFDO0lBQzVHLE1BQU0sZ0JBQWdCLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxzQkFBTSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdFLE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFL0gsTUFBTSxJQUFBLDRCQUFnQixFQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUM7QUFWRCw0Q0FVQyJ9
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
import { Abortable } from 'node:events';
|
|
3
3
|
import { Mode, ObjectEncodingOptions, OpenMode } from 'node:fs';
|
|
4
4
|
import { Stream } from 'node:stream';
|
|
5
|
-
export declare function assert(value: unknown, message?: string): asserts value;
|
|
6
|
-
export declare function escapeCloseTag(str: string, tag: string): string;
|
|
7
|
-
export declare function unescapeCloseTag(str: string, tag: string): string;
|
|
8
|
-
export declare function escapeHtmlAttr(str: string): string;
|
|
9
5
|
export declare function listFilesRecursive(dir: string): Promise<string[]>;
|
|
10
6
|
export declare function isFile(filePath: string): Promise<boolean>;
|
|
11
7
|
export declare function isDirectory(dirPath: string): Promise<boolean>;
|
|
@@ -13,4 +9,4 @@ export declare function writeFileMakeDir(filePath: string, data: string | NodeJS
|
|
|
13
9
|
mode?: Mode | undefined;
|
|
14
10
|
flag?: OpenMode | undefined;
|
|
15
11
|
} & Abortable) | BufferEncoding | null): Promise<void>;
|
|
16
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=fileUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUvE;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM/D;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMnE;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EACA,MAAM,GACN,MAAM,CAAC,eAAe,GACtB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,GACzC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,GAC9C,MAAM,EACV,OAAO,CAAC,EACJ,CAAC,qBAAqB,GAAG;IACvB,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B,GAAG,SAAS,CAAC,GACd,cAAc,GACd,IAAI,GACP,OAAO,CAAC,IAAI,CAAC,CAGf"}
|