summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorおさむのひと <46447427+samunohito@users.noreply.github.com>2023-12-14 20:16:02 +0900
committerGitHub <noreply@github.com>2023-12-14 20:16:02 +0900
commit386fcedf3525eb18ed2297bd93d45d1d78a36f84 (patch)
tree98283bc709a08f23c84f539ac787e8923baa748f /scripts
parentupdate deps (diff)
downloadsharkey-386fcedf3525eb18ed2297bd93d45d1d78a36f84.tar.gz
sharkey-386fcedf3525eb18ed2297bd93d45d1d78a36f84.tar.bz2
sharkey-386fcedf3525eb18ed2297bd93d45d1d78a36f84.zip
(dev-mode) devモードの改善 (#12639)
* fix dev-mode * fix dev-mode * fix dev-mode * fix dev-mode --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build-assets.mjs1
-rw-r--r--scripts/build-pre.js23
-rw-r--r--scripts/dev.mjs42
3 files changed, 34 insertions, 32 deletions
diff --git a/scripts/build-assets.mjs b/scripts/build-assets.mjs
index f8f09ec2fb..2e1268130c 100644
--- a/scripts/build-assets.mjs
+++ b/scripts/build-assets.mjs
@@ -95,6 +95,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()
}
diff --git a/scripts/build-pre.js b/scripts/build-pre.js
index bf3e355b5b..ed75aa6553 100644
--- a/scripts/build-pre.js
+++ b/scripts/build-pre.js
@@ -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()
+ })
+}
diff --git a/scripts/dev.mjs b/scripts/dev.mjs
index 1d06aa541f..30dbebcf0f 100644
--- a/scripts/dev.mjs
+++ b/scripts/dev.mjs
@@ -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,
+});