All files / packages/sds-subsystems/scripts/plugins postcss-figlet-comment.js

0% Statements 0/9
0% Branches 0/7
0% Functions 0/3
0% Lines 0/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                                                                 
import figlet from 'figlet';
 
const defaultNotes = `This component is for Design Systems Engineering team use only.
Its content is unsupported for project implementation and may be withdrawn anytime.
Refer to official documentation for current guidance at https://sfdc.co/slds-plus-playbook`;
 
let plugin = (opts = {}) => {
  return {
    postcssPlugin: 'postcss-figlet-comment',
    async OnceExit(root, { result }) {
      const commentHeading = opts.textHeading || '!! Caution !!';
      const commentBody = opts.textBody || defaultNotes;
      try {
        const data = await new Promise((resolve, reject) => {
          figlet.text(commentHeading, { font: 'ANSI Shadow' }, (err, data) => {
            if (err) {
              reject(`Figlet error: ${err.message}`);
            }
            resolve(data);
          });
        });
        root.prepend({ text: `\n\n${data}\n${commentBody}\n\n` });
      } catch (err) {
        throw root.error(err);
      }
    },
  };
};
 
plugin.postcss = true;
 
export default plugin;