jitsu-cli 0.0.0

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 (41) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/bin/jitsu-cli +3 -0
  4. package/lib/cli/extension/build.d.ts +2 -0
  5. package/lib/cli/extension/build.js +137 -0
  6. package/lib/cli/extension/create.d.ts +2 -0
  7. package/lib/cli/extension/create.js +92 -0
  8. package/lib/cli/extension/exec.d.ts +3 -0
  9. package/lib/cli/extension/exec.js +296 -0
  10. package/lib/cli/extension/index.d.ts +9 -0
  11. package/lib/cli/extension/index.js +147 -0
  12. package/lib/cli/extension/template.d.ts +30 -0
  13. package/lib/cli/extension/template.js +237 -0
  14. package/lib/cli/extension/test.d.ts +2 -0
  15. package/lib/cli/extension/test.js +34 -0
  16. package/lib/cli/extension/validate-config.d.ts +2 -0
  17. package/lib/cli/extension/validate-config.js +62 -0
  18. package/lib/index.d.ts +1 -0
  19. package/lib/index.js +7 -0
  20. package/lib/lib/chalk-code-highlight.d.ts +14 -0
  21. package/lib/lib/chalk-code-highlight.js +41 -0
  22. package/lib/lib/command/index.d.ts +3 -0
  23. package/lib/lib/command/index.js +118 -0
  24. package/lib/lib/errors.d.ts +1 -0
  25. package/lib/lib/errors.js +18 -0
  26. package/lib/lib/indent.d.ts +9 -0
  27. package/lib/lib/indent.js +41 -0
  28. package/lib/lib/log.d.ts +8 -0
  29. package/lib/lib/log.js +35 -0
  30. package/lib/lib/template.d.ts +5 -0
  31. package/lib/lib/template.js +36 -0
  32. package/lib/lib/validation.d.ts +2 -0
  33. package/lib/lib/validation.js +23 -0
  34. package/lib/lib/version.d.ts +5 -0
  35. package/lib/lib/version.js +35 -0
  36. package/lib/package.json +73 -0
  37. package/lib/run.d.ts +1 -0
  38. package/lib/run.js +37 -0
  39. package/lib/tests.d.ts +2 -0
  40. package/lib/tests.js +10 -0
  41. package/package.json +73 -0
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subcommands = exports.executeCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ const version_1 = require("../version");
7
+ function captureCommand(command, args) {
8
+ let commandParts = command.split(" ");
9
+ if (commandParts.length > args.length) {
10
+ return undefined;
11
+ }
12
+ for (let i = 0; i < commandParts.length; i++) {
13
+ if (commandParts[i] !== args[i]) {
14
+ return undefined;
15
+ }
16
+ }
17
+ return args.slice(commandParts.length);
18
+ }
19
+ function isHelpOption(arg) {
20
+ return arg === "-help" || arg === "--help" || arg === "help" || arg === "-?" || arg === "--?";
21
+ }
22
+ function isVersionOption(arg) {
23
+ return arg === "-version" || arg === "--version" || arg === "version" || arg === "-v" || arg === "--?";
24
+ }
25
+ function displayHelp(commands, helpOpts, cmd) {
26
+ if (helpOpts.customHelp) {
27
+ console.error(helpOpts.customHelp);
28
+ return;
29
+ }
30
+ if (!cmd) {
31
+ console.error("");
32
+ console.error(chalk_1.default.bold(`${helpOpts.binPrefix} <command> ...args — `) + `${helpOpts.description}`);
33
+ console.error("");
34
+ console.error("Available commands: ");
35
+ console.error("");
36
+ console.error(Object.keys(commands)
37
+ .map(cmd => {
38
+ return ` ${helpOpts.binPrefix} ${cmd} <options> - ${commands[cmd].description}`;
39
+ })
40
+ .join("\n"));
41
+ console.error("");
42
+ console.error(`To get help run ${chalk_1.default.bold(helpOpts.binPrefix + " <command> help")}:`);
43
+ console.error("");
44
+ console.error(Object.keys(commands)
45
+ .map(cmd => {
46
+ return ` ${helpOpts.binPrefix} ${cmd} help`;
47
+ })
48
+ .join("\n"));
49
+ console.error("");
50
+ }
51
+ else {
52
+ console.error("");
53
+ let command = commands[cmd];
54
+ if (!command) {
55
+ console.error(chalk_1.default.bold.red("Error!") + " Command " + chalk_1.default.bold(cmd) + " not found!");
56
+ }
57
+ else {
58
+ console.error(chalk_1.default.bold(`SYNOPSIS`));
59
+ console.error("");
60
+ console.error(chalk_1.default.bold(` jitsu-cli ${cmd}`) + " - " + command.description);
61
+ if (command.help) {
62
+ console.error("");
63
+ console.error(command.help
64
+ .trim()
65
+ .split("\n")
66
+ .map(ln => `${ln}`)
67
+ .join("\n"));
68
+ }
69
+ console.error("");
70
+ }
71
+ }
72
+ }
73
+ const executeCommand = async (commands, args, helpOpts) => {
74
+ if (version_1.jitsuCliVersion !== "0.0.0") {
75
+ const newVersion = await (0, version_1.hasNewerVersion)();
76
+ if (newVersion) {
77
+ console.log((0, version_1.getUpgradeMessage)(newVersion, version_1.jitsuCliVersion));
78
+ }
79
+ }
80
+ if (args.length === 0 || isHelpOption(args[0])) {
81
+ displayHelp(commands, helpOpts);
82
+ return { success: true };
83
+ }
84
+ else if (args.length > 0 && isVersionOption(args[0])) {
85
+ console.error(`Jitsu CLI v${version_1.jitsuCliVersion}`);
86
+ return { success: true };
87
+ }
88
+ for (const [commandName, cmd] of Object.entries(commands)) {
89
+ let commandArgs = captureCommand(commandName, [...args]);
90
+ if (commandArgs) {
91
+ if (commandArgs.length > 0 && isHelpOption(commandArgs[0])) {
92
+ displayHelp(commands, helpOpts, commandName);
93
+ return { success: true };
94
+ }
95
+ else {
96
+ try {
97
+ return await cmd.exec(commandArgs);
98
+ }
99
+ catch (e) {
100
+ return { success: false, message: e?.message || "unknown error", details: e?.stack };
101
+ }
102
+ }
103
+ }
104
+ }
105
+ let error = `unknown command '${chalk_1.default.bold(args.join(" "))}'. Run ${chalk_1.default.bold(helpOpts.binPrefix + " help")} to see available options`;
106
+ return { success: false, message: error };
107
+ };
108
+ exports.executeCommand = executeCommand;
109
+ function subcommands(commands, helpOpts) {
110
+ return {
111
+ description: helpOpts.description,
112
+ exec(args) {
113
+ return (0, exports.executeCommand)(commands, args, helpOpts);
114
+ },
115
+ help: helpOpts.customHelp || `Run ${helpOpts.binPrefix} help to see all available options`,
116
+ };
117
+ }
118
+ exports.subcommands = subcommands;
@@ -0,0 +1 @@
1
+ export declare function appendError(msg: string, cause: any): string;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendError = void 0;
4
+ function appendError(msg, cause) {
5
+ if (cause && cause.message) {
6
+ return `${msg}: ${cause.message}`;
7
+ }
8
+ else if (cause && typeof cause === "string") {
9
+ return `${msg}: ${cause}`;
10
+ }
11
+ else if (cause) {
12
+ return `${msg}: ${cause.toString()}`;
13
+ }
14
+ else {
15
+ return msg;
16
+ }
17
+ }
18
+ exports.appendError = appendError;
@@ -0,0 +1,9 @@
1
+ export declare function removeIndentation(text: string, { trimLines }?: {
2
+ trimLines?: boolean | undefined;
3
+ }): string;
4
+ export declare function align(text: string, { indent, lnBefore, lnAfter }?: {
5
+ indent?: number | undefined;
6
+ lnBefore?: number | undefined;
7
+ lnAfter?: number | undefined;
8
+ }): string;
9
+ export declare function jsonify(obj: any): any;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jsonify = exports.align = exports.removeIndentation = void 0;
4
+ function getIndentSize(line) {
5
+ let idx = 0;
6
+ for (; line.charAt(idx) === " " && idx < line.length; idx++) { }
7
+ return idx;
8
+ }
9
+ function removeIndentation(text, { trimLines = true } = {}) {
10
+ let lines = text.split("\n");
11
+ if (trimLines) {
12
+ let start = 0, end = lines.length - 1;
13
+ for (; lines[start].trim().length == 0 && start <= end; start++) { }
14
+ for (; lines[end].trim().length == 0 && end >= start; end--) { }
15
+ lines = lines.slice(start, end + 1);
16
+ }
17
+ let commonIndent = Math.min(...lines.filter(ln => ln.trim().length > 0).map(getIndentSize));
18
+ return lines.map(ln => ln.substring(commonIndent)).join("\n");
19
+ }
20
+ exports.removeIndentation = removeIndentation;
21
+ function align(text, { indent = 0, lnBefore = 0, lnAfter = 0 } = {}) {
22
+ const cleanText = removeIndentation(text, { trimLines: true });
23
+ return [
24
+ ...new Array(lnBefore).fill(""),
25
+ ...cleanText.split("\n").map(ln => " ".repeat(indent) + ln),
26
+ ...new Array(lnAfter).fill(""),
27
+ ].join("\n");
28
+ }
29
+ exports.align = align;
30
+ function jsonify(obj) {
31
+ if (typeof obj === "string") {
32
+ try {
33
+ return JSON.parse(obj);
34
+ }
35
+ catch (e) {
36
+ return obj;
37
+ }
38
+ }
39
+ return obj;
40
+ }
41
+ exports.jsonify = jsonify;
@@ -0,0 +1,8 @@
1
+ export declare type Log = {
2
+ debug: (msg?: string, ...args: any[]) => void;
3
+ info: (msg?: string, ...args: any[]) => void;
4
+ warn: (msg?: string, ...args: any[]) => void;
5
+ spinInfo: (...args: string[]) => void;
6
+ error: (...args: string[]) => void;
7
+ };
8
+ export default function getLog(): Log;
package/lib/lib/log.js ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
5
+ function log(delegate, styling, msg, args) {
6
+ if (!msg) {
7
+ delegate("");
8
+ return;
9
+ }
10
+ let consoleMsg = chalk_1.default[styling.color](`[${styling.prefix}]`) + " - " + msg;
11
+ if (args.length > 0) {
12
+ delegate(consoleMsg, args);
13
+ }
14
+ else {
15
+ delegate(consoleMsg);
16
+ }
17
+ }
18
+ function getLog() {
19
+ return {
20
+ error(msg, ...args) {
21
+ log(console.error, { prefix: "error", color: "red" }, msg, args);
22
+ },
23
+ warn(msg, ...args) {
24
+ log(console.warn, { prefix: "warn ", color: "yellow" }, msg, args);
25
+ },
26
+ spinInfo(args) { },
27
+ info(msg, ...args) {
28
+ log(console.info, { prefix: "info ", color: "cyan" }, msg, args);
29
+ },
30
+ debug(msg, ...args) {
31
+ log(console.debug, { prefix: "debug", color: "gray" }, msg, args);
32
+ },
33
+ };
34
+ }
35
+ exports.default = getLog;
@@ -0,0 +1,5 @@
1
+ export declare type TemplateVars = Record<string, any>;
2
+ export declare type TemplateFunction<T> = (vars: T) => any;
3
+ export declare type FileTemplate<T> = TemplateFunction<T> | string | any;
4
+ export declare type ProjectTemplate<T extends TemplateVars = TemplateVars> = Record<string, FileTemplate<T>>;
5
+ export declare function write(dir: string, template: ProjectTemplate, vars: TemplateVars): void;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.write = 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 indent_1 = require("./indent");
8
+ function toTemplateFunction(template) {
9
+ if (template === null || template === undefined) {
10
+ return () => undefined;
11
+ }
12
+ else if (typeof template === "function") {
13
+ return template;
14
+ }
15
+ else {
16
+ return () => template;
17
+ }
18
+ }
19
+ function write(dir, template, vars) {
20
+ Object.entries(template).forEach(([fileName, template]) => {
21
+ let filePath = path_1.default.resolve(dir, fileName);
22
+ let fileDir = path_1.default.dirname(filePath);
23
+ if (!fs.existsSync(fileDir)) {
24
+ fs.mkdirSync(fileDir, { recursive: true });
25
+ }
26
+ let content = toTemplateFunction(template)(vars);
27
+ if (typeof content === "object") {
28
+ content = JSON.stringify(content, null, 2);
29
+ }
30
+ if (content) {
31
+ let data = (0, indent_1.removeIndentation)(content);
32
+ fs.writeFileSync(filePath, data);
33
+ }
34
+ });
35
+ }
36
+ exports.write = write;
@@ -0,0 +1,2 @@
1
+ import { ConfigValidator } from "@jitsu/types/extension";
2
+ export declare function validateConfiguration<Config>(config: Config, validator: ConfigValidator): Promise<string | undefined>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateConfiguration = void 0;
4
+ async function validateConfiguration(config, validator) {
5
+ let validationResult;
6
+ try {
7
+ validationResult = await validator(config);
8
+ }
9
+ catch (e) {
10
+ return e?.message || "Unknown exception";
11
+ }
12
+ if (validationResult === true) {
13
+ return undefined;
14
+ }
15
+ if (typeof validationResult === "string") {
16
+ return validationResult;
17
+ }
18
+ if (typeof validationResult === "object" && !validationResult.ok) {
19
+ return validationResult.message ?? "Unknown error";
20
+ }
21
+ return undefined;
22
+ }
23
+ exports.validateConfiguration = validateConfiguration;
@@ -0,0 +1,5 @@
1
+ export declare const jitsuCliVersion: string;
2
+ export declare const jitsuPackageName: string;
3
+ export declare function getUpgradeMessage(newVersion: string, oldVersion: string): string;
4
+ export declare function box(msg: string): string;
5
+ export declare function hasNewerVersion(): Promise<string | undefined>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasNewerVersion = exports.box = exports.getUpgradeMessage = exports.jitsuPackageName = exports.jitsuCliVersion = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const package_json_1 = tslib_1.__importDefault(require("../../package.json"));
6
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
+ const log_1 = tslib_1.__importDefault(require("./log"));
8
+ const preload_1 = tslib_1.__importDefault(require("semver/preload"));
9
+ const fetch = require("cross-fetch");
10
+ exports.jitsuCliVersion = package_json_1.default.version;
11
+ exports.jitsuPackageName = package_json_1.default.name;
12
+ let newVersion = undefined;
13
+ function getUpgradeMessage(newVersion, oldVersion) {
14
+ return box(`🚀 New version of Jitsu CLI is available: ${oldVersion} → ${chalk_1.default.green(newVersion)} \n Run ${chalk_1.default.bold("npm install -g " + exports.jitsuPackageName)} or ${chalk_1.default.bold("yarn global install " + exports.jitsuPackageName)}`);
15
+ }
16
+ exports.getUpgradeMessage = getUpgradeMessage;
17
+ function padRight(str, minLen, symbol = " ") {
18
+ return str.length >= minLen ? str : str + symbol.repeat(minLen - str.length);
19
+ }
20
+ function box(msg) {
21
+ let lines = msg.split("\n");
22
+ return ["──".repeat(80), ...lines.map(ln => ` ${ln}`), "──".repeat(80)].join("\n");
23
+ }
24
+ exports.box = box;
25
+ async function hasNewerVersion() {
26
+ try {
27
+ let json = (await (await fetch(`https://registry.npmjs.org/-/package/${exports.jitsuPackageName}/dist-tags`)).json());
28
+ let latestVersion = json.latest;
29
+ return preload_1.default.gt(latestVersion, exports.jitsuCliVersion) ? latestVersion : undefined;
30
+ }
31
+ catch (e) {
32
+ (0, log_1.default)().debug(`Failed to fetch latest version of ${exports.jitsuPackageName}: ${e?.message}`);
33
+ }
34
+ }
35
+ exports.hasNewerVersion = hasNewerVersion;
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "jitsu-cli",
3
+ "version": "0.0.0",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "description": " CLI interface of Jitsu (👉 https://jitsu.com),",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/jitsucom/jitsu-sdk",
11
+ "directory": "core/jitsu-cli"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/jitsucom/jitsu/issues"
15
+ },
16
+ "license": "MIT",
17
+ "bin": {
18
+ "jitsu-cli": "./bin/jitsu-cli"
19
+ },
20
+ "files": [
21
+ "lib",
22
+ "bin"
23
+ ],
24
+ "scripts": {
25
+ "build": "tsc -p . && mv ./lib/src/* ./lib/ && rmdir ./lib/src/",
26
+ "clean": "rm -rf ./lib",
27
+ "start": "ts-node src/index.ts",
28
+ "cli": "node lib/index.js",
29
+ "test": "jest --verbose ./__tests__"
30
+ },
31
+ "devDependencies": {
32
+ "@jitsu/types": "workspace:*",
33
+ "@babel/preset-env": "^7.16.4",
34
+ "@babel/preset-typescript": "^7.16.0",
35
+ "@types/commander": "^2.12.2",
36
+ "@types/inquirer": "^8.1.3",
37
+ "@types/jest": "^27.0.3",
38
+ "@types/jest-cli": "^24.3.0",
39
+ "@types/validate-npm-package-name": "^3.0.3",
40
+ "child_process": "^1.0.2",
41
+ "ts-node": "^10.4.0"
42
+ },
43
+ "dependencies": {
44
+ "@jitsu/jlib": "workspace:*",
45
+ "@jitsu/node-bridge": "workspace:*",
46
+ "@rollup/plugin-commonjs": "^22.0.0-14",
47
+ "@rollup/plugin-inject": "^4.0.4",
48
+ "@rollup/plugin-json": "^4.1.0",
49
+ "@rollup/plugin-multi-entry": "^4.1.0",
50
+ "@rollup/plugin-node-resolve": "^13.0.6",
51
+ "@types/prismjs": "^1.16.6",
52
+ "chalk": "^4.1.2",
53
+ "cli-table": "latest",
54
+ "commander": "^8.3.0",
55
+ "cross-fetch": "^3.1.4",
56
+ "inquirer": "^8.2.0",
57
+ "jest": "^27.3.1",
58
+ "jest-cli": "^27.3.1",
59
+ "json5": "^2.2.0",
60
+ "node-fetch": "^3.1.0",
61
+ "ora": "^6.0.1",
62
+ "prismjs": "^1.25.0",
63
+ "rollup": "^2.60.0",
64
+ "rollup-plugin-typescript2": "^0.31.0",
65
+ "semver": "^7.3.5",
66
+ "terminal-link": "^3.0.0",
67
+ "ts-jest": "^27.0.7",
68
+ "ts-node": "^10.4.0",
69
+ "tslib": "^2.3.1",
70
+ "typescript": "^4.5.2",
71
+ "validate-npm-package-name": "^3.0.0"
72
+ }
73
+ }
package/lib/run.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function run(args: string[]): Promise<number>;
package/lib/run.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ const command_1 = require("./lib/command");
7
+ const extension_1 = require("./cli/extension");
8
+ const log_1 = tslib_1.__importDefault(require("./lib/log"));
9
+ const version_1 = require("./lib/version");
10
+ const commands = {
11
+ extension: (0, command_1.subcommands)(extension_1.extensionCommands, {
12
+ description: "Commands for building Jitsu extension",
13
+ binPrefix: "jitsu-cli extension",
14
+ customHelp: extension_1.help,
15
+ }),
16
+ };
17
+ function exitWithError(error, details) {
18
+ console.error(`${chalk_1.default.bold.red("Error!")} - ${error}`);
19
+ if (details) {
20
+ console.error(details);
21
+ }
22
+ return 1;
23
+ }
24
+ async function run(args) {
25
+ let result = await (0, command_1.executeCommand)(commands, args, {
26
+ description: "CLI interface of " + chalk_1.default.bold("Jitsu") + `(👉 https://jitsu.com), version ${version_1.jitsuCliVersion}`,
27
+ binPrefix: "jitsu-cli",
28
+ });
29
+ if (result.success) {
30
+ (0, log_1.default)().info("✨ Done");
31
+ return 0;
32
+ }
33
+ else {
34
+ return exitWithError(result.message, result.details);
35
+ }
36
+ }
37
+ exports.run = run;
package/lib/tests.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { DestinationTestParams } from "@jitsu/types/tests";
2
+ export declare function testDestination({ name, context, destination, event, expectedResult }: DestinationTestParams): void;
package/lib/tests.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testDestination = void 0;
4
+ function testDestination({ name, context, destination, event, expectedResult }) {
5
+ test(name, () => {
6
+ const result = destination(event, context);
7
+ expect(result).toEqual(expectedResult);
8
+ });
9
+ }
10
+ exports.testDestination = testDestination;
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "jitsu-cli",
3
+ "version": "0.0.0",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "description": " CLI interface of Jitsu (👉 https://jitsu.com),",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/jitsucom/jitsu-sdk",
11
+ "directory": "core/jitsu-cli"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/jitsucom/jitsu/issues"
15
+ },
16
+ "license": "MIT",
17
+ "bin": {
18
+ "jitsu-cli": "./bin/jitsu-cli"
19
+ },
20
+ "files": [
21
+ "lib",
22
+ "bin"
23
+ ],
24
+ "devDependencies": {
25
+ "@jitsu/types": "0.0.0",
26
+ "@babel/preset-env": "^7.16.4",
27
+ "@babel/preset-typescript": "^7.16.0",
28
+ "@types/commander": "^2.12.2",
29
+ "@types/inquirer": "^8.1.3",
30
+ "@types/jest": "^27.0.3",
31
+ "@types/jest-cli": "^24.3.0",
32
+ "@types/validate-npm-package-name": "^3.0.3",
33
+ "child_process": "^1.0.2",
34
+ "ts-node": "^10.4.0"
35
+ },
36
+ "dependencies": {
37
+ "@jitsu/jlib": "0.0.0",
38
+ "@jitsu/node-bridge": "0.0.0",
39
+ "@rollup/plugin-commonjs": "^22.0.0-14",
40
+ "@rollup/plugin-inject": "^4.0.4",
41
+ "@rollup/plugin-json": "^4.1.0",
42
+ "@rollup/plugin-multi-entry": "^4.1.0",
43
+ "@rollup/plugin-node-resolve": "^13.0.6",
44
+ "@types/prismjs": "^1.16.6",
45
+ "chalk": "^4.1.2",
46
+ "cli-table": "latest",
47
+ "commander": "^8.3.0",
48
+ "cross-fetch": "^3.1.4",
49
+ "inquirer": "^8.2.0",
50
+ "jest": "^27.3.1",
51
+ "jest-cli": "^27.3.1",
52
+ "json5": "^2.2.0",
53
+ "node-fetch": "^3.1.0",
54
+ "ora": "^6.0.1",
55
+ "prismjs": "^1.25.0",
56
+ "rollup": "^2.60.0",
57
+ "rollup-plugin-typescript2": "^0.31.0",
58
+ "semver": "^7.3.5",
59
+ "terminal-link": "^3.0.0",
60
+ "ts-jest": "^27.0.7",
61
+ "ts-node": "^10.4.0",
62
+ "tslib": "^2.3.1",
63
+ "typescript": "^4.5.2",
64
+ "validate-npm-package-name": "^3.0.0"
65
+ },
66
+ "scripts": {
67
+ "build": "tsc -p . && mv ./lib/src/* ./lib/ && rmdir ./lib/src/",
68
+ "clean": "rm -rf ./lib",
69
+ "start": "ts-node src/index.ts",
70
+ "cli": "node lib/index.js",
71
+ "test": "jest --verbose ./__tests__"
72
+ }
73
+ }