* update deps * fix * wip * wip * wip * Update docker-compose.yml.example * Delete reviewer-lottery.yml * Update RepositoryModule.ts * wip * wip * clean up * update deps * wip * wip
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/*
 | 
						|
 * SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
						|
 * SPDX-License-Identifier: AGPL-3.0-only
 | 
						|
 */
 | 
						|
 | 
						|
import fs from 'node:fs';
 | 
						|
import { dirname } from 'node:path';
 | 
						|
import { fileURLToPath } from 'node:url';
 | 
						|
import { execa } from 'execa';
 | 
						|
 | 
						|
const _filename = fileURLToPath(import.meta.url);
 | 
						|
const _dirname = dirname(_filename);
 | 
						|
 | 
						|
await execa('pnpm', ['clean'], {
 | 
						|
	cwd: _dirname + '/../',
 | 
						|
	stdout: process.stdout,
 | 
						|
	stderr: process.stderr,
 | 
						|
});
 | 
						|
 | 
						|
await execa('pnpm', ['build-pre'], {
 | 
						|
	cwd: _dirname + '/../',
 | 
						|
	stdout: process.stdout,
 | 
						|
	stderr: process.stderr,
 | 
						|
});
 | 
						|
 | 
						|
await execa('pnpm', ['build-assets'], {
 | 
						|
	cwd: _dirname + '/../',
 | 
						|
	stdout: process.stdout,
 | 
						|
	stderr: process.stderr,
 | 
						|
});
 | 
						|
 | 
						|
execa('pnpm', ['build-assets', '--watch'], {
 | 
						|
	cwd: _dirname + '/../',
 | 
						|
	stdout: process.stdout,
 | 
						|
	stderr: process.stderr,
 | 
						|
});
 | 
						|
 | 
						|
execa('pnpm', ['--filter', 'backend', 'watch'], {
 | 
						|
	cwd: _dirname + '/../',
 | 
						|
	stdout: process.stdout,
 | 
						|
	stderr: process.stderr,
 | 
						|
});
 | 
						|
 | 
						|
execa('pnpm', ['--filter', 'frontend', 'watch'], {
 | 
						|
	cwd: _dirname + '/../',
 | 
						|
	stdout: process.stdout,
 | 
						|
	stderr: process.stderr,
 | 
						|
});
 | 
						|
 | 
						|
execa('pnpm', ['--filter', 'sw', 'watch'], {
 | 
						|
	cwd: _dirname + '/../',
 | 
						|
	stdout: process.stdout,
 | 
						|
	stderr: process.stderr,
 | 
						|
});
 | 
						|
 | 
						|
const start = async () => {
 | 
						|
	try {
 | 
						|
		const stat = fs.statSync(_dirname + '/../packages/backend/built/boot/entry.js');
 | 
						|
		if (!stat) throw new Error('not exist yet');
 | 
						|
		if (stat.size === 0) throw new Error('not built yet');
 | 
						|
 | 
						|
		const subprocess = await execa('pnpm', ['start'], {
 | 
						|
			cwd: _dirname + '/../',
 | 
						|
			stdout: process.stdout,
 | 
						|
			stderr: process.stderr,
 | 
						|
		});
 | 
						|
 | 
						|
		// なぜかworkerだけが終了してmasterが残るのでその対策
 | 
						|
		process.on('SIGINT', () => {
 | 
						|
			subprocess.kill('SIGINT');
 | 
						|
			process.exit(0);
 | 
						|
		});
 | 
						|
	} catch (e) {
 | 
						|
		await new Promise(resolve => setTimeout(resolve, 3000));
 | 
						|
		start();
 | 
						|
	}
 | 
						|
};
 | 
						|
 | 
						|
start();
 |