JSPM

sfdx-jayree

4.8.51
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 70
  • Score
    100M100P100Q94468F
  • License BSD-3-Clause

A Salesforce CLI plugin containing commands and hooks for Salesforce Application Lifecycle Management tasks.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sfdx-jayree) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    sfdx-jayree

    A Salesforce CLI plugin containing commands and hooks for Salesforce Application Lifecycle Management tasks.

    sfdx Version test-and-release Downloads/week License Gitter

    Install

    sfdx plugins:install @jayree/sfdx-plugin-source

    Commands

    sfdx jayree:flow:get:coverage

    Check the flow test coverage of an Org.

    USAGE
      $ sfdx jayree:flow:get:coverage -o <value> [--json] [--api-version <value>]
    
    FLAGS
      -o, --target-org=<value>   (required) Username or alias of the target org. Not required if the `target-org`
                                 configuration variable is already set.
          --api-version=<value>  Override the api version used for api requests made by this command
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:flowtestcoverage
    
    EXAMPLES
      $ sfdx jayree:flowtestcoverage
      === Flow Test Coverage
      Coverage: 82%
      ...

    See code: @jayree/sfdx-plugin-org

    sfdx jayree:manifest:cleanup

    Removes those tags from a manifest file that are present in a second manifest file.

    USAGE
      $ sfdx jayree:manifest:cleanup -f <value> [--json] [-x <value>]
    
    FLAGS
      -f, --file=<value>      (required) Path to the second 'cleanup' manifest file.
      -x, --manifest=<value>  Path to the manifest file.
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    DESCRIPTION
      Removes those tags from a manifest file that are present in a second manifest file.
    
      Use this command to remove components or metadata types from a manifes file.
    
      If the 'cleanup' manifest file (--file) doesn't exist, a template file is created, which can then be modified.
    
    EXAMPLES
      $ sfdx jayree:manifest:cleanup --manifest=package.xml --file=packageignore.xml

    See code: @jayree/sfdx-plugin-manifest

    sfdx jayree:manifest:generate

    Generate a complete manifest file form the specified org.

    USAGE
      $ sfdx jayree:manifest:generate -o <value> [--json] [--api-version <value>] [-q <value>] [-c] [-w] [--include-flow-versions]
        [-f <value>] [--exclude-managed | --exclude-all]
    
    FLAGS
      -c, --match-case               Enable 'match case' for the quickfilter.
      -f, --file=<value>             Write to 'file' instead of stdout.
      -o, --target-org=<value>       (required) Username or alias of the target org. Not required if the `target-org`
                                     configuration variable is already set.
      -q, --quick-filter=<value>...  Metadata type, member or file path to filter on.
      -w, --match-whole-word         Enable 'match whole word' for the quickfilter.
          --api-version=<value>      Override the api version used for api requests made by this command
          --exclude-all              Exclude all packages from output.
          --exclude-managed          Exclude managed packages from output.
          --include-flow-versions    Include flow versions as with api version 43.0.
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    DESCRIPTION
      Generate a complete manifest file form the specified org.
    
      Use this command to generate a manifest file based on an existing org.
    
    EXAMPLES
      $ sfdx jayree:manifest:generate --targetusername myOrg@example.com
      <?xml version='1.0' encoding='UTF-8'?>
      <Package xmlns='http://soap.sforce.com/2006/04/metadata'>...</Package>

    See code: @jayree/sfdx-plugin-manifest

    sfdx jayree:manifest:git:diff

    Create a project manifest and destructiveChanges manifest that lists the metadata components you want to deploy or delete based on changes in your git history.

    USAGE
      $ sfdx jayree:manifest:git:diff REF1 [REF2] [--json] [--api-version <value>] [-d <value>] [--output-dir <value>]
        [--destructive-changes-only]
    
    ARGUMENTS
      REF1  Base commit or branch.
      REF2  Commit or branch to compare to the base commit.
    
    FLAGS
      -d, --source-dir=<value>...     Path to the local source files to include in the manifest.
          --api-version=<value>       Override the api version used for api requests made by this command
          --destructive-changes-only  Create a destructiveChanges manifest only.
          --output-dir=<value>        Directory to save the created manifest files.
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    DESCRIPTION
      Create a project manifest and destructiveChanges manifest that lists the metadata components you want to deploy or
      delete based on changes in your git history.
    
      Use this command to create a manifest and destructiveChanges manifest file based on the difference (git diff) of two
      git refs.
    
      You can use all ways to spell <commit> which are valid for 'git diff' (See https://git-scm.com/docs/git-diff).
    
    ALIASES
      $ sfdx jayree:manifest:beta:git:diff
    
    EXAMPLES
      Uses the changes between two arbitrary <commit>.
    
        $ sfdx jayree:manifest:git:diff <commit> <commit>
        $ sfdx jayree:manifest:git:diff <commit>..<commit>
    
      Uses the changes on the branch containing and up to the second <commit>, starting at a common ancestor of both
      <commit>.
    
        $ sfdx jayree:manifest:git:diff <commit>...<commit>
    
      Uses the diff of what is unique in branchB (REF2) and unique in branchA (REF1).
    
        $ sfdx jayree:manifest:git:diff branchA..branchB
    
      Uses the diff of what is unique in branchB (REF2).
    
        $ sfdx jayree:manifest:git:diff branchA...branchB
    
      Specify the flags before or after the REF args
    
        $ sfdx jayree:manifest:git:diff --output-dir package <commit> <commit>
        $ sfdx jayree:manifest:git:diff <commit> <commit> --output-dir package
    
      If you specify the 'source-dir' flag before the REF args, use '--' to separate the args from the 'source-dir'
      values.
    
        $ sfdx jayree:manifest:git:diff --source-dir force-app -- <commit> <commit>
    
    FLAG DESCRIPTIONS
      -d, --source-dir=<value>...  Path to the local source files to include in the manifest.
    
        The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder
        (in which case the operation is applied to all metadata types in the directory and its subdirectories).
    
        You can specify this flag more than once.
    
      --destructive-changes-only  Create a destructiveChanges manifest only.
    
        Use this flag to create a 'destructiveChanges.xml' and a blank 'package.xml'.
    
      --output-dir=<value>  Directory to save the created manifest files.
    
        The location can be an absolute path or relative to the current working directory.

    See code: @jayree/sfdx-plugin-manifest

    sfdx jayree:org:configure

    Make configuration changes that are not covered by the metadata API.

    USAGE
      $ sfdx jayree:org:configure -o <value> [--json] [--api-version <value>] [-t <value>] [--concurrent]
    
    FLAGS
      -o, --target-org=<value>   (required) Username or alias of the target org. Not required if the `target-org`
                                 configuration variable is already set.
      -t, --tasks=<value>...     Task name(s) listed in sfdx-project.json, if no tasks are specified, all tasks marked as
                                 active will be executed.
          --api-version=<value>  Override the api version used for api requests made by this command
          --concurrent           Execute tasks in parallel.
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    EXAMPLES
      $ sfdx jayree:org:configure
      $ sfdx jayree:org:configure -u me@my.org
      $ sfdx jayree:org:configure --tasks="Asset Settings","Activity Settings"
      $ sfdx jayree:org:configure --concurrent --tasks="Asset Settings","Activity Settings"

    See code: @jayree/sfdx-plugin-org

    sfdx jayree:org:configure:country

    update country integration values in the State/Country Picklists

    USAGE
      $ sfdx jayree:org:configure:country -o <value> [--json] [--api-version <value>]
    
    FLAGS
      -o, --target-org=<value>   (required) Username or alias of the target org. Not required if the `target-org`
                                 configuration variable is already set.
          --api-version=<value>  Override the api version used for api requests made by this command
    
    GLOBAL FLAGS
      --json  Format output as json.

    See code: @jayree/sfdx-plugin-org

    sfdx jayree:org:configure:state

    import (create/update) states into the State/Country Picklists

    USAGE
      $ sfdx jayree:org:configure:state -o <value> [--json] [--api-version <value>] [--country-code <value>] [--category <value>]
        [--language <value>] [--concurrent <value>]
    
    FLAGS
      -o, --target-org=<value>    (required) Username or alias of the target org. Not required if the `target-org`
                                  configuration variable is already set.
          --api-version=<value>   Override the api version used for api requests made by this command
          --category=<value>      Subdivision category.
          --concurrent=<value>    [default: 1] execute tasks in parallel.
          --country-code=<value>  Alpha-2 code.
          --language=<value>      Language code.
    
    GLOBAL FLAGS
      --json  Format output as json.

    See code: @jayree/sfdx-plugin-org

    sfdx jayree:org:get:settings

    Write the current settings from an Org to a scratch org def file.

    USAGE
      $ sfdx jayree:org:get:settings -o <value> [--json] [--api-version <value>] [-w] [-f <value>]
    
    FLAGS
      -f, --file=<value>                  Write to 'file' instead of project-scratch-def.json.
      -o, --target-org=<value>            (required) Username or alias of the target org. Not required if the `target-org`
                                          configuration variable is already set.
      -w, --writetoprojectscratchdeffile  Write output to project-scratch-def.json file.
          --api-version=<value>           Override the api version used for api requests made by this command
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:org:settings
    
    EXAMPLES
      $ sfdx jayree:org:settings
      $ sfdx jayree:org:settings -u me@my.org
      $ sfdx jayree:org:settings -u MyTestOrg1 -w

    See code: @jayree/sfdx-plugin-org

    sfdx jayree:org:stream

    Listen to streaming api and platform events.

    USAGE
      $ sfdx jayree:org:stream -o <value> -c <value> [--json] [--api-version <value>] [-r <value>]
    
    FLAGS
      -c, --channel=<value>      (required) The event name.
      -o, --target-org=<value>   (required) Username or alias of the target org. Not required if the `target-org`
                                 configuration variable is already set.
      -r, --replay-id=<value>    Receive all stored events after the event specified by the replayId value and new events.
                                 [default: -1] Receive new events that are broadcast after the command subscribes. [-2]
                                 Receive all event, including past events that are within the retention window and new
                                 events.
          --api-version=<value>  Override the api version used for api requests made by this command
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:org:streaming
    
    EXAMPLES
      $ sfdx jayree org stream --channel=/event/eventName__e
      ...

    See code: @jayree/sfdx-plugin-org

    sfdx jayree:project:compare:snapshot

    Compare sfdx source snapshot files.

    USAGE
      $ sfdx jayree:project:compare:snapshot [--json] [--filepath <value>]
    
    FLAGS
      --filepath=<value>  [default: ./sfdx-source-snapshot.json] Path of the generated snapshot file.
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:source:snapshot:compare

    See code: @jayree/sfdx-plugin-source

    sfdx jayree:project:fix

    Fix retrieved metadata.

    USAGE
      $ sfdx jayree:project:fix [--json] [-o <value>] [-t <value>]
    
    FLAGS
      -o, --target-org=<value>
      -t, --task=<value>...     Task name(s) listed in sfdx-project.json.
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:source:fix

    See code: @jayree/sfdx-plugin-source

    sfdx jayree:project:generate:snapshot

    Generate sfdx source snapshot files.

    USAGE
      $ sfdx jayree:project:generate:snapshot [--json] [--filepath <value>]
    
    FLAGS
      --filepath=<value>  [default: ./sfdx-source-snapshot.json] Path to save the generated snapshot file.
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:source:snapshot:generate

    See code: @jayree/sfdx-plugin-source

    sfdx jayree:project:list:tracking

    List changes in a scratch org by remote revision counter number.

    USAGE
      $ sfdx jayree:project:list:tracking -o <value> [--json] [--api-version <value>] [-r <value>]
    
    FLAGS
      -o, --target-org=<value>   (required) Username or alias of the target org. Not required if the `target-org`
                                 configuration variable is already set.
      -r, --revision=<value>     Start at a specific revision counter number.
          --api-version=<value>  Override the api version used for api requests made by this command
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:source:tracking:list
    
    EXAMPLES
      $ sfdx jayree:source:tracking:list
      $ sfdx jayree:source:tracking:list -u me@my.org
      $ sfdx jayree:source:tracking:list -u me@my.org -r 101

    See code: @jayree/sfdx-plugin-source

    sfdx jayree:project:store:tracking:get

    Get stored revision counter number.

    USAGE
      $ sfdx jayree:project:store:tracking:get -o <value> [--json]
    
    FLAGS
      -o, --target-org=<value>  (required) Username or alias of the target org. Not required if the `target-org`
                                configuration variable is already set.
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:source:tracking:store:get
    
    EXAMPLES
      $ sfdx jayree:source:tracking:store:get
      $ sfdx jayree:source:tracking:store:get -u me@my.org

    See code: @jayree/sfdx-plugin-source

    sfdx jayree:project:store:tracking:set

    Store revision counter number.

    USAGE
      $ sfdx jayree:project:store:tracking:set -o <value> [--json] [--api-version <value>] [-r <value>]
    
    FLAGS
      -o, --target-org=<value>   (required) Username or alias of the target org. Not required if the `target-org`
                                 configuration variable is already set.
      -r, --revision=<value>     Revision counter number (default: remote revision counter number).
          --api-version=<value>  Override the api version used for api requests made by this command
    
    GLOBAL FLAGS
      --json  Format output as json.
    
    ALIASES
      $ sfdx jayree:source:tracking:store:set
    
    EXAMPLES
      $ sfdx jayree:source:tracking:store:set
      $ sfdx jayree:source:tracking:store:set -u me@my.org
      $ sfdx jayree:source:tracking:store:set -u MyTestOrg1 -r 101

    See code: @jayree/sfdx-plugin-source

    Hooks

    prerun

    • Resets source tracking using force:source:tracking:reset before executing force:source:pull or project:retrieve:start.

    IMPORTANT: This hook will only run if SFDX_ENABLE_JAYREE_HOOKS_RESET_BEFORE_PULL=true is set. It uses the stored serverMaxRevisionCounter as revision counter number (see: jayree:project:store:tracking:set). If the hook doesn't find a stored value it asks if the current local revision counter number should be stored and used.

    scopedPreRetrieve

    scopedPostRetrieve

    • Applies source fixes of the jayree project fix command, deletes and moves source files to separate package directories. See the configuration file sfdx-project.json for examples. Set "isActive": true, to apply this fix during scopedPostRetrieve hook.

    IMPORTANT: Since the hook is not able to update the (JSON) output of the command, an additional output is generated. Set the environment variable SFDX_ENABLE_JAYREE_HOOKS_JSON_OUTPUT=true and additional comma-separated JSON output will be appended, where the output must be parsed as an array, e.g. JSON.parse(`[${stdout}]`). See an example below:

    import execa from "execa";
    import { CliUx } from "@oclif/core";
    
    async function run() {
      const { stdout } = await execa("sfdx", [
        "force:source:retrieve",
        "--metadata",
        "Group:*",
        "--json"
      ]);
      const parsedStdout = JSON.parse(`[${stdout}]`);
      CliUx.ux.styledJSON(
        parsedStdout.length > 1
          ? {
              ...parsedStdout[0],
              result: {
                ...parsedStdout[0].result,
                fixedFiles: parsedStdout[1].fixedFiles
              }
            }
          : parsedStdout[0]
      );
    }
    
    run();