chore: let pnpm detect dependencies

This commit is contained in:
naskya 2024-05-10 02:24:25 +09:00
parent bd88c3399f
commit fc7de024c6
No known key found for this signature in database
GPG key ID: 712D413B3A9FED5C
4 changed files with 24 additions and 69 deletions

View file

@ -9,9 +9,9 @@
"private": true, "private": true,
"scripts": { "scripts": {
"rebuild": "pnpm run clean && pnpm run build", "rebuild": "pnpm run clean && pnpm run build",
"build": "pnpm node ./scripts/build.mjs && pnpm run build:assets", "build": "pnpm --recursive --color run build && pnpm node ./scripts/copy-index.mjs && pnpm run build:assets",
"build:assets": "pnpm node ./scripts/copy-assets.mjs", "build:assets": "pnpm node ./scripts/copy-assets.mjs",
"build:debug": "pnpm run clean && pnpm node ./scripts/dev-build.mjs && pnpm run build:assets", "build:debug": "pnpm run clean && pnpm --recursive --color run build:debug && pnpm node ./scripts/copy-index-dev.mjs && pnpm run build:assets",
"start": "pnpm --filter backend run start", "start": "pnpm --filter backend run start",
"start:container": "pnpm run build:assets && pnpm run migrate && pnpm run start", "start:container": "pnpm run build:assets && pnpm run migrate && pnpm run start",
"start:test": "pnpm --filter backend run start:test", "start:test": "pnpm --filter backend run start:test",

View file

@ -1,38 +0,0 @@
import fs from "node:fs";
import path, { join } from "node:path";
import { fileURLToPath } from "node:url";
import { execa } from "execa";
(async () => {
const __dirname = path.dirname(fileURLToPath(import.meta.url));
await execa(
"pnpm", [
"--recursive",
"--parallel",
"--filter=backend-rs",
"--filter=firefish-js",
"run",
"build",
], {
cwd: join(__dirname, "/../"),
stdio: "inherit",
}
);
await execa(
"pnpm", [
"--recursive",
"--parallel",
"--filter=!backend-rs",
"--filter=!firefish-js",
"run",
"build",
], {
cwd: join(__dirname, "/../"),
stdio: "inherit",
}
);
fs.copyFileSync("packages/backend-rs/index.js", "packages/backend-rs/built/index.js");
})();

View file

@ -1,39 +1,15 @@
// To mitigate this issue https://github.com/napi-rs/napi-rs/issues/1768
// During development, the contents of index.js/index.d.ts may change,
// so this script only copies these files when this bug occurs
import path, { join } from "node:path"; import path, { join } from "node:path";
import { fileURLToPath } from "node:url"; import { fileURLToPath } from "node:url";
import { execa } from "execa";
import fs from "node:fs"; import fs from "node:fs";
(async () => { (async () => {
const __dirname = path.dirname(fileURLToPath(import.meta.url)); const __dirname = path.dirname(fileURLToPath(import.meta.url));
await execa(
"pnpm", [
"--recursive",
"--parallel",
"--filter=backend-rs",
"--filter=firefish-js",
"run",
"build:debug",
], {
cwd: join(__dirname, "/../"),
stdio: "inherit",
}
);
await execa(
"pnpm", [
"--recursive",
"--parallel",
"--filter=!backend-rs",
"--filter=!firefish-js",
"run",
"build:debug",
], {
cwd: join(__dirname, "/../"),
stdio: "inherit",
}
);
if (!fs.existsSync(join(__dirname, "/../packages/backend-rs/built/index.js"))) { if (!fs.existsSync(join(__dirname, "/../packages/backend-rs/built/index.js"))) {
fs.copyFileSync( fs.copyFileSync(
join(__dirname, "/../packages/backend-rs/index.js"), join(__dirname, "/../packages/backend-rs/index.js"),
@ -46,5 +22,6 @@ import fs from "node:fs";
join(__dirname, "/../packages/backend-rs/index.d.ts"), join(__dirname, "/../packages/backend-rs/index.d.ts"),
join(__dirname, "/../packages/backend-rs/built/index.d.ts"), join(__dirname, "/../packages/backend-rs/built/index.d.ts"),
); );
console.warn("backend-rs/built/index.d.ts has not been updated (https://github.com/napi-rs/napi-rs/issues/1768)");
} }
})(); })();

16
scripts/copy-index.mjs Normal file
View file

@ -0,0 +1,16 @@
// To mitigate this issue https://github.com/napi-rs/napi-rs/issues/1768
// Adding index.js/index.d.ts to the repository is recommended by
// napi-rs maintainer: https://github.com/napi-rs/napi-rs/issues/1807#issuecomment-1814510181
import path, { join } from "node:path";
import { fileURLToPath } from "node:url";
import fs from "node:fs";
(async () => {
const __dirname = path.dirname(fileURLToPath(import.meta.url));
fs.copyFileSync(
join(__dirname, "/../packages/backend-rs/index.js"),
join(__dirname, "/../packages/backend-rs/built/index.js"),
);
})();