JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//rawgit.com/arodic/three.js/9811e5d4325c3e6f91d87cd70d14223d4b9f6458/build/three.min.js"></script>
<script src="//rawgit.com/arodic/three.js/9811e5d4325c3e6f91d87cd70d14223d4b9f6458/examples/js/controls/TransformControls.js"></script>

CSS

body {
    overflow: hidden;
}

JavaScript

var camera, scene, renderer;
var geometry, material, mesh;
var controls;

init();
animate();

function init() {

    camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 10000);
    camera.position.z = 1000;

    scene = new THREE.Scene();

    geometry = new THREE.BoxGeometry(200, 200, 200);
    material = new THREE.MeshBasicMaterial({
        color: 0xff0000,
        wireframe: true
    });

    mesh = new THREE.Mesh(geometry, material);
    scene.add(mesh);

    renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);

    document.body.appendChild(renderer.domElement);
    
    controls = new THREE.TransformControls (camera, renderer.domElement);
    scene.add(controls);
		controls.attach(mesh);
    controls.mode = 'scale';
    controls.size = 2;
}

function animate() {

    requestAnimationFrame(animate);

    renderer.render(scene, camera);

}