Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 27 additions & 3 deletions messages/deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,38 @@ Deploys an initialized and packaged Data Cloud code extension to a Salesforce or

<%= config.bin %> data-code-extension %s deploy --name my-package --package-version 1.0.0 --description "My package" --package-dir ./package --target-org myorg

- Deploy with specific a CPU size:
- Deploy with a specific CPU size:

<%= config.bin %> data-code-extension %s deploy --name my-package --package-version 1.0.0 --description "My package" --package-dir ./package --target-org myorg --cpu-size CPU_4XL

- Deploy with network configuration for Jupyter notebooks:

<%= config.bin %> data-code-extension %s deploy --name my-package --package-version 1.0.0 --description "My package" --package-dir ./package --target-org myorg --network host

# examples.script

- Deploy a script package to the org with alias "myorg":

<%= config.bin %> data-code-extension script deploy --name my-package --package-version 1.0.0 --description "My package" --package-dir ./package --target-org myorg

- Deploy with a specific CPU size:

<%= config.bin %> data-code-extension script deploy --name my-package --package-version 1.0.0 --description "My package" --package-dir ./package --target-org myorg --cpu-size CPU_4XL

- Deploy with network configuration for Jupyter notebooks:

<%= config.bin %> data-code-extension script deploy --name my-package --package-version 1.0.0 --description "My package" --package-dir ./package --target-org myorg --network host

# examples.function

- Deploy a function package to the org with alias "myorg":

<%= config.bin %> data-code-extension function deploy --name my-package --package-version 1.0.0 --description "My package" --package-dir ./package --target-org myorg --function-invoke-opt UnstructuredChunking

- Deploy with a specific CPU size:

<%= config.bin %> data-code-extension function deploy --name my-package --package-version 1.0.0 --description "My package" --package-dir ./package --target-org myorg --cpu-size CPU_4XL --function-invoke-opt UnstructuredChunking

# info.checkingPython

Checking Python version...
Expand Down Expand Up @@ -88,11 +112,11 @@ Name of the package to deploy.

The unique name identifier for your Data Cloud custom code package. This name is used to identify the deployment in your Salesforce org.

# flags.version.summary
# flags.packageVersion.summary

Version of the package to deploy.

# flags.version.description
# flags.packageVersion.description

The version string for your package deployment. Use semantic versioning (such as 1.0.0) to track different releases of your code.

Expand Down
16 changes: 7 additions & 9 deletions src/base/deployBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
import { Messages, Org } from '@salesforce/core';
import { DatacodeBinaryExecutor, type DatacodeDeployExecutionResult } from '../utils/datacodeBinaryExecutor.js';
import { checkEnvironment } from '../utils/environmentChecker.js';
import { sharedBaseFlags, type SharedResultProps } from './types.js';
import { type SharedResultProps } from './types.js';

Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension', 'deploy');

export type BaseDeployFlags = {
name: string;
version: string;
'package-version': string;
description: string;
'package-dir': string;
'target-org': Org;
Expand All @@ -27,8 +27,7 @@ export type DeployResult = SharedResultProps & {

// eslint-disable-next-line sf-plugin/command-summary, sf-plugin/command-example
export abstract class DeployBase<TFlags extends BaseDeployFlags = BaseDeployFlags> extends SfCommand<DeployResult> {
// Override baseFlags to hide global flags
public static readonly baseFlags = sharedBaseFlags;
public static enableJsonFlag = false;

public static readonly flags = {
name: Flags.string({
Expand All @@ -37,10 +36,9 @@ export abstract class DeployBase<TFlags extends BaseDeployFlags = BaseDeployFlag
description: messages.getMessage('flags.name.description'),
required: true,
}),
version: Flags.string({
char: 'v',
summary: messages.getMessage('flags.version.summary'),
description: messages.getMessage('flags.version.description'),
'package-version': Flags.string({
summary: messages.getMessage('flags.packageVersion.summary'),
description: messages.getMessage('flags.packageVersion.description'),
required: true,
}),
description: Flags.string({
Expand Down Expand Up @@ -81,7 +79,7 @@ export abstract class DeployBase<TFlags extends BaseDeployFlags = BaseDeployFlag
const cmdMessages = this.getMessages();

const name = flags.name;
const version = flags.version;
const version = flags['package-version'];
const description = flags.description;
const packageDir = flags['package-dir'];
const targetOrg = flags['target-org'];
Expand Down
5 changes: 2 additions & 3 deletions src/base/initBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { SfCommand } from '@salesforce/sf-plugins-core';
import { Messages } from '@salesforce/core';
import { DatacodeBinaryExecutor, type DatacodeInitExecutionResult } from '../utils/datacodeBinaryExecutor.js';
import { checkEnvironment } from '../utils/environmentChecker.js';
import { sharedBaseFlags, type SharedResultProps } from './types.js';
import { type SharedResultProps } from './types.js';

export type BaseInitFlags = {
'package-dir': string;
Expand All @@ -14,8 +14,7 @@ export type InitResult = SharedResultProps & {

// eslint-disable-next-line sf-plugin/command-summary, sf-plugin/command-example
export abstract class InitBase extends SfCommand<InitResult> {
// Override baseFlags to hide global flags
public static readonly baseFlags = sharedBaseFlags;
public static enableJsonFlag = false;

public async run(): Promise<InitResult> {
const { flags } = (await this.parse(this.constructor as typeof InitBase)) as unknown as { flags: BaseInitFlags };
Expand Down
5 changes: 2 additions & 3 deletions src/base/runBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { SfCommand } from '@salesforce/sf-plugins-core';
import { Messages, Org } from '@salesforce/core';
import { DatacodeBinaryExecutor, type DatacodeRunExecutionResult } from '../utils/datacodeBinaryExecutor.js';
import { checkEnvironment } from '../utils/environmentChecker.js';
import { sharedBaseFlags, type SharedResultProps } from './types.js';
import { type SharedResultProps } from './types.js';

export type BaseRunFlags = {
entrypoint: string;
Expand All @@ -20,8 +20,7 @@ export type RunResult = SharedResultProps & {

// eslint-disable-next-line sf-plugin/command-summary, sf-plugin/command-example
export abstract class RunBase extends SfCommand<RunResult> {
// Override baseFlags to hide global flags
public static readonly baseFlags = sharedBaseFlags;
public static enableJsonFlag = false;

public async run(): Promise<RunResult> {
const { flags } = (await this.parse(this.constructor as typeof RunBase)) as unknown as { flags: BaseRunFlags };
Expand Down
4 changes: 1 addition & 3 deletions src/base/scanBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { SfCommand } from '@salesforce/sf-plugins-core';
import { Messages } from '@salesforce/core';
import { DatacodeBinaryExecutor, type ScanResult } from '../utils/datacodeBinaryExecutor.js';
import { checkEnvironment } from '../utils/environmentChecker.js';
import { sharedBaseFlags } from './types.js';

export type BaseScanFlags = {
entrypoint?: string;
Expand All @@ -13,8 +12,7 @@ export type BaseScanFlags = {

// eslint-disable-next-line sf-plugin/command-summary, sf-plugin/command-example
export abstract class ScanBase extends SfCommand<ScanResult> {
// Override baseFlags to hide global flags
public static readonly baseFlags = sharedBaseFlags;
public static enableJsonFlag = false;

public async run(): Promise<ScanResult> {
const { flags } = (await this.parse(this.constructor as typeof ScanBase)) as unknown as { flags: BaseScanFlags };
Expand Down
16 changes: 0 additions & 16 deletions src/base/types.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,7 @@
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
import { type PythonVersionInfo } from '../utils/pythonChecker.js';
import { type PipPackageInfo } from '../utils/pipChecker.js';
import { type DatacodeBinaryInfo } from '../utils/datacodeBinaryChecker.js';

// eslint-disable-next-line sf-plugin/no-hardcoded-messages-flags, sf-plugin/no-json-flag
export const sharedBaseFlags = {
...SfCommand.baseFlags,
'flags-dir': Flags.directory({
summary: 'Import flag values from a directory.',
helpGroup: 'GLOBAL',
hidden: false,
}),
json: Flags.boolean({
summary: 'Format output as json.',
helpGroup: 'GLOBAL',
hidden: true,
}),
};

export type SharedResultProps = {
success: boolean;
pythonVersion: PythonVersionInfo;
Expand Down
5 changes: 2 additions & 3 deletions src/base/zipBase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { SfCommand } from '@salesforce/sf-plugins-core';
import { Messages, SfError } from '@salesforce/core';
import { DatacodeBinaryExecutor, type DatacodeZipExecutionResult } from '../utils/datacodeBinaryExecutor.js';
import { checkEnvironment } from '../utils/environmentChecker.js';
import { sharedBaseFlags, type SharedResultProps } from './types.js';
import { type SharedResultProps } from './types.js';

export type BaseZipFlags = {
'package-dir': string;
Expand All @@ -17,8 +17,7 @@ export type ZipResult = SharedResultProps & {

// eslint-disable-next-line sf-plugin/command-summary, sf-plugin/command-example
export abstract class ZipBase extends SfCommand<ZipResult> {
// Override baseFlags to hide global flags
public static readonly baseFlags = sharedBaseFlags;
public static enableJsonFlag = false;

public async run(): Promise<ZipResult> {
const { flags } = (await this.parse(this.constructor as typeof ZipBase)) as unknown as { flags: BaseZipFlags };
Expand Down
6 changes: 2 additions & 4 deletions src/commands/data-code-extension/function/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,15 @@ export type FunctionDeployFlags = BaseDeployFlags & {
export default class Deploy extends DeployBase<FunctionDeployFlags> {
public static readonly summary = messages.getMessage('summary', ['function']);
public static readonly description = messages.getMessage('description');
public static readonly examples = messages
// eslint-disable-next-line sf-plugin/no-missing-messages
.getMessages('examples')
.map((example) => example.replace(/%s/g, 'function'));
public static readonly examples = messages.getMessages('examples.function');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


public static readonly flags = {
...DeployBase.flags,
// Function-specific flag
'function-invoke-opt': Flags.string({
summary: messages.getMessage('flags.functionInvokeOpt.summary'),
description: messages.getMessage('flags.functionInvokeOpt.description'),
options: ['UnstructuredChunking'],
required: true,
}),
};
Expand Down
9 changes: 1 addition & 8 deletions src/commands/data-code-extension/function/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,7 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Init extends InitBase {
public static readonly summary = messages.getMessage('summary', ['function']);
public static readonly description = messages.getMessage('description');
public static readonly examples = ((): string[] => {
try {
// eslint-disable-next-line sf-plugin/no-missing-messages
return messages.getMessages('examples').map((example) => example.replace(/%s/g, 'function'));
} catch {
return [];
}
})();
public static readonly examples = messages.getMessages('examples', ['function', 'function', 'function']);

public static readonly flags = {
...InitBase.flags,
Expand Down
5 changes: 1 addition & 4 deletions src/commands/data-code-extension/function/run.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Run extends RunBase {
public static readonly summary = messages.getMessage('summary', ['function']);
public static readonly description = messages.getMessage('description');
public static readonly examples = messages
// eslint-disable-next-line sf-plugin/no-missing-messages
.getMessages('examples')
.map((example) => example.replace(/%s/g, 'function'));
public static readonly examples = messages.getMessages('examples', ['function', 'function', 'function', 'function']);

public static readonly flags = {
entrypoint: Flags.file({
Expand Down
12 changes: 8 additions & 4 deletions src/commands/data-code-extension/function/scan.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Scan extends ScanBase {
public static readonly summary = messages.getMessage('summary', ['function']);
public static readonly description = messages.getMessage('description');
public static readonly examples = messages
// eslint-disable-next-line sf-plugin/no-missing-messages
.getMessages('examples')
.map((example) => example.replace(/%s/g, 'function'));
public static readonly examples = messages.getMessages('examples', [
'function',
'function',
'function',
'function',
'function',
'function',
]);

public static readonly flags = {
entrypoint: Flags.string({
Expand Down
11 changes: 7 additions & 4 deletions src/commands/data-code-extension/function/zip.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Zip extends ZipBase {
public static readonly summary = messages.getMessage('summary', ['function']);
public static readonly description = messages.getMessage('description');
public static readonly examples = messages
// eslint-disable-next-line sf-plugin/no-missing-messages
.getMessages('examples')
.map((example) => example.replace(/%s/g, 'function'));
public static readonly examples = messages.getMessages('examples', [
'function',
'function',
'function',
'function',
'function',
]);

public static readonly flags = {
'package-dir': Flags.directory({
Expand Down
3 changes: 1 addition & 2 deletions src/commands/data-code-extension/script/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Deploy extends DeployBase {
public static readonly summary = messages.getMessage('summary', ['script']);
public static readonly description = messages.getMessage('description');
// eslint-disable-next-line sf-plugin/no-missing-messages
public static readonly examples = messages.getMessages('examples').map((example) => example.replace(/%s/g, 'script'));
public static readonly examples = messages.getMessages('examples.script');

public static readonly flags = {
...DeployBase.flags,
Expand Down
9 changes: 1 addition & 8 deletions src/commands/data-code-extension/script/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,7 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Init extends InitBase {
public static readonly summary = messages.getMessage('summary', ['script']);
public static readonly description = messages.getMessage('description');
public static readonly examples = ((): string[] => {
try {
// eslint-disable-next-line sf-plugin/no-missing-messages
return messages.getMessages('examples').map((example) => example.replace(/%s/g, 'script'));
} catch {
return [];
}
})();
public static readonly examples = messages.getMessages('examples', ['script', 'script', 'script']);

public static readonly flags = {
...InitBase.flags,
Expand Down
3 changes: 1 addition & 2 deletions src/commands/data-code-extension/script/run.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Run extends RunBase {
public static readonly summary = messages.getMessage('summary', ['script']);
public static readonly description = messages.getMessage('description');
// eslint-disable-next-line sf-plugin/no-missing-messages
public static readonly examples = messages.getMessages('examples').map((example) => example.replace(/%s/g, 'script'));
public static readonly examples = messages.getMessages('examples', ['script', 'script', 'script', 'script']);

public static readonly flags = {
entrypoint: Flags.file({
Expand Down
10 changes: 8 additions & 2 deletions src/commands/data-code-extension/script/scan.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,14 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Scan extends ScanBase {
public static readonly summary = messages.getMessage('summary', ['script']);
public static readonly description = messages.getMessage('description');
// eslint-disable-next-line sf-plugin/no-missing-messages
public static readonly examples = messages.getMessages('examples').map((example) => example.replace(/%s/g, 'script'));
public static readonly examples = messages.getMessages('examples', [
'script',
'script',
'script',
'script',
'script',
'script',
]);

public static readonly flags = {
entrypoint: Flags.string({
Expand Down
9 changes: 7 additions & 2 deletions src/commands/data-code-extension/script/zip.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,13 @@ const messages = Messages.loadMessages('@salesforce/plugin-data-code-extension',
export default class Zip extends ZipBase {
public static readonly summary = messages.getMessage('summary', ['script']);
public static readonly description = messages.getMessage('description');
// eslint-disable-next-line sf-plugin/no-missing-messages
public static readonly examples = messages.getMessages('examples').map((example) => example.replace(/%s/g, 'script'));
public static readonly examples = messages.getMessages('examples', [
'script',
'script',
'script',
'script',
'script',
]);

public static readonly flags = {
'package-dir': Flags.directory({
Expand Down
Loading
Loading