This library gives you the option to format AMPscript code used in SFMC.
Includes HTML formatting using Prettier.
Duplicated to continue support of the original library.
> npm install --save beauty-amp-core2
This module can format AMPscript code either as an array (of lines) or as a string. The output type matches the input type.
Format code. Lines are broken on "\n"
. Is Async.
lines
: Array|String - text of your code
includeHtml
Boolen=true Include the HTML in beautifying (e.g. if HTML code is not format-able).
return
: {Array|String} Formatted code. Array or string based on the initial input.
throws
: Syntax Error if HTML cannot be formatted.
const beautifier = require('beauty-amp-core2');
beautifier.setup(); // setup is explained later
let lines = [`<h1>My Test Case:</h1>`,
`%%[ VAR @lang `,
`If (@lang == 'EN') then Output("Hello World!")`,
`Else`,
` Output("Ciao!")`,
`endif`,
`]%%`];
const result = await beautifier.beautify(lines);
console.log(result); // returns code as an array
const beautifier = require('beauty-amp-core2');
beautifier.setup(); // setup is explained later
let lines = `<h1>My Test Case:</h1>
%%[ VAR @lang
If (@lang == 'EN') then Output("Hello World!")
Else
Output("Ciao!")
endif
]%%`;
const result = await beautifier.beautify(lines);
console.log(result); // returns code as a string
You can set the extension either in code or using a file.
File provided setup overrides setup from setup()
function call.
const ampscript = {
capitalizeAndOrNot: true,
capitalizeIfFor: true,
capitalizeSet: true,
capitalizeVar: true,
maxParametersPerLine: 4
};
const editor = {
insertSpaces: true,
tabSize: 4
};
beautifier.setup(ampscript, editor);
Or use a setup file in your project's folder (project root). Name .beautyamp.json
:
{
"ampscript": {
"capitalizeAndOrNot": true,
"capitalizeIfFor": true,
"capitalizeSet": true,
"capitalizeVar": true,
"maxParametersPerLine": 4
},
"editor": {
"insertSpaces": true,
"tabSize": 2
}
}
You still need to call the setup()
:
beautifier.setup();