const fs = require('fs'); const file = 'src/__tests__/Runboard.states.test.tsx'; let txt = fs.readFileSync(file, 'utf8'); txt = txt.replace(/const\s+view\s*=\s*render\(\s*]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'const view = renderRunboardRoute(, \/runboard\\s*element=\{\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'const view = renderRunboardRoute(, $1)'); // RegEx for view.rerender(...) txt = txt.replace(/view\.rerender\(\s*]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'rerenderRunboardRoute(view, , $1)'); // RegEx for render(...) without const view txt = txt.replace(/render\(\s*]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'renderRunboardRoute(, $1)'); console.log('Instances of MemoryRouter left:', (txt.match(/]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'rerenderRunboardRoute(view, , \/runboard\\s*element=\{\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'const view = renderRunboardRoute(, $1)'); // RegEx for view.rerender(...) txt = txt.replace(/view\.rerender\(\s*]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'rerenderRunboardRoute(view, , $1)'); // RegEx for render(...) without const view txt = txt.replace(/render\(\s*]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'renderRunboardRoute(, $1)'); console.log('Instances of MemoryRouter left:', (txt.match(/]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'renderRunboardRoute(, \/runboard\\s*element=\{\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'const view = renderRunboardRoute(, $1)'); // RegEx for view.rerender(...) txt = txt.replace(/view\.rerender\(\s*]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'rerenderRunboardRoute(view, , $1)'); // RegEx for render(...) without const view txt = txt.replace(/render\(\s*]*initialEntries=\{\[\s*([^\]]+)\s*\]\}[^>]*>\s*\s*\}\s*\/>\s*<\/Routes>\s*<\/MemoryRouter>\s*\)/g, 'renderRunboardRoute(, $1)'); console.log('Instances of MemoryRouter left:', (txt.match(/