Here are two options:
Using ethers.js - the example below uses a mnemonic
ethers wallet documentation
const ethers = require('ethers');
let mnemonic = "YOUR MNEMONIC";
let mnemonicWallet = ethers.Wallet.fromMnemonic(mnemonic);
This doesn't seem to be included in web3, but has been added to the list of enhancements ...