Skip to content
@apex-dev-tools

apex-dev-tools

Apex Dev Tools

This organization contains libraries that are used to build Salesforce Apex tools. The libraries are maintained by Certinia (formerly FinancialForce) and produced primarily for use in Certinia's internal developer tooling, but they are also being used in other projects such as PMD, dx@scale and Apex Assist.

By making Certinia tooling libraries open source and bringing all of these repos together in a single GitHub organisation we hope to encourage wider involvement in their development, foster a coherent approach and ultimately bring useful productivity tools to the Salesforce developer community.


Quick Links: Open PRsOpen Bugs


Repos Overview

The diagram below shows the structure in which the repos are used to create Apex tools.

RepoOverview

Project Background

These libraries have come from a number of different sources, some of which were internal to Certinia and others were originated by individuals. Taken together they provide a facility to syntactically and semantically check the Apex code in packaged and unmanaged projects, without the need to deploy those projects to a Salesforce org. The validations are very much centred on Apex, but some errors in other types of metadata are also detected. The libraries also provide wider DX features, such as code completion support for IDEs and reliable parallel test running.

Early work on providing this type of capability from within a VSCode extension was undertaken by Certinia in 2018, based on the @nawforce apex-link github project. This resulted in considerable progress towards the goal but loading performance and correctness remained challenging in some areas.

Starting in 2019 apex-link was re-architected to support an exact validation model via simulating the internal parts of an org that impact Apex correctness such as modelling the Schema for SObjects. A caching model was later added to address loading performance concerns. Additional feature have been added over time, such as the ability to download metadata from an org.

This 2nd generation apex-link (now known as apex-ls) has became the core supporting library for Apex related DX tools at Certinia, and is the foundation for tools that have in use by the majority of Certinia developers since 2021.

@nawforce

@nawforce is the personal GitHub account of Kevin Jones. Kevin is currently Director, Technical Architecture at Certinia - providing architectural leadership and with particular interests in developer tooling and product performance and scalability.

Pinned Loading

  1. apex-parser apex-parser Public

    Salesforce Apex/SOQL/SOSL language parser

    TypeScript 15 6

  2. apex-ls apex-ls Public

    Apex language server library

    Scala 2 1

  3. test-runner test-runner Public

    Apex parallel test runner with reliability goodness

    TypeScript

  4. benchmarker benchmarker Public

    Framework for benchmark tests on Salesforce Apex code

    TypeScript 1

Repositories

Showing 10 of 16 repositories
  • apex-ls Public

    Apex language server library

    apex-dev-tools/apex-ls’s past year of commit activity
  • apex-parser Public

    Salesforce Apex/SOQL/SOSL language parser

    apex-dev-tools/apex-parser’s past year of commit activity
    TypeScript 15 6 2 0 Updated Nov 14, 2024
  • apex-samples Public

    Sample projects for testing

    apex-dev-tools/apex-samples’s past year of commit activity
    2 0 0 0 Updated Nov 13, 2024
  • apex-dev-tools/sobject-types’s past year of commit activity
    Java 0 0 0 0 Updated Nov 13, 2024
  • apex-dev-tools/standard-types’s past year of commit activity
    Java 0 0 0 0 Updated Nov 12, 2024
  • benchmarker Public

    Framework for benchmark tests on Salesforce Apex code

    apex-dev-tools/benchmarker’s past year of commit activity
    TypeScript 1 BSD-3-Clause 0 2 1 Updated Oct 31, 2024
  • apex-types Public

    Library for describing Apex types, largely abstract to allow specialisation as needed

    apex-dev-tools/apex-types’s past year of commit activity
    Scala 0 BSD-3-Clause 0 0 0 Updated Jul 1, 2024
  • apex-ls-pmd Public

    apex-ls plugin for PMD analysis

    apex-dev-tools/apex-ls-pmd’s past year of commit activity
    Java 0 0 2 0 Updated Jul 1, 2024
  • apex-dev-tools/outline-parser’s past year of commit activity
    Scala 1 BSD-3-Clause 0 0 0 Updated Jul 1, 2024
  • .github Public
    apex-dev-tools/.github’s past year of commit activity
    0 0 0 0 Updated Jun 28, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…