File size: 1,269 Bytes
00a912e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import { mkdir, readFile, rm, symlink, writeFile } from 'node:fs/promises'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
const serverDist = path.join(root, 'packages', 'server', 'dist')
const sharedDist = path.join(root, 'packages', 'shared', 'dist')
const bundledShared = path.join(serverDist, 'node_modules', '@music-together', 'shared')
await rm(bundledShared, { recursive: true, force: true })
await mkdir(bundledShared, { recursive: true })
await symlink(sharedDist, path.join(bundledShared, 'dist'), process.platform === 'win32' ? 'junction' : 'dir')
const packageJson = JSON.parse(await readFile(path.join(root, 'packages', 'shared', 'package.json'), 'utf8'))
await writeFile(
path.join(bundledShared, 'package.json'),
`${JSON.stringify(
{
name: packageJson.name,
version: packageJson.version,
type: 'module',
main: './dist/index.js',
types: './dist/index.d.ts',
exports: {
'.': {
import: './dist/index.js',
types: './dist/index.d.ts',
},
},
},
null,
2,
)}\n`,
)
console.log('Prepared server production dependencies in packages/server/dist/node_modules.')
|