chore: use ignore-walk

This commit is contained in:
Acid Chicken (硫酸鶏) 2024-02-12 01:24:14 +09:00
parent 30224a8474
commit 95c4bb47e1
No known key found for this signature in database
GPG Key ID: 3E87B98A3F6BAB99
3 changed files with 21 additions and 22 deletions

View File

@ -62,6 +62,7 @@
"cypress": "13.6.3", "cypress": "13.6.3",
"eslint": "8.56.0", "eslint": "8.56.0",
"fast-glob": "3.3.2", "fast-glob": "3.3.2",
"ignore-walk": "6.0.4",
"ncp": "2.0.0", "ncp": "2.0.0",
"start-server-and-test": "2.0.3", "start-server-and-test": "2.0.3",
"tar": "6.2.0" "tar": "6.2.0"

View File

@ -53,6 +53,9 @@ importers:
fast-glob: fast-glob:
specifier: 3.3.2 specifier: 3.3.2
version: 3.3.2 version: 3.3.2
ignore-walk:
specifier: 6.0.4
version: 6.0.4
ncp: ncp:
specifier: 2.0.0 specifier: 2.0.0
version: 2.0.0 version: 2.0.0
@ -13494,6 +13497,13 @@ packages:
resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
dev: true dev: true
/ignore-walk@6.0.4:
resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
dependencies:
minimatch: 9.0.3
dev: true
/ignore@5.2.4: /ignore@5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'} engines: {node: '>= 4'}

View File

@ -3,37 +3,25 @@ import { mkdir } from 'node:fs/promises';
import { resolve } from 'node:path'; import { resolve } from 'node:path';
import { fileURLToPath } from 'node:url'; import { fileURLToPath } from 'node:url';
import glob from 'fast-glob'; import glob from 'fast-glob';
import walk from 'ignore-walk';
import Pack from 'tar/lib/pack.js'; import Pack from 'tar/lib/pack.js';
import meta from '../package.json' assert { type: "json" }; import meta from '../package.json' assert { type: "json" };
const patterns = [ const cwd = fileURLToPath(new URL('..', import.meta.url));
'{assets,fluent-emojis,locales,misskey-assets}/**/*', const ignore = [
'packages/.config/example.yml', '**/.git/**/*',
'packages/{backend,frontend,misskey-bubble-game,misskey-js,misskey-js/generator,misskey-reversi,sw}/{src/**/*,.swcrc,*}', '**/*ignore',
'packages/backend/{assets,migration,nsfw-model}/**/*', '**/.gitmodules',
'packages/frontend/{.storybook,@types,assets,lib,public}/**/*', // Exclude files you don't want to include in the tarball here
'!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',
]; ];
export default async function build() { export default async function build() {
const cwd = fileURLToPath(new URL('..', import.meta.url));
const mkdirPromise = mkdir(resolve(cwd, 'built', 'tarball'), { recursive: true }); const mkdirPromise = mkdir(resolve(cwd, 'built', 'tarball'), { recursive: true });
const pack = new Pack({ cwd, gzip: true }); const pack = new Pack({ cwd, gzip: true });
const patterns = await walk({ path: cwd, ignoreFiles: ['.gitignore'] });
for await (const entry of glob.stream(patterns)) { for await (const entry of glob.stream(patterns, { cwd, ignore, dot: true })) {
console.log(entry);
pack.add(entry); pack.add(entry);
} }