ghp / scripts /prepare-production.mjs
QSLY's picture
deploy: build Hugging Face Space from source
00a912e
Raw
History Blame Contribute Delete
1.27 kB
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.')