SFDX Plugin to set Email Deliverability Access Level for an org easily and quickly via command line interface

Overview

sfdx-deliverability-access

sfdx deliverability:access [-l ] [-u ]

This SFDX Plugin was created to set Email Deliverability Access Level for an org easily and quickly. This project uses Selenium, Webdriver and headless browsing to open Setup in the target org and set Email Deliverability Access Level to the desired value.

USAGE
  $ sfdx deliverability:access [-l 
   
    ] [-u 
    
     ] [--json] [--loglevel 
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

OPTIONS
  -l, --level=level (values are not case sensitive)
      No access: None, N, 0
      System email only: System, S, 1
      All email: All, A, 2

  -u, --user=user
      Username or alias for the target org; overrides default target org

  --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL)
      [default: warn] logging level for this command invocation

EXAMPLES
  sfdx deliverability:access --level All
  sfdx deliverability:access --level None
  sfdx deliverability:access --level System
  sfdx deliverability:access -l a -u [email protected]

    
   

Installation

sfdx plugins:install sfdx-deliverability-access
sfdx deliverability:access --help

Requirements

  1. Google Chrome (not confirmed, this is a presumption - if you're running into errors try updating Chrome to the latest version)
  2. Node.js
  3. Salesforce CLI
  4. Salesforce Lightning

Version History

  • 0.1.15 - Fixes bug by promisifying exec() so the plugin can be used in CI/CD flows
  • Initial Release (0.1.4)

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Supporting Docs

Comments
  • Remove package-lock from source control and add missing await keyword

    Remove package-lock from source control and add missing await keyword

    • Removing package-lock from source control
    • Attempt to resolve oclif timeouts by adding missing await keyword
      • "In order to avoid command executions running indefinitely, oclif will terminate the node process 10 seconds after Command.run resolves. This means that all command logic inside the run method should either run synchronously or should return a Promise. This will allow the entire command to run before the 10 second timeout starts."
      • https://oclif.io/docs/commands

    Screenshot 2022-12-16 at 3 29 40 PM

    opened by gfarb 0
  • Dependency Changes & Trivial Timeout Prevention

    Dependency Changes & Trivial Timeout Prevention

    Updates to dependencies & attempt to prevent trivial timeout errors from oclif which seems to occur when spinner status is not updated in 10 seconds.

    (node:8234) UnhandledPromiseRejectionWarning: Error: timed out
        at Object.error (/usr/local/lib/node_modules/sfdx-cli/node_modules/@oclif/core/lib/errors/index.js:28:15)
        at /usr/local/lib/node_modules/sfdx-cli/node_modules/@oclif/core/lib/cli-ux/index.js:25:66
        at async flush (/usr/local/lib/node_modules/sfdx-cli/node_modules/@oclif/core/lib/cli-ux/index.js:124:9)
    
    opened by gfarb 0
  • Puppeteer Implementation

    Puppeteer Implementation

    This pull request includes a major change. We will no longer use Chrome, Chromedriver and Selenium to interact with browsers. Instead, we will now use Puppeteer.

    Previously, when Google Chrome was updated the plugin would break because the Chromedriver installation used by the plugin would no longer be compatible with your updated version of Chrome. Because, "when you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API" this problem will no longer persist.

    Puppeteer's API also includes some great capabilities like waitForSelector() that will also make this plugin faster.

    opened by gfarb 0
  • Bump npm from 8.10.0 to 8.11.0

    Bump npm from 8.10.0 to 8.11.0

    Bumps npm from 8.10.0 to 8.11.0.

    Changelog

    Sourced from npm's changelog.

    v8.11.0 (2022-05-25)

    Features

    Bug Fixes

    Documentation

    Dependencies

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump minimist from 1.2.5 to 1.2.6

    Bump minimist from 1.2.5 to 1.2.6

    Bumps minimist from 1.2.5 to 1.2.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v1.0)
  • v1.0(Sep 29, 2022)

    This release includes a major change. The plugin will no longer use Google Chrome, Chromedriver and Selenium to interact with browsers. Instead, the plugin will now leverage Puppeteer.

    Previously, when Google Chrome was updated the plugin would break because the Chromedriver installation used by the plugin would no longer be compatible with your updated version of Chrome. This was resolvable by updating Chromedriver wherever you globally installed sfdx which was not entirely intuitive. When you install the new version of the plugin, Puppeteer "downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API" so the Chrome update bug no longer persists.

    Puppeteer's API also includes some great capabilities that will also make this plugin faster and if you want to use the plugin in CI/CD processes you no longer need to install Google Chrome beforehand.

    To update the plugin, I think you can run sfdx plugins:update but it may be safer to run: sfdx plugins:uninstall sfdx-deliverability-access && sfdx plugins:install sfdx-deliverability-access

    Source code(tar.gz)
    Source code(zip)
Owner
Max Goldfarb
Software Engineer II - Salesforce at GitHub
Max Goldfarb
A command line interface for programmatically creating data silos on app.transcend.io

Table of Contents Overview Installation Authentication transcend.yml Usage tr-pull tr-push CI Integration Dynamic Variables tr-scan Overview A command

Transcend 15 Dec 13, 2022
Autify Command Line Interface (CLI)

Autify Command Line Interface (CLI) Autify CLI can help your integration with Autify! Autify Command Line Interface (CLI) Usage Commands Usage Note: n

Autify 36 Jan 2, 2023
The command-line interface for versum

@versumstudios/cli The command-line interface for versum. versum-cli Usage Contributing How to use Export Templates Usage To install the latest versio

Versum Studios 8 Nov 3, 2022
⚡️ Quickly generate a disposable email straight from terminal

Mailsy ⚡️ Quickly generate a disposable email. Screenshots Installation Use the package manager npm to install Mailsy. npm install mailsy -g Usage Cre

Balli Asghar 177 Jan 2, 2023
Wordle and Termooo style classic word guessing game for the command line. One new word per day!

Wordle and Termooo style classic word guessing game for the command line. One new word per day!

Anderson Silva 3 Nov 27, 2022
a simple zero-configuration command-line http server

http-server: a command-line http server http-server is a simple, zero-configuration command-line http server. It is powerful enough for production usa

http ... PARTY! 12.4k Jan 4, 2023
Control the macOS dark mode from the command-line

dark-mode Control the macOS dark mode from the command-line Requires macOS 10.10 or later. macOS 10.13 or earlier needs to download the Swift runtime

Sindre Sorhus 630 Dec 30, 2022
node.js command-line interfaces made easy

Commander.js The complete solution for node.js command-line interfaces. Read this in other languages: English | 简体中文 Commander.js Installation Declari

TJ Holowaychuk 24k Jan 8, 2023
🌈 React for interactive command-line apps

React for CLIs. Build and test your CLI output using components. Ink provides the same component-based UI building experience that React offers in the

Vadim Demedes 19.7k Jan 9, 2023
Pretty unicode tables for the command line

cli-table3 This utility allows you to render unicode-aided tables on the command line from your node.js scripts. cli-table3 is based on (and api compa

null 418 Dec 28, 2022
Control the Plash app from the command-line

plash-cli Control the Plash app from the command-line Install $ npm install --global plash Requires Node.js 14 or later. Requires Plash 2.3.0 or late

Sindre Sorhus 33 Dec 30, 2022
A C++ based command-line (CLI) program that lets you manage your tasks

COMMAND LINE INTERFACE TODO APP a command-line (CLI) program that lets you manage your tasks. The specification for this project is written down as te

Rahul Prabhakar 1 Dec 25, 2021
Close chrome tabs from command-line (macOS only)

Close-tab Read all tabs from an activated window of the chrome, open with vi prompt, you can close tabs by deleting lines. Istallation npm install -g

Karl Saehun Chung 8 Jun 18, 2022
1History is a command line tool to backup your histories of different browsers into one place

1History All your history in one place. 1History is a command line tool to backup your histories of different browsers into one place. Features Suppor

null 340 Dec 31, 2022
Generate a Node.js command line tool from an OpenAPI definition

OpenAPI Commander Generate a Node.js command line tool from an OpenAPI definition using the commander library. Example usage Usage: Subcommands groupe

Barry Coughlan 12 Jan 3, 2023
Windows command line tool to block outbound connections for files within a directory.

fwg A Windows command line tool to block outbound connections for files within a directory. fwg utilizes the power of PowerShell and Windows Network S

raymond wang 3 Jul 19, 2022
LinkFree CLI is a command line tool that helps you to create your LinkFree profile through CLI.

LinkFree CLI LinkFree CLI is a command line tool that helps you to create your LinkFree profile through CLI. Demo Using the CLI (Commands) Note First

Pradumna Saraf 32 Dec 26, 2022
Pipeable javascript. Quickly filter, map, and reduce from the terminal

Pipeable JavaScript - another utility like sed/awk/wc... but with JS! Quickly filter, map and reduce from the command line. Features a streaming API.

Daniel St. Jules 410 Dec 10, 2022
:notes: Control iTunes via CLI

itunes-remote Control iTunes via your terminal ?? Using JXA via osascript via Node.js. Requirements Node.js (v0.12.7 or greater) Mac OS X (Yosemite 10

Michael Kühnel 422 Nov 19, 2022