in scripts/utils/convert-jsr-readme.cjs [104:133]
function processReadme(config, file) {
try {
let readmeContent = fs.readFileSync(file, 'utf8');
// First replace installation directions
readmeContent = replaceInstallationDirections(readmeContent);
// Replace content in all code blocks with a single regex
readmeContent = readmeContent.replaceAll(
/```(?:typescript|ts|javascript|js)\n([\s\S]*?)```/g,
(match, codeBlock) => {
try {
let transformedCode = codeBlock.trim();
transformedCode = replaceImports(transformedCode, config);
transformedCode = replaceProcessEnv(transformedCode);
transformedCode = replaceProcessStdout(transformedCode);
return '```typescript\n' + transformedCode + '\n```';
} catch (error) {
console.warn(`Failed to transform code block: ${error}\n\n${codeBlock}`);
return match; // Return original code block if transformation fails
}
},
);
fs.writeFileSync(file, readmeContent);
} catch (error) {
console.error('Error processing README:', error);
throw error;
}
}