Skip to content

forcedotcom/sfdx-core

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
November 15, 2023 14:56
December 16, 2021 09:03
December 29, 2021 23:24
December 4, 2023 12:51
October 13, 2023 10:13
November 10, 2023 11:12
November 15, 2023 14:56
November 27, 2023 11:13
November 27, 2023 11:13
April 24, 2023 10:24
May 26, 2023 12:52
November 10, 2023 11:12
August 27, 2020 13:17
June 20, 2023 14:34
October 8, 2022 12:26

NPM

Description

The @salesforce/core library provides client-side management of Salesforce DX projects, org authentication, connections to Salesforce APIs, and other utilities. Much of the core functionality that powers the Salesforce CLI plugins comes from this library. You can use this functionality in your plugins too.

Usage

See the API documentation.

Contributing

If you're interested in contributing, take a look at the CONTRIBUTING guide.

Issues

Report all issues to the issues only repository.

Using TestSetup

The Salesforce DX Core Library provides a unit testing utility to help with mocking and sand-boxing core components. This feature allows unit tests to execute without needing to make API calls to salesforce.com.

See the Test Setup documentation.

Message Transformer

The Messages class, by default, loads message text during run time. It's optimized to do this only per file.

If you're using @salesforce/core or other code that uses its Messages class in a bundler (webpack, esbuild, etc) it may struggle with these runtime references.

src/messageTransformer will "inline" the messages into the js files during TS compile using https://github.com/nonara/ts-patch.

In your plugin or library,

yarn add --dev ts-patch

tsconfig.json

{
  ...
  "plugins": [{ "transform": "@salesforce/core/lib/messageTransformer", "import": "messageTransformer" }]
}

.sfdevrc.json, which gets merged into package.json

"wireit": {
    "compile": {
      "command": "tspc -p . --pretty --incremental",
      "files": [
        "src/**/*.ts",
        "tsconfig.json",
        "messages"
      ],
      "output": [
        "lib/**",
        "*.tsbuildinfo"
      ],
      "clean": "if-file-deleted"
    }
  }

Performance Testing

There are some benchmark.js checks to get a baseline for Logger performance. https://forcedotcom.github.io/sfdx-core/perf-Linux https://forcedotcom.github.io/sfdx-core/perf-Windows

You can add more test cases in test/perf/logger/main.js

If you add tests for new parts of sfdx-core outside of Logger, add new test Suites and create new jobs in the GHA perf.yml