import nanospawn in cjs interop way
This commit is contained in:
parent
de09154fc8
commit
77b8fe75d9
@ -1,5 +1,4 @@
|
||||
import type { Task, Helpers } from "graphile-worker";
|
||||
import spawn from 'nano-spawn';
|
||||
import { PrismaClient } from "../../generated/prisma";
|
||||
import { withAccelerate } from "@prisma/extension-accelerate";
|
||||
import { getOrDownloadAsset } from "../utils/cache";
|
||||
@ -11,6 +10,7 @@ import { basename, join, dirname } from "node:path";
|
||||
import { mkdirp } from "fs-extra";
|
||||
import { listFilesRecursive } from "../utils/filesystem";
|
||||
import { getMimeType } from "../utils/mimetype";
|
||||
import { getNanoSpawn } from "../utils/nanoSpawn";
|
||||
|
||||
const prisma = new PrismaClient().$extends(withAccelerate());
|
||||
|
||||
@ -47,10 +47,12 @@ interface HlsVariant {
|
||||
|
||||
|
||||
|
||||
|
||||
export async function createVariants(helpers: Helpers, inputFilePath: string): Promise<HlsVariant[]> {
|
||||
const workdir = join(env.CACHE_ROOT, nanoid());
|
||||
await mkdirp(workdir);
|
||||
const baseName = basename(inputFilePath, '.mp4');
|
||||
const spawn = await getNanoSpawn()
|
||||
|
||||
const resolutions = [
|
||||
{ width: 1920, height: 1080, bitrate: 4000000, name: '1080p' }, // 4Mbps
|
||||
@ -99,6 +101,7 @@ export async function packageHls(
|
||||
): Promise<string> {
|
||||
const args: string[] = [];
|
||||
|
||||
const spawn = await getNanoSpawn()
|
||||
// Optional: sort variants by bandwidth descending
|
||||
variants.sort((a, b) => b.bandwidth - a.bandwidth);
|
||||
|
||||
@ -123,18 +126,6 @@ export async function packageHls(
|
||||
args.push('--segment_duration=2'); // matches Twitch’s chunk size
|
||||
|
||||
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
helpers.logger.info(`PILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE\nPILLS HERE`)
|
||||
|
||||
await spawn('packager', args, {
|
||||
|
7
services/our/src/utils/nanoSpawn.ts
Normal file
7
services/our/src/utils/nanoSpawn.ts
Normal file
@ -0,0 +1,7 @@
|
||||
// utils/nanoSpawn.ts
|
||||
// we do this because we need to use dynamic import() when using ESM only module via tsup CJS interop.
|
||||
|
||||
export async function getNanoSpawn() {
|
||||
const nanoSpawn = (await import('nano-spawn')).default;
|
||||
return nanoSpawn
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user