Merge tag '2023.12.0-beta.5' into merge-upstream

This commit is contained in:
riku6460 2023-12-21 07:03:04 +09:00
commit 00c9e43861
No known key found for this signature in database
GPG key ID: 27414FA27DB94CF6
150 changed files with 4706 additions and 2076 deletions

View file

@ -103,6 +103,7 @@ if (process.argv.includes("--watch")) {
for await (const event of watcher) {
const filename = event.filename?.replaceAll('\\', '/');
if (/^[a-z]+-[A-Z]+\.yml/.test(filename)) {
console.log(`update ${filename} ...`)
locales = buildLocales();
await copyFrontendLocales()
}

View file

@ -4,7 +4,24 @@
*/
const fs = require('fs');
const meta = require('../package.json');
const packageJsonPath = __dirname + '/../package.json'
fs.mkdirSync(__dirname + '/../built', { recursive: true });
fs.writeFileSync(__dirname + '/../built/meta.json', JSON.stringify({ version: meta.version }), 'utf-8');
function build() {
try {
const json = fs.readFileSync(packageJsonPath, 'utf-8')
const meta = JSON.parse(json);
fs.mkdirSync(__dirname + '/../built', { recursive: true });
fs.writeFileSync(__dirname + '/../built/meta.json', JSON.stringify({ version: meta.version }), 'utf-8');
} catch (e) {
console.error(e)
}
}
build();
if (process.argv.includes("--watch")) {
fs.watch(packageJsonPath, (event, filename) => {
console.log(`update ${filename} ...`)
build()
})
}

View file

@ -3,7 +3,6 @@
* 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';
@ -11,8 +10,6 @@ import { execa } from 'execa';
const _filename = fileURLToPath(import.meta.url);
const _dirname = dirname(_filename);
const vitePort = process.env.VITE_PORT ? ["--strictPort", "--port", process.env.VITE_PORT] : ["--strictPort"];
await execa('pnpm', ['clean'], {
cwd: _dirname + '/../',
stdout: process.stdout,
@ -31,19 +28,25 @@ await execa('pnpm', ['build-assets'], {
stderr: process.stderr,
});
execa('pnpm', ['build-pre', '--watch'], {
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'], {
execa('pnpm', ['--filter', 'backend', 'dev'], {
cwd: _dirname + '/../',
stdout: process.stdout,
stderr: process.stderr,
});
execa('pnpm', ['--filter', 'frontend', 'watch', ...vitePort], {
execa('pnpm', ['--filter', 'frontend', 'dev'], {
cwd: _dirname + '/../',
stdout: process.stdout,
stderr: process.stderr,
@ -55,27 +58,8 @@ execa('pnpm', ['--filter', 'sw', 'watch'], {
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();
execa('pnpm', ['--filter', 'misskey-js', 'watch'], {
cwd: _dirname + '/../',
stdout: process.stdout,
stderr: process.stderr,
});