jitsu-cli 0.9.0 → 0.9.1

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 (60) hide show
  1. package/bin/jiu +3 -0
  2. package/lib/cli/cli.d.ts +1 -0
  3. package/lib/cli/cli.js +308 -0
  4. package/lib/cli/cli.js.map +1 -0
  5. package/lib/cli/config/index.d.ts +12 -0
  6. package/lib/cli/config/index.js +3 -0
  7. package/lib/cli/config/index.js.map +1 -0
  8. package/lib/cli/extension/build.d.ts +2 -1
  9. package/lib/cli/extension/build.js +19 -14
  10. package/lib/cli/extension/build.js.map +1 -0
  11. package/lib/cli/extension/create.d.ts +2 -1
  12. package/lib/cli/extension/create.js +13 -16
  13. package/lib/cli/extension/create.js.map +1 -0
  14. package/lib/cli/extension/exec.d.ts +6 -2
  15. package/lib/cli/extension/exec.js +98 -44
  16. package/lib/cli/extension/exec.js.map +1 -0
  17. package/lib/cli/extension/index.d.ts +0 -3
  18. package/lib/cli/extension/index.js +2 -83
  19. package/lib/cli/extension/index.js.map +1 -0
  20. package/lib/cli/extension/template.d.ts +1 -1
  21. package/lib/cli/extension/template.js +43 -40
  22. package/lib/cli/extension/template.js.map +1 -0
  23. package/lib/cli/extension/test.d.ts +2 -1
  24. package/lib/cli/extension/test.js +2 -1
  25. package/lib/cli/extension/test.js.map +1 -0
  26. package/lib/cli/extension/validate-config.d.ts +2 -1
  27. package/lib/cli/extension/validate-config.js +12 -12
  28. package/lib/cli/extension/validate-config.js.map +1 -0
  29. package/lib/cli/router.d.ts +24 -0
  30. package/lib/cli/router.js +135 -0
  31. package/lib/cli/router.js.map +1 -0
  32. package/lib/config-store.d.ts +16 -0
  33. package/lib/config-store.js +73 -0
  34. package/lib/config-store.js.map +1 -0
  35. package/lib/index.js +3 -3
  36. package/lib/index.js.map +1 -0
  37. package/lib/lib/chalk-code-highlight.js +1 -0
  38. package/lib/lib/chalk-code-highlight.js.map +1 -0
  39. package/lib/lib/command/index.js +4 -2
  40. package/lib/lib/command/index.js.map +1 -0
  41. package/lib/lib/errors.js +1 -0
  42. package/lib/lib/errors.js.map +1 -0
  43. package/lib/lib/indent.js +1 -0
  44. package/lib/lib/indent.js.map +1 -0
  45. package/lib/lib/log.js +1 -0
  46. package/lib/lib/log.js.map +1 -0
  47. package/lib/lib/template.js +1 -0
  48. package/lib/lib/template.js.map +1 -0
  49. package/lib/lib/validation.js +1 -0
  50. package/lib/lib/validation.js.map +1 -0
  51. package/lib/lib/version.js +1 -0
  52. package/lib/lib/version.js.map +1 -0
  53. package/lib/model/destination.json +123 -0
  54. package/lib/model/stream.json +44 -0
  55. package/lib/package.json +8 -4
  56. package/lib/tests.js +1 -0
  57. package/lib/tests.js.map +1 -0
  58. package/package.json +11 -7
  59. package/lib/run.d.ts +0 -1
  60. package/lib/run.js +0 -37
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../../../src/cli/extension/validate-config.ts"],"names":[],"mappings":";;;;AACA,0DAA0B;AAC1B,wDAAwB;AACxB,oDAAoB;AACpB,0DAA0B;AAC1B,gEAAmC;AACnC,mCAAgE;AAChE,qDAA6D;AAE7D,sCAAoC;AAE7B,KAAK,UAAU,cAAc,CAAC,IAAyB;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAErC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,sEAAsE;SAChF,CAAC;KACH;IACD,IAAI,SAAc,CAAC;IACnB,IAAI;QACF,SAAS,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,CAAC;KACnC;IAAC,OAAO,CAAM,EAAE;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,6BAA6B,MAAM,KAAK,CAAC,CAAC,OAAO,GAAG;SAC9D,CAAC;KACH;IACD,IAAI,UAAU,GAAG,GAAG,IAAI,GAAG,CAAC;IAC5B,IAAA,aAAM,GAAE,CAAC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC;IAE5C,IAAI,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,WAAW,EAAE,EAAE,CAAC;KAC9E;IACD,IAAI,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,IAAI,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAA,mBAAW,EAAC,UAAU,CAAC,CAAC,CAAC;IACjE,IAAA,aAAM,GAAE,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,yBAAyB,QAAQ,sBAAsB,gBAAO,qBAAqB;SAC7F,CAAC;KACH;IACD,IAAA,aAAM,GAAE,CAAC,IAAI,CAAC,wBAAwB,GAAG,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,GAAG,MAAM,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAC;IACtC,IAAA,aAAM,GAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;KAC7E;IACD,IAAA,aAAM,GAAE,CAAC,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,IAAI,eAAe,GAAG,MAAM,IAAA,kCAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,eAAe,EAAE;QACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,EAAE,CAAC;KAC5D;IAED,IAAA,aAAM,GAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAE5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAlDD,wCAkDC"}
@@ -0,0 +1,24 @@
1
+ import minimist from "minimist";
2
+ import { CommandResult } from "../lib/command/types";
3
+ export declare const binName = "jitsu-cli";
4
+ export declare type CommandRunner = (args: minimist.ParsedArgs) => Promise<CommandResult>;
5
+ declare type ArgsNames = [string] | [string, string];
6
+ export declare type CommandArgument = {
7
+ name: ArgsNames;
8
+ required?: boolean;
9
+ value?: string;
10
+ description?: string;
11
+ };
12
+ export declare type Command = {
13
+ run: CommandRunner;
14
+ showHelpOnNoArgs?: boolean;
15
+ description: string;
16
+ args?: CommandArgument[];
17
+ aliases?: string[] | string;
18
+ };
19
+ export declare type RouterConfig = {
20
+ $commandGroupDescription?: string | undefined;
21
+ [key: string]: RouterConfig | Command | string | undefined;
22
+ };
23
+ export declare function route(config: RouterConfig, _args: any[]): Promise<CommandResult>;
24
+ export {};
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.route = exports.binName = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const minimist_1 = tslib_1.__importDefault(require("minimist"));
6
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
+ const indent_1 = require("../lib/indent");
8
+ exports.binName = "jitsu-cli";
9
+ function asCommand(currentConfig) {
10
+ if (currentConfig && typeof currentConfig !== "string" && currentConfig.run && currentConfig.description) {
11
+ return currentConfig;
12
+ }
13
+ else {
14
+ return undefined;
15
+ }
16
+ }
17
+ function firstLetterToLower(sentense) {
18
+ return sentense.charAt(0).toLowerCase() + sentense.substring(1);
19
+ }
20
+ function withHelp(cmd, cmdName) {
21
+ return (args) => {
22
+ if (((args._.length > 0 && args._[args._.length - 1] === "help") ||
23
+ args.help ||
24
+ args["?"] ||
25
+ (cmd.showHelpOnNoArgs && Object.keys(args).length == 1)) &&
26
+ cmdName[cmdName.length - 1] !== "help") {
27
+ console.log(`${chalk_1.default.bold("USAGE")}`);
28
+ console.log(` ${[exports.binName, ...cmdName].join(" ")}${args ? " [OPTIONS]" : ""}`);
29
+ console.log();
30
+ console.log(`${chalk_1.default.bold("SYNOPSYS")}`);
31
+ console.log((0, indent_1.align)(cmd.description, { indent: 3 }));
32
+ console.log();
33
+ if (args) {
34
+ console.log(`${chalk_1.default.bold("OPTIONS")}`);
35
+ for (const arg of cmd.args || []) {
36
+ console.log(` ${chalk_1.default.bold(toString(arg.name))}${arg.value ? "=" + arg.value.toUpperCase() : ""}, ${arg.required ? "required" : chalk_1.default.gray("optional")}`);
37
+ if (arg.description) {
38
+ console.log((0, indent_1.align)(arg.description, { indent: 9 }));
39
+ }
40
+ console.log();
41
+ }
42
+ console.log();
43
+ }
44
+ return Promise.resolve({ success: true });
45
+ }
46
+ else {
47
+ return cmd.run(args);
48
+ }
49
+ };
50
+ }
51
+ function hydrate(currentConfig, parentCommands = []) {
52
+ const hydrated = {};
53
+ const allCommands = [];
54
+ for (const [name, commandOrConfig] of Object.entries(currentConfig)) {
55
+ const command = asCommand(commandOrConfig);
56
+ if (command) {
57
+ hydrated[name] = command;
58
+ allCommands.push({ name, description: command.description, args: command.args });
59
+ if (command.aliases) {
60
+ (typeof command.aliases === "string" ? [command.aliases] : command.aliases).forEach(alias => {
61
+ hydrated[alias] = command;
62
+ });
63
+ }
64
+ }
65
+ else if (typeof commandOrConfig !== "string") {
66
+ allCommands.push({
67
+ name,
68
+ description: `Run \`${[exports.binName, ...parentCommands, name, "help"].join(" ")}\` for details`,
69
+ });
70
+ hydrated[name] = hydrate(commandOrConfig, [...parentCommands, name]);
71
+ }
72
+ }
73
+ hydrated["help"] = {
74
+ run: async () => {
75
+ console.log(`${chalk_1.default.bold("USAGE")}`);
76
+ console.log(` ${exports.binName} ${parentCommands.join(" ")} [COMMAND] [ARGUMENTS]`);
77
+ console.log();
78
+ const longestName = allCommands.reduce((max, { name }) => Math.max(max, [exports.binName, ...parentCommands, name].join(" ").length), 0) +
79
+ 5;
80
+ if (allCommands.length > 0) {
81
+ console.log(`${chalk_1.default.bold("AVAILABLE COMMANDS")}`);
82
+ }
83
+ allCommands.forEach(({ name, description, args }) => {
84
+ console.log(` ${chalk_1.default.bold([exports.binName, ...parentCommands, name].join(" ").padEnd(longestName))} ${firstLetterToLower(description)}`);
85
+ });
86
+ console.log();
87
+ console.log(`Run \`${chalk_1.default.bold(`${exports.binName} [COMMAND] help`)}\` for more details`);
88
+ console.log();
89
+ return { success: true };
90
+ },
91
+ description: "Show help",
92
+ };
93
+ return hydrated;
94
+ }
95
+ function toString(argName) {
96
+ if (argName.length == 1) {
97
+ return `--${argName[0]}`;
98
+ }
99
+ else {
100
+ return `-${argName[1]},--${argName[0]}`;
101
+ }
102
+ }
103
+ async function route(config, _args) {
104
+ const args = (0, minimist_1.default)(_args);
105
+ const commands = [...args._];
106
+ if (commands.length === 0) {
107
+ return { success: false, message: "No command specified" };
108
+ }
109
+ let currentConfig = hydrate(config);
110
+ const currentCommand = [];
111
+ while (commands.length > 0) {
112
+ const commandName = commands.shift();
113
+ const parentConfig = currentConfig;
114
+ currentConfig = currentConfig[commandName];
115
+ currentCommand.push(commandName);
116
+ if (currentConfig === undefined) {
117
+ return { success: false, message: `Command ${chalk_1.default.bold(currentCommand.join(" "))} not found` };
118
+ }
119
+ const commandRunner = asCommand(currentConfig);
120
+ if (commandRunner) {
121
+ try {
122
+ return await withHelp(commandRunner, currentCommand)(args);
123
+ }
124
+ catch (e) {
125
+ return { success: false, message: e?.message || "Uknown error", details: args.verbose ? e.stack : undefined };
126
+ }
127
+ }
128
+ else if (commands.length === 0 && parentConfig["help"] && asCommand(currentConfig["help"])) {
129
+ return (await asCommand(currentConfig["help"])).run(args);
130
+ }
131
+ }
132
+ return { success: false, message: "" || "Unknown command" };
133
+ }
134
+ exports.route = route;
135
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/cli/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare type Identifiable = {
2
+ id: string;
3
+ };
4
+ export declare type AnyObject = {
5
+ [key: string]: any;
6
+ };
7
+ export declare type ConfigEntityStore<T extends Identifiable = Identifiable & AnyObject> = {
8
+ get: (id: string) => Promise<T | undefined>;
9
+ remove: (id: string) => Promise<T | undefined>;
10
+ listIds: () => Promise<string[]>;
11
+ list: () => Promise<T[]>;
12
+ patch: (id: string, patch: Partial<T>) => Promise<T>;
13
+ create: (entity: Omit<T, "id">) => Promise<T>;
14
+ };
15
+ export declare type EntityStoreFactory<T extends Identifiable = Identifiable & AnyObject> = (projectId: string, entityType: string) => ConfigEntityStore<T>;
16
+ export declare function directoryBackedFactory<T extends Identifiable = Identifiable & AnyObject>(directory: string): EntityStoreFactory<T>;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.directoryBackedFactory = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
6
+ const fs = tslib_1.__importStar(require("fs"));
7
+ const JSON5 = tslib_1.__importStar(require("json5"));
8
+ const merge_1 = require("lodash/merge");
9
+ const log_1 = tslib_1.__importDefault(require("./lib/log"));
10
+ function directoryBackedFactory(directory) {
11
+ const factory = (projectId, entityType) => {
12
+ const entityFile = path_1.default.join(directory, projectId, entityType + ".json");
13
+ const getObjects = () => {
14
+ if (!fs.existsSync(entityFile)) {
15
+ return undefined;
16
+ }
17
+ return JSON5.parse(fs.readFileSync(entityFile, "utf8")).objects;
18
+ };
19
+ const saveObjects = (objects) => {
20
+ const dir = path_1.default.dirname(entityFile);
21
+ if (!fs.existsSync(dir)) {
22
+ return fs.mkdirSync(dir, { recursive: true });
23
+ }
24
+ (0, log_1.default)().debug(`Saving ${entityType} to ${entityFile}`);
25
+ fs.writeFileSync(entityFile, JSON5.stringify({ objects }, null, 2));
26
+ return JSON5.parse(fs.readFileSync(entityFile, "utf8")).objects;
27
+ };
28
+ return {
29
+ get: async (id) => {
30
+ return getObjects()?.find(e => e.id === id);
31
+ },
32
+ listIds: async () => {
33
+ const objects = getObjects();
34
+ return objects ? objects.map(e => e.id) : [];
35
+ },
36
+ remove: async (id) => {
37
+ const objects = getObjects() ?? [];
38
+ const index = objects.findIndex(e => e.id === id);
39
+ if (index < 0) {
40
+ return undefined;
41
+ }
42
+ else {
43
+ const returnVal = objects.splice(index, 1)[0];
44
+ saveObjects(objects);
45
+ return returnVal;
46
+ }
47
+ },
48
+ list: async () => {
49
+ const objects = getObjects();
50
+ return objects ? objects : [];
51
+ },
52
+ patch: async (id, patch) => {
53
+ const objects = getObjects() || [];
54
+ const index = objects.findIndex(e => e.id === id);
55
+ if (index < 0) {
56
+ throw new Error(`${id} not found`);
57
+ }
58
+ const original = objects[index];
59
+ objects[index] = (0, merge_1.merge)(original, patch);
60
+ saveObjects(objects);
61
+ },
62
+ create: (entity) => {
63
+ const objects = getObjects() || [];
64
+ const newEntity = { id: Math.random().toString(36).substring(2), ...entity };
65
+ saveObjects([...objects, newEntity]);
66
+ return newEntity;
67
+ },
68
+ };
69
+ };
70
+ return factory;
71
+ }
72
+ exports.directoryBackedFactory = directoryBackedFactory;
73
+ //# sourceMappingURL=config-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../src/config-store.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const run_1 = require("./run");
3
+ const cli_1 = require("./cli/cli");
4
4
  (async function () {
5
- const args = [...process.argv.slice(2)];
6
- process.exit(await (0, run_1.run)(args));
5
+ process.exit(await (0, cli_1.cliEntryPoint)(process.argv.slice(2)));
7
6
  })();
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,mCAA0C;AAE1C,CAAC,KAAK;IACJ,OAAO,CAAC,IAAI,CAAC,MAAM,IAAA,mBAAa,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,EAAE,CAAC"}
@@ -39,3 +39,4 @@ chalkCode.typescript = (code, colorScheme = exports.defaultColorScheme) => {
39
39
  chalkCode.json = (code, colorScheme = exports.defaultColorScheme) => {
40
40
  return chalkCode(typeof code === "string" ? code : code.join("\n"), prismjs_1.default.languages.json, colorScheme);
41
41
  };
42
+ //# sourceMappingURL=chalk-code-highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chalk-code-highlight.js","sourceRoot":"","sources":["../../../src/lib/chalk-code-highlight.ts"],"names":[],"mappings":";;;;AAAA,8DAAyC;AACzC,0DAA0B;AAIb,QAAA,kBAAkB,GAAG;IAChC,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,OAAO;IAChB,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF,SAAS,WAAW,CAAC,IAAY,EAAE,GAAW;IAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;KACxD;SAAM;QACL,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;KAC7B;AACH,CAAC;AAOD,SAAgB,SAAS,CAAC,IAAY,EAAE,IAAa,EAAE,cAA2B,0BAAkB;IAClG,OAAO,iBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAK,CAAC,SAAS,CAAC,UAAU,CAAC;SACpD,GAAG,CAAC,OAAO,CAAC,EAAE;QACb,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,OAAO,CAAC;SAChB;aAAM;YACL,IAAI,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;SAC9F;IACH,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAXD,8BAWC;AAED,SAAS,CAAC,UAAU,GAAG,CAAC,IAAmC,EAAE,cAA2B,0BAAkB,EAAE,EAAE;IAC5G,OAAO,SAAS,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAK,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC/G,CAAC,CAAC;AAEF,SAAS,CAAC,IAAI,GAAG,CAAC,IAAmC,EAAE,cAA2B,0BAAkB,EAAE,EAAE;IACtG,OAAO,SAAS,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAK,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACzG,CAAC,CAAC"}
@@ -4,6 +4,7 @@ exports.subcommands = exports.executeCommand = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
6
  const version_1 = require("../version");
7
+ const router_1 = require("../../cli/router");
7
8
  function captureCommand(command, args) {
8
9
  let commandParts = command.split(" ");
9
10
  if (commandParts.length > args.length) {
@@ -29,7 +30,7 @@ function displayHelp(commands, helpOpts, cmd) {
29
30
  }
30
31
  if (!cmd) {
31
32
  console.error("");
32
- console.error(chalk_1.default.bold(`${helpOpts.binPrefix} <command> ...args — `) + `${helpOpts.description}`);
33
+ console.error("Usage: " + chalk_1.default.bold(`${helpOpts.binPrefix} <command> ...args — `) + `${helpOpts.description}`);
33
34
  console.error("");
34
35
  console.error("Available commands: ");
35
36
  console.error("");
@@ -57,7 +58,7 @@ function displayHelp(commands, helpOpts, cmd) {
57
58
  else {
58
59
  console.error(chalk_1.default.bold(`SYNOPSIS`));
59
60
  console.error("");
60
- console.error(chalk_1.default.bold(` jitsu-cli ${cmd}`) + " - " + command.description);
61
+ console.error(chalk_1.default.bold(` ${router_1.binName} ${cmd}`) + " - " + command.description);
61
62
  if (command.help) {
62
63
  console.error("");
63
64
  console.error(command.help
@@ -116,3 +117,4 @@ function subcommands(commands, helpOpts) {
116
117
  };
117
118
  }
118
119
  exports.subcommands = subcommands;
120
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/command/index.ts"],"names":[],"mappings":"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"}
package/lib/lib/errors.js CHANGED
@@ -16,3 +16,4 @@ function appendError(msg, cause) {
16
16
  }
17
17
  }
18
18
  exports.appendError = appendError;
19
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW,EAAE,KAAU;IACjD,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;QAC1B,OAAO,GAAG,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;KACnC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7C,OAAO,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;KAC3B;SAAM,IAAI,KAAK,EAAE;QAChB,OAAO,GAAG,GAAG,KAAK,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;KACtC;SAAM;QACL,OAAO,GAAG,CAAC;KACZ;AACH,CAAC;AAVD,kCAUC"}
package/lib/lib/indent.js CHANGED
@@ -39,3 +39,4 @@ function jsonify(obj) {
39
39
  return obj;
40
40
  }
41
41
  exports.jsonify = jsonify;
42
+ //# sourceMappingURL=indent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indent.js","sourceRoot":"","sources":["../../../src/lib/indent.ts"],"names":[],"mappings":";;;AAAA,SAAS,aAAa,CAAC,IAAI;IACzB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,GAAE;IAC/D,OAAO,GAAG,CAAC;AACb,CAAC;AAKD,SAAgB,iBAAiB,CAAC,IAAY,EAAE,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE;IACvE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,SAAS,EAAE;QACb,IAAI,KAAK,GAAG,CAAC,EACX,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAE;QACnE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG,EAAE,EAAE,GAAE;QAC/D,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;KACrC;IACD,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5F,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAZD,8CAYC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE;IAChF,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,OAAO;QACL,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC3D,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAPD,sBAOC;AAED,SAAgB,OAAO,CAAC,GAAQ;IAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,GAAG,CAAC;SACZ;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AATD,0BASC"}
package/lib/lib/log.js CHANGED
@@ -33,3 +33,4 @@ function getLog() {
33
33
  };
34
34
  }
35
35
  exports.default = getLog;
36
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/lib/log.ts"],"names":[],"mappings":";;;AAAA,0DAA0B;AAU1B,SAAS,GAAG,CACV,QAAQ,EACR,OAA4D,EAC5D,GAAuB,EACvB,IAAW;IAEX,IAAI,CAAC,GAAG,EAAE;QACR,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,OAAO;KACR;IACD,IAAI,UAAU,GAAG,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;IAC3E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;KAC5B;SAAM;QACL,QAAQ,CAAC,UAAU,CAAC,CAAC;KACtB;AACH,CAAC;AAED,SAAwB,MAAM;IAC5B,OAAO;QACL,KAAK,CAAC,GAAY,EAAE,GAAG,IAAW;YAChC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,GAAY,EAAE,GAAG,IAAW;YAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,QAAQ,CAAC,IAAY,IAAS,CAAC;QAC/B,IAAI,CAAC,GAAY,EAAE,GAAG,IAAW;YAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,GAAY,EAAE,GAAG,IAAW;YAChC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;KACF,CAAC;AACJ,CAAC;AAhBD,yBAgBC"}
@@ -34,3 +34,4 @@ function write(dir, template, vars) {
34
34
  });
35
35
  }
36
36
  exports.write = write;
37
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/lib/template.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,+CAAyB;AAEzB,qCAAoD;AAQpD,SAAS,kBAAkB,CAAI,QAAyB;IACtD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC/C,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;KACxB;SAAM,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;QACzC,OAAO,QAAQ,CAAC;KACjB;SAAM;QACL,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC;KACvB;AACH,CAAC;AAED,SAAgB,KAAK,CAAC,GAAW,EAAE,QAAyB,EAAE,IAAkB;IAC9E,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;QACxD,IAAI,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC3B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,EAAE;YACX,IAAI,IAAI,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,CAAC;YACtC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAClC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,sBAgBC"}
@@ -21,3 +21,4 @@ async function validateConfiguration(config, validator) {
21
21
  return undefined;
22
22
  }
23
23
  exports.validateConfiguration = validateConfiguration;
24
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/lib/validation.ts"],"names":[],"mappings":";;;AAEO,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,SAA0B;IAE1B,IAAI,gBAAgB,CAAC;IACrB,IAAI;QACF,gBAAgB,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;KAC5C;IAAC,OAAO,CAAM,EAAE;QACf,OAAO,CAAC,EAAE,OAAO,IAAI,mBAAmB,CAAC;KAC1C;IAED,IAAI,gBAAgB,KAAK,IAAI,EAAE;QAC7B,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;QACxC,OAAO,gBAAgB,CAAC;KACzB;IACD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE;QAChE,OAAO,gBAAgB,CAAC,OAAO,IAAI,eAAe,CAAC;KACpD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AArBD,sDAqBC"}
@@ -33,3 +33,4 @@ async function hasNewerVersion() {
33
33
  }
34
34
  }
35
35
  exports.hasNewerVersion = hasNewerVersion;
36
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":";;;;AAAA,8EAAqC;AACrC,0DAA0B;AAC1B,wDAA2B;AAC3B,qEAAoC;AACpC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAExB,QAAA,eAAe,GAAG,sBAAG,CAAC,OAAO,CAAC;AAC9B,QAAA,gBAAgB,GAAG,sBAAG,CAAC,IAAI,CAAC;AACzC,IAAI,UAAU,GAAG,SAAS,CAAC;AAE3B,SAAgB,iBAAiB,CAAC,UAAkB,EAAE,UAAkB;IACtE,OAAO,GAAG,CACR,6CAA6C,UAAU,MAAM,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,eAAK,CAAC,IAAI,CACzG,iBAAiB,GAAG,wBAAgB,CACrC,OAAO,eAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,wBAAgB,CAAC,EAAE,CAChE,CAAC;AACJ,CAAC;AAND,8CAMC;AACD,SAAS,QAAQ,CAAC,GAAW,EAAE,MAAc,EAAE,SAAiB,GAAG;IACjE,OAAO,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/E,CAAC;AACD,SAAgB,GAAG,CAAC,GAAW;IAC7B,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC;AAHD,kBAGC;AAEM,KAAK,UAAU,eAAe;IACnC,IAAI;QACF,IAAI,IAAI,GAAG,CAAC,MAAM,CAChB,MAAM,KAAK,CAAC,wCAAwC,wBAAgB,YAAY,CAAC,CAClF,CAAC,IAAI,EAAE,CAAQ,CAAC;QACjB,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,OAAO,iBAAM,CAAC,EAAE,CAAC,aAAa,EAAE,uBAAe,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9E;IAAC,OAAO,CAAM,EAAE;QACf,IAAA,aAAM,GAAE,CAAC,KAAK,CAAC,qCAAqC,wBAAgB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KACxF;AACH,CAAC;AAVD,0CAUC"}
@@ -0,0 +1,123 @@
1
+ {
2
+ "$id": "https://example.com/person.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "DestinationProperties",
5
+ "oneOf": [
6
+ {
7
+ "$ref": "#/$defs/PostgresDestinationProperties"
8
+ },
9
+ {
10
+ "$ref": "#/$defs/BigQueryDestinationProperties"
11
+ }
12
+ ],
13
+ "$defs": {
14
+ "BaseDestinationProperties": {
15
+ "type": "object",
16
+ "properties": {
17
+ "type": {
18
+ "type": "string",
19
+ "documentation": "Destination type. Core destination types are: postgres, bigquery, redshift, clickhouse and snowflake.\nIn addition to them, Jitsu cluster can support other destination provided with extensions"
20
+ },
21
+ "name": {
22
+ "type": "string",
23
+ "documentation": "Destination name. Should not contain spaces. Should be unique within the project"
24
+ }
25
+ },
26
+ "required": ["name", "type"]
27
+ },
28
+ "PostgresDestinationProperties": {
29
+ "type": "object",
30
+ "allOf": [
31
+ {
32
+ "$ref": "#/$defs/BaseDestinationProperties"
33
+ },
34
+ {
35
+ "type": "object",
36
+ "properties": {
37
+ "host": {
38
+ "legacyNode": "_formData.pghost",
39
+ "type": "string",
40
+ "documentation": "Host",
41
+ "required": true
42
+ },
43
+ "port": {
44
+ "legacyNode": "_formData.pgport",
45
+ "required": true,
46
+ "type": "number",
47
+ "documentation": "Database server port",
48
+ "default": 5432
49
+ },
50
+ "db": {
51
+ "legacyNode": "_formData.pgdatabase",
52
+ "required": true,
53
+ "secret": true,
54
+ "type": "string",
55
+ "documentation": "Database name"
56
+ },
57
+ "pgschema": {
58
+ "legacyNode": "_formData.pgschema",
59
+ "documentation": "Schema",
60
+ "default": "public",
61
+ "required": true,
62
+ "type": "string"
63
+ },
64
+ "user": {
65
+ "legacyNode": "_formData.pguser",
66
+ "documentation": "Username",
67
+ "required": true,
68
+ "secret": true,
69
+ "type": "string"
70
+ },
71
+ "password": {
72
+ "legacyNode": "_formData.pgpassword",
73
+ "documentation": "Password",
74
+ "required": true,
75
+ "type": "string",
76
+ "secret": true,
77
+ "ui": {
78
+ "displayAs": "password"
79
+ }
80
+ },
81
+ "pgssl": {
82
+ "type": "string",
83
+ "enum": ["require", "verify-ca", "verify-full", "disable"],
84
+ "default": "require",
85
+ "documentation": "SSL Mode of the connection"
86
+ }
87
+ },
88
+ "additionalProperties": false
89
+ }
90
+ ]
91
+ },
92
+ "BigQueryDestinationProperties": {
93
+ "type": "object",
94
+ "allOf": [
95
+ {
96
+ "$ref": "#/$defs/BaseDestinationProperties"
97
+ },
98
+ {
99
+ "type": "object",
100
+ "properties": {
101
+ "projectId": {
102
+ "type": "string"
103
+ },
104
+ "accessKey": {
105
+ "oneOf": [
106
+ {
107
+ "type": "object"
108
+ },
109
+ {
110
+ "type": "string"
111
+ }
112
+ ]
113
+ },
114
+ "dataset": {
115
+ "type": "string"
116
+ }
117
+ },
118
+ "required": ["projectId"]
119
+ }
120
+ ]
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$id": "EventStreamProperties",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "EventStreamProperties",
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "required": true,
9
+ "documentation": "Name of the key"
10
+ },
11
+ "type": {
12
+ "type": "string",
13
+ "enum": ["server", "client"],
14
+ "documentation": "Type of the key. 'client' keys should be used in frontend apps, they are inherently visible to users. 'server' keys are used to send data server-2-server. For 'client' keys it's highly recommended to set up a CORS domains"
15
+ },
16
+ "apiKeys": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "object",
20
+ "properties": {
21
+ "keyId": {
22
+ "type": "string",
23
+ "documentation": "Unique ID of the key"
24
+ },
25
+ "hash": {
26
+ "type": "string",
27
+ "documentation": "Key hash"
28
+ },
29
+ "hint": {
30
+ "type": "string",
31
+ "documentation": "Hint to the key. Example abcdefh => ab***fh"
32
+ }
33
+ },
34
+ "required": ["keyId", "hash"]
35
+ }
36
+ },
37
+ "domains": {
38
+ "type": "array",
39
+ "item": "string",
40
+ "documentation": "List of domains from where the data can be send. Wildcards are supported. `*.abc.com` means both `sub.abc.com` and `abc.com`"
41
+ },
42
+ "required": ["name", "type", "apiKeys"]
43
+ }
44
+ }
package/lib/package.json CHANGED
@@ -22,20 +22,22 @@
22
22
  "bin"
23
23
  ],
24
24
  "scripts": {
25
- "build": "tsc -p . && mv ./lib/src/* ./lib/ && rmdir ./lib/src/",
26
- "clean": "rm -rf ./lib",
25
+ "codegen": "json2ts --cwd ./src/model -i './src/model/*.json' -o ./src/model",
26
+ "build": "rm -rf ./lib && tsc -p . && mv ./lib/src/* ./lib/ && rmdir ./lib/src/",
27
27
  "start": "ts-node src/index.ts",
28
28
  "cli": "node lib/index.js",
29
29
  "test": "jest --verbose ./__tests__"
30
30
  },
31
31
  "devDependencies": {
32
- "@jitsu/types": "workspace:*",
33
32
  "@babel/preset-env": "^7.16.4",
34
33
  "@babel/preset-typescript": "^7.16.0",
34
+ "@jitsu/types": "workspace:*",
35
35
  "@types/commander": "^2.12.2",
36
36
  "@types/inquirer": "^8.1.3",
37
37
  "@types/jest": "^27.0.3",
38
38
  "@types/jest-cli": "^24.3.0",
39
+ "@types/json-schema": "^7.0.11",
40
+ "@types/minimist": "^1.2.2",
39
41
  "@types/validate-npm-package-name": "^3.0.3",
40
42
  "child_process": "^1.0.2",
41
43
  "ts-node": "^10.4.0"
@@ -51,12 +53,13 @@
51
53
  "@types/prismjs": "^1.16.6",
52
54
  "chalk": "^4.1.2",
53
55
  "cli-table": "latest",
54
- "commander": "^8.3.0",
55
56
  "cross-fetch": "^3.1.4",
56
57
  "inquirer": "^8.2.0",
57
58
  "jest": "^27.3.1",
58
59
  "jest-cli": "^27.3.1",
60
+ "json-schema-to-typescript": "^10.1.5",
59
61
  "json5": "^2.2.0",
62
+ "minimist": "^1.2.6",
60
63
  "node-fetch": "^3.1.0",
61
64
  "ora": "^6.0.1",
62
65
  "prismjs": "^1.25.0",
@@ -67,6 +70,7 @@
67
70
  "ts-jest": "^27.0.7",
68
71
  "ts-node": "^10.4.0",
69
72
  "tslib": "^2.3.1",
73
+ "lodash": "^4.17.21",
70
74
  "typescript": "^4.5.2",
71
75
  "validate-npm-package-name": "^3.0.0"
72
76
  }