@sentio/cli 2.0.0-rc.1 → 2.0.0-rc.11

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 (63) hide show
  1. package/lib/build.d.ts +0 -1
  2. package/lib/build.js +62 -50
  3. package/lib/build.js.map +1 -1
  4. package/lib/cli.js +30 -28
  5. package/lib/cli.js.map +1 -1
  6. package/lib/commands/login-server.js +31 -36
  7. package/lib/commands/login-server.js.map +1 -1
  8. package/lib/commands/run-create.js +23 -39
  9. package/lib/commands/run-create.js.map +1 -1
  10. package/lib/commands/run-login.js +28 -33
  11. package/lib/commands/run-login.js.map +1 -1
  12. package/lib/commands/run-test.d.ts +1 -0
  13. package/lib/commands/run-test.js +10 -0
  14. package/lib/commands/run-test.js.map +1 -0
  15. package/lib/commands/run-upload.d.ts +1 -1
  16. package/lib/commands/run-upload.js +62 -68
  17. package/lib/commands/run-upload.js.map +1 -1
  18. package/lib/commands/run-version.js +9 -14
  19. package/lib/commands/run-version.js.map +1 -1
  20. package/lib/config.js +4 -11
  21. package/lib/config.js.map +1 -1
  22. package/lib/index.d.ts +1 -0
  23. package/lib/index.js +2 -0
  24. package/lib/index.js.map +1 -0
  25. package/lib/key.js +18 -24
  26. package/lib/key.js.map +1 -1
  27. package/lib/utils.d.ts +1 -0
  28. package/lib/utils.js +20 -14
  29. package/lib/utils.js.map +1 -1
  30. package/package.json +18 -13
  31. package/src/build.ts +56 -45
  32. package/src/cli.ts +14 -10
  33. package/src/commands/login-server.ts +12 -12
  34. package/src/commands/run-create.ts +0 -12
  35. package/src/commands/run-login.ts +4 -4
  36. package/src/commands/run-test.ts +10 -0
  37. package/src/commands/run-upload.ts +16 -13
  38. package/src/commands/run-version.ts +1 -1
  39. package/src/index.ts +1 -0
  40. package/src/utils.ts +18 -3
  41. package/templates/aptos/jest.config.ts +8 -0
  42. package/templates/aptos/package.json +3 -6
  43. package/templates/aptos/src/processor.ts +3 -3
  44. package/templates/aptos/tsconfig.json +4 -3
  45. package/templates/evm/jest.config.ts +8 -0
  46. package/templates/evm/package.json +2 -4
  47. package/templates/evm/src/processor.ts +4 -5
  48. package/templates/evm/tsconfig.json +4 -3
  49. package/templates/raw/jest.config.ts +8 -0
  50. package/templates/raw/package.json +2 -4
  51. package/templates/raw/tsconfig.json +4 -3
  52. package/templates/solana/jest.config.ts +8 -0
  53. package/templates/solana/package.json +3 -6
  54. package/templates/solana/src/processor.ts +3 -3
  55. package/templates/solana/tsconfig.json +4 -3
  56. package/lib/webpack.config.js +0 -50
  57. package/src/webpack.config.js +0 -50
  58. package/templates/aptos/jest.config.js +0 -7
  59. package/templates/evm/jest.config.js +0 -7
  60. package/templates/raw/jest.config.js +0 -7
  61. package/templates/raw/yarn.lock +0 -4095
  62. package/templates/solana/jest.config.js +0 -7
  63. package/templates/solana/yarn.lock +0 -4918
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runCreate = void 0;
4
- const tslib_1 = require("tslib");
5
- const command_line_args_1 = tslib_1.__importDefault(require("command-line-args"));
6
- const command_line_usage_1 = tslib_1.__importDefault(require("command-line-usage"));
7
- const path_1 = tslib_1.__importDefault(require("path"));
8
- const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
9
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
- const latest_version_1 = tslib_1.__importDefault(require("latest-version"));
11
- async function runCreate(argv) {
1
+ import commandLineArgs from 'command-line-args';
2
+ import commandLineUsage from 'command-line-usage';
3
+ import path from 'path';
4
+ import fs from 'fs-extra';
5
+ import chalk from 'chalk';
6
+ import latestVersion from 'latest-version';
7
+ export async function runCreate(argv) {
12
8
  const optionDefinitions = [
13
9
  {
14
10
  name: 'help',
@@ -43,8 +39,8 @@ async function runCreate(argv) {
43
39
  defaultValue: 'evm',
44
40
  },
45
41
  ];
46
- const options = (0, command_line_args_1.default)(optionDefinitions, { argv });
47
- const usage = (0, command_line_usage_1.default)([
42
+ const options = commandLineArgs(optionDefinitions, { argv });
43
+ const usage = commandLineUsage([
48
44
  {
49
45
  header: 'Create a template project',
50
46
  content: 'sentio create <name>',
@@ -69,19 +65,19 @@ async function runCreate(argv) {
69
65
  case 'solana':
70
66
  break;
71
67
  default:
72
- console.error(chalk_1.default.red('non supported chain-type for template creation, use --help for more information.'));
68
+ console.error(chalk.red('non supported chain-type for template creation, use --help for more information.'));
73
69
  console.log(usage);
74
70
  process.exit(1);
75
71
  }
76
- const templateFolder = path_1.default.resolve(__dirname, '../../templates', chainType);
72
+ const templateFolder = path.resolve(__dirname, '../../templates', chainType);
77
73
  const projectName = options.name || 'default';
78
74
  const rootDir = options.directory || process.cwd();
79
- const dstFolder = path_1.default.resolve(rootDir, projectName);
80
- if (fs_extra_1.default.existsSync(dstFolder)) {
81
- console.error(chalk_1.default.red("can't create project '" + projectName + "', directory already existed"));
75
+ const dstFolder = path.resolve(rootDir, projectName);
76
+ if (fs.existsSync(dstFolder)) {
77
+ console.error(chalk.red("can't create project '" + projectName + "', directory already existed"));
82
78
  process.exit(1);
83
79
  }
84
- fs_extra_1.default.copySync(templateFolder, dstFolder, {
80
+ fs.copySync(templateFolder, dstFolder, {
85
81
  filter: (src, _) => {
86
82
  // TODO read from .gitignore to be more reliable
87
83
  if (src.endsWith('types') ||
@@ -96,36 +92,24 @@ async function runCreate(argv) {
96
92
  overwrite: false,
97
93
  });
98
94
  if (options.name) {
99
- const sentioYamlPath = path_1.default.resolve(dstFolder, 'sentio.yaml');
100
- fs_extra_1.default.writeFileSync(sentioYamlPath, 'project: ' + projectName + '\n', { flag: 'w+' });
101
- const packageJsonPath = path_1.default.resolve(dstFolder, 'package.json');
102
- const packageJson = JSON.parse(fs_extra_1.default.readFileSync(packageJsonPath, 'utf8'));
103
- const sdkVersion = '^' + (await (0, latest_version_1.default)('@sentio/sdk'));
95
+ const sentioYamlPath = path.resolve(dstFolder, 'sentio.yaml');
96
+ fs.writeFileSync(sentioYamlPath, 'project: ' + projectName + '\n', { flag: 'w+' });
97
+ const packageJsonPath = path.resolve(dstFolder, 'package.json');
98
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
99
+ const sdkVersion = '^' + (await latestVersion('@sentio/sdk'));
104
100
  packageJson.dependencies['@sentio/sdk'] = sdkVersion;
105
- switch (chainType) {
106
- case 'aptos':
107
- packageJson.dependencies['@sentio/sdk-aptos'] = sdkVersion;
108
- break;
109
- case 'solana':
110
- packageJson.dependencies['@sentio/sdk-solana'] = sdkVersion;
111
- break;
112
- default:
113
- }
114
- const cliVersion = '^' + (await (0, latest_version_1.default)('@sentio/cli'));
101
+ const cliVersion = '^' + (await latestVersion('@sentio/cli'));
115
102
  packageJson.devDependencies['@sentio/cli'] = cliVersion;
116
103
  packageJson.name = projectName;
117
104
  if (options.subproject) {
118
105
  delete packageJson.dependencies['@sentio/sdk'];
119
106
  delete packageJson.devDependencies['@sentio/cli'];
120
- delete packageJson.dependencies['@sentio/sdk-aptos'];
121
- delete packageJson.dependencies['@sentio/sdk-solana'];
122
107
  }
123
108
  // Don't add directly to avoid deps issue
124
109
  packageJson.scripts.postinstall = 'sentio gen';
125
- fs_extra_1.default.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
110
+ fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
126
111
  }
127
- console.log(chalk_1.default.green("successfully create project '" + projectName + "'"));
112
+ console.log(chalk.green("successfully create project '" + projectName + "'"));
128
113
  }
129
114
  }
130
- exports.runCreate = runCreate;
131
115
  //# sourceMappingURL=run-create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-create.js","sourceRoot":"","sources":["../../src/commands/run-create.ts"],"names":[],"mappings":"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","sourcesContent":["import commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport path from 'path'\nimport fs from 'fs-extra'\nimport chalk from 'chalk'\nimport latestVersion from 'latest-version'\n\nexport async function runCreate(argv: string[]) {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'name',\n alias: 'n',\n defaultOption: true,\n type: String,\n description: 'Project name',\n },\n {\n name: 'subproject',\n alias: 'p',\n type: Boolean,\n description:\n 'If this is a subproject in mono-repo setup, in this case sdk version is controlled in parent package.json.',\n },\n {\n name: 'directory',\n alias: 'd',\n description: '(Optional) The root direct new project will be created, default current working dir',\n type: String,\n },\n {\n name: 'chain-type',\n alias: 'c',\n description:\n 'The type of project you want to create, can be evm, aptos, solana, raw (if you want to start from scratch and support multiple types of chains)',\n type: String,\n defaultValue: 'evm',\n },\n ]\n\n const options = commandLineArgs(optionDefinitions, { argv })\n const usage = commandLineUsage([\n {\n header: 'Create a template project',\n content: 'sentio create <name>',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n\n if (options.help || !options.name) {\n console.log(usage)\n } else {\n const chainType: string = options['chain-type'].toLowerCase()\n switch (chainType) {\n case 'evm':\n break\n case 'aptos':\n break\n case 'raw':\n break\n case 'solana':\n break\n default:\n console.error(chalk.red('non supported chain-type for template creation, use --help for more information.'))\n console.log(usage)\n process.exit(1)\n }\n const templateFolder = path.resolve(__dirname, '../../templates', chainType)\n const projectName = options.name || 'default'\n\n const rootDir = options.directory || process.cwd()\n const dstFolder = path.resolve(rootDir, projectName)\n if (fs.existsSync(dstFolder)) {\n console.error(chalk.red(\"can't create project '\" + projectName + \"', directory already existed\"))\n process.exit(1)\n }\n\n fs.copySync(templateFolder, dstFolder, {\n filter: (src, _) => {\n // TODO read from .gitignore to be more reliable\n if (\n src.endsWith('types') ||\n src.endsWith('dist') ||\n src.endsWith('node_modules') ||\n src.endsWith('.lock') ||\n src.endsWith('dist')\n ) {\n return false\n }\n return true\n },\n overwrite: false,\n })\n if (options.name) {\n const sentioYamlPath = path.resolve(dstFolder, 'sentio.yaml')\n fs.writeFileSync(sentioYamlPath, 'project: ' + projectName + '\\n', { flag: 'w+' })\n\n const packageJsonPath = path.resolve(dstFolder, 'package.json')\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))\n\n const sdkVersion = '^' + (await latestVersion('@sentio/sdk'))\n packageJson.dependencies['@sentio/sdk'] = sdkVersion\n\n switch (chainType) {\n case 'aptos':\n packageJson.dependencies['@sentio/sdk-aptos'] = sdkVersion\n break\n case 'solana':\n packageJson.dependencies['@sentio/sdk-solana'] = sdkVersion\n break\n default:\n }\n\n const cliVersion = '^' + (await latestVersion('@sentio/cli'))\n packageJson.devDependencies['@sentio/cli'] = cliVersion\n packageJson.name = projectName\n\n if (options.subproject) {\n delete packageJson.dependencies['@sentio/sdk']\n delete packageJson.devDependencies['@sentio/cli']\n delete packageJson.dependencies['@sentio/sdk-aptos']\n delete packageJson.dependencies['@sentio/sdk-solana']\n }\n\n // Don't add directly to avoid deps issue\n packageJson.scripts.postinstall = 'sentio gen'\n\n fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))\n }\n console.log(chalk.green(\"successfully create project '\" + projectName + \"'\"))\n }\n}\n"]}
1
+ {"version":3,"file":"run-create.js","sourceRoot":"","sources":["../../src/commands/run-create.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAc;IAC5C,MAAM,iBAAiB,GAAG;QACxB;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,2BAA2B;SACzC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG;YACV,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,cAAc;SAC5B;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,OAAO;YACb,WAAW,EACT,4GAA4G;SAC/G;QACD;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,qFAAqF;YAClG,IAAI,EAAE,MAAM;SACb;QACD;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,GAAG;YACV,WAAW,EACT,iJAAiJ;YACnJ,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,KAAK;SACpB;KACF,CAAA;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC7B;YACE,MAAM,EAAE,2BAA2B;YACnC,OAAO,EAAE,sBAAsB;SAChC;QACD;YACE,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,iBAAiB;SAC9B;KACF,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KACnB;SAAM;QACL,MAAM,SAAS,GAAW,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;QAC7D,QAAQ,SAAS,EAAE;YACjB,KAAK,KAAK;gBACR,MAAK;YACP,KAAK,OAAO;gBACV,MAAK;YACP,KAAK,KAAK;gBACR,MAAK;YACP,KAAK,QAAQ;gBACX,MAAK;YACP;gBACE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC,CAAA;gBAC5G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAClB;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAA;QAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;QAE7C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,GAAG,WAAW,GAAG,8BAA8B,CAAC,CAAC,CAAA;YACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAChB;QAED,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,EAAE;YACrC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACjB,gDAAgD;gBAChD,IACE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACrB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACpB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC5B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACrB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EACpB;oBACA,OAAO,KAAK,CAAA;iBACb;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;YAC7D,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAElF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;YAExE,MAAM,UAAU,GAAG,GAAG,GAAG,CAAC,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC,CAAA;YAC7D,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,UAAU,CAAA;YAEpD,MAAM,UAAU,GAAG,GAAG,GAAG,CAAC,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC,CAAA;YAC7D,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,UAAU,CAAA;YACvD,WAAW,CAAC,IAAI,GAAG,WAAW,CAAA;YAE9B,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,OAAO,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;gBAC9C,OAAO,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;aAClD;YAED,yCAAyC;YACzC,WAAW,CAAC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAA;YAE9C,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;SACxE;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAA;KAC9E;AACH,CAAC","sourcesContent":["import commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport path from 'path'\nimport fs from 'fs-extra'\nimport chalk from 'chalk'\nimport latestVersion from 'latest-version'\n\nexport async function runCreate(argv: string[]) {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'name',\n alias: 'n',\n defaultOption: true,\n type: String,\n description: 'Project name',\n },\n {\n name: 'subproject',\n alias: 'p',\n type: Boolean,\n description:\n 'If this is a subproject in mono-repo setup, in this case sdk version is controlled in parent package.json.',\n },\n {\n name: 'directory',\n alias: 'd',\n description: '(Optional) The root direct new project will be created, default current working dir',\n type: String,\n },\n {\n name: 'chain-type',\n alias: 'c',\n description:\n 'The type of project you want to create, can be evm, aptos, solana, raw (if you want to start from scratch and support multiple types of chains)',\n type: String,\n defaultValue: 'evm',\n },\n ]\n\n const options = commandLineArgs(optionDefinitions, { argv })\n const usage = commandLineUsage([\n {\n header: 'Create a template project',\n content: 'sentio create <name>',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n\n if (options.help || !options.name) {\n console.log(usage)\n } else {\n const chainType: string = options['chain-type'].toLowerCase()\n switch (chainType) {\n case 'evm':\n break\n case 'aptos':\n break\n case 'raw':\n break\n case 'solana':\n break\n default:\n console.error(chalk.red('non supported chain-type for template creation, use --help for more information.'))\n console.log(usage)\n process.exit(1)\n }\n const templateFolder = path.resolve(__dirname, '../../templates', chainType)\n const projectName = options.name || 'default'\n\n const rootDir = options.directory || process.cwd()\n const dstFolder = path.resolve(rootDir, projectName)\n if (fs.existsSync(dstFolder)) {\n console.error(chalk.red(\"can't create project '\" + projectName + \"', directory already existed\"))\n process.exit(1)\n }\n\n fs.copySync(templateFolder, dstFolder, {\n filter: (src, _) => {\n // TODO read from .gitignore to be more reliable\n if (\n src.endsWith('types') ||\n src.endsWith('dist') ||\n src.endsWith('node_modules') ||\n src.endsWith('.lock') ||\n src.endsWith('dist')\n ) {\n return false\n }\n return true\n },\n overwrite: false,\n })\n if (options.name) {\n const sentioYamlPath = path.resolve(dstFolder, 'sentio.yaml')\n fs.writeFileSync(sentioYamlPath, 'project: ' + projectName + '\\n', { flag: 'w+' })\n\n const packageJsonPath = path.resolve(dstFolder, 'package.json')\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))\n\n const sdkVersion = '^' + (await latestVersion('@sentio/sdk'))\n packageJson.dependencies['@sentio/sdk'] = sdkVersion\n\n const cliVersion = '^' + (await latestVersion('@sentio/cli'))\n packageJson.devDependencies['@sentio/cli'] = cliVersion\n packageJson.name = projectName\n\n if (options.subproject) {\n delete packageJson.dependencies['@sentio/sdk']\n delete packageJson.devDependencies['@sentio/cli']\n }\n\n // Don't add directly to avoid deps issue\n packageJson.scripts.postinstall = 'sentio gen'\n\n fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))\n }\n console.log(chalk.green(\"successfully create project '\" + projectName + \"'\"))\n }\n}\n"]}
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runLogin = void 0;
4
- const tslib_1 = require("tslib");
5
- const command_line_args_1 = tslib_1.__importDefault(require("command-line-args"));
6
- const command_line_usage_1 = tslib_1.__importDefault(require("command-line-usage"));
7
- const config_1 = require("../config");
8
- const login_server_1 = require("./login-server");
9
- const url_1 = tslib_1.__importStar(require("url"));
10
- const crypto = tslib_1.__importStar(require("crypto"));
11
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
12
- const key_1 = require("../key");
13
- const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
14
- const open_1 = tslib_1.__importDefault(require("open"));
1
+ import commandLineArgs from 'command-line-args';
2
+ import commandLineUsage from 'command-line-usage';
3
+ import { getAuthConfig, getFinalizedHost } from '../config.js';
4
+ import { startServer } from './login-server.js';
5
+ import url, { URL } from 'url';
6
+ import * as crypto from 'crypto';
7
+ import chalk from 'chalk';
8
+ import { WriteKey } from '../key.js';
9
+ import fetch from 'node-fetch';
10
+ import open from 'open';
15
11
  const port = 20000;
16
- function runLogin(argv) {
12
+ export function runLogin(argv) {
17
13
  const optionDefinitions = [
18
14
  {
19
15
  name: 'help',
@@ -32,10 +28,10 @@ function runLogin(argv) {
32
28
  description: '(Optional) Your API key',
33
29
  },
34
30
  ];
35
- const options = (0, command_line_args_1.default)(optionDefinitions, { argv });
36
- const host = (0, config_1.getFinalizedHost)(options.host);
31
+ const options = commandLineArgs(optionDefinitions, { argv });
32
+ const host = getFinalizedHost(options.host);
37
33
  if (options.help) {
38
- const usage = (0, command_line_usage_1.default)([
34
+ const usage = commandLineUsage([
39
35
  {
40
36
  header: 'Login to Sentio',
41
37
  content: 'sentio login',
@@ -48,15 +44,15 @@ function runLogin(argv) {
48
44
  console.log(usage);
49
45
  }
50
46
  else if (options['api-key']) {
51
- console.log(chalk_1.default.blue('login to ' + host));
47
+ console.log(chalk.blue('login to ' + host));
52
48
  const apiKey = options['api-key'];
53
49
  checkKey(host, apiKey).then((res) => {
54
50
  if (res.status == 200) {
55
- (0, key_1.WriteKey)(host, apiKey);
56
- console.log(chalk_1.default.green('login success'));
51
+ WriteKey(host, apiKey);
52
+ console.log(chalk.green('login success'));
57
53
  }
58
54
  else {
59
- console.error(chalk_1.default.red('login failed, code:', res.status, res.statusText));
55
+ console.error(chalk.red('login failed, code:', res.status, res.statusText));
60
56
  }
61
57
  });
62
58
  }
@@ -64,13 +60,13 @@ function runLogin(argv) {
64
60
  // https://auth0.com/docs/get-started/authentication-and-authorization-flow/call-your-api-using-the-authorization-code-flow-with-pkce
65
61
  const verifier = base64URLEncode(crypto.randomBytes(32));
66
62
  const challenge = base64URLEncode(sha256(verifier));
67
- const conf = (0, config_1.getAuthConfig)(host);
63
+ const conf = getAuthConfig(host);
68
64
  if (conf.domain === '') {
69
- console.error(chalk_1.default.red('invalid host, try login with an API key if it is a dev env'));
65
+ console.error(chalk.red('invalid host, try login with an API key if it is a dev env'));
70
66
  return;
71
67
  }
72
- const authURL = new url_1.URL(conf.domain + `/authorize?`);
73
- const params = new url_1.default.URLSearchParams({
68
+ const authURL = new URL(conf.domain + `/authorize?`);
69
+ const params = new url.URLSearchParams({
74
70
  response_type: 'code',
75
71
  code_challenge: challenge,
76
72
  code_challenge_method: 'S256',
@@ -81,18 +77,17 @@ function runLogin(argv) {
81
77
  });
82
78
  authURL.search = params.toString();
83
79
  console.log('Continue your authorization in the browser');
84
- (0, open_1.default)(authURL.toString()).catch((reason) => {
85
- console.error(chalk_1.default.red('Unable to open browser: ' + reason));
86
- console.error(chalk_1.default.red('Open this url in your browser: ' + authURL.toString()));
80
+ open(authURL.toString()).catch((reason) => {
81
+ console.error(chalk.red('Unable to open browser: ' + reason));
82
+ console.error(chalk.red('Open this url in your browser: ' + authURL.toString()));
87
83
  });
88
- (0, login_server_1.startServer)({
84
+ startServer({
89
85
  serverPort: port,
90
86
  sentioHost: options.host,
91
87
  codeVerifier: verifier,
92
88
  });
93
89
  }
94
90
  }
95
- exports.runLogin = runLogin;
96
91
  function base64URLEncode(str) {
97
92
  return str.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
98
93
  }
@@ -100,8 +95,8 @@ function sha256(str) {
100
95
  return crypto.createHash('sha256').update(str).digest();
101
96
  }
102
97
  async function checkKey(host, apiKey) {
103
- const checkApiKeyUrl = new url_1.URL('/api/v1/processors/check_key', host);
104
- return (0, node_fetch_1.default)(checkApiKeyUrl, {
98
+ const checkApiKeyUrl = new URL('/api/v1/processors/check_key', host);
99
+ return fetch(checkApiKeyUrl.href, {
105
100
  method: 'GET',
106
101
  headers: {
107
102
  'api-key': apiKey,
@@ -1 +1 @@
1
- {"version":3,"file":"run-login.js","sourceRoot":"","sources":["../../src/commands/run-login.ts"],"names":[],"mappings":"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","sourcesContent":["import commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport { getAuthConfig, getFinalizedHost } from '../config'\nimport { startServer } from './login-server'\nimport url, { URL } from 'url'\nimport * as crypto from 'crypto'\nimport chalk from 'chalk'\nimport { WriteKey } from '../key'\nimport fetch from 'node-fetch'\nimport open from 'open'\n\nconst port = 20000\n\nexport function runLogin(argv: string[]) {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'host',\n description: '(Optional) Override Sentio Host name',\n type: String,\n },\n {\n name: 'api-key',\n type: String,\n description: '(Optional) Your API key',\n },\n ]\n const options = commandLineArgs(optionDefinitions, { argv })\n\n const host = getFinalizedHost(options.host)\n if (options.help) {\n const usage = commandLineUsage([\n {\n header: 'Login to Sentio',\n content: 'sentio login',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n console.log(usage)\n } else if (options['api-key']) {\n console.log(chalk.blue('login to ' + host))\n const apiKey = options['api-key']\n checkKey(host, apiKey).then((res) => {\n if (res.status == 200) {\n WriteKey(host, apiKey)\n console.log(chalk.green('login success'))\n } else {\n console.error(chalk.red('login failed, code:', res.status, res.statusText))\n }\n })\n } else {\n // https://auth0.com/docs/get-started/authentication-and-authorization-flow/call-your-api-using-the-authorization-code-flow-with-pkce\n const verifier = base64URLEncode(crypto.randomBytes(32))\n const challenge = base64URLEncode(sha256(verifier))\n\n const conf = getAuthConfig(host)\n if (conf.domain === '') {\n console.error(chalk.red('invalid host, try login with an API key if it is a dev env'))\n return\n }\n const authURL = new URL(conf.domain + `/authorize?`)\n const params = new url.URLSearchParams({\n response_type: 'code',\n code_challenge: challenge,\n code_challenge_method: 'S256',\n client_id: conf.clientId,\n redirect_uri: `http://localhost:${port}/callback`,\n audience: conf.audience,\n prompt: 'login',\n })\n authURL.search = params.toString()\n\n console.log('Continue your authorization in the browser')\n open(authURL.toString()).catch((reason) => {\n console.error(chalk.red('Unable to open browser: ' + reason))\n console.error(chalk.red('Open this url in your browser: ' + authURL.toString()))\n })\n\n startServer({\n serverPort: port,\n sentioHost: options.host,\n codeVerifier: verifier,\n })\n }\n}\n\nfunction base64URLEncode(str: Buffer) {\n return str.toString('base64').replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '')\n}\n\nfunction sha256(str: string) {\n return crypto.createHash('sha256').update(str).digest()\n}\n\nasync function checkKey(host: string, apiKey: string) {\n const checkApiKeyUrl = new URL('/api/v1/processors/check_key', host)\n return fetch(checkApiKeyUrl, {\n method: 'GET',\n headers: {\n 'api-key': apiKey,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"run-login.js","sourceRoot":"","sources":["../../src/commands/run-login.ts"],"names":[],"mappings":"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","sourcesContent":["import commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport { getAuthConfig, getFinalizedHost } from '../config.js'\nimport { startServer } from './login-server.js'\nimport url, { URL } from 'url'\nimport * as crypto from 'crypto'\nimport chalk from 'chalk'\nimport { WriteKey } from '../key.js'\nimport fetch from 'node-fetch'\nimport open from 'open'\n\nconst port = 20000\n\nexport function runLogin(argv: string[]) {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'host',\n description: '(Optional) Override Sentio Host name',\n type: String,\n },\n {\n name: 'api-key',\n type: String,\n description: '(Optional) Your API key',\n },\n ]\n const options = commandLineArgs(optionDefinitions, { argv })\n\n const host = getFinalizedHost(options.host)\n if (options.help) {\n const usage = commandLineUsage([\n {\n header: 'Login to Sentio',\n content: 'sentio login',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n console.log(usage)\n } else if (options['api-key']) {\n console.log(chalk.blue('login to ' + host))\n const apiKey = options['api-key']\n checkKey(host, apiKey).then((res) => {\n if (res.status == 200) {\n WriteKey(host, apiKey)\n console.log(chalk.green('login success'))\n } else {\n console.error(chalk.red('login failed, code:', res.status, res.statusText))\n }\n })\n } else {\n // https://auth0.com/docs/get-started/authentication-and-authorization-flow/call-your-api-using-the-authorization-code-flow-with-pkce\n const verifier = base64URLEncode(crypto.randomBytes(32))\n const challenge = base64URLEncode(sha256(verifier))\n\n const conf = getAuthConfig(host)\n if (conf.domain === '') {\n console.error(chalk.red('invalid host, try login with an API key if it is a dev env'))\n return\n }\n const authURL = new URL(conf.domain + `/authorize?`)\n const params = new url.URLSearchParams({\n response_type: 'code',\n code_challenge: challenge,\n code_challenge_method: 'S256',\n client_id: conf.clientId,\n redirect_uri: `http://localhost:${port}/callback`,\n audience: conf.audience,\n prompt: 'login',\n })\n authURL.search = params.toString()\n\n console.log('Continue your authorization in the browser')\n open(authURL.toString()).catch((reason) => {\n console.error(chalk.red('Unable to open browser: ' + reason))\n console.error(chalk.red('Open this url in your browser: ' + authURL.toString()))\n })\n\n startServer({\n serverPort: port,\n sentioHost: options.host,\n codeVerifier: verifier,\n })\n }\n}\n\nfunction base64URLEncode(str: Buffer) {\n return str.toString('base64').replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '')\n}\n\nfunction sha256(str: string) {\n return crypto.createHash('sha256').update(str).digest()\n}\n\nasync function checkKey(host: string, apiKey: string) {\n const checkApiKeyUrl = new URL('/api/v1/processors/check_key', host)\n return fetch(checkApiKeyUrl.href, {\n method: 'GET',\n headers: {\n 'api-key': apiKey,\n },\n })\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function runTest(argv: string[]): void;
@@ -0,0 +1,10 @@
1
+ import { execSync } from 'child_process';
2
+ import path from 'path';
3
+ import { getPackageRoot } from '../utils.js';
4
+ export function runTest(argv) {
5
+ const defaultJestConfig = path.resolve(getPackageRoot('@sentio/sdk'), 'lib', 'jest.config.js');
6
+ // if config not existed copy that
7
+ const jest = path.resolve(getPackageRoot('jest'), 'bin', 'jest');
8
+ execSync(`NODE_OPTIONS=--experimental-vm-modules node ${jest} ${argv.join(' ')}`, { stdio: 'inherit' });
9
+ }
10
+ //# sourceMappingURL=run-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-test.js","sourceRoot":"","sources":["../../src/commands/run-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,UAAU,OAAO,CAAC,IAAc;IACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAA;IAC9F,kCAAkC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAChE,QAAQ,CAAC,+CAA+C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AACzG,CAAC","sourcesContent":["import { execSync } from 'child_process'\nimport path from 'path'\nimport { getPackageRoot } from '../utils.js'\n\nexport function runTest(argv: string[]) {\n const defaultJestConfig = path.resolve(getPackageRoot('@sentio/sdk'), 'lib', 'jest.config.js')\n // if config not existed copy that\n const jest = path.resolve(getPackageRoot('jest'), 'bin', 'jest')\n execSync(`NODE_OPTIONS=--experimental-vm-modules node ${jest} ${argv.join(' ')}`, { stdio: 'inherit' })\n}\n"]}
@@ -1,3 +1,3 @@
1
- import { SentioProjectConfig } from '../config';
1
+ import { SentioProjectConfig } from '../config.js';
2
2
  export declare function runUpload(processorConfig: SentioProjectConfig, argv: string[]): Promise<void>;
3
3
  export declare function uploadFile(options: SentioProjectConfig, apiKeyOverride: string): Promise<void>;
@@ -1,22 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uploadFile = exports.runUpload = void 0;
4
- const tslib_1 = require("tslib");
5
- const command_line_args_1 = tslib_1.__importDefault(require("command-line-args"));
6
- const command_line_usage_1 = tslib_1.__importDefault(require("command-line-usage"));
7
- const config_1 = require("../config");
8
- const url_1 = require("url");
9
- const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
10
- const build_1 = require("../build");
11
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
12
- const path_1 = tslib_1.__importDefault(require("path"));
13
- const key_1 = require("../key");
14
- const fs_1 = tslib_1.__importDefault(require("fs"));
15
- const crypto_1 = require("crypto");
16
- const child_process_1 = require("child_process");
17
- const utils_1 = require("../utils");
18
- const readline_1 = tslib_1.__importDefault(require("readline"));
19
- async function runUpload(processorConfig, argv) {
1
+ import commandLineArgs from 'command-line-args';
2
+ import commandLineUsage from 'command-line-usage';
3
+ import { finalizeHost, FinalizeProjectName } from '../config.js';
4
+ import { URL } from 'url';
5
+ import fetch from 'node-fetch';
6
+ import { buildProcessor } from '../build.js';
7
+ import chalk from 'chalk';
8
+ import path from 'path';
9
+ import { ReadKey } from '../key.js';
10
+ import fs from 'fs';
11
+ import { createHash } from 'crypto';
12
+ import { execSync } from 'child_process';
13
+ import { getSdkVersion } from '../utils.js';
14
+ import readline from 'readline';
15
+ export async function runUpload(processorConfig, argv) {
20
16
  const optionDefinitions = [
21
17
  {
22
18
  name: 'help',
@@ -50,9 +46,9 @@ async function runUpload(processorConfig, argv) {
50
46
  type: Boolean,
51
47
  },
52
48
  ];
53
- const options = (0, command_line_args_1.default)(optionDefinitions, { argv });
49
+ const options = commandLineArgs(optionDefinitions, { argv });
54
50
  if (options.help) {
55
- const usage = (0, command_line_usage_1.default)([
51
+ const usage = commandLineUsage([
56
52
  {
57
53
  header: 'Sentio upload',
58
54
  content: 'sentio upload',
@@ -74,8 +70,8 @@ async function runUpload(processorConfig, argv) {
74
70
  if (options.debug) {
75
71
  processorConfig.debug = true;
76
72
  }
77
- (0, config_1.finalizeHost)(processorConfig);
78
- (0, config_1.FinalizeProjectName)(processorConfig, options.owner);
73
+ finalizeHost(processorConfig);
74
+ FinalizeProjectName(processorConfig, options.owner);
79
75
  console.log(processorConfig);
80
76
  let apiOverride = undefined;
81
77
  if (options['api-key']) {
@@ -84,11 +80,10 @@ async function runUpload(processorConfig, argv) {
84
80
  return uploadFile(processorConfig, apiOverride);
85
81
  }
86
82
  }
87
- exports.runUpload = runUpload;
88
83
  async function createProject(options, apiKey) {
89
- const url = new url_1.URL('/api/v1/projects', options.host);
84
+ const url = new URL('/api/v1/projects', options.host);
90
85
  const [ownerName, slug] = options.project.includes('/') ? options.project.split('/') : [undefined, options.project];
91
- return (0, node_fetch_1.default)(url, {
86
+ return fetch(url.href, {
92
87
  method: 'POST',
93
88
  headers: {
94
89
  'api-key': apiKey,
@@ -96,27 +91,27 @@ async function createProject(options, apiKey) {
96
91
  body: JSON.stringify({ slug, ownerName, visibility: 'PRIVATE' }),
97
92
  });
98
93
  }
99
- async function uploadFile(options, apiKeyOverride) {
94
+ export async function uploadFile(options, apiKeyOverride) {
100
95
  if (options.build) {
101
- await (0, build_1.buildProcessor)(false);
96
+ await buildProcessor(false);
102
97
  }
103
- console.log(chalk_1.default.blue('Prepare to upload'));
104
- const PROCESSOR_FILE = path_1.default.join(process.cwd(), 'dist/lib.js');
105
- const apiKey = apiKeyOverride || (0, key_1.ReadKey)(options.host);
98
+ console.log(chalk.blue('Prepare to upload'));
99
+ const PROCESSOR_FILE = path.join(process.cwd(), 'dist/lib.js');
100
+ const apiKey = apiKeyOverride || ReadKey(options.host);
106
101
  const isProd = options.host === 'https://app.sentio.xyz';
107
102
  if (!apiKey) {
108
103
  const cmd = isProd ? 'sentio login' : 'sentio login --host=' + options.host;
109
- console.error(chalk_1.default.red('No Credential found for', options.host, '. Please run `' + cmd + '`.'));
104
+ console.error(chalk.red('No Credential found for', options.host, '. Please run `' + cmd + '`.'));
110
105
  process.exit(1);
111
106
  }
112
- if (!fs_1.default.existsSync(PROCESSOR_FILE)) {
113
- console.error(chalk_1.default.red('File not existed ', PROCESSOR_FILE, "don't use --nobuild"));
107
+ if (!fs.existsSync(PROCESSOR_FILE)) {
108
+ console.error(chalk.red('File not existed ', PROCESSOR_FILE, "don't use --nobuild"));
114
109
  process.exit(1);
115
110
  }
116
- const stat = fs_1.default.statSync(PROCESSOR_FILE);
111
+ const stat = fs.statSync(PROCESSOR_FILE);
117
112
  console.log('Packed processor file size', Math.floor(stat.size / 1024) + 'K, last modified', stat.mtime);
118
- const content = fs_1.default.readFileSync(PROCESSOR_FILE);
119
- const hash = (0, crypto_1.createHash)('sha256');
113
+ const content = fs.readFileSync(PROCESSOR_FILE);
114
+ const hash = createHash('sha256');
120
115
  hash.update(content);
121
116
  const digest = hash.digest('hex');
122
117
  let triedCount = 0;
@@ -125,26 +120,26 @@ async function uploadFile(options, apiKeyOverride) {
125
120
  let gitUrl = '';
126
121
  const sha256 = digest;
127
122
  try {
128
- commitSha = (0, child_process_1.execSync)('git rev-parse HEAD').toString().trim();
123
+ commitSha = execSync('git rev-parse HEAD').toString().trim();
129
124
  }
130
125
  catch (e) {
131
- chalk_1.default.yellow(e);
126
+ chalk.yellow(e);
132
127
  }
133
128
  try {
134
- gitUrl = (0, child_process_1.execSync)('git remote get-url origin').toString().trim();
129
+ gitUrl = execSync('git remote get-url origin').toString().trim();
135
130
  }
136
131
  catch (e) {
137
132
  // skip errors
138
133
  }
139
- console.log(chalk_1.default.blue(triedCount > 1 ? 'Retry uploading' : 'Uploading'));
134
+ console.log(chalk.blue(triedCount > 1 ? 'Retry uploading' : 'Uploading'));
140
135
  // get gcs upload url
141
- const initUploadResRaw = await initUpload(options.host, apiKey, options.project, (0, utils_1.getSdkVersion)());
136
+ const initUploadResRaw = await initUpload(options.host, apiKey, options.project, getSdkVersion());
142
137
  if (!initUploadResRaw.ok) {
143
- console.error(chalk_1.default.red('Failed to get upload url'));
144
- console.error(chalk_1.default.red((await initUploadResRaw.json()).message));
138
+ // console.error(chalk.red('Failed to get upload url'))
139
+ console.error(chalk.red((await initUploadResRaw.json()).message));
145
140
  if (initUploadResRaw.status === 404) {
146
141
  // create project if not exist
147
- const rl = readline_1.default.createInterface({
142
+ const rl = readline.createInterface({
148
143
  input: process.stdin,
149
144
  output: process.stdout,
150
145
  });
@@ -154,11 +149,11 @@ async function uploadFile(options, apiKeyOverride) {
154
149
  rl.close();
155
150
  const res = await createProject(options, apiKey);
156
151
  if (!res.ok) {
157
- console.error(chalk_1.default.red('Create Project Failed'));
158
- console.error(chalk_1.default.red((await res.json()).message));
152
+ console.error(chalk.red('Create Project Failed'));
153
+ console.error(chalk.red((await res.json()).message));
159
154
  return;
160
155
  }
161
- console.log(chalk_1.default.green('Project created'));
156
+ console.log(chalk.green('Project created'));
162
157
  await upload();
163
158
  }
164
159
  else if (['n', 'no'].includes(answer.toLowerCase())) {
@@ -172,11 +167,11 @@ async function uploadFile(options, apiKeyOverride) {
172
167
  }
173
168
  return;
174
169
  }
175
- const initUploadRes = await initUploadResRaw.json();
176
- const uploadUrl = initUploadRes['url'];
170
+ const initUploadRes = (await initUploadResRaw.json());
171
+ const uploadUrl = initUploadRes.url;
177
172
  // do actual uploading
178
- const file = fs_1.default.createReadStream(PROCESSOR_FILE);
179
- const uploadResRaw = await (0, node_fetch_1.default)(uploadUrl, {
173
+ const file = fs.createReadStream(PROCESSOR_FILE);
174
+ const uploadResRaw = await fetch(uploadUrl, {
180
175
  method: 'PUT',
181
176
  headers: {
182
177
  'Content-Type': 'application/octet-stream',
@@ -184,25 +179,25 @@ async function uploadFile(options, apiKeyOverride) {
184
179
  body: file,
185
180
  });
186
181
  if (!uploadResRaw.ok) {
187
- console.error(chalk_1.default.red('Failed to upload'));
188
- console.error(chalk_1.default.red(await uploadResRaw.text()));
182
+ console.error(chalk.red('Failed to upload'));
183
+ console.error(chalk.red(await uploadResRaw.text()));
189
184
  return;
190
185
  }
191
186
  // finish uploading
192
- const finishUploadResRaw = await finishUpload(options.host, apiKey, options.project, (0, utils_1.getSdkVersion)(), sha256, commitSha, gitUrl, options.debug);
187
+ const finishUploadResRaw = await finishUpload(options.host, apiKey, options.project, getSdkVersion(), sha256, commitSha, gitUrl, options.debug);
193
188
  if (!finishUploadResRaw.ok) {
194
- console.error(chalk_1.default.red('Failed to finish uploading'));
195
- console.error(chalk_1.default.red(await finishUploadResRaw.text()));
189
+ console.error(chalk.red('Failed to finish uploading'));
190
+ console.error(chalk.red(await finishUploadResRaw.text()));
196
191
  return;
197
192
  }
198
- console.log(chalk_1.default.green('Upload success: '));
199
- console.log('\t', chalk_1.default.blue('sha256:'), digest);
193
+ console.log(chalk.green('Upload success: '));
194
+ console.log('\t', chalk.blue('sha256:'), digest);
200
195
  if (commitSha) {
201
- console.log('\t', chalk_1.default.blue('Git commit SHA:'), commitSha);
196
+ console.log('\t', chalk.blue('Git commit SHA:'), commitSha);
202
197
  }
203
- const { projectFullSlug, version } = await finishUploadResRaw.json();
204
- console.log('\t', chalk_1.default.blue('Check status:'), `${options.host}/${projectFullSlug}/datasource`);
205
- console.log('\t', chalk_1.default.blue('Version:'), version);
198
+ const { projectFullSlug, version } = (await finishUploadResRaw.json());
199
+ console.log('\t', chalk.blue('Check status:'), `${options.host}/${projectFullSlug}/datasource`);
200
+ console.log('\t', chalk.blue('Version:'), version);
206
201
  };
207
202
  let error;
208
203
  const tryUploading = async () => {
@@ -226,10 +221,9 @@ async function uploadFile(options, apiKeyOverride) {
226
221
  };
227
222
  await tryUploading();
228
223
  }
229
- exports.uploadFile = uploadFile;
230
224
  async function initUpload(host, apiKey, projectSlug, sdkVersion) {
231
- const initUploadUrl = new url_1.URL(`/api/v1/processors/init_upload`, host);
232
- return (0, node_fetch_1.default)(initUploadUrl, {
225
+ const initUploadUrl = new URL(`/api/v1/processors/init_upload`, host);
226
+ return fetch(initUploadUrl.href, {
233
227
  method: 'POST',
234
228
  headers: {
235
229
  'api-key': apiKey,
@@ -241,8 +235,8 @@ async function initUpload(host, apiKey, projectSlug, sdkVersion) {
241
235
  });
242
236
  }
243
237
  async function finishUpload(host, apiKey, projectSlug, sdkVersion, sha256, commitSha, gitUrl, debug) {
244
- const finishUploadUrl = new url_1.URL(`/api/v1/processors/finish_upload`, host);
245
- return (0, node_fetch_1.default)(finishUploadUrl, {
238
+ const finishUploadUrl = new URL(`/api/v1/processors/finish_upload`, host);
239
+ return fetch(finishUploadUrl.href, {
246
240
  method: 'POST',
247
241
  headers: {
248
242
  'api-key': apiKey,