text: 'use strict';
  
  const { readFileSync, readdirSync, writeFileSync } = require('fs');
  
  // Get all markdown stubs
  const header = readFileSync('bundler/header.md', 'utf-8');
  const badges = readFileSync('bundler/badges.md', 'utf-8');
  const installation = readFileSync('bundler/installation.md', 'utf-8');
  const api = readFileSync('bundler/api.md', 'utf-8');
  const strictnessAndComparisons = readFileSync('bundler/strictness_and_comparisons.md', 'utf-8');
  const notImplemented = readFileSync('bundler/not_implemented.md', 'utf-8');
  const contribute = readFileSync('bundler/contribute.md', 'utf-8');
  const license = readFileSync('bundler/license.md', 'utf-8');
  
  // Get all API docs
  const methods = readdirSync('docs/api', 'utf-8');
  
  // Build table of contents
  const tableOfContents = methods.map((file) => {
    const methodName = file.replace('.md', '');
  
    return `- [${methodName}](#${methodName.toLowerCase()})`;
  }).join('\n');
  
  // Build methods "readme"
  const methodDocumentation = methods.map((file) => {
    let content = readFileSync(`docs/api/${file}`, 'utf-8');
  
    const lines = content.split('\n');
  
    lines[0] = `###${lines[0]}`;
    lines.pop();
    lines.pop();
  
    content = lines.join('\n');
    content = content.replace(/(\r\n|\r|\n){2,}/g, '$1\n');
  
    return content;
  }).join('\n\n');
  
  writeFileSync(
    'README.md',
    [
      header,
      badges,
      installation,
      api,
      tableOfContents,
      strictnessAndComparisons,
      notImplemented,
      methodDocumentation,
      contribute,
      license,
    ].join('\n\n'),
  );
  