code: function processIcon({ filePath, relativePath }, destPathRoot) {
  
      // The patterns we're looking for. Only write the new file if all are met.
      const pureImportRegex = /^import pure from 'recompose\/pure';\s*\n/gm;
      const componentDeclRegex = /let (\w+) = \(props\) =>/;
      const pureWrapRegex = /^((\w+)) = pure\(\1\);\s*\n/gm;
  
      // We'll const the component declaration while we're at it
      const componentDeclReplacement = 'const $1 = (props) =>';
  
      const destPath = pathUtils.resolve(destPathRoot, relativePath);
  
      return fs.readFileAsync(filePath, { encoding: 'UTF8' })
          .then(sourceCode => {
  
              const pureImportMatch = sourceCode.match(pureImportRegex);
              const componentDeclMatch = sourceCode.match(componentDeclRegex);
              const pureWrapMatch = sourceCode.match(pureWrapRegex);
  
              if (!(pureImportMatch && componentDeclMatch && pureWrapMatch)) {
                  // Could not make sense of this file
                  return {
                      filePath,
                      relativePath,
                      error: 'Could not recognise the source',
                  };
              }
  
              // Update the source
              const newSourceCode = sourceCode
                  .replace(pureImportRegex, '')
                  .replace(pureWrapRegex, '')
                  .replace(componentDeclRegex, componentDeclReplacement);
  
              return fs.writeFileAsync(destPath, newSourceCode, { encoding: 'UTF8' })
                  .then(() => ({
                      filePath,
                      relativePath,
                      success: true,
                      className: componentDeclMatch[1],
                  }))
          });
  }
docs: Load an icon source file, remove the references to recompose/pure, then write into the JDL
  
  Very simplistic transform, and won't write anything if the file's not recognised / transformed correctly.