The following JS function will throw an error with the message "require is not defined":
JsFunction::createWithBody("require('fs')");
This is because JS functions in PuPHPeteer are created with the Function constructor, the body of those functions don't have access to the module scope, but only to the global one.
The require() function could be provided by Rialto to JS function when unserializing them:
https://github.com/nesk/rialto/blob/2403adc6b5f8fd4114d1ec00d9cce2e6ce3a5656/src/node-process/Data/Unserializer.js#L89-L94