@botpress/cli 0.0.5 → 0.0.7

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.
@@ -39,13 +39,17 @@ var import_client = require("@botpress/client");
39
39
  var import_axios = __toESM(require("axios"));
40
40
  var import_verror = require("verror");
41
41
  var consts = __toESM(require("../consts"));
42
+ const isKnownApiError = (e) => (0, import_client.isApiError)(e) && !(e instanceof import_client.UnknownError);
42
43
  class BotpressCLIError extends import_verror.VError {
43
44
  static wrap(thrown, message) {
44
45
  const err = BotpressCLIError.map(thrown);
45
46
  return new BotpressCLIError(err, message ?? "");
46
47
  }
47
48
  static map(thrown) {
48
- if ((0, import_client.isApiError)(thrown)) {
49
+ if (thrown instanceof import_client.UnknownError) {
50
+ return new HTTPError(500, "An unknown error has occurred.");
51
+ }
52
+ if (isKnownApiError(thrown)) {
49
53
  return HTTPError.fromApi(thrown);
50
54
  }
51
55
  if (import_axios.default.isAxiosError(thrown)) {
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var esbuild_exports = {};
20
+ __export(esbuild_exports, {
21
+ buildCode: () => buildCode,
22
+ buildEntrypoint: () => buildEntrypoint
23
+ });
24
+ module.exports = __toCommonJS(esbuild_exports);
25
+ var import_esbuild = require("esbuild");
26
+ const keepNames = true;
27
+ function buildCode({
28
+ cwd,
29
+ minify = true,
30
+ bundle = true,
31
+ sourcemap = false,
32
+ logLevel = "silent",
33
+ outfile,
34
+ code,
35
+ write
36
+ }) {
37
+ return (0, import_esbuild.build)({
38
+ stdin: {
39
+ contents: code,
40
+ resolveDir: cwd,
41
+ loader: "ts"
42
+ },
43
+ logOverride: {
44
+ "equals-negative-zero": "silent"
45
+ },
46
+ platform: "node",
47
+ target: "es2020",
48
+ sourcemap,
49
+ minify,
50
+ bundle,
51
+ outfile,
52
+ absWorkingDir: cwd,
53
+ logLevel,
54
+ keepNames,
55
+ write
56
+ });
57
+ }
58
+ function buildEntrypoint({
59
+ cwd,
60
+ minify = true,
61
+ bundle = true,
62
+ sourcemap = false,
63
+ logLevel = "silent",
64
+ outfile,
65
+ entrypoint,
66
+ write
67
+ }) {
68
+ return (0, import_esbuild.build)({
69
+ entryPoints: [entrypoint],
70
+ logOverride: {
71
+ "equals-negative-zero": "silent"
72
+ },
73
+ platform: "node",
74
+ target: "es2020",
75
+ sourcemap,
76
+ minify,
77
+ bundle,
78
+ outfile,
79
+ absWorkingDir: cwd,
80
+ logLevel,
81
+ keepNames,
82
+ write
83
+ });
84
+ }
85
+ // Annotate the CommonJS export names for ESM import in node:
86
+ 0 && (module.exports = {
87
+ buildCode,
88
+ buildEntrypoint
89
+ });
package/dist/app/index.js CHANGED
@@ -33,21 +33,23 @@ var import_chalk = __toESM(require("chalk"));
33
33
  var import_fs = __toESM(require("fs"));
34
34
  var consts = __toESM(require("../consts"));
35
35
  var import_logger = require("../logger");
36
+ var import_update_notif = require("../update-notif");
36
37
  var import_cache = require("./cache");
37
38
  var import_file_paths = require("./file-paths");
38
39
  var import_project = require("./project");
39
40
  var import_user = require("./user");
40
41
  var errors = __toESM(require("./errors"));
41
- const logBootInfo = (logger, props) => {
42
+ const logBootInfo = async (logger, props) => {
42
43
  const versionText = import_chalk.default.bold(`v${props.version}`);
43
44
  logger.log(`Botpress CLI ${versionText}`, { prefix: "\u{1F916}" });
45
+ await (0, import_update_notif.notifyUpdate)(props, logger);
44
46
  if (props.botpressHome !== consts.defaultBotpressHome) {
45
47
  logger.log(`Using custom botpress home: ${props.botpressHome}`, { prefix: "\u{1F3E0}" });
46
48
  }
47
49
  };
48
50
  const forProject = async (props) => {
49
51
  const logger = new import_logger.Logger(props);
50
- logBootInfo(logger, props);
52
+ await logBootInfo(logger, props);
51
53
  const projectPaths = new import_file_paths.ProjectPaths(props);
52
54
  const projectCachePath = projectPaths.abs.projectCacheFile;
53
55
  const projectCache = await import_cache.FSConfigCache.loadFrom(projectCachePath);
@@ -59,7 +61,7 @@ const forProject = async (props) => {
59
61
  };
60
62
  const forUser = async (props) => {
61
63
  const logger = new import_logger.Logger(props);
62
- logBootInfo(logger, props);
64
+ await logBootInfo(logger, props);
63
65
  const userPaths = new import_file_paths.UserPaths(props);
64
66
  const userCacheFile = userPaths.abs.userCacheFile;
65
67
  const userCache = await import_cache.FSConfigCache.loadFrom(userCacheFile);
package/dist/const.js ADDED
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var const_exports = {};
26
+ __export(const_exports, {
27
+ defDataOutfile: () => defDataOutfile,
28
+ defaultBotpressApi: () => defaultBotpressApi,
29
+ defaultBotpressApp: () => defaultBotpressApp,
30
+ defaultBotpressHome: () => defaultBotpressHome,
31
+ defaultEntrypoint: () => defaultEntrypoint,
32
+ defaultIntegrationConfigScript: () => defaultIntegrationConfigScript,
33
+ defaultOutputFolder: () => defaultOutputFolder,
34
+ dist: () => dist,
35
+ implementationTypings: () => implementationTypings,
36
+ installDir: () => installDir,
37
+ outfile: () => outfile,
38
+ projectCache: () => projectCache,
39
+ relativeToHomeFolder: () => relativeToHomeFolder,
40
+ relativeToOutFolder: () => relativeToOutFolder,
41
+ userCache: () => userCache
42
+ });
43
+ module.exports = __toCommonJS(const_exports);
44
+ var import_os = __toESM(require("os"));
45
+ var import_path = __toESM(require("path"));
46
+ const defaultOutputFolder = ".botpress";
47
+ const defaultEntrypoint = "src/index.ts";
48
+ const defaultIntegrationConfigScript = "integration.definition.ts";
49
+ const defaultBotpressApi = "https://api.botpress.cloud";
50
+ const defaultBotpressApp = "https://app.botpress.cloud";
51
+ const defaultBotpressHome = import_path.default.join(import_os.default.homedir(), ".botpress");
52
+ const relativeToHomeFolder = {
53
+ userCache: "user.cache.json"
54
+ };
55
+ const userCache = (botpressHome) => import_path.default.join(botpressHome, relativeToHomeFolder.userCache);
56
+ const relativeToOutFolder = {
57
+ dist: "dist",
58
+ outfile: import_path.default.join("dist", "index.js"),
59
+ defDataOutfile: import_path.default.join("dist", "integration.definition.json"),
60
+ implementationTypings: "implementation",
61
+ installDir: "installations",
62
+ projectCache: "project.cache.json"
63
+ };
64
+ const dist = (outFolder) => import_path.default.join(outFolder, relativeToOutFolder.dist);
65
+ const outfile = (outFolder) => import_path.default.join(outFolder, relativeToOutFolder.outfile);
66
+ const defDataOutfile = (outFolder) => import_path.default.join(outFolder, relativeToOutFolder.defDataOutfile);
67
+ const implementationTypings = (outFolder) => import_path.default.join(outFolder, relativeToOutFolder.implementationTypings);
68
+ const installDir = (outFolder) => import_path.default.join(outFolder, relativeToOutFolder.installDir);
69
+ const projectCache = (outFolder) => import_path.default.join(outFolder, relativeToOutFolder.projectCache);
70
+ // Annotate the CommonJS export names for ESM import in node:
71
+ 0 && (module.exports = {
72
+ defDataOutfile,
73
+ defaultBotpressApi,
74
+ defaultBotpressApp,
75
+ defaultBotpressHome,
76
+ defaultEntrypoint,
77
+ defaultIntegrationConfigScript,
78
+ defaultOutputFolder,
79
+ dist,
80
+ implementationTypings,
81
+ installDir,
82
+ outfile,
83
+ projectCache,
84
+ relativeToHomeFolder,
85
+ relativeToOutFolder,
86
+ userCache
87
+ });
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var event_emitter_exports = {};
20
+ __export(event_emitter_exports, {
21
+ EventEmitter: () => EventEmitter
22
+ });
23
+ module.exports = __toCommonJS(event_emitter_exports);
24
+ class EventEmitter {
25
+ listeners = {};
26
+ emit(type, event) {
27
+ const listeners = this.listeners[type];
28
+ if (!listeners) {
29
+ return;
30
+ }
31
+ for (const listener of listeners) {
32
+ listener(event);
33
+ }
34
+ }
35
+ once(type, listener) {
36
+ const wrapped = (event) => {
37
+ this.off(type, wrapped);
38
+ listener(event);
39
+ };
40
+ this.on(type, wrapped);
41
+ }
42
+ on(type, listener) {
43
+ if (!this.listeners[type]) {
44
+ this.listeners[type] = [];
45
+ }
46
+ this.listeners[type].push(listener);
47
+ }
48
+ off(type, listener) {
49
+ const listeners = this.listeners[type];
50
+ if (!listeners) {
51
+ return;
52
+ }
53
+ const index = listeners.indexOf(listener);
54
+ if (index !== -1) {
55
+ listeners.splice(index, 1);
56
+ }
57
+ }
58
+ }
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ EventEmitter
62
+ });
package/dist/index.js CHANGED
@@ -22,7 +22,8 @@ var import_process = require("process");
22
22
  var app = __toESM(require("./app"));
23
23
  var config = __toESM(require("./config"));
24
24
  var import_logger = require("./logger");
25
- const { version } = require("../package.json");
25
+ const { name, version } = require("../package.json");
26
+ const pkg = { name, version };
26
27
  const errorLogger = new import_logger.Logger();
27
28
  const logError = (thrown) => {
28
29
  const error = app.errors.BotpressCLIError.map(thrown);
@@ -51,7 +52,7 @@ import_yargs_extra.default.command(
51
52
  async (argv) => {
52
53
  try {
53
54
  const parsed = parseArguments(config.loginSchema, argv);
54
- const commands = await app.forUser({ ...parsed, version });
55
+ const commands = await app.forUser({ ...parsed, ...pkg });
55
56
  await commands.login(parsed);
56
57
  commands.teardown();
57
58
  } catch (e) {
@@ -65,7 +66,7 @@ import_yargs_extra.default.command(
65
66
  async (argv) => {
66
67
  try {
67
68
  const parsed = parseArguments(config.logoutSchema, argv);
68
- const commands = await app.forUser({ ...parsed, version });
69
+ const commands = await app.forUser({ ...parsed, ...pkg });
69
70
  await commands.logout();
70
71
  commands.teardown();
71
72
  } catch (e) {
@@ -80,7 +81,7 @@ import_yargs_extra.default.command(
80
81
  async (argv) => {
81
82
  try {
82
83
  const parsed = parseArguments(config.createBotSchema, argv);
83
- const commands = await app.forUser({ ...parsed, version });
84
+ const commands = await app.forUser({ ...parsed, ...pkg });
84
85
  await commands.createBot(parsed);
85
86
  commands.teardown();
86
87
  } catch (e) {
@@ -94,7 +95,7 @@ import_yargs_extra.default.command(
94
95
  async (argv) => {
95
96
  try {
96
97
  const parsed = parseArguments(config.listBotsSchema, argv);
97
- const commands = await app.forUser({ ...parsed, version });
98
+ const commands = await app.forUser({ ...parsed, ...pkg });
98
99
  await commands.listBots(parsed);
99
100
  commands.teardown();
100
101
  } catch (e) {
@@ -108,7 +109,7 @@ import_yargs_extra.default.command(
108
109
  async (argv) => {
109
110
  try {
110
111
  const parsed = parseArguments(config.readBotSchema, argv);
111
- const commands = await app.forUser({ ...parsed, version });
112
+ const commands = await app.forUser({ ...parsed, ...pkg });
112
113
  await commands.getBot(argv.botRef, parsed);
113
114
  commands.teardown();
114
115
  } catch (e) {
@@ -122,7 +123,7 @@ import_yargs_extra.default.command(
122
123
  async (argv) => {
123
124
  try {
124
125
  const parsed = parseArguments(config.deleteBotSchema, argv);
125
- const commands = await app.forUser({ ...parsed, version });
126
+ const commands = await app.forUser({ ...parsed, ...pkg });
126
127
  await commands.deleteBot(argv.botRef, parsed);
127
128
  commands.teardown();
128
129
  } catch (e) {
@@ -138,7 +139,7 @@ import_yargs_extra.default.command(
138
139
  async (argv) => {
139
140
  try {
140
141
  const parsed = parseArguments(config.listIntegrationsSchema, argv);
141
- const commands = await app.forUser({ ...parsed, version });
142
+ const commands = await app.forUser({ ...parsed, ...pkg });
142
143
  await commands.listIntegrations(parsed);
143
144
  commands.teardown();
144
145
  } catch (e) {
@@ -152,7 +153,7 @@ import_yargs_extra.default.command(
152
153
  async (argv) => {
153
154
  try {
154
155
  const parsed = parseArguments(config.readIntegrationSchema, argv);
155
- const commands = await app.forUser({ ...parsed, version });
156
+ const commands = await app.forUser({ ...parsed, ...pkg });
156
157
  await commands.getIntegration(argv.integrationRef, parsed);
157
158
  commands.teardown();
158
159
  } catch (e) {
@@ -166,7 +167,7 @@ import_yargs_extra.default.command(
166
167
  async (argv) => {
167
168
  try {
168
169
  const parsed = parseArguments(config.readIntegrationSchema, argv);
169
- const commands = await app.forUser({ ...parsed, version });
170
+ const commands = await app.forUser({ ...parsed, ...pkg });
170
171
  await commands.deleteIntegration(argv.integrationRef, parsed);
171
172
  commands.teardown();
172
173
  } catch (e) {
@@ -181,7 +182,7 @@ import_yargs_extra.default.command(
181
182
  async (argv) => {
182
183
  try {
183
184
  const parsed = parseArguments(config.bundleSchema, argv);
184
- const commands = await app.forProject({ ...parsed, version });
185
+ const commands = await app.forProject({ ...parsed, ...pkg });
185
186
  await commands.bundleProject(parsed);
186
187
  commands.teardown();
187
188
  } catch (e) {
@@ -195,7 +196,7 @@ import_yargs_extra.default.command(
195
196
  async (argv) => {
196
197
  try {
197
198
  const parsed = parseArguments(config.generateSchema, argv);
198
- const commands = await app.forProject({ ...parsed, version });
199
+ const commands = await app.forProject({ ...parsed, ...pkg });
199
200
  await commands.generateTypings(parsed);
200
201
  commands.teardown();
201
202
  } catch (e) {
@@ -209,7 +210,7 @@ import_yargs_extra.default.command(
209
210
  async (argv) => {
210
211
  try {
211
212
  const parsed = parseArguments(config.buildSchema, argv);
212
- const commands = await app.forProject({ ...parsed, version });
213
+ const commands = await app.forProject({ ...parsed, ...pkg });
213
214
  await commands.buildProject(parsed);
214
215
  commands.teardown();
215
216
  } catch (e) {
@@ -223,7 +224,7 @@ import_yargs_extra.default.command(
223
224
  async (argv) => {
224
225
  try {
225
226
  const parsed = parseArguments(config.serveSchema, argv);
226
- const commands = await app.forProject({ ...parsed, version });
227
+ const commands = await app.forProject({ ...parsed, ...pkg });
227
228
  await commands.serveProject(parsed);
228
229
  commands.teardown();
229
230
  } catch (e) {
@@ -237,7 +238,7 @@ import_yargs_extra.default.command(
237
238
  async (argv) => {
238
239
  try {
239
240
  const parsed = parseArguments(config.deploySchema, argv);
240
- const commands = await app.forProject({ ...parsed, version });
241
+ const commands = await app.forProject({ ...parsed, ...pkg });
241
242
  await commands.deployProject(parsed);
242
243
  commands.teardown();
243
244
  } catch (e) {
@@ -251,7 +252,7 @@ import_yargs_extra.default.command(
251
252
  async (argv) => {
252
253
  try {
253
254
  const parsed = parseArguments(config.devSchema, argv);
254
- const commands = await app.forProject({ ...parsed, version });
255
+ const commands = await app.forProject({ ...parsed, ...pkg });
255
256
  await commands.devProject(parsed);
256
257
  commands.teardown();
257
258
  } catch (e) {
@@ -265,7 +266,7 @@ import_yargs_extra.default.command(
265
266
  async (argv) => {
266
267
  try {
267
268
  const parsed = parseArguments(config.addSchema, argv);
268
- const commands = await app.forProject({ ...parsed, version });
269
+ const commands = await app.forProject({ ...parsed, ...pkg });
269
270
  await commands.installIntegration(argv.integrationRef, parsed);
270
271
  commands.teardown();
271
272
  } catch (e) {
@@ -27,6 +27,7 @@ __export(base_logger_exports, {
27
27
  BaseLogger: () => BaseLogger
28
28
  });
29
29
  module.exports = __toCommonJS(base_logger_exports);
30
+ var import_boxen = __toESM(require("boxen"));
30
31
  var import_chalk = __toESM(require("chalk"));
31
32
  var import_lodash = __toESM(require("lodash"));
32
33
  var import_util = __toESM(require("util"));
@@ -76,6 +77,12 @@ const renderers = {
76
77
  "\u25CF": disc,
77
78
  " ": space
78
79
  };
80
+ const BOX_OPTIONS = {
81
+ padding: 1,
82
+ margin: 1,
83
+ borderStyle: "round",
84
+ borderColor: "yellow"
85
+ };
79
86
  class BaseLogger {
80
87
  opts;
81
88
  constructor(opts = {}) {
@@ -127,6 +134,13 @@ class BaseLogger {
127
134
  }
128
135
  this.log(message, { metadata, prefix: { symbol: "\xD7", fg: "red" } });
129
136
  }
137
+ box(message) {
138
+ if (this.opts.json) {
139
+ return;
140
+ }
141
+ const box = (0, import_boxen.default)(message, BOX_OPTIONS);
142
+ this.print(box);
143
+ }
130
144
  _resolvePrefix(prefix) {
131
145
  if (!prefix) {
132
146
  return;
package/dist/paths.js ADDED
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var paths_exports = {};
26
+ __export(paths_exports, {
27
+ absoluteFrom: () => absoluteFrom,
28
+ cwd: () => cwd,
29
+ isAbsolute: () => isAbsolute,
30
+ isPath: () => isPath,
31
+ relativeFrom: () => relativeFrom,
32
+ rmExtension: () => rmExtension,
33
+ toUnix: () => toUnix
34
+ });
35
+ module.exports = __toCommonJS(paths_exports);
36
+ var import_path = __toESM(require("path"));
37
+ const cwd = () => process.cwd();
38
+ const isAbsolute = (path) => import_path.default.isAbsolute(path);
39
+ const isPath = (path) => isAbsolute(path) || path.startsWith(".");
40
+ const rmExtension = (filename) => filename.replace(/\.[^/.]+$/, "");
41
+ const toUnix = (path) => path.split(import_path.default.sep).join(import_path.default.posix.sep);
42
+ const absoluteFrom = (rootdir, target) => {
43
+ if (isAbsolute(target)) {
44
+ return target;
45
+ }
46
+ return import_path.default.join(rootdir, target);
47
+ };
48
+ const relativeFrom = (rootdir, target) => {
49
+ let absPath;
50
+ if (isAbsolute(target)) {
51
+ absPath = target;
52
+ } else {
53
+ absPath = import_path.default.resolve(import_path.default.join(rootdir, target));
54
+ }
55
+ if (!absPath.startsWith(rootdir)) {
56
+ return target;
57
+ }
58
+ return absPath.slice(rootdir.length + 1);
59
+ };
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ absoluteFrom,
63
+ cwd,
64
+ isAbsolute,
65
+ isPath,
66
+ relativeFrom,
67
+ rmExtension,
68
+ toUnix
69
+ });
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var requires_exports = {};
26
+ __export(requires_exports, {
27
+ requireJsCode: () => requireJsCode,
28
+ requireJsFile: () => requireJsFile
29
+ });
30
+ module.exports = __toCommonJS(requires_exports);
31
+ var import_module = __toESM(require("module"));
32
+ var import_path = __toESM(require("path"));
33
+ const requireJsFile = (path) => {
34
+ return require(path);
35
+ };
36
+ const requireJsCode = (code) => {
37
+ const filedir = "tmp";
38
+ const filename = `${Date.now()}.js`;
39
+ const fileid = import_path.default.join(filedir, filename);
40
+ const m = new import_module.default(fileid);
41
+ m.filename = filename;
42
+ m._compile(code, filename);
43
+ return m.exports;
44
+ };
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ requireJsCode,
48
+ requireJsFile
49
+ });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var type_utils_exports = {};
16
+ module.exports = __toCommonJS(type_utils_exports);
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var update_notif_exports = {};
26
+ __export(update_notif_exports, {
27
+ notifyUpdate: () => notifyUpdate
28
+ });
29
+ module.exports = __toCommonJS(update_notif_exports);
30
+ var import_chalk = __toESM(require("chalk"));
31
+ var import_latest_version = __toESM(require("latest-version"));
32
+ const updateMsg = (props) => `${import_chalk.default.bold("Update available")} ${import_chalk.default.dim(props.version)} \u2192 ${import_chalk.default.green(props.latest)}
33
+
34
+ To update, run:
35
+ for npm ${import_chalk.default.cyan(`npm i -g ${props.name}`)}
36
+ for yarn ${import_chalk.default.cyan(`yarn global add ${props.name}`)}
37
+ for pnpm ${import_chalk.default.cyan(`pnpm i -g ${props.name}`)}`;
38
+ const notifyUpdate = async (props, logger) => {
39
+ const latest = await (0, import_latest_version.default)(props.name);
40
+ if (latest !== props.version) {
41
+ logger.box(updateMsg({ ...props, latest }));
42
+ }
43
+ };
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ notifyUpdate
47
+ });
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var watcher_exports = {};
26
+ __export(watcher_exports, {
27
+ FileWatcher: () => FileWatcher
28
+ });
29
+ module.exports = __toCommonJS(watcher_exports);
30
+ var import_watcher = __toESM(require("@parcel/watcher"));
31
+ var import_event_emitter = require("./event-emitter");
32
+ class FileWatcher {
33
+ constructor(subscription, errorEmitter) {
34
+ this.subscription = subscription;
35
+ this.errorEmitter = errorEmitter;
36
+ }
37
+ static async watch(dir, fn, opt) {
38
+ const eventEmitter = new import_event_emitter.EventEmitter();
39
+ const subscription = await import_watcher.default.subscribe(
40
+ dir,
41
+ async (err, events) => {
42
+ if (err) {
43
+ eventEmitter.emit("error", err);
44
+ return;
45
+ }
46
+ try {
47
+ await fn(events);
48
+ } catch (thrown) {
49
+ eventEmitter.emit("error", thrown);
50
+ }
51
+ },
52
+ opt
53
+ );
54
+ return new FileWatcher(subscription, eventEmitter);
55
+ }
56
+ async close() {
57
+ await this.subscription.unsubscribe();
58
+ this.errorEmitter.emit("close", {});
59
+ }
60
+ wait = () => new Promise((resolve, reject) => {
61
+ this.errorEmitter.once("error", reject);
62
+ this.errorEmitter.once("close", resolve);
63
+ });
64
+ }
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ FileWatcher
68
+ });
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var child_wrapper_exports = {};
26
+ __export(child_wrapper_exports, {
27
+ ChildProcessWrapper: () => ChildProcessWrapper
28
+ });
29
+ module.exports = __toCommonJS(child_wrapper_exports);
30
+ var childProcess = __toESM(require("child_process"));
31
+ var import_child_entrypoint = require("./child-entrypoint");
32
+ var import_config = require("./config");
33
+ var import_is_child = require("./is-child");
34
+ const listenForChildSpawn = (child, logger) => new Promise((resolve, reject) => {
35
+ child.on("spawn", () => {
36
+ logger.debug(`Child process spawned with pid ${child.pid}`);
37
+ resolve();
38
+ });
39
+ child.on("error", (err) => {
40
+ logger.debug(`Child process error: ${err.message}`);
41
+ reject(err);
42
+ });
43
+ });
44
+ const listenForChildExit = (child, logger) => new Promise((resolve, reject) => {
45
+ child.on("disconnect", () => {
46
+ logger.debug("Child process disconnected");
47
+ });
48
+ child.on("close", (exitCode, signal) => {
49
+ logger.debug(`Child process closed with code ${exitCode} and signal ${signal}`);
50
+ });
51
+ child.on("exit", (exitCode, signal) => {
52
+ logger.debug(`Child process exited with code ${exitCode} and signal ${signal}`);
53
+ resolve({ exitCode, signal });
54
+ });
55
+ child.on("error", (err) => {
56
+ logger.debug(`Child process error: ${err.message}`);
57
+ reject(err);
58
+ });
59
+ child.on("message", (message) => {
60
+ logger.debug(`Child process message: ${message}`);
61
+ });
62
+ });
63
+ class ChildProcessWrapper {
64
+ constructor(_child, _exitPromise) {
65
+ this._child = _child;
66
+ this._exitPromise = _exitPromise;
67
+ }
68
+ static async spawn(config, logger) {
69
+ if (import_is_child.isChildProcess) {
70
+ throw new Error("Cannot spawn child process from child process");
71
+ }
72
+ const child = childProcess.fork(import_child_entrypoint.ENTRY_POINT, [], {
73
+ stdio: "inherit",
74
+ env: {
75
+ [import_is_child.CHILD_ENV_KEY]: import_is_child.CHILD_ENV_VALUE,
76
+ [import_config.CONFIG_ENV_KEY]: JSON.stringify(config),
77
+ ...config.env
78
+ }
79
+ });
80
+ const childSpawnPromise = listenForChildSpawn(child, logger);
81
+ const childExitPromise = listenForChildExit(child, logger);
82
+ const instance = new ChildProcessWrapper(child, childExitPromise);
83
+ childExitPromise.finally(() => {
84
+ instance._exited = true;
85
+ });
86
+ await childSpawnPromise;
87
+ return instance;
88
+ }
89
+ _exited = false;
90
+ async kill() {
91
+ if (this._exited) {
92
+ throw new Error("Child process already exited and cannot be killed");
93
+ }
94
+ this._child.kill();
95
+ const res = await this._exitPromise;
96
+ return res;
97
+ }
98
+ async listen() {
99
+ if (this._exited) {
100
+ throw new Error("Child process already exited and cannot be listened on");
101
+ }
102
+ const res = await this._exitPromise;
103
+ return res;
104
+ }
105
+ }
106
+ // Annotate the CommonJS export names for ESM import in node:
107
+ 0 && (module.exports = {
108
+ ChildProcessWrapper
109
+ });
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var keyboard_exports = {};
26
+ __export(keyboard_exports, {
27
+ listenForKeypress: () => listenForKeypress
28
+ });
29
+ module.exports = __toCommonJS(keyboard_exports);
30
+ var import_readline = __toESM(require("readline"));
31
+ const listenForKeypress = (handler) => {
32
+ import_readline.default.emitKeypressEvents(process.stdin);
33
+ const wrapper = (_str, key) => {
34
+ handler(key);
35
+ };
36
+ process.stdin.on("keypress", wrapper);
37
+ if (process.stdin.isTTY) {
38
+ process.stdin.setRawMode(true);
39
+ }
40
+ process.stdin.resume();
41
+ return () => {
42
+ process.stdin.off("keypress", wrapper);
43
+ };
44
+ };
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ listenForKeypress
48
+ });
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var messaging_exports = {};
20
+ __export(messaging_exports, {
21
+ exitCodes: () => exitCodes,
22
+ messages: () => messages
23
+ });
24
+ module.exports = __toCommonJS(messaging_exports);
25
+ const exitCodes = {
26
+ success: 0,
27
+ restart: 69,
28
+ keyboard: 42,
29
+ terminate: 66
30
+ };
31
+ const messages = {
32
+ restart: "__restart__",
33
+ terminate: "__terminate__"
34
+ };
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ exitCodes,
38
+ messages
39
+ });
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var worker_state_exports = {};
20
+ __export(worker_state_exports, {
21
+ WorkerStateObserver: () => WorkerStateObserver
22
+ });
23
+ module.exports = __toCommonJS(worker_state_exports);
24
+ class WorkerStateObserver {
25
+ _state;
26
+ _handlers = {
27
+ dead: [],
28
+ reloading: [],
29
+ live: [],
30
+ killing: [],
31
+ errored: []
32
+ };
33
+ constructor(initialState) {
34
+ this._state = initialState;
35
+ }
36
+ waitFor(status) {
37
+ return new Promise((resolve) => {
38
+ const cb = () => {
39
+ this.off(status, cb);
40
+ resolve();
41
+ };
42
+ this.on(status, cb);
43
+ });
44
+ }
45
+ on(status, handler) {
46
+ this._handlers[status].push(handler);
47
+ if (this._state.status === status) {
48
+ handler(this._state);
49
+ }
50
+ }
51
+ off(status, handler) {
52
+ const index = this._handlers[status].indexOf(handler);
53
+ this._handlers[status].splice(index, 1);
54
+ }
55
+ get() {
56
+ return this._state;
57
+ }
58
+ set(newState) {
59
+ this._state = newState;
60
+ const { status } = newState;
61
+ for (const handler of this._handlers[status]) {
62
+ const fn = handler;
63
+ fn(newState);
64
+ }
65
+ }
66
+ }
67
+ // Annotate the CommonJS export names for ESM import in node:
68
+ 0 && (module.exports = {
69
+ WorkerStateObserver
70
+ });
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var worker_exports = {};
20
+ __export(worker_exports, {
21
+ Worker: () => Worker
22
+ });
23
+ module.exports = __toCommonJS(worker_exports);
24
+ var import_child_wrapper = require("./child-wrapper");
25
+ var import_worker_state = require("./worker-state");
26
+ class Worker {
27
+ constructor(_config, _logger, _props = {}) {
28
+ this._config = _config;
29
+ this._logger = _logger;
30
+ this._props = _props;
31
+ }
32
+ static async spawn(config, logger, props) {
33
+ const instance = new Worker(config, logger, props);
34
+ await instance.reload();
35
+ return instance;
36
+ }
37
+ _state = new import_worker_state.WorkerStateObserver({ status: "dead", murdered: false });
38
+ get running() {
39
+ return this._state.get().status === "live";
40
+ }
41
+ kill = () => {
42
+ const state = this._state.get();
43
+ if (state.status !== "live") {
44
+ throw new Error("Cannot kill a child process that is not alive");
45
+ }
46
+ this._state.set({ status: "killing" });
47
+ return state.child.kill();
48
+ };
49
+ reload = async () => {
50
+ if (this._state.get().status === "reloading") {
51
+ this._logger.debug("Already reloading");
52
+ return;
53
+ }
54
+ const previousState = this._state.get();
55
+ this._state.set({ status: "reloading" });
56
+ if (previousState.status === "live") {
57
+ await previousState.child.kill();
58
+ }
59
+ const child = await import_child_wrapper.ChildProcessWrapper.spawn(this._config, this._logger);
60
+ this._state.set({ status: "live", child });
61
+ void child.listen().catch((thrown) => {
62
+ this._state.set({ status: "errored", thrown });
63
+ }).then(() => {
64
+ const { status } = this._state.get();
65
+ if (status === "reloading") {
66
+ return;
67
+ }
68
+ this._state.set({ status: "dead", murdered: status === "killing" });
69
+ });
70
+ };
71
+ wait = () => new Promise((resolve, reject) => {
72
+ this._state.on("dead", (state) => {
73
+ if (state.murdered || !this._props.hangOnExit) {
74
+ resolve();
75
+ return;
76
+ }
77
+ this._logger.debug("Child process died of natural causes...");
78
+ });
79
+ this._state.on("errored", (state) => {
80
+ reject(state.thrown);
81
+ });
82
+ });
83
+ }
84
+ // Annotate the CommonJS export names for ESM import in node:
85
+ 0 && (module.exports = {
86
+ Worker
87
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botpress/cli",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Botpress CLI",
5
5
  "scripts": {
6
6
  "build": "pnpm run type-check && pnpm run bundle",
@@ -24,10 +24,12 @@
24
24
  "@types/verror": "^1.10.6",
25
25
  "axios": "^1.2.5",
26
26
  "bluebird": "^3.7.2",
27
+ "boxen": "5.1.2",
27
28
  "chalk": "^4.1.2",
28
29
  "chokidar": "^3.5.3",
29
30
  "esbuild": "^0.15.18",
30
31
  "json-schema-to-typescript": "^11.0.2",
32
+ "latest-version": "5.1.0",
31
33
  "lodash": "^4.17.21",
32
34
  "prompts": "^2.4.2",
33
35
  "radash": "^9.5.0",
@@ -40,7 +42,7 @@
40
42
  "zod-to-json-schema": "^3.20.1"
41
43
  },
42
44
  "devDependencies": {
43
- "@botpress/sdk": "0.0.6",
45
+ "@botpress/sdk": "0.0.7",
44
46
  "@types/bluebird": "^3.5.38",
45
47
  "@types/prompts": "^2.0.14",
46
48
  "@types/semver": "^7.3.11",