Urara-Blog/node_modules/.pnpm-store/v3/files/7f/56291ff2a4393a3631c14368081198931fcce0cbf9e63cacfafe0cb5ffb97e08e2ad93122d6712f99b862b80409fd0151fee80a3821f1a4541c3ae910797c0
2022-08-14 01:14:53 +08:00

27 lines
801 B
Text

let fs = require('fs/promises')
let { spawn } = require('child_process')
let path = require('path')
let root = process.cwd()
function npmInstall(cwd) {
return new Promise((resolve) => {
let childProcess = spawn('npm', ['install'], { cwd })
childProcess.on('exit', resolve)
})
}
async function install() {
let base = path.resolve(root, 'integrations')
let ignoreFolders = ['node_modules']
let integrations = (await fs.readdir(base, { withFileTypes: true }))
.filter((integration) => integration.isDirectory())
.filter((integration) => !ignoreFolders.includes(integration.name))
.map((folder) => path.resolve(base, folder.name))
.concat([base])
.map((integration) => npmInstall(integration))
await Promise.all(integrations)
console.log('Done!')
}
install()