@@ -225,7 +225,7 @@ async function checkIfReSpec(page) {
225225 */
226226async function generateHTML ( page , timer , version , url ) {
227227 try {
228- return await page . evaluate ( evaluateHTML , version , timer ) ;
228+ return await page . evaluate ( evaluateHTML , timer ) ;
229229 } catch ( err ) {
230230 const msg = `\n😭 Sorry, there was an error generating the HTML. Please report this issue!\n${ `${
231231 `Specification: ${ url } \n` +
@@ -237,43 +237,24 @@ async function generateHTML(page, timer, version, url) {
237237}
238238
239239/**
240- * @param {ReSpecVersion } version
241240 * @param {ReturnType<typeof createTimer> } timer
242241 */
243- async function evaluateHTML ( version , timer ) {
242+ async function evaluateHTML ( timer ) {
244243 await timeout (
245244 document . respec ? document . respec . ready : document . respecIsReady ,
246245 timer . remaining
247246 ) ;
248247
249- const [ major , minor ] = version ;
250- if ( major < 20 || ( major === 20 && minor < 10 ) ) {
251- console . warn (
252- "👴🏽 Ye Olde ReSpec version detected! Please update to 20.10.0 or above. " +
253- `Your version: ${ window . respecVersion } .`
248+ if ( ! document . respec ?. toHTML ) {
249+ throw new Error (
250+ "document.respec.toHTML is not available. " +
251+ " Please upgrade to a newer version of ReSpec, " +
252+ "or use an older version of the ReSpec CLI."
254253 ) ;
255- // Document references an older version of ReSpec that does not yet
256- // have the "core/exporter" module. Try with the old "ui/save-html"
257- // module.
258- const { exportDocument } = await new Promise ( ( resolve , reject ) => {
259- require ( [ "ui/save-html" ] , resolve , err => {
260- reject ( new Error ( err . message ) ) ;
261- } ) ;
262- } ) ;
263- return exportDocument ( "html" , "text/html" ) ;
264- } else if ( ! document . respec || ! document . respec . toHTML ) {
265- const { rsDocToDataURL } = await new Promise ( ( resolve , reject ) => {
266- require ( [ "core/exporter" ] , resolve , err => {
267- reject ( new Error ( err . message ) ) ;
268- } ) ;
269- } ) ;
270- const dataURL = rsDocToDataURL ( "text/html" ) ;
271- const encodedString = dataURL . replace ( / ^ d a t a : \w + \/ \w + ; c h a r s e t = u t f - 8 , / , "" ) ;
272- return decodeURIComponent ( encodedString ) ;
273- } else {
274- return await document . respec . toHTML ( ) ;
275254 }
276255
256+ return await document . respec . toHTML ( ) ;
257+
277258 function timeout ( promise , ms ) {
278259 return new Promise ( ( resolve , reject ) => {
279260 promise . then ( resolve , reject ) ;
0 commit comments