
Product
Introducing Repository Access Permissions and Custom Roles
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.
@acdf/build
Advanced tools
The concept of a namespace is already used in Campaign with regards to the database to protect your tables from conflicting with native ones if they share the same name. ACDF uses a similar concept with regards to Javascript.
The project namespace is essentially just an object which will serve as a container for your custom code. In order to avoid conflicts, you should always envelop your scripts in an IIFE and then assign those entities which you do want to use outside of a script to the namespace. See the section below on libraries for a more in-depth explanation.
ACDF uses filenames to determine how a file should be processed.
Format:{name}.{suffix}.js
The name can be anything you want it to be. The suffix will tell ACDF how to process your file during the build. Here is a breakdown of the different suffixes and what they represent:
Libraries allow you to organise and/or reuse your code. In concept, it corresponds to the xtk:javascript entity in Campaign. A library should export the functions and objects which you want to use elsewhere by assigning them to your namespace.
For example, if you wanted to create a reusable function and call it in a workflow activity:
hello.library.js
(() => {
// This defines a function without saving it in the global scope.
function helloWorld() {
logInfo("Hello world");
}
// This assigns the helloWorld function to the ACDF namespace.
ACDF.helloWorld = helloWorld;
})();
hello.activity.js
(() => {
// This loads the library, similarly to a require() in CommonJS or the 'import' statement in ES modules
loadLibrary("acdf:hello.library.js");
// This calls the function from the namespace
ACDF.helloWorld();
})();
- `library`: This denotes a JS library which can be called via `loadLibrary()`. This corresponds to the `xtk:javascript` entity. You should use
- `activity`: This is JS activity in a workflow.
Examples:
- demo.library.js: A library to be loaded using loadLibrary() which provides a feature described by demo.
- dev.env.js
FAQs
Build dependency for Adobe Campaign Developer Framework projects
We found that @acdf/build demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.

Product
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.