Salesforce Functions support

Issue #1951 resolved
Scott Wells repo owner created an issue

This is a placeholder for work I'm doing now to provide comprehensive first-class support for development of Salesforce functions in IC2. This will include the following changes/enhancements:

  • Allow Functions as a scratch org feature in both the scratch org creation dialog and JSON schema for scratch org definition files.
  • Allow creation, listing/details, and removal of an associated function compute environment for the project.
  • Allow creation of Java/JavaScript/TypeScript functions directly in the IDE. Java functions will only be supported in IntelliJ IDEA (including Community Edition), and JavaScript/TypeScript functions will only be supported in commercial JetBrains IDEs (i.e., not Community Edition). IntelliJ IDEA Ultimate Edition will support development in all three function authoring languages.
  • Update IDE project config files for created functions. Minimally this will include adding appropriate source root directories, but in IntelliJ IDEA it will likely also include creating a new module of the appropriate type to frame a created function. IDE project config files will also be created/updated as appropriate when opening an existing project for which such config doesn't already exist to put the project into the correct state for functions development. Might also need to update package.json and/or pom.xml files for the appropriate dependencies.
  • Allow local execution and interactive debugging of functions via Docker. Ideally if the JetBrains Docker plugin is installed and enabled, provide some level of integration to inspect the container in which a function is executing locally.
  • Allow deployment of functions to Heroku and status monitoring of executing functions.
  • Provide assistance with management of the local Git repo required for deployment to Heroku, creating/initializing it if necessary, and ensuring that changes are committed before function deployment.
  • Provide simple execution of functions via (anonymous?) Apex, both sync and async.

Right now I'm thinking about a dedicated Salesforce Functions tool window where functions are created, managed, executed locally or on the server, etc., though the overall design details will almost certainly change as I implement things.

Comments (5)

  1. Log in to comment