@contentstack/cli 2.0.0-beta.14 → 2.0.0-beta.16

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/README.md CHANGED
@@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli
18
18
  $ csdx COMMAND
19
19
  running command...
20
20
  $ csdx (--version|-v)
21
- @contentstack/cli/2.0.0-beta.14 darwin-arm64 node-v22.13.1
21
+ @contentstack/cli/2.0.0-beta.16 linux-x64 node-v22.22.1
22
22
  $ csdx --help [COMMAND]
23
23
  USAGE
24
24
  $ csdx COMMAND
@@ -53,7 +53,7 @@ USAGE
53
53
  * [`csdx cm:stacks:import [--config <value>] [--stack-api-key <value>] [--data-dir <value>] [--alias <value>] [--module <value>] [--backup-dir <value>] [--branch <value>] [--import-webhook-status disable|current]`](#csdx-cmstacksimport---config-value---stack-api-key-value---data-dir-value---alias-value---module-value---backup-dir-value---branch-value---import-webhook-status-disablecurrent)
54
54
  * [`csdx cm:stacks:import-setup [-k <value>] [-d <value>] [-a <value>] [--modules <value,value>]`](#csdx-cmstacksimport-setup--k-value--d-value--a-value---modules-valuevalue)
55
55
  * [`csdx cm:stacks:migration [-k <value>] [-a <value>] [--file-path <value>] [--branch <value>] [--config-file <value>] [--config <value>] [--multiple]`](#csdx-cmstacksmigration--k-value--a-value---file-path-value---branch-value---config-file-value---config-value---multiple)
56
- * [`csdx cm:stacks:seed [--repo <value>] [--org <value>] [--stack-api-key <value>] [--stack-name <value>] [--yes <value>] [--alias <value>] [--locale <value>]`](#csdx-cmstacksseed---repo-value---org-value---stack-api-key-value---stack-name-value---yes-value---alias-value---locale-value)
56
+ * [`csdx cm:stacks:seed [--repo <value>] [--org <value>] [--stack-api-key <value>] [--stack-name <value>] [-y] [--alias <value>] [--locale <value>]`](#csdx-cmstacksseed---repo-value---org-value---stack-api-key-value---stack-name-value--y---alias-value---locale-value)
57
57
  * [`csdx config:get:base-branch`](#csdx-configgetbase-branch)
58
58
  * [`csdx config:get:ea-header`](#csdx-configgetea-header)
59
59
  * [`csdx config:get:early-access-header`](#csdx-configgetearly-access-header)
@@ -281,14 +281,14 @@ Bootstrap contentstack apps
281
281
 
282
282
  ```
283
283
  USAGE
284
- $ csdx cm:bootstrap [--app-name <value>] [--project-dir <value>] [-k <value> | --org <value> | -n <value>] [-y
285
- <value>] [--run-dev-server] [-a <value>]
284
+ $ csdx cm:bootstrap [--app-name <value>] [--project-dir <value>] [-k <value> | --org <value> | -n <value>] [-y]
285
+ [--run-dev-server] [-a <value>]
286
286
 
287
287
  FLAGS
288
288
  -a, --alias=<value> Alias of the management token
289
289
  -k, --stack-api-key=<value> Provide stack API key to seed content
290
290
  -n, --stack-name=<value> Name of the new stack that will be created.
291
- -y, --yes=<value> [Optional] Skip stack confirmation
291
+ -y, --yes [Optional] Skip stack confirmation
292
292
  --app-name=<value> App name, kickstart-next, kickstart-next-ssr, kickstart-next-ssg, kickstart-next-graphql,
293
293
  kickstart-next-middleware, kickstart-nuxt, kickstart-nuxt-ssr
294
294
  --org=<value> Provide organization UID to create a new stack
@@ -854,7 +854,7 @@ EXAMPLES
854
854
  $ csdx cm:stacks:bulk-assets --revert ./bulk-operation -a myAlias
855
855
  ```
856
856
 
857
- _See code: [@contentstack/cli-bulk-operations](https://github.com/contentstack/cli-bulk-operations/blob/v1.0.0/src/commands/cm/stacks/bulk-assets.ts)_
857
+ _See code: [@contentstack/cli-bulk-operations](https://github.com/contentstack/cli-bulk-operations/blob/v1.0.1/src/commands/cm/stacks/bulk-assets.ts)_
858
858
 
859
859
  ## `csdx cm:stacks:bulk-entries`
860
860
 
@@ -940,7 +940,7 @@ EXAMPLES
940
940
  $ csdx cm:stacks:bulk-entries --revert ./bulk-operation
941
941
  ```
942
942
 
943
- _See code: [@contentstack/cli-bulk-operations](https://github.com/contentstack/cli-bulk-operations/blob/v1.0.0/src/commands/cm/stacks/bulk-entries.ts)_
943
+ _See code: [@contentstack/cli-bulk-operations](https://github.com/contentstack/cli-bulk-operations/blob/v1.0.1/src/commands/cm/stacks/bulk-entries.ts)_
944
944
 
945
945
  ## `csdx cm:stacks:clone [--source-branch <value>] [--target-branch <value>] [--source-management-token-alias <value>] [--destination-management-token-alias <value>] [-n <value>] [--type a|b] [--source-stack-api-key <value>] [--destination-stack-api-key <value>] [--import-webhook-status disable|current]`
946
946
 
@@ -1218,20 +1218,20 @@ EXAMPLES
1218
1218
 
1219
1219
  _See code: [@contentstack/cli-migration](https://github.com/contentstack/cli/blob/main/packages/contentstack-migration/src/commands/cm/stacks/migration.ts)_
1220
1220
 
1221
- ## `csdx cm:stacks:seed [--repo <value>] [--org <value>] [--stack-api-key <value>] [--stack-name <value>] [--yes <value>] [--alias <value>] [--locale <value>]`
1221
+ ## `csdx cm:stacks:seed [--repo <value>] [--org <value>] [--stack-api-key <value>] [--stack-name <value>] [-y] [--alias <value>] [--locale <value>]`
1222
1222
 
1223
1223
  Create a stack from existing content types, entries, assets, etc
1224
1224
 
1225
1225
  ```
1226
1226
  USAGE
1227
- $ csdx cm:stacks:seed [--repo <value>] [--org <value>] [--stack-api-key <value>] [--stack-name <value>] [--yes
1228
- <value>] [--alias <value>] [--locale <value>]
1227
+ $ csdx cm:stacks:seed [--repo <value>] [--org <value>] [--stack-api-key <value>] [--stack-name <value>] [-y]
1228
+ [--alias <value>] [--locale <value>]
1229
1229
 
1230
1230
  FLAGS
1231
1231
  -a, --alias=<value> Alias of the management token
1232
1232
  -k, --stack-api-key=<value> Provide stack API key to seed content to
1233
1233
  -n, --stack-name=<value> Name of a new stack that needs to be created.
1234
- -y, --yes=<value> [Optional] Skip the stack confirmation.
1234
+ -y, --yes [Optional] Skip the stack confirmation.
1235
1235
  --org=<value> Provide Organization UID to create a new stack
1236
1236
  --repo=<value> GitHub organization name or GitHub user name/repository name.
1237
1237
 
@@ -2054,7 +2054,7 @@ EXAMPLES
2054
2054
  $ csdx plugins
2055
2055
  ```
2056
2056
 
2057
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/index.ts)_
2057
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/5.4.58/src/commands/plugins/index.ts)_
2058
2058
 
2059
2059
  ## `csdx plugins:add PLUGIN`
2060
2060
 
@@ -2128,7 +2128,7 @@ EXAMPLES
2128
2128
  $ csdx plugins:inspect myplugin
2129
2129
  ```
2130
2130
 
2131
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/inspect.ts)_
2131
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/5.4.58/src/commands/plugins/inspect.ts)_
2132
2132
 
2133
2133
  ## `csdx plugins:install PLUGIN`
2134
2134
 
@@ -2177,7 +2177,7 @@ EXAMPLES
2177
2177
  $ csdx plugins:install someuser/someplugin
2178
2178
  ```
2179
2179
 
2180
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/install.ts)_
2180
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/5.4.58/src/commands/plugins/install.ts)_
2181
2181
 
2182
2182
  ## `csdx plugins:link PATH`
2183
2183
 
@@ -2208,7 +2208,7 @@ EXAMPLES
2208
2208
  $ csdx plugins:link myplugin
2209
2209
  ```
2210
2210
 
2211
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/link.ts)_
2211
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/5.4.58/src/commands/plugins/link.ts)_
2212
2212
 
2213
2213
  ## `csdx plugins:remove [PLUGIN]`
2214
2214
 
@@ -2249,7 +2249,7 @@ FLAGS
2249
2249
  --reinstall Reinstall all plugins after uninstalling.
2250
2250
  ```
2251
2251
 
2252
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/reset.ts)_
2252
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/5.4.58/src/commands/plugins/reset.ts)_
2253
2253
 
2254
2254
  ## `csdx plugins:uninstall [PLUGIN]`
2255
2255
 
@@ -2277,7 +2277,7 @@ EXAMPLES
2277
2277
  $ csdx plugins:uninstall myplugin
2278
2278
  ```
2279
2279
 
2280
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/uninstall.ts)_
2280
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/5.4.58/src/commands/plugins/uninstall.ts)_
2281
2281
 
2282
2282
  ## `csdx plugins:unlink [PLUGIN]`
2283
2283
 
@@ -2321,7 +2321,7 @@ DESCRIPTION
2321
2321
  Update installed plugins.
2322
2322
  ```
2323
2323
 
2324
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.56/src/commands/plugins/update.ts)_
2324
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/5.4.58/src/commands/plugins/update.ts)_
2325
2325
 
2326
2326
  ## `csdx tokens`
2327
2327
 
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ logger: {
3
+ level: string;
4
+ silent: boolean;
5
+ };
6
+ commandRegexPattern: RegExp;
7
+ };
8
+ export default _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ logger: {
5
+ level: 'error',
6
+ silent: false,
7
+ },
8
+ commandRegexPattern: /^(config|auth)+:/,
9
+ };
package/lib/help.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { Help } from '@contentstack/cli-utilities';
2
+ export default class MyHelpClass extends Help {
3
+ constructor(config: any, opts: any);
4
+ showRootHelp(): any;
5
+ showCommandHelp(command: any): any;
6
+ formatCommands(commands: any): string;
7
+ }
package/lib/help.js ADDED
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const figlet = tslib_1.__importStar(require("figlet"));
5
+ const cli_utilities_1 = require("@contentstack/cli-utilities");
6
+ class MyHelpClass extends cli_utilities_1.Help {
7
+ constructor(config, opts) {
8
+ super(config, opts);
9
+ }
10
+ showRootHelp() {
11
+ // Shows Contentstack graphics
12
+ cli_utilities_1.cliux.print(figlet.textSync('Contentstack', {
13
+ horizontalLayout: 'default',
14
+ verticalLayout: 'default',
15
+ }));
16
+ super.showRootHelp();
17
+ }
18
+ showCommandHelp(command) {
19
+ if (command.id === 'cm:bulk-publish') {
20
+ let { context: { plugin: { commands = [] } = {} } = {} } = this.config;
21
+ commands = commands.map((c) => {
22
+ return Object.assign(Object.assign({}, c), { name: c.id });
23
+ });
24
+ const title = command.description && this.render(command.description).split('\n')[0];
25
+ if (title)
26
+ console.log(title + '\n');
27
+ console.log(this.formatCommand(command));
28
+ console.log('');
29
+ if (commands.length > 0) {
30
+ console.log(this.formatCommands(commands));
31
+ console.log('');
32
+ }
33
+ return;
34
+ }
35
+ super.showCommandHelp(command);
36
+ }
37
+ formatCommands(commands) {
38
+ if (commands.length === 0)
39
+ return '';
40
+ const body = this.renderList(commands
41
+ // if aliases do not contain the current command's id it is the main command
42
+ .filter(c => !c.aliases.some(a => a === c.id))
43
+ .map(c => {
44
+ if (this.config.topicSeparator !== ':')
45
+ c.id = c.id.replace(/:/g, this.config.topicSeparator);
46
+ // Add aliases at the end of summary
47
+ const summary = c.aliases.length > 0 ? `${this.summary(c)} (ALIASES: ${c.aliases.join(', ')})` : this.summary(c);
48
+ return [c.id, summary];
49
+ }), {
50
+ spacer: '\n',
51
+ stripAnsi: this.opts.stripAnsi,
52
+ indentation: 2
53
+ });
54
+ return this.section('COMMANDS', body);
55
+ }
56
+ }
57
+ exports.default = MyHelpClass;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Set the cli context
3
+ */
4
+ export default function (opts: any): void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("../../utils");
4
+ const cli_utilities_1 = require("@contentstack/cli-utilities");
5
+ /**
6
+ * Set the cli context
7
+ */
8
+ function default_1(opts) {
9
+ // Store command ID for session-based log organization
10
+ if (opts.id) {
11
+ cli_utilities_1.configHandler.set('currentCommandId', opts.id);
12
+ }
13
+ this.config.context = new utils_1.CsdxContext(opts, this.config);
14
+ }
15
+ exports.default = default_1;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Initialize the utilities
3
+ */
4
+ export default function (_opts: any): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cli_utilities_1 = require("@contentstack/cli-utilities");
4
+ /**
5
+ * Initialize the utilities
6
+ */
7
+ function default_1(_opts) {
8
+ const { context } = this.config;
9
+ cli_utilities_1.messageHandler.init(context);
10
+ cli_utilities_1.cliux.init(context);
11
+ cli_utilities_1.managementSDKInitiator.init(context);
12
+ cli_utilities_1.marketplaceSDKInitiator.init(context);
13
+ }
14
+ exports.default = default_1;
@@ -0,0 +1 @@
1
+ export default function (opts: any): Promise<void>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cli_utilities_1 = require("@contentstack/cli-utilities");
4
+ // TBD: run region command if region is not there
5
+ async function default_1(opts) {
6
+ const { context: { plugin: { config: { protectedCommands = {} } = {} } = {}, region = null } = {} } = this.config;
7
+ if (opts.Command.id !== 'config:set:region') {
8
+ if (!region) {
9
+ cli_utilities_1.cliux.error('No region found, please set a region $config:set:region');
10
+ this.exit();
11
+ return;
12
+ }
13
+ cli_utilities_1.cliux.print(`Currently using region: ${region.name}`, { color: 'grey' });
14
+ }
15
+ // Auth guard
16
+ if (protectedCommands[opts.Command.id]) {
17
+ if (!(0, cli_utilities_1.isAuthenticated)()) {
18
+ (0, cli_utilities_1.handleAndLogError)(new Error('Authentication required for this command'), { module: 'auth-guard', commandId: opts.Command.id });
19
+ cli_utilities_1.cliux.error('Please log in to execute the command');
20
+ this.exit();
21
+ }
22
+ const client = await (0, cli_utilities_1.managementSDKClient)({ host: region.cma });
23
+ try {
24
+ const result = await client.getUser();
25
+ if (!result) {
26
+ (0, cli_utilities_1.handleAndLogError)(new Error('Error in auth validation'), { module: 'auth-guard' });
27
+ cli_utilities_1.cliux.error('Please log in to execute the command');
28
+ this.exit();
29
+ }
30
+ cli_utilities_1.log.debug('Logged-in user', { module: 'auth-guard', userData: result.data });
31
+ }
32
+ catch (error) {
33
+ (0, cli_utilities_1.handleAndLogError)(error, { module: 'auth-guard' }, 'Error in auth validation');
34
+ cli_utilities_1.cliux.error('Please log in to execute the command');
35
+ process.exit();
36
+ }
37
+ }
38
+ }
39
+ exports.default = default_1;
@@ -0,0 +1 @@
1
+ export default function (): void;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cli_utilities_1 = require("@contentstack/cli-utilities");
4
+ function default_1() {
5
+ const rateLimit = cli_utilities_1.configHandler.get('rateLimit');
6
+ if (!(rateLimit === null || rateLimit === void 0 ? void 0 : rateLimit.default)) {
7
+ const defaultPlan = {
8
+ getLimit: { value: 10, utilize: 50 },
9
+ limit: { value: 10, utilize: 50 },
10
+ bulkLimit: { value: 1, utilize: 50 },
11
+ };
12
+ cli_utilities_1.configHandler.set('rateLimit', { default: defaultPlan });
13
+ cli_utilities_1.cliux.print(`Default rate limit configuration is set to ${JSON.stringify(defaultPlan)}. Please use this command csdx config:set:rate-limit to set the custom rate limit config.`, { color: 'blue' });
14
+ }
15
+ }
16
+ exports.default = default_1;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * When an invalid command is corrected (e.g. loginasda → login), init ran with the invalid
3
+ * command so context.messageFilePath was never set. Re-build context and re-init utilities
4
+ * for the actual command so i18n prompts show human-readable text.
5
+ */
6
+ export default function (opts: {
7
+ Command?: {
8
+ id?: string;
9
+ };
10
+ config?: any;
11
+ }): Promise<void>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cli_utilities_1 = require("@contentstack/cli-utilities");
4
+ const utils_1 = require("../../utils");
5
+ /**
6
+ * When an invalid command is corrected (e.g. loginasda → login), init ran with the invalid
7
+ * command so context.messageFilePath was never set. Re-build context and re-init utilities
8
+ * for the actual command so i18n prompts show human-readable text.
9
+ */
10
+ async function default_1(opts) {
11
+ var _a, _b, _c;
12
+ const config = (_a = opts === null || opts === void 0 ? void 0 : opts.config) !== null && _a !== void 0 ? _a : this.config;
13
+ const commandId = (_b = opts === null || opts === void 0 ? void 0 : opts.Command) === null || _b === void 0 ? void 0 : _b.id;
14
+ if (!((_c = config === null || config === void 0 ? void 0 : config.context) === null || _c === void 0 ? void 0 : _c.messageFilePath) && commandId) {
15
+ config.context = new utils_1.CsdxContext({ id: commandId }, config);
16
+ cli_utilities_1.messageHandler.init(config.context);
17
+ cli_utilities_1.cliux.init(config.context);
18
+ cli_utilities_1.managementSDKInitiator.init(config.context);
19
+ cli_utilities_1.marketplaceSDKInitiator.init(config.context);
20
+ }
21
+ }
22
+ exports.default = default_1;
@@ -0,0 +1 @@
1
+ export default function (_opts: any): Promise<void>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const cli_utilities_1 = require("@contentstack/cli-utilities");
5
+ const semver = tslib_1.__importStar(require("semver"));
6
+ const versionUpgradeWarningFrequency = {
7
+ versionSyncDuration: 3 * 24 * 60 * 60 * 1000, // 3 days
8
+ };
9
+ async function default_1(_opts) {
10
+ var _a, _b;
11
+ const now = Date.now();
12
+ const today = new Date().toISOString().split('T')[0];
13
+ let cache = { lastChecked: 0, lastWarnedDate: '', latestVersion: '' };
14
+ // if CLI_VERSION is not set or is not the same as the current version, set it
15
+ if (!cli_utilities_1.configHandler.get('CLI_VERSION') || cli_utilities_1.configHandler.get('CLI_VERSION') !== this.config.version) {
16
+ cli_utilities_1.configHandler.set('CLI_VERSION', this.config.version); // set current version in configHandler
17
+ }
18
+ if (!cli_utilities_1.configHandler.get('versionUpgradeWarningFrequency')) {
19
+ cli_utilities_1.configHandler.set('versionUpgradeWarningFrequency', versionUpgradeWarningFrequency);
20
+ }
21
+ const versionUpgradeWarningFrequencyConfig = cli_utilities_1.configHandler.get('versionUpgradeWarningFrequency');
22
+ // Load cache if it exists
23
+ if (cli_utilities_1.configHandler.get('versionUpgradeWarningCache')) {
24
+ cache = cli_utilities_1.configHandler.get('versionUpgradeWarningCache');
25
+ }
26
+ // Perform update check if needed
27
+ const httpClient = new cli_utilities_1.HttpClient();
28
+ if (now - cache.lastChecked > versionUpgradeWarningFrequencyConfig.versionSyncDuration) {
29
+ try {
30
+ const latestVersion = (_b = (_a = (await httpClient.get(`https://registry.npmjs.org/@contentstack/cli/latest`))) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.version;
31
+ if (!latestVersion) {
32
+ (0, cli_utilities_1.handleAndLogError)(new Error('Failed to retrieve the latest version from the registry.'), { module: 'latest-version-warning' });
33
+ return;
34
+ }
35
+ cache.latestVersion = latestVersion;
36
+ cache.lastChecked = now;
37
+ // Save updated cache
38
+ cli_utilities_1.configHandler.set('versionUpgradeWarningCache', cache);
39
+ }
40
+ catch (error) {
41
+ (0, cli_utilities_1.handleAndLogError)(error, { module: 'latest-version-warning' }, 'Failed to check the latest version');
42
+ return;
43
+ }
44
+ }
45
+ // Show warning if an update is available and last warning was yesterday
46
+ if (semver.gt(cache.latestVersion, this.config.version) && cache.lastWarnedDate !== today) {
47
+ cli_utilities_1.cliux.print(`You are not using the most recent CLI release. Please update to the latest version for an improved experience.`, { color: 'yellow' });
48
+ // Update the last warned timestamp
49
+ cache.lastWarnedDate = today;
50
+ cli_utilities_1.configHandler.set('versionUpgradeWarningCache', cache);
51
+ }
52
+ }
53
+ exports.default = default_1;
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ declare const _default: "@oclif/core";
2
+ export default _default;
package/lib/index.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = '@oclif/core';
@@ -0,0 +1,39 @@
1
+ import { Config, Plugin } from '@contentstack/cli-utilities';
2
+ export interface PrintOptions {
3
+ color?: string;
4
+ }
5
+ export interface InquirePayload {
6
+ type: string;
7
+ name: string;
8
+ message: string;
9
+ choices?: Array<any>;
10
+ transformer?: Function;
11
+ }
12
+ export interface Region {
13
+ name: string;
14
+ cma: string;
15
+ cda: string;
16
+ }
17
+ export interface Context {
18
+ id: string;
19
+ user: {
20
+ authtoken: string;
21
+ email: string;
22
+ };
23
+ region: any;
24
+ plugin: Plugin;
25
+ config: any;
26
+ info: any;
27
+ messageFilePath: any;
28
+ }
29
+ export interface CLIConfig extends Config {
30
+ context: Context;
31
+ }
32
+ export interface IVersionUpgradeCache {
33
+ lastChecked: number;
34
+ lastWarnedDate: string;
35
+ latestVersion: string;
36
+ }
37
+ export interface IVersionUpgradeWarningFrequency {
38
+ versionSyncDuration: number;
39
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ export default class CsdxContext {
2
+ readonly sessionId: string;
3
+ readonly clientId: string;
4
+ readonly user?: object;
5
+ readonly region?: object;
6
+ readonly config: object;
7
+ readonly info: any;
8
+ readonly plugin: any;
9
+ readonly pluginConfig: any;
10
+ readonly messageFilePath: string;
11
+ readonly analyticsInfo: string;
12
+ flagWarningPrintState: any;
13
+ flags: any;
14
+ cliVersion: string;
15
+ constructor(cliOpts: any, cliConfig: any);
16
+ getToken(alias: string): any;
17
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const shortUUID = tslib_1.__importStar(require("short-uuid"));
5
+ const path = tslib_1.__importStar(require("path"));
6
+ const cli_utilities_1 = require("@contentstack/cli-utilities");
7
+ const node_machine_id_1 = require("node-machine-id");
8
+ class CsdxContext {
9
+ constructor(cliOpts, cliConfig) {
10
+ var _a, _b, _c;
11
+ const analyticsInfo = [];
12
+ const command = cliConfig.findCommand(cliOpts.id) || {};
13
+ const config = cli_utilities_1.configHandler;
14
+ const platform = cliConfig.platform && cliConfig.arch ? `${cliConfig.platform}-${cliConfig.arch}` : 'none';
15
+ analyticsInfo.push(platform);
16
+ const nodeVersion = process.versions.node ? `v${process.versions.node}` : process.version;
17
+ analyticsInfo.push(nodeVersion || 'none');
18
+ analyticsInfo.push(cliConfig.version || 'none');
19
+ this.clientId = cli_utilities_1.configHandler.get('clientId');
20
+ if (!this.clientId) {
21
+ this.clientId = (0, node_machine_id_1.machineIdSync)(true);
22
+ cli_utilities_1.configHandler.set('clientId', this.clientId);
23
+ }
24
+ analyticsInfo.push(this.clientId);
25
+ const sessionId = shortUUID.generate();
26
+ cli_utilities_1.configHandler.set('sessionId', sessionId);
27
+ this.sessionId = sessionId;
28
+ analyticsInfo.push(this.sessionId);
29
+ this.user = {
30
+ authtoken: cli_utilities_1.configHandler.get('authtoken'),
31
+ email: cli_utilities_1.configHandler.get('email'),
32
+ };
33
+ this.config = Object.assign({}, config);
34
+ this.cliVersion = cliConfig.version;
35
+ this.region = cli_utilities_1.configHandler.get('region');
36
+ this.info = { command: cliOpts.id };
37
+ if (command.pluginName) {
38
+ this.plugin = (cliConfig.plugins || new Map()).get(command.pluginName) || {};
39
+ this.plugin.name = command.pluginName;
40
+ this.plugin.config = Object.assign({}, ((this.plugin.pjson && this.plugin.pjson.csdxConfig) || {}));
41
+ this.messageFilePath = (0, cli_utilities_1.pathValidator)(path.resolve((0, cli_utilities_1.sanitizePath)(this.plugin.root), (0, cli_utilities_1.sanitizePath)(this.plugin.config.messageFilePath) || './messages/index.json'));
42
+ this.info.shortCommandName = (_c = (_b = (_a = this.plugin) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.shortCommandName) === null || _c === void 0 ? void 0 : _c[cliOpts.id];
43
+ analyticsInfo.push(this.info.shortCommandName || cliOpts.id);
44
+ }
45
+ this.flagWarningPrintState = {};
46
+ this.analyticsInfo = analyticsInfo.join(';');
47
+ }
48
+ getToken(alias) {
49
+ if (alias) {
50
+ const token = cli_utilities_1.configHandler.get(`tokens.${alias}`);
51
+ if (token)
52
+ return token;
53
+ }
54
+ }
55
+ }
56
+ exports.default = CsdxContext;
@@ -0,0 +1 @@
1
+ export { default as CsdxContext } from './context-handler';
@@ -0,0 +1,8 @@
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.CsdxContext = void 0;
7
+ var context_handler_1 = require("./context-handler");
8
+ Object.defineProperty(exports, "CsdxContext", { enumerable: true, get: function () { return __importDefault(context_handler_1).default; } });
@@ -0,0 +1,4 @@
1
+ {
2
+ "commands": {},
3
+ "version": "2.0.0-beta.16"
4
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@contentstack/cli",
3
3
  "description": "Command-line tool (CLI) to interact with Contentstack",
4
- "version": "2.0.0-beta.14",
4
+ "version": "2.0.0-beta.16",
5
5
  "author": "Contentstack",
6
6
  "bin": {
7
7
  "csdx": "./bin/run.js"
@@ -22,23 +22,23 @@
22
22
  "prepack": "pnpm compile && oclif manifest && oclif readme"
23
23
  },
24
24
  "dependencies": {
25
- "@contentstack/cli-audit": "~2.0.0-beta.6",
26
- "@contentstack/cli-cm-export": "~2.0.0-beta.11",
27
- "@contentstack/cli-cm-import": "~2.0.0-beta.11",
28
- "@contentstack/cli-auth": "~2.0.0-beta.7",
29
- "@contentstack/cli-bulk-operations": "^1.0.0",
30
- "@contentstack/cli-cm-bootstrap": "~2.0.0-beta.11",
31
- "@contentstack/cli-cm-branches": "~2.0.0-beta.2",
32
- "@contentstack/cli-cm-clone": "~2.0.0-beta.12",
33
- "@contentstack/cli-cm-export-to-csv": "~2.0.0-beta.2",
34
- "@contentstack/cli-cm-import-setup": "~2.0.0-beta.6",
35
- "@contentstack/cli-cm-seed": "~2.0.0-beta.10",
36
- "@contentstack/cli-command": "~2.0.0-beta.2",
37
- "@contentstack/cli-config": "~2.0.0-beta.3",
25
+ "@contentstack/cli-audit": "~2.0.0-beta.7",
26
+ "@contentstack/cli-cm-export": "~2.0.0-beta.12",
27
+ "@contentstack/cli-cm-import": "~2.0.0-beta.12",
28
+ "@contentstack/cli-auth": "~2.0.0-beta.8",
29
+ "@contentstack/cli-bulk-operations": "^1.0.1",
30
+ "@contentstack/cli-cm-bootstrap": "~2.0.0-beta.12",
31
+ "@contentstack/cli-cm-branches": "~2.0.0-beta.3",
32
+ "@contentstack/cli-cm-clone": "~2.0.0-beta.13",
33
+ "@contentstack/cli-cm-export-to-csv": "~2.0.0-beta.3",
34
+ "@contentstack/cli-cm-import-setup": "~2.0.0-beta.7",
35
+ "@contentstack/cli-cm-seed": "~2.0.0-beta.11",
36
+ "@contentstack/cli-command": "~2.0.0-beta.3",
37
+ "@contentstack/cli-config": "~2.0.0-beta.4",
38
38
  "@contentstack/cli-launch": "^1.9.6",
39
- "@contentstack/cli-migration": "~2.0.0-beta.7",
40
- "@contentstack/cli-utilities": "~2.0.0-beta.2",
41
- "@contentstack/cli-variants": "~2.0.0-beta.8",
39
+ "@contentstack/cli-migration": "~2.0.0-beta.8",
40
+ "@contentstack/cli-utilities": "~2.0.0-beta.3",
41
+ "@contentstack/cli-variants": "~2.0.0-beta.9",
42
42
  "@contentstack/management": "~1.27.6",
43
43
  "@contentstack/utils": "~1.7.0",
44
44
  "@oclif/core": "^4.8.0",
@@ -49,7 +49,7 @@
49
49
  "cli-progress": "^3.12.0",
50
50
  "debug": "^4.4.3",
51
51
  "figlet": "1.8.2",
52
- "inquirer": "8.2.7",
52
+ "inquirer": "^12.11.1",
53
53
  "node-machine-id": "^1.1.12",
54
54
  "open": "^8.4.2",
55
55
  "ora": "^8.2.0",
@@ -64,7 +64,7 @@
64
64
  "@types/inquirer": "^9.0.9",
65
65
  "@types/mkdirp": "^1.0.2",
66
66
  "@types/mocha": "^8.2.3",
67
- "@types/node": "^14.18.63",
67
+ "@types/node": "^18.11.9",
68
68
  "@types/semver": "^7.7.0",
69
69
  "@types/sinon": "^10.0.20",
70
70
  "chai": "^4.5.0",
@@ -157,6 +157,7 @@
157
157
  ],
158
158
  "hooks": {
159
159
  "prerun": [
160
+ "./lib/hooks/prerun/init-context-for-command",
160
161
  "./lib/hooks/prerun/default-rate-limit-check",
161
162
  "./lib/hooks/prerun/latest-version-warning"
162
163
  ],
@@ -167,4 +168,4 @@
167
168
  }
168
169
  },
169
170
  "repository": "https://github.com/contentstack/cli"
170
- }
171
+ }