@sentio/sdk 1.14.2 → 1.14.3

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.
package/lib/cli/cli.js CHANGED
@@ -15,6 +15,7 @@ const chalk_1 = __importDefault(require("chalk"));
15
15
  const build_1 = require("./build");
16
16
  const run_login_1 = require("./commands/run-login");
17
17
  const run_create_1 = require("./commands/run-create");
18
+ const run_version_1 = require("./commands/run-version");
18
19
  const mainDefinitions = [{ name: 'command', defaultOption: true }];
19
20
  const mainOptions = (0, command_line_args_1.default)(mainDefinitions, {
20
21
  stopAtFirstUnknown: true,
@@ -29,6 +30,9 @@ if (mainOptions.command === 'login') {
29
30
  else if (mainOptions.command === 'create') {
30
31
  (0, run_create_1.runCreate)(argv);
31
32
  }
33
+ else if (mainOptions.command === 'version') {
34
+ (0, run_version_1.runVersion)(argv);
35
+ }
32
36
  else {
33
37
  // For all the commands that need read project configs
34
38
  // TODO move them to their own modules
@@ -161,6 +165,7 @@ function usage() {
161
165
  'sentio upload\t\t\t\tbuild and upload processor to sentio',
162
166
  'sentio gen\t\t\t\tgenerate abi',
163
167
  'sentio build\t\t\t\tgenerate abi and build',
168
+ 'sentio version\t\t\t\tcurrent cli version',
164
169
  ],
165
170
  },
166
171
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n\nimport commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport fs from 'fs'\nimport path from 'path'\n\nimport yaml from 'js-yaml'\nimport { EVM, finalizeHost, FinalizeProjectName, SentioProjectConfig } from './config'\nimport { uploadFile } from './upload'\nimport chalk from 'chalk'\nimport { buildProcessor } from './build'\nimport { runLogin } from './commands/run-login'\nimport { runCreate } from './commands/run-create'\n\nconst mainDefinitions = [{ name: 'command', defaultOption: true }]\nconst mainOptions = commandLineArgs(mainDefinitions, {\n stopAtFirstUnknown: true,\n})\nconst argv = mainOptions._unknown || []\n\nif (!mainOptions.command) {\n usage()\n}\n\nif (mainOptions.command === 'login') {\n runLogin(argv)\n} else if (mainOptions.command === 'create') {\n runCreate(argv)\n} else {\n // For all the commands that need read project configs\n // TODO move them to their own modules\n\n // Process configs\n let processorConfig: SentioProjectConfig = { host: '', project: '', source: '', build: true, targets: [] }\n // Fist step, read from project yaml file\n try {\n console.log(chalk.blue('Loading Process config'))\n // TODO correctly located sentio.yaml\n const pwd = process.cwd()\n const packageJson = path.join(pwd, 'package.json')\n if (!fs.existsSync(packageJson)) {\n console.error('package.json not found, please run this command in the root of your project')\n process.exit(1)\n }\n\n const yamlPath = path.join(pwd, 'sentio.yaml')\n if (!fs.existsSync(yamlPath)) {\n console.error('sentio.yaml not found, please create one according to: TODO docs')\n process.exit(1)\n }\n\n processorConfig = yaml.load(fs.readFileSync('sentio.yaml', 'utf8')) as SentioProjectConfig\n if (!processorConfig.project === undefined) {\n console.error('Config yaml must have contain a valid project identifier')\n process.exit(1)\n }\n if (processorConfig.build === undefined) {\n processorConfig.build = true\n }\n if (!processorConfig.host) {\n processorConfig.host = 'prod'\n }\n\n if (!processorConfig.source) {\n processorConfig.source = 'src/processor.ts'\n }\n if (!processorConfig.targets) {\n console.warn('targets is not defined, use EVM as the default target')\n processorConfig.targets = []\n }\n if (processorConfig.targets.length === 0) {\n // By default evm\n processorConfig.targets.push({ chain: EVM })\n }\n } catch (e) {\n console.error(e)\n process.exit(1)\n }\n\n if (mainOptions.command === 'upload') {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'api-key',\n type: String,\n description: '(Optional) Manually provide API key rather than use saved credential',\n },\n {\n name: 'host',\n description: '(Optional) Override Sentio Host name',\n type: String,\n },\n {\n name: 'owner',\n description: '(Optional) Override Project owner',\n type: String,\n },\n {\n name: 'nobuild',\n description: '(Optional) Skip build & pack file before uploading, default false',\n type: Boolean,\n },\n ]\n const options = commandLineArgs(optionDefinitions, { argv })\n if (options.help) {\n const usage = commandLineUsage([\n {\n header: 'Sentio upload',\n content: 'sentio upload',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n console.log(usage)\n } else {\n if (options.host) {\n processorConfig.host = options.host\n }\n if (options.nobuild) {\n processorConfig.build = false\n }\n finalizeHost(processorConfig)\n FinalizeProjectName(processorConfig, options.owner)\n console.log(processorConfig)\n\n let apiOverride = undefined\n if (options['api-key']) {\n apiOverride = options['api-key']\n }\n uploadFile(processorConfig, apiOverride)\n }\n } else if (mainOptions.command === 'build') {\n buildProcessor(false, processorConfig.targets)\n } else if (mainOptions.command === 'gen') {\n buildProcessor(true, processorConfig.targets)\n } else {\n usage()\n }\n}\n\nfunction usage() {\n const usage = commandLineUsage([\n {\n header: 'Sentio',\n content: 'Login & Manage your project files to Sentio.',\n },\n {\n header: 'Usage',\n content: [\n 'sentio $command --help\\t\\tshow detail usage of specific command',\n 'sentio login --api-key=xx\\t\\tsave credential to local',\n 'sentio create\\t\\t\\t\\tcreate a template project',\n 'sentio upload\\t\\t\\t\\tbuild and upload processor to sentio',\n 'sentio gen\\t\\t\\t\\tgenerate abi',\n 'sentio build\\t\\t\\t\\tgenerate abi and build',\n ],\n },\n ])\n console.log(usage)\n process.exit(1)\n}\n"]}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n\nimport commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport fs from 'fs'\nimport path from 'path'\n\nimport yaml from 'js-yaml'\nimport { EVM, finalizeHost, FinalizeProjectName, SentioProjectConfig } from './config'\nimport { uploadFile } from './upload'\nimport chalk from 'chalk'\nimport { buildProcessor } from './build'\nimport { runLogin } from './commands/run-login'\nimport { runCreate } from './commands/run-create'\nimport { runVersion } from './commands/run-version'\n\nconst mainDefinitions = [{ name: 'command', defaultOption: true }]\nconst mainOptions = commandLineArgs(mainDefinitions, {\n stopAtFirstUnknown: true,\n})\nconst argv = mainOptions._unknown || []\n\nif (!mainOptions.command) {\n usage()\n}\n\nif (mainOptions.command === 'login') {\n runLogin(argv)\n} else if (mainOptions.command === 'create') {\n runCreate(argv)\n} else if (mainOptions.command === 'version') {\n runVersion(argv)\n} else {\n // For all the commands that need read project configs\n // TODO move them to their own modules\n\n // Process configs\n let processorConfig: SentioProjectConfig = { host: '', project: '', source: '', build: true, targets: [] }\n // Fist step, read from project yaml file\n try {\n console.log(chalk.blue('Loading Process config'))\n // TODO correctly located sentio.yaml\n const pwd = process.cwd()\n const packageJson = path.join(pwd, 'package.json')\n if (!fs.existsSync(packageJson)) {\n console.error('package.json not found, please run this command in the root of your project')\n process.exit(1)\n }\n\n const yamlPath = path.join(pwd, 'sentio.yaml')\n if (!fs.existsSync(yamlPath)) {\n console.error('sentio.yaml not found, please create one according to: TODO docs')\n process.exit(1)\n }\n\n processorConfig = yaml.load(fs.readFileSync('sentio.yaml', 'utf8')) as SentioProjectConfig\n if (!processorConfig.project === undefined) {\n console.error('Config yaml must have contain a valid project identifier')\n process.exit(1)\n }\n if (processorConfig.build === undefined) {\n processorConfig.build = true\n }\n if (!processorConfig.host) {\n processorConfig.host = 'prod'\n }\n\n if (!processorConfig.source) {\n processorConfig.source = 'src/processor.ts'\n }\n if (!processorConfig.targets) {\n console.warn('targets is not defined, use EVM as the default target')\n processorConfig.targets = []\n }\n if (processorConfig.targets.length === 0) {\n // By default evm\n processorConfig.targets.push({ chain: EVM })\n }\n } catch (e) {\n console.error(e)\n process.exit(1)\n }\n\n if (mainOptions.command === 'upload') {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'api-key',\n type: String,\n description: '(Optional) Manually provide API key rather than use saved credential',\n },\n {\n name: 'host',\n description: '(Optional) Override Sentio Host name',\n type: String,\n },\n {\n name: 'owner',\n description: '(Optional) Override Project owner',\n type: String,\n },\n {\n name: 'nobuild',\n description: '(Optional) Skip build & pack file before uploading, default false',\n type: Boolean,\n },\n ]\n const options = commandLineArgs(optionDefinitions, { argv })\n if (options.help) {\n const usage = commandLineUsage([\n {\n header: 'Sentio upload',\n content: 'sentio upload',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n console.log(usage)\n } else {\n if (options.host) {\n processorConfig.host = options.host\n }\n if (options.nobuild) {\n processorConfig.build = false\n }\n finalizeHost(processorConfig)\n FinalizeProjectName(processorConfig, options.owner)\n console.log(processorConfig)\n\n let apiOverride = undefined\n if (options['api-key']) {\n apiOverride = options['api-key']\n }\n uploadFile(processorConfig, apiOverride)\n }\n } else if (mainOptions.command === 'build') {\n buildProcessor(false, processorConfig.targets)\n } else if (mainOptions.command === 'gen') {\n buildProcessor(true, processorConfig.targets)\n } else {\n usage()\n }\n}\n\nfunction usage() {\n const usage = commandLineUsage([\n {\n header: 'Sentio',\n content: 'Login & Manage your project files to Sentio.',\n },\n {\n header: 'Usage',\n content: [\n 'sentio $command --help\\t\\tshow detail usage of specific command',\n 'sentio login --api-key=xx\\t\\tsave credential to local',\n 'sentio create\\t\\t\\t\\tcreate a template project',\n 'sentio upload\\t\\t\\t\\tbuild and upload processor to sentio',\n 'sentio gen\\t\\t\\t\\tgenerate abi',\n 'sentio build\\t\\t\\t\\tgenerate abi and build',\n 'sentio version\\t\\t\\t\\tcurrent cli version',\n ],\n },\n ])\n console.log(usage)\n process.exit(1)\n}\n"]}
@@ -25,6 +25,12 @@ function runCreate(argv) {
25
25
  type: String,
26
26
  description: 'Project name',
27
27
  },
28
+ {
29
+ name: 'directory',
30
+ alias: 'd',
31
+ description: '(Optional) The root direct new project will be created, default current working dir',
32
+ type: String,
33
+ },
28
34
  ];
29
35
  const options = (0, command_line_args_1.default)(optionDefinitions, { argv });
30
36
  if (options.help || !options.name) {
@@ -43,7 +49,8 @@ function runCreate(argv) {
43
49
  else {
44
50
  const templateFolder = path_1.default.resolve(__dirname, '../../../template');
45
51
  const projectName = options.name || 'default';
46
- const dstFolder = path_1.default.resolve(projectName);
52
+ const rootDir = options.directory || process.cwd();
53
+ const dstFolder = path_1.default.resolve(rootDir, projectName);
47
54
  if (fs_extra_1.default.existsSync(dstFolder)) {
48
55
  console.error(chalk_1.default.red("can't create project '" + projectName + "', directory already existed"));
49
56
  process.exit(1);
@@ -71,7 +78,7 @@ function runCreate(argv) {
71
78
  if (!cliVersion.startsWith('^')) {
72
79
  cliVersion = '^' + cliVersion;
73
80
  }
74
- packageJson.version = cliVersion;
81
+ packageJson.dependencies['@sentio/sdk'] = cliVersion;
75
82
  packageJson.name = projectName;
76
83
  // Don't add directly to avoid deps issue
77
84
  packageJson.scripts.postinstall = 'sentio gen';
@@ -1 +1 @@
1
- {"version":3,"file":"run-create.js","sourceRoot":"","sources":["../../../src/cli/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 { getCliVersion } from '../utils'\n\nexport 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\n const options = commandLineArgs(optionDefinitions, { argv })\n if (options.help || !options.name) {\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 console.log(usage)\n } else {\n const templateFolder = path.resolve(__dirname, '../../../template')\n const projectName = options.name || 'default'\n\n const dstFolder = path.resolve(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 let cliVersion = getCliVersion()\n if (!cliVersion.startsWith('^')) {\n cliVersion = '^' + cliVersion\n }\n\n packageJson.version = cliVersion\n packageJson.name = projectName\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/cli/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 { getCliVersion } from '../utils'\n\nexport 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: '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\n const options = commandLineArgs(optionDefinitions, { argv })\n if (options.help || !options.name) {\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 console.log(usage)\n } else {\n const templateFolder = path.resolve(__dirname, '../../../template')\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 let cliVersion = getCliVersion()\n if (!cliVersion.startsWith('^')) {\n cliVersion = '^' + cliVersion\n }\n\n packageJson.dependencies['@sentio/sdk'] = cliVersion\n packageJson.name = projectName\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"]}
@@ -0,0 +1 @@
1
+ export declare function runVersion(argv: string[]): void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runVersion = void 0;
7
+ const command_line_args_1 = __importDefault(require("command-line-args"));
8
+ const command_line_usage_1 = __importDefault(require("command-line-usage"));
9
+ const utils_1 = require("../utils");
10
+ function runVersion(argv) {
11
+ const optionDefinitions = [
12
+ {
13
+ name: 'help',
14
+ alias: 'h',
15
+ type: Boolean,
16
+ description: 'Display this usage guide.',
17
+ },
18
+ ];
19
+ const options = (0, command_line_args_1.default)(optionDefinitions, { argv });
20
+ if (options.help) {
21
+ const usage = (0, command_line_usage_1.default)([
22
+ {
23
+ header: 'Show current version',
24
+ content: 'sentio version',
25
+ },
26
+ {
27
+ header: 'Options',
28
+ optionList: optionDefinitions,
29
+ },
30
+ ]);
31
+ console.log(usage);
32
+ }
33
+ else {
34
+ console.log('CLI Version: ', (0, utils_1.getCliVersion)());
35
+ // TODO show SDK version for current package
36
+ }
37
+ }
38
+ exports.runVersion = runVersion;
39
+ //# sourceMappingURL=run-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-version.js","sourceRoot":"","sources":["../../../src/cli/commands/run-version.ts"],"names":[],"mappings":";;;;;;AAAA,0EAA+C;AAC/C,4EAAiD;AACjD,oCAAwC;AAExC,SAAgB,UAAU,CAAC,IAAc;IACvC,MAAM,iBAAiB,GAAG;QACxB;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,2BAA2B;SACzC;KACF,CAAA;IACD,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAE5D,IAAI,OAAO,CAAC,IAAI,EAAE;QAChB,MAAM,KAAK,GAAG,IAAA,4BAAgB,EAAC;YAC7B;gBACE,MAAM,EAAE,sBAAsB;gBAC9B,OAAO,EAAE,gBAAgB;aAC1B;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,iBAAiB;aAC9B;SACF,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KACnB;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAA,qBAAa,GAAE,CAAC,CAAA;QAC7C,4CAA4C;KAC7C;AACH,CAAC;AA3BD,gCA2BC","sourcesContent":["import commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport { getCliVersion } from '../utils'\n\nexport function runVersion(argv: string[]) {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n ]\n const options = commandLineArgs(optionDefinitions, { argv })\n\n if (options.help) {\n const usage = commandLineUsage([\n {\n header: 'Show current version',\n content: 'sentio version',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n console.log(usage)\n } else {\n console.log('CLI Version: ', getCliVersion())\n // TODO show SDK version for current package\n }\n}\n"]}
@@ -18,7 +18,16 @@ module.exports = {
18
18
  ["@semantic-release/npm", {
19
19
  // "pkgRoot": "dist"
20
20
  }],
21
- '@semantic-release/release-notes-generator',
21
+ ['@semantic-release/release-notes-generator', {
22
+ preset: 'conventionalcommits',
23
+ presetConfig: {
24
+ types: [
25
+ { type: 'feat', section: 'Features' },
26
+ { type: 'fix', section: 'Bug Fixes' },
27
+ { type: 'chore', section: 'Internal', hidden: false },
28
+ { type: 'refactor', section: 'Internal', hidden: false },
29
+ ]},
30
+ }],
22
31
  [
23
32
  '@semantic-release/github',
24
33
  {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
3
  "license": "Apache-2.0",
4
- "version": "1.14.2",
4
+ "version": "1.14.3",
5
5
  "scripts": {
6
6
  "compile_target": "yarn tsc -b src/target-ethers-sentio/tsconfig.json",
7
7
  "compile": "tsc -p . && cp src/cli/webpack.config.js lib/cli",
@@ -57,6 +57,7 @@
57
57
  "@types/node": "^18.0.4",
58
58
  "chai": "^4.3.6",
59
59
  "clean-publish": "^4.0.1",
60
+ "conventional-changelog-conventionalcommits": "^5.0.0",
60
61
  "jest": "^29.0.0",
61
62
  "semantic-release": "^19.0.5",
62
63
  "ts-jest": "^29.0.0",
package/src/cli/cli.ts CHANGED
@@ -12,6 +12,7 @@ import chalk from 'chalk'
12
12
  import { buildProcessor } from './build'
13
13
  import { runLogin } from './commands/run-login'
14
14
  import { runCreate } from './commands/run-create'
15
+ import { runVersion } from './commands/run-version'
15
16
 
16
17
  const mainDefinitions = [{ name: 'command', defaultOption: true }]
17
18
  const mainOptions = commandLineArgs(mainDefinitions, {
@@ -27,6 +28,8 @@ if (mainOptions.command === 'login') {
27
28
  runLogin(argv)
28
29
  } else if (mainOptions.command === 'create') {
29
30
  runCreate(argv)
31
+ } else if (mainOptions.command === 'version') {
32
+ runVersion(argv)
30
33
  } else {
31
34
  // For all the commands that need read project configs
32
35
  // TODO move them to their own modules
@@ -161,6 +164,7 @@ function usage() {
161
164
  'sentio upload\t\t\t\tbuild and upload processor to sentio',
162
165
  'sentio gen\t\t\t\tgenerate abi',
163
166
  'sentio build\t\t\t\tgenerate abi and build',
167
+ 'sentio version\t\t\t\tcurrent cli version',
164
168
  ],
165
169
  },
166
170
  ])
@@ -20,6 +20,12 @@ export function runCreate(argv: string[]) {
20
20
  type: String,
21
21
  description: 'Project name',
22
22
  },
23
+ {
24
+ name: 'directory',
25
+ alias: 'd',
26
+ description: '(Optional) The root direct new project will be created, default current working dir',
27
+ type: String,
28
+ },
23
29
  ]
24
30
 
25
31
  const options = commandLineArgs(optionDefinitions, { argv })
@@ -39,7 +45,8 @@ export function runCreate(argv: string[]) {
39
45
  const templateFolder = path.resolve(__dirname, '../../../template')
40
46
  const projectName = options.name || 'default'
41
47
 
42
- const dstFolder = path.resolve(projectName)
48
+ const rootDir = options.directory || process.cwd()
49
+ const dstFolder = path.resolve(rootDir, projectName)
43
50
  if (fs.existsSync(dstFolder)) {
44
51
  console.error(chalk.red("can't create project '" + projectName + "', directory already existed"))
45
52
  process.exit(1)
@@ -73,7 +80,7 @@ export function runCreate(argv: string[]) {
73
80
  cliVersion = '^' + cliVersion
74
81
  }
75
82
 
76
- packageJson.version = cliVersion
83
+ packageJson.dependencies['@sentio/sdk'] = cliVersion
77
84
  packageJson.name = projectName
78
85
 
79
86
  // Don't add directly to avoid deps issue
@@ -0,0 +1,32 @@
1
+ import commandLineArgs from 'command-line-args'
2
+ import commandLineUsage from 'command-line-usage'
3
+ import { getCliVersion } from '../utils'
4
+
5
+ export function runVersion(argv: string[]) {
6
+ const optionDefinitions = [
7
+ {
8
+ name: 'help',
9
+ alias: 'h',
10
+ type: Boolean,
11
+ description: 'Display this usage guide.',
12
+ },
13
+ ]
14
+ const options = commandLineArgs(optionDefinitions, { argv })
15
+
16
+ if (options.help) {
17
+ const usage = commandLineUsage([
18
+ {
19
+ header: 'Show current version',
20
+ content: 'sentio version',
21
+ },
22
+ {
23
+ header: 'Options',
24
+ optionList: optionDefinitions,
25
+ },
26
+ ])
27
+ console.log(usage)
28
+ } else {
29
+ console.log('CLI Version: ', getCliVersion())
30
+ // TODO show SDK version for current package
31
+ }
32
+ }