�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` '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'), );