All files / packages/design-system-2/scripts/plugins postcss-figlet-comment.js

0% Statements 0/14
0% Branches 0/7
0% Functions 0/4
0% Lines 0/14

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`;
 
const 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(new Error(`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;