43 lines
No EOL
1 KiB
JavaScript
43 lines
No EOL
1 KiB
JavaScript
import { exec } from 'node:child_process';
|
|
import { dirname, join } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
import { promisify } from 'node:util';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = dirname(__filename);
|
|
const rootDir = join(__dirname, '..');
|
|
const execAsync = promisify(exec);
|
|
|
|
/**
|
|
* @param {string} path
|
|
* @param {string} version
|
|
*/
|
|
const fileToESMWrapperCall = (path, version) =>
|
|
execAsync(`npx gen-esm-wrapper "${join(rootDir, path, `${version}.js`)}" "${join(rootDir, path, `${version}.mjs`)}"`);
|
|
|
|
await Promise.allSettled(
|
|
[
|
|
'v9',
|
|
|
|
// Voice
|
|
'v4',
|
|
]
|
|
.map((version) => [
|
|
fileToESMWrapperCall('gateway', version),
|
|
fileToESMWrapperCall(`payloads/${version}`, 'index'),
|
|
fileToESMWrapperCall(`rest/${version}`, 'index'),
|
|
|
|
// Voice
|
|
fileToESMWrapperCall('voice', version),
|
|
|
|
// RPC
|
|
fileToESMWrapperCall('rpc', version),
|
|
|
|
// Utils
|
|
fileToESMWrapperCall('utils', version),
|
|
|
|
// Shortcuts
|
|
fileToESMWrapperCall('', version),
|
|
])
|
|
.flat(),
|
|
); |