43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
import { createWriteStream } from 'node:fs';
|
|
import { mkdir } from 'node:fs/promises';
|
|
import { resolve } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
import glob from 'fast-glob';
|
|
import Pack from 'tar/lib/pack.js';
|
|
import meta from '../package.json' assert { type: "json" };
|
|
|
|
const cwd = fileURLToPath(new URL('..', import.meta.url));
|
|
const mkdirPromise = mkdir(resolve(cwd, 'built', 'tarball'), { recursive: true });
|
|
const patterns = [
|
|
'{assets,fluent-emojis,locales,misskey-assets}/**/*',
|
|
'packages/.config/example.yml',
|
|
'packages/{backend,frontend,misskey-bubble-game,misskey-js,misskey-js/generator,misskey-reversi,sw}/{src/**/*,.swcrc,*}',
|
|
'packages/backend/{assets,migration,nsfw-model}/**/*',
|
|
'packages/frontend/{.storybook,@types,assets,lib,public}/**/*',
|
|
'!packages/frontend/.storybook/{locale.ts,themes.ts,*.js}',
|
|
'!packages/misskey-js/CONTRIBUTING.md',
|
|
'packages/meta.json',
|
|
'scripts/{changelog-checker/{src/**/*,*},*}',
|
|
'.node-version',
|
|
'.npmrc',
|
|
'CHANGELOD.md',
|
|
'COPYING',
|
|
'LICENSE',
|
|
'README.md',
|
|
'SECURITY.md',
|
|
'package.json',
|
|
'pnpm-lock.yaml',
|
|
'pnpm-workspace.yaml',
|
|
];
|
|
const pack = new Pack({ cwd, gzip: true });
|
|
|
|
for await (const entry of glob.stream(patterns)) {
|
|
pack.add(entry);
|
|
}
|
|
|
|
pack.end();
|
|
|
|
await mkdirPromise;
|
|
|
|
pack.pipe(createWriteStream(resolve(cwd, 'built', 'tarball', `misskey-${meta.version}.tar.gz`)));
|