From 38b3eecc8c84ed761604a15c3488cfaff6c417a4 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Tue, 6 Jan 2026 19:23:59 +0900 Subject: migrate build scripts to esmodules (#17071) * chore: migrate build scripts to esmodules * chore: do not use export default in build script --- package.json | 6 +++--- scripts/build-assets.mjs | 2 +- scripts/build-pre.js | 27 -------------------------- scripts/build-pre.mjs | 30 +++++++++++++++++++++++++++++ scripts/clean-all.js | 47 ---------------------------------------------- scripts/clean-all.mjs | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ scripts/clean.js | 21 --------------------- scripts/clean.mjs | 23 +++++++++++++++++++++++ scripts/tarball.mjs | 2 +- 9 files changed, 107 insertions(+), 100 deletions(-) delete mode 100644 scripts/build-pre.js create mode 100644 scripts/build-pre.mjs delete mode 100644 scripts/clean-all.js create mode 100644 scripts/clean-all.mjs delete mode 100644 scripts/clean.js create mode 100644 scripts/clean.mjs diff --git a/package.json b/package.json index 2601c4fc29..af9fb966aa 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "private": true, "scripts": { "compile-config": "cd packages/backend && pnpm compile-config", - "build-pre": "node ./scripts/build-pre.js", + "build-pre": "node scripts/build-pre.mjs", "build-assets": "node ./scripts/build-assets.mjs", "build": "pnpm build-pre && pnpm -r build && pnpm build-assets", "build-storybook": "pnpm --filter frontend build-storybook", @@ -48,8 +48,8 @@ "jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage", "test": "pnpm -r test", "test-and-coverage": "pnpm -r test-and-coverage", - "clean": "node ./scripts/clean.js", - "clean-all": "node ./scripts/clean-all.js", + "clean": "node scripts/clean.mjs", + "clean-all": "node scripts/clean-all.mjs", "cleanall": "pnpm clean-all" }, "resolutions": { diff --git a/scripts/build-assets.mjs b/scripts/build-assets.mjs index 0cfce02fef..1086d5a25a 100644 --- a/scripts/build-assets.mjs +++ b/scripts/build-assets.mjs @@ -7,7 +7,7 @@ import * as fs from 'node:fs/promises'; import * as path from 'node:path'; import { fileURLToPath } from 'node:url'; import * as yaml from 'js-yaml'; -import buildTarball from './tarball.mjs'; +import { buildTarball } from './tarball.mjs'; const configDir = fileURLToPath(new URL('../.config', import.meta.url)); const configPath = process.env.MISSKEY_CONFIG_YML diff --git a/scripts/build-pre.js b/scripts/build-pre.js deleted file mode 100644 index a90d53c75d..0000000000 --- a/scripts/build-pre.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -const fs = require('fs'); -const packageJsonPath = __dirname + '/../package.json' - -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/build-pre.mjs b/scripts/build-pre.mjs new file mode 100644 index 0000000000..23c2d08042 --- /dev/null +++ b/scripts/build-pre.mjs @@ -0,0 +1,30 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import * as fs from 'node:fs'; + +const __dirname = import.meta.dirname; + +const packageJsonPath = __dirname + '/../package.json' + +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/clean-all.js b/scripts/clean-all.js deleted file mode 100644 index e669eb2885..0000000000 --- a/scripts/clean-all.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -const { execSync } = require('child_process'); -const fs = require('fs'); - -(async () => { - fs.rmSync(__dirname + '/../packages/backend/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/backend/src-js', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/backend/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/frontend-shared/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/frontend-shared/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/frontend-builder/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/frontend/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/frontend/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/frontend-embed/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/frontend-embed/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/sw/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/sw/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/i18n/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/i18n/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/misskey-js/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/misskey-js/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/misskey-reversi/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/misskey-reversi/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../packages/misskey-bubble-game/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/misskey-bubble-game/node_modules', { recursive: true, force: true }); - - fs.rmSync(__dirname + '/../built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../node_modules', { recursive: true, force: true }); - - execSync('pnpm store prune', { - cwd: __dirname + '/../', - stdio: 'inherit', - }); -})(); diff --git a/scripts/clean-all.mjs b/scripts/clean-all.mjs new file mode 100644 index 0000000000..424a9c405a --- /dev/null +++ b/scripts/clean-all.mjs @@ -0,0 +1,49 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { execSync } from 'note:child_process'; +import * as fs from 'note:fs'; + +const __dirname = import.meta.dirname; + +(async () => { + fs.rmSync(__dirname + '/../packages/backend/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/backend/src-js', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/backend/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/frontend-shared/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/frontend-shared/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/frontend-builder/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/frontend/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/frontend/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/frontend-embed/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/frontend-embed/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/sw/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/sw/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/i18n/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/i18n/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/misskey-js/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-js/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/misskey-reversi/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-reversi/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../packages/misskey-bubble-game/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-bubble-game/node_modules', { recursive: true, force: true }); + + fs.rmSync(__dirname + '/../built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../node_modules', { recursive: true, force: true }); + + execSync('pnpm store prune', { + cwd: __dirname + '/../', + stdio: 'inherit', + }); +})(); diff --git a/scripts/clean.js b/scripts/clean.js deleted file mode 100644 index c1dd5b99f5..0000000000 --- a/scripts/clean.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -const fs = require('fs'); - -(async () => { - fs.rmSync(__dirname + '/../packages/backend/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/backend/src-js', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/frontend-shared/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/frontend/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/frontend-embed/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/icons-subsetter/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/i18n/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/sw/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/misskey-js/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/misskey-reversi/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../packages/misskey-bubble-game/built', { recursive: true, force: true }); - fs.rmSync(__dirname + '/../built', { recursive: true, force: true }); -})(); diff --git a/scripts/clean.mjs b/scripts/clean.mjs new file mode 100644 index 0000000000..3f632289a1 --- /dev/null +++ b/scripts/clean.mjs @@ -0,0 +1,23 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import * as fs from 'note:fs'; + +const __dirname = import.meta.dirname; + +(async () => { + fs.rmSync(__dirname + '/../packages/backend/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/backend/src-js', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/frontend-shared/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/frontend/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/frontend-embed/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/icons-subsetter/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/i18n/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/sw/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-js/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-reversi/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../packages/misskey-bubble-game/built', { recursive: true, force: true }); + fs.rmSync(__dirname + '/../built', { recursive: true, force: true }); +})(); diff --git a/scripts/tarball.mjs b/scripts/tarball.mjs index d1fe4de4f5..dc6ee07773 100644 --- a/scripts/tarball.mjs +++ b/scripts/tarball.mjs @@ -19,7 +19,7 @@ const ignore = [ // Exclude files you don't want to include in the tarball here ]; -export default async function build() { +export async function buildTarball() { const mkdirPromise = mkdir(resolve(cwd, 'built', 'tarball'), { recursive: true }); const pack = new Pack({ cwd, gzip: true }); const patterns = await walk({ path: cwd, ignoreFiles: ['.gitignore'] }); -- cgit v1.2.3-freya