@marsx-dev/launcher 0.0.2 → 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.
Files changed (54) hide show
  1. package/dist/cli/index.d.ts +4 -0
  2. package/dist/cli/index.d.ts.map +1 -0
  3. package/dist/cli/index.js +1 -0
  4. package/dist/cli/init.d.ts +2 -0
  5. package/dist/cli/init.d.ts.map +1 -0
  6. package/dist/cli/init.js +90 -59
  7. package/dist/cli/migrate.d.ts +2 -0
  8. package/dist/cli/migrate.d.ts.map +1 -0
  9. package/dist/cli/migrate.js +3 -2
  10. package/dist/cli/start.d.ts +3 -0
  11. package/dist/cli/start.d.ts.map +1 -0
  12. package/dist/cli/start.js +3 -2
  13. package/dist/configuration.d.ts +30 -0
  14. package/dist/configuration.d.ts.map +1 -0
  15. package/dist/configuration.js +95 -33
  16. package/dist/index.d.ts +7 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +40 -5
  19. package/dist/launcher.d.ts +2 -0
  20. package/dist/launcher.d.ts.map +1 -0
  21. package/dist/launcher.js +6 -4
  22. package/dist/loader.d.ts +3 -0
  23. package/dist/loader.d.ts.map +1 -0
  24. package/dist/loader.js +5 -4
  25. package/dist/utils/compile.d.ts +9 -0
  26. package/dist/utils/compile.d.ts.map +1 -0
  27. package/dist/utils/compile.js +8 -6
  28. package/dist/utils/fileUtils.d.ts +12 -0
  29. package/dist/utils/fileUtils.d.ts.map +1 -0
  30. package/dist/utils/fileUtils.js +42 -0
  31. package/dist/utils/sfc.d.ts +55 -0
  32. package/dist/utils/sfc.d.ts.map +1 -0
  33. package/dist/utils/sfc.js +54 -97
  34. package/dist/utils/textUtils.d.ts +17 -0
  35. package/dist/utils/textUtils.d.ts.map +1 -0
  36. package/dist/utils/textUtils.js +105 -0
  37. package/dist/utils/v3.d.ts +12 -0
  38. package/dist/utils/v3.d.ts.map +1 -0
  39. package/dist/utils/v3.js +5 -5
  40. package/package.json +12 -51
  41. package/src/cli/index.ts +37 -0
  42. package/src/cli/init.ts +142 -0
  43. package/src/cli/migrate.ts +23 -0
  44. package/src/cli/start.ts +34 -0
  45. package/src/configuration.ts +104 -0
  46. package/src/index.ts +6 -0
  47. package/src/launcher.ts +39 -0
  48. package/src/loader.ts +65 -0
  49. package/src/utils/compile.ts +59 -0
  50. package/src/utils/fileUtils.ts +54 -0
  51. package/src/utils/sfc.ts +155 -0
  52. package/src/utils/textUtils.ts +82 -0
  53. package/src/utils/v3.ts +104 -0
  54. package/dist/utils/utils.js +0 -59
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ export declare class CliError extends Error {
3
+ }
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAQA,qBAAa,QAAS,SAAQ,KAAK;CAAG"}
package/dist/cli/index.js CHANGED
@@ -38,3 +38,4 @@ async function main() {
38
38
  }
39
39
  }
40
40
  main();
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQSxrREFBMEI7QUFDMUIseUNBQW9DO0FBQ3BDLGlDQUFxQztBQUNyQyx1Q0FBMEM7QUFDMUMsbUNBQWdDO0FBRWhDLE1BQWEsUUFBUyxTQUFRLEtBQUs7Q0FBRztBQUF0Qyw0QkFBc0M7QUFFdEMsS0FBSyxVQUFVLElBQUk7SUFDakIsSUFBSTtRQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksbUJBQU8sRUFBRSxDQUFDO1FBRTlCLDhEQUE4RDtRQUM5RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0UsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBSyxDQUFDLENBQUM7UUFDOUYsT0FBTzthQUNKLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQzthQUM5QixXQUFXLENBQUMscUZBQXFGLENBQUM7YUFDbEcsTUFBTSxDQUFDLGtCQUFXLENBQUMsQ0FBQztRQUN2QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx1QkFBYSxDQUFDLENBQUM7UUFFL0YsTUFBTSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7S0FDNUI7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLElBQUksQ0FBQyxZQUFZLFFBQVEsRUFBRTtZQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ export declare function initProject(projectName: string): Promise<void>;
2
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
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
@@ -1,27 +1,4 @@
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
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
@@ -31,68 +8,122 @@ const chalk_1 = __importDefault(require("chalk"));
31
8
  const child_process_1 = require("child_process");
32
9
  const crypto_1 = require("crypto");
33
10
  const path_1 = __importDefault(require("path"));
34
- const util = __importStar(require("util"));
35
- const utils_1 = require("../utils/utils");
11
+ const configuration_1 = require("../configuration");
12
+ const fileUtils_1 = require("../utils/fileUtils");
13
+ const textUtils_1 = require("../utils/textUtils");
36
14
  const index_1 = require("./index");
37
- const execAsync = util.promisify(child_process_1.exec);
38
- const DEMO_BOOTER = `<json id="metadata">
39
- {"version": 4, "restartOnChange": true}
40
- </json>
41
-
42
-
43
- <script id="BlockFunction" lang="tsx">
44
- export default async () => {
45
- console.log('MarsX loaded!')
46
- };
47
- </script>`;
15
+ const FASTIFY_DEPS = [
16
+ '@fastify/session',
17
+ 'fastify',
18
+ 'fastify-accepts',
19
+ 'fastify-compress',
20
+ 'fastify-cookie',
21
+ 'fastify-cors',
22
+ 'fastify-csrf',
23
+ 'fastify-flash',
24
+ 'fastify-formbody',
25
+ 'fastify-helmet',
26
+ 'fastify-multipart',
27
+ 'fastify-request-context',
28
+ 'fastify-static',
29
+ 'fastify-websocket',
30
+ ];
31
+ const COMMON_DEPS = [
32
+ '@marsx-dev/launcher',
33
+ 'aws-sdk',
34
+ 'axios',
35
+ 'azure-storage',
36
+ 'base-x',
37
+ 'bcrypt',
38
+ 'chokidar',
39
+ 'lodash',
40
+ 'mongodb4@npm:mongodb@4',
41
+ 'mongodb3@npm:mongodb@3',
42
+ 'typescript',
43
+ 'uuid',
44
+ 'xxhash',
45
+ ];
46
+ const V3_DEPS = [
47
+ 'babel-core',
48
+ 'babel-plugin-transform-react-jsx',
49
+ 'config',
50
+ 'crypto-js',
51
+ 'jsonwebtoken',
52
+ 'mobile-detect',
53
+ 'moment-timezone',
54
+ 'route-pattern',
55
+ 'route-sort',
56
+ ];
57
+ const DEFAULT_DEPS = [...FASTIFY_DEPS, ...COMMON_DEPS, ...V3_DEPS];
48
58
  async function initProject(projectName) {
49
59
  if (!projectName.match(/^\w+$/) || projectName !== projectName.toLowerCase()) {
50
60
  throw new index_1.CliError(`Project name "${projectName}" may contain only lower case alphanumeric characters and underscores (eg. my_project_name)`);
51
61
  }
62
+ const name = {
63
+ snakeCase: projectName,
64
+ withDashes: projectName.replace('_', '-'),
65
+ noSep: projectName.replace('_', ''),
66
+ };
52
67
  const projectDir = path_1.default.resolve(projectName);
53
- if (await (0, utils_1.isDirectory)(projectDir)) {
68
+ if (await (0, fileUtils_1.isDirectory)(projectDir)) {
54
69
  throw new index_1.CliError(`Project dir "${projectName}" already exist. Delete it or choose a different name.`);
55
70
  }
56
71
  console.log(`Creating a new MarsX project in ${chalk_1.default.green(projectDir)}`);
57
72
  const packageJson = {
58
- name: projectName,
73
+ name: name.withDashes,
59
74
  version: '0.0.0',
60
75
  private: true,
61
76
  scripts: {
62
77
  start: 'marsx start',
63
78
  },
64
- dependencies: {
65
- '@marsx-dev/launcher': '^0.0.1',
66
- },
79
+ dependencies: {},
67
80
  };
68
81
  const packageJsonStr = JSON.stringify(packageJson, null, 2);
69
- await (0, utils_1.writeFileMakeDir)(path_1.default.join(projectDir, 'package.json'), packageJsonStr);
82
+ await (0, fileUtils_1.writeFileMakeDir)(path_1.default.join(projectDir, 'package.json'), packageJsonStr);
70
83
  const config = {
71
84
  production: false,
72
85
  port: 3000,
73
86
  blocksDir: 'blocks',
74
87
  cacheDir: '.cache',
75
- mongoConn: '<YOUR_MONGO_CONN_STR>',
76
- mongoDbName: projectName,
88
+ mongoConn: '<CONN_STR>',
89
+ mongoDbName: name.withDashes,
77
90
  azureStorageConnection: '<CONN_STR>',
78
- azureStorageAccountName: projectName,
79
- azureStorageUrl: `https://${projectName}.blob.core.windows.net`,
91
+ azureStorageAccountName: name.noSep,
92
+ azureStorageUrl: `https://${name.noSep}.blob.core.windows.net`,
80
93
  webFilesTable: 'webFiles',
81
94
  webRecentFilesTable: 'webRecentFiles',
82
95
  webFilesBlob: 'web-files',
83
- secret: (await (0, crypto_1.randomBytes)(48)).toString('hex'),
84
- importProjects: [{ name: 'mars-ide', url: 'https://ide.marscloud.dev', api_key: '<API_KEY>', git_commit_ish: 'main' }],
96
+ secret: (await (0, crypto_1.randomBytes)(32)).toString('hex'),
97
+ importProjects: [
98
+ {
99
+ name: 'marsx-core',
100
+ url: 'https://core.marsx.dev',
101
+ api_key: '<API_KEY>',
102
+ git_commit_ish: 'main',
103
+ },
104
+ ],
85
105
  };
86
- await (0, utils_1.writeFileMakeDir)(path_1.default.join(projectDir, 'config', 'default.json'), JSON.stringify(config, null, 2));
87
- await (0, utils_1.writeFileMakeDir)(path_1.default.join(projectDir, 'blocks', 'Booter.service.vue'), DEMO_BOOTER);
88
- console.log('Installing dependencies. This might take a couple of minutes.');
89
- await execAsync('npm install', { cwd: projectDir });
90
- await execAsync('git init', { cwd: projectDir });
91
- await execAsync('git add -A', { cwd: projectDir });
92
- await execAsync('git commit -m "Initial commit"', { cwd: projectDir });
93
- console.log('Initialized git repository and created initial commit.');
94
- console.log(chalk_1.default.yellow(`\nMake sure to update parameters in config/default.json`));
95
- console.log(`${chalk_1.default.green('Success!')} Created ${projectName} at ${projectDir}`);
96
- console.log(chalk_1.default.dim(`\nInside that directory, you can start MarsX with\n\n cd ${projectName}\n npm run start\n`));
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');
109
+ function run(...args) {
110
+ const cmd = args[0];
111
+ (0, textUtils_1.assert)(cmd);
112
+ (0, child_process_1.spawnSync)(cmd, args.slice(1), { cwd: projectDir, stdio: 'inherit' });
113
+ }
114
+ console.log('\nInstalling dependencies. This might take a couple of minutes.');
115
+ run('npm', 'i', ...DEFAULT_DEPS);
116
+ console.log('');
117
+ run('git', 'init', '--initial-branch=main');
118
+ run('git', 'add', '.gitignore');
119
+ run('git', 'add', '-A');
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')}`);
97
127
  }
98
128
  exports.initProject = initProject;
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsaURBQTBDO0FBQzFDLG1DQUFxQztBQUNyQyxnREFBd0I7QUFDeEIsb0RBQXNFO0FBQ3RFLGtEQUFtRTtBQUNuRSxrREFBNEM7QUFDNUMsbUNBQW1DO0FBRW5DLE1BQU0sWUFBWSxHQUFHO0lBQ25CLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQixtQkFBbUI7Q0FDcEIsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLHFCQUFxQjtJQUNyQixTQUFTO0lBQ1QsT0FBTztJQUNQLGVBQWU7SUFDZixRQUFRO0lBQ1IsUUFBUTtJQUNSLFVBQVU7SUFDVixRQUFRO0lBQ1Isd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixZQUFZO0lBQ1osTUFBTTtJQUNOLFFBQVE7Q0FDVCxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUc7SUFDZCxZQUFZO0lBQ1osa0NBQWtDO0lBQ2xDLFFBQVE7SUFDUixXQUFXO0lBQ1gsY0FBYztJQUNkLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLFlBQVk7Q0FDYixDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBRTVELEtBQUssVUFBVSxXQUFXLENBQUMsV0FBbUI7SUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksV0FBVyxLQUFLLFdBQVcsQ0FBQyxXQUFXLEVBQUUs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
@@ -0,0 +1,2 @@
1
+ export declare function migrateV3ToV4(): Promise<void>;
2
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AAQA,wBAAsB,aAAa,kBAclC"}
@@ -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 utils_1 = require("../utils/utils");
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,9 +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, utils_1.writeFileMakeDir)(path_1.default.join(configuration_1.config.blocksDir, serialized.filePath), serialized.content);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvbWlncmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrREFBMEI7QUFDMUIscUNBQXNDO0FBQ3RDLGdEQUF3QjtBQUN4QixvREFBMEM7QUFDMUMsc0NBQTRDO0FBQzVDLGtEQUFzRDtBQUN0RCxvQ0FBMkQ7QUFFcEQsS0FBSyxVQUFVLGFBQWE7SUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxxQkFBVyxDQUFDLHNCQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxzQkFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBZSxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvRSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsU0FBUyxDQUFDLE1BQU0sV0FBVyxDQUFDLENBQUM7SUFFdkQsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUU7UUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBQSxrQkFBWSxFQUFDLElBQUEsbUJBQWMsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sSUFBQSw0QkFBZ0IsRUFBQyxjQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFNLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBQzdDO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBZEQsc0NBY0MifQ==
@@ -0,0 +1,3 @@
1
+ export declare const RESTART_EXIT_CODe = 9;
2
+ export declare const start: () => Promise<void>;
3
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/cli/start.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,KAAK,qBA0BjB,CAAC"}
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 utils_1 = require("../utils/utils");
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, utils_1.assert)(process.argv[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,3 +37,4 @@ const start = async () => {
37
37
  }
38
38
  };
39
39
  exports.start = start;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3N0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtFQUEwQztBQUMxQyxvREFBMEM7QUFDMUMsMENBQTJDO0FBQzNDLGtEQUE0QztBQUUvQixRQUFBLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixNQUFNLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixJQUFJLHNCQUFNLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixPQUFPLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQztRQUN4RCxNQUFNLElBQUEsdUJBQVksR0FBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0tBQ3JEO1NBQU07UUFDTCxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7WUFDMUIsSUFBQSxrQkFBTSxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QixNQUFNLEtBQUssR0FBRyx1QkFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLHNCQUFzQixFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEgsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xCLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFO2dCQUMvQyxLQUFLLEVBQUUsU0FBUzthQUNqQixDQUFDLENBQUM7WUFFSCxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixLQUFLLENBQUMsR0FBRyxvQkFBb0IsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxJQUFJLEtBQUsseUJBQWlCLEVBQUU7b0JBQzlCLFVBQVUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQ2pDO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixjQUFjLEVBQUUsQ0FBQztLQUNsQjtBQUNILENBQUMsQ0FBQztBQTFCVyxRQUFBLEtBQUssU0EwQmhCIn0=
@@ -0,0 +1,30 @@
1
+ export interface ImportProjectConfig {
2
+ name: string;
3
+ url: string;
4
+ api_key: string;
5
+ git_commit_ish?: string | undefined;
6
+ }
7
+ export interface Config {
8
+ production: boolean;
9
+ port: number;
10
+ blocksDir: string;
11
+ cacheDir: string;
12
+ mongoConn: string;
13
+ mongoDbName: string;
14
+ azureStorageConnection: string;
15
+ azureStorageAccountName: string;
16
+ azureStorageUrl: string;
17
+ secret: string;
18
+ webFilesTable: string;
19
+ webRecentFilesTable: string;
20
+ webFilesBlob: string;
21
+ importProjects: ImportProjectConfig[];
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
+ }>;
30
+ //# sourceMappingURL=configuration.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -1,44 +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 utils_1 = require("./utils/utils");
11
- const ensureType = (typeName) => (configName) => {
12
- const value = config_1.default.get(configName);
13
- (0, utils_1.assert)(typeof value === typeName);
14
- return value;
15
- };
16
- const ensureString = ensureType('string');
17
- const ensureBoolean = ensureType('boolean');
18
- const ensureNumber = ensureType('number');
19
- function validatedConfig() {
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 new Proxy({}, {
22
- get() {
23
- throw new Error('Config file not found, ensure you have "config/default.json" file.');
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.config = validatedConfig();
105
+ exports.CustomEnvironmentVariables = getEnvVarMapping();
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNuRCxvREFBa0M7QUFDbEMsb0RBQXVCO0FBQ3ZCLGdEQUF3QjtBQUN4Qix5Q0FBMkI7QUFDM0IsNkJBQXNDO0FBMEJ0QyxNQUFhLFdBQVksU0FBUSxLQUFLO0NBQUc7QUFBekMsa0NBQXlDO0FBRXpDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxjQUFjLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUN4QyxDQUFDLENBQUM7QUFFSCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3RDLFVBQVUsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ2xELFNBQVMsRUFBRSxHQUFHO1NBQ1gsTUFBTSxFQUFFO1NBQ1IsUUFBUSxFQUFFO1NBQ1YsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxR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
@@ -0,0 +1,7 @@
1
+ export { config, ImportProjectConfig, Config } from './configuration';
2
+ export { compileSfcSource, transpileTypescript } from './utils/compile';
3
+ export { parseSFC, serializeSfc, parseSfcPath, serializeSfcPath, SfcBlock, SfcPath, SfcSource } from './utils/sfc';
4
+ export { convertSfcToV3, convertV3ToSfc, V3MongoBlock } from './utils/v3';
5
+ export * as textUtils from './utils/textUtils';
6
+ export * as fileUtils from './utils/fileUtils';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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
@@ -1,7 +1,42 @@
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
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.migrateV3ToV4 = exports.start = void 0;
4
- var start_1 = require("./cli/start");
5
- Object.defineProperty(exports, "start", { enumerable: true, get: function () { return start_1.start; } });
6
- var migrate_1 = require("./cli/migrate");
7
- Object.defineProperty(exports, "migrateV3ToV4", { enumerable: true, get: function () { return migrate_1.migrateV3ToV4; } });
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
+ var configuration_1 = require("./configuration");
28
+ Object.defineProperty(exports, "config", { enumerable: true, get: function () { return configuration_1.config; } });
29
+ var compile_1 = require("./utils/compile");
30
+ Object.defineProperty(exports, "compileSfcSource", { enumerable: true, get: function () { return compile_1.compileSfcSource; } });
31
+ Object.defineProperty(exports, "transpileTypescript", { enumerable: true, get: function () { return compile_1.transpileTypescript; } });
32
+ var sfc_1 = require("./utils/sfc");
33
+ Object.defineProperty(exports, "parseSFC", { enumerable: true, get: function () { return sfc_1.parseSFC; } });
34
+ Object.defineProperty(exports, "serializeSfc", { enumerable: true, get: function () { return sfc_1.serializeSfc; } });
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; } });
37
+ var v3_1 = require("./utils/v3");
38
+ Object.defineProperty(exports, "convertSfcToV3", { enumerable: true, get: function () { return v3_1.convertSfcToV3; } });
39
+ Object.defineProperty(exports, "convertV3ToSfc", { enumerable: true, get: function () { return v3_1.convertV3ToSfc; } });
40
+ exports.textUtils = __importStar(require("./utils/textUtils"));
41
+ exports.fileUtils = __importStar(require("./utils/fileUtils"));
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBc0U7QUFBN0QsdUdBQUEsTUFBTSxPQUFBO0FBQ2YsMkNBQXdFO0FBQS9ELDJHQUFBLGdCQUFnQixPQUFBO0FBQUUsOEdBQUEsbUJBQW1CLE9BQUE7QUFDOUMsbUNBQW1IO0FBQTFHLCtGQUFBLFFBQVEsT0FBQTtBQUFFLG1HQUFBLFlBQVksT0FBQTtBQUFFLG1HQUFBLFlBQVksT0FBQTtBQUFFLHVHQUFBLGdCQUFnQixPQUFBO0FBQy9ELGlDQUEwRTtBQUFqRSxvR0FBQSxjQUFjLE9BQUE7QUFBRSxvR0FBQSxjQUFjLE9BQUE7QUFDdkMsK0RBQStDO0FBQy9DLCtEQUErQyJ9
@@ -0,0 +1,2 @@
1
+ export declare function launchBooter(booterBlockName?: string): Promise<void>;
2
+ //# sourceMappingURL=launcher.d.ts.map
@@ -0,0 +1 @@
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 utils_1 = require("./utils/utils");
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: utils_1.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.identity.name === booterBlockName);
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, utils_1.assert)(booterBlock);
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,3 +37,4 @@ async function launchBooter(booterBlockName = 'Booter') {
36
37
  }
37
38
  }
38
39
  exports.launchBooter = launchBooter;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGF1bmNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXlDO0FBQ3pDLHFDQUF5QztBQUN6Qyw2Q0FBd0U7QUFDeEUscUNBQXFEO0FBQ3JELGlEQUFxRDtBQUNyRCxpREFBMkM7QUFDM0MsbUNBQTREO0FBRTVELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLE1BQU0sRUFBTixzQkFBTTtJQUNOLFFBQVEsRUFBUixjQUFRO0lBQ1IsWUFBWSxFQUFaLGtCQUFZO0lBQ1osY0FBYyxFQUFkLG1CQUFjO0lBQ2QsY0FBYyxFQUFkLG1CQUFjO0lBQ2QsbUJBQW1CLEVBQW5CLDZCQUFtQjtJQUNuQixnQkFBZ0IsRUFBaEIsMEJBQWdCO0lBQ2hCLGdCQUFnQixFQUFoQiw0QkFBZ0I7Q0FDakIsQ0FBQztBQUVLLEtBQUssVUFBVSxZQUFZLENBQUMsZUFBZSxHQUFHLFFBQVE7SUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLHNCQUFhLEdBQUUsQ0FBQztJQUV4QyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUM7SUFDNUUsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsZUFBZSwyREFBMkQsQ0FBQyxDQUFDO0lBRTlHLHVGQUF1RjtJQUN2RixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxJQUFBLGtCQUFNLEVBQUMsV0FBVyxDQUFDLENBQUM7SUFFcEIsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUEsMEJBQWdCLEVBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2hGLElBQUk7UUFDRiw4REFBOEQ7UUFDOUQsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0tBQ3RFO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDO0FBbkJELG9DQW1CQyJ9
@@ -0,0 +1,3 @@
1
+ import { SfcBlock } from './utils/sfc';
2
+ export declare function loadAllBlocks(): Promise<SfcBlock[]>;
3
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqDjD,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAIzD"}