mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-01 15:05:32 +02:00
Compare commits
3 Commits
minify-bun
...
minify-nod
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8cce6dff51 | ||
|
|
6e99acf7a7 | ||
|
|
553a147396 |
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"version": "2026.1.0-alpha.0",
|
"version": "2026.1.0-alpha.1",
|
||||||
"codename": "nasubi",
|
"codename": "nasubi",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import fs from 'node:fs';
|
import fs from 'node:fs';
|
||||||
import { fileURLToPath } from 'node:url';
|
import { fileURLToPath } from 'node:url';
|
||||||
import { dirname, join } from 'node:path';
|
import { dirname, join } from 'node:path';
|
||||||
import { build } from 'esbuild';
|
import * as esbuild from 'esbuild';
|
||||||
import { swcPlugin } from 'esbuild-plugin-swc';
|
import { swcPlugin } from 'esbuild-plugin-swc';
|
||||||
|
|
||||||
const _filename = fileURLToPath(import.meta.url);
|
const _filename = fileURLToPath(import.meta.url);
|
||||||
@@ -103,12 +103,16 @@ if (!args.includes('--no-clean')) {
|
|||||||
fs.rmSync('./built', { recursive: true, force: true });
|
fs.rmSync('./built', { recursive: true, force: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//await minifyJsFiles(join(_dirname, 'node_modules'));
|
||||||
|
|
||||||
|
await minifyJsFiles(join(_dirname, '../../node_modules'));
|
||||||
|
|
||||||
await buildSrc();
|
await buildSrc();
|
||||||
|
|
||||||
async function buildSrc() {
|
async function buildSrc() {
|
||||||
console.log(`[${_package.name}] start building...`);
|
console.log(`[${_package.name}] start building...`);
|
||||||
|
|
||||||
await build(options)
|
await esbuild.build(options)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log(`[${_package.name}] build succeeded.`);
|
console.log(`[${_package.name}] build succeeded.`);
|
||||||
})
|
})
|
||||||
@@ -119,3 +123,58 @@ async function buildSrc() {
|
|||||||
|
|
||||||
console.log(`[${_package.name}] finish building.`);
|
console.log(`[${_package.name}] finish building.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function minifyJsFile(fullPath) {
|
||||||
|
if (!fullPath.includes('node_modules') || fullPath.includes('storybook') || fullPath.includes('tensorflow') || fullPath.includes('vite') || fullPath.includes('vue') || fullPath.includes('esbuild') || fullPath.includes('typescript') || fullPath.includes('css') || fullPath.includes('lint') || fullPath.includes('roll') || fullPath.includes('sass')) {
|
||||||
|
console.log(`Skipped: ${fullPath}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const data = fs.readFileSync(fullPath, 'utf-8');
|
||||||
|
if (data.includes('0 && (module.exports')) {
|
||||||
|
console.log(`Skipped: ${fullPath}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//await esbuild.build({
|
||||||
|
// entryPoints: [fullPath],
|
||||||
|
// minifyWhitespace: true,
|
||||||
|
// outdir: dirname(fullPath),
|
||||||
|
// allowOverwrite: true,
|
||||||
|
//});
|
||||||
|
const result = await esbuild.transform(data, {
|
||||||
|
minifyWhitespace: true,
|
||||||
|
minifyIdentifiers: true,
|
||||||
|
minifySyntax: false, // nestjsが壊れる
|
||||||
|
treeShaking: false,
|
||||||
|
});
|
||||||
|
fs.writeFileSync(fullPath, result.code, 'utf-8');
|
||||||
|
console.log(`Minified: ${fullPath}`);
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
} catch (err) {
|
||||||
|
console.log(`Skipped (error): ${fullPath}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function minifyJsFiles(dir) {
|
||||||
|
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
||||||
|
for (const entry of entries) {
|
||||||
|
const fullPath = join(dir, entry.name);
|
||||||
|
if (entry.isDirectory()) {
|
||||||
|
await minifyJsFiles(fullPath);
|
||||||
|
} else if (entry.isFile() && entry.name.endsWith('.js')) {
|
||||||
|
await minifyJsFile(fullPath);
|
||||||
|
} else {
|
||||||
|
// resolve symbolic link
|
||||||
|
const stats = fs.lstatSync(fullPath);
|
||||||
|
if (stats.isSymbolicLink()) {
|
||||||
|
const realPath = fs.realpathSync(fullPath);
|
||||||
|
const realStats = fs.statSync(realPath);
|
||||||
|
if (realStats.isDirectory()) {
|
||||||
|
await minifyJsFiles(realPath);
|
||||||
|
} else if (realStats.isFile() && realPath.endsWith('.js')) {
|
||||||
|
await minifyJsFile(realPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"name": "misskey-js",
|
"name": "misskey-js",
|
||||||
"version": "2026.1.0-alpha.0",
|
"version": "2026.1.0-alpha.1",
|
||||||
"description": "Misskey SDK for JavaScript",
|
"description": "Misskey SDK for JavaScript",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "./built/index.js",
|
"main": "./built/index.js",
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ const fs = require('fs');
|
|||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
fs.rmSync(__dirname + '/../packages/backend/built', { recursive: true, force: true });
|
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/backend/node_modules', { recursive: true, force: true });
|
||||||
|
|
||||||
fs.rmSync(__dirname + '/../packages/frontend-shared/built', { recursive: true, force: true });
|
fs.rmSync(__dirname + '/../packages/frontend-shared/built', { recursive: true, force: true });
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ const fs = require('fs');
|
|||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
fs.rmSync(__dirname + '/../packages/backend/built', { recursive: true, force: true });
|
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-shared/built', { recursive: true, force: true });
|
||||||
fs.rmSync(__dirname + '/../packages/frontend/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/frontend-embed/built', { recursive: true, force: true });
|
||||||
|
|||||||
Reference in New Issue
Block a user