Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@apexdevtools/metadata-gulp

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@apexdevtools/metadata-gulp

Downloader for Salesforce metadata to support Apex static analysis

  • 3.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-50%
Maintainers
1
Weekly downloads
 
Created
Source

metadata-gulp

Salesforce metadata download library. Pulls metadata from an org in a format that can be used with apex-ls based tools to perform off-line semantics analysis of Apex code.

Usage

To start a download use update() from Gulp:

async update(
    workspacePath: string,
    logger: Logger,
    connection: JSConnection | null,
    namespaces: string[],
    partialLoad: boolean
): Promise<void>

The workspacePath must be the directory where your sfdx-project.json file is located. The metadata is downloaded into a '.apexlink/gulp' directory relative to this.

If you have an open jsforce connection you can pass that, if you pass null a new connection will be created.

Metadata is download independently for each passed namespace. For orgs without a namespace you can use the pseudo namespace unmanaged. If partialLoad is false, existing downloaded metadata for namespaces not passed to update() will be removed automatically.

The library also supplies some helper functions that you may find useful.

To obtain the org's default namespace:

async getOrgNamespace(
    workspacePath: string,
    connection: JSConnection | null
): Promise<string | null | undefined>

This will return string | null on success or undefined if the Organization table can not be queried.

To obtain the namespace & package description for packages with namespaces on the org:

async getOrgPackageNamespaces(
    workspacePath: string,
    connection: JSConnection | null
): Promise<NamespaceInfo[]>

Development

Building

This project uses the pnpm package manager.

  pnpm install
  pnpm build

To run unit tests:

  pnpm test

To test bundling using webpack:

  pnpm test:pack
  node test-bundle/bundle.js

This should execute without error.

Execute manual test script with ts-node using the run script:

  # Run gulp on a project with an existing default org
  pnpm run:script -- ./src/scripts/main.ts <workspaceDir> <namespace | unmanaged>

License

All the source code included uses a 3-clause BSD license, see LICENSE for details.

Keywords

FAQs

Package last updated on 08 Dec 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc