JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdn.rawgit.com/mrdoob/three.js/master/build/three.js"></script>
<script src="//cdn.rawgit.com/mrdoob/three.js/master/examples/js/controls/TrackballControls.js"></script>

JavaScript

var container;

var camera, scene, renderer, controls;

init();
animate();

function init() {

  //SCENE SETUP
  renderer = new THREE.WebGLRenderer();
  renderer.setPixelRatio( window.devicePixelRatio );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );

  scene = new THREE.Scene();
  scene.background = new THREE.Color( 0x222222 );

  camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 1000 );
  camera.position.set( 250, 0, 250 );
  camera.lookAt(new THREE.Vector3(0, -50, 0))
  controls = new THREE.TrackballControls( camera, renderer.domElement );
  controls.minDistance = 200;
  controls.maxDistance = 500;

  scene.add( new THREE.AmbientLight( 0x222222 ) );

  var light = new THREE.PointLight( 0xffffff );
  light.position.copy( camera.position );
  scene.add( light );


  //PROFILE SHAPE
  var spts = [];
  spts.push(new THREE.Vector2(0, 0));
  spts.push(new THREE.Vector2(10, 0));
  spts.push(new THREE.Vector2(10, 25));
  spts.push(new THREE.Vector2(-5, 25));
  spts.push(new THREE.Vector2(-5, 20));
  spts.push(new THREE.Vector2(0, 20));


  var closedSpline = new THREE.CatmullRomCurve3( [
    new THREE.Vector3( -60, -100,  60 ),
    new THREE.Vector3( -60,   20,  60 ),
    new THREE.Vector3( -60,  120,  60 ),
    new THREE.Vector3(  60,   20, -60 ),
    new THREE.Vector3(  60, -100, -60 )
  ] );
  
  closedSpline.closed = true;

  //EXTRUSION SETTINGS
  var extrudeSettings = {
    steps: 200,
    bevelEnabled: false,
    extrudePath: closedSpline
  };

  // GENERATE SCENE GEOMETRY
  var shape = new THREE.Shape( spts );

  var geometry = new THREE.ExtrudeGeometry(shape, extrudeSettings);
  var material2 = new THREE.MeshLambertMaterial( { color: 0xff8000, wireframe: false } );

  var mesh = new THREE.Mesh( geometry, material2 );

  scene.add( mesh );
}

function animate() {

  requestAnimationFrame( animate );
    
  controls.update();
  renderer.render( scene, camera );

}