The original demo uses a three.js version of r65. Porting such old code is normally only possible by applying migration tasks.
For now I suggest you are using WebGL1Renderer and then manage WebGL extensions via the extensions property of ShaderMaterial. Just set the respective entries to true if you need certain extensions (like derivatives).
this.extensions = {
derivatives: true, // set to use derivatives
fragDepth: false, // set to use fragment depth values
drawBuffers: false, // set to use draw buffers
shaderTextureLOD: false // set to use shader texture LOD
};