Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 58e1afaa45 | |||
| 250b7c5261 | |||
| 935e519662 | |||
| c6dbd152d5 |
@@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.6.4](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.6.3...v1.6.4) (2026-03-03)
|
||||||
|
|
||||||
|
## [1.6.3](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.6.2...v1.6.3) (2026-03-03)
|
||||||
|
|
||||||
## [1.6.2](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.6.1...v1.6.2) (2026-02-25)
|
## [1.6.2](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.6.1...v1.6.2) (2026-02-25)
|
||||||
|
|
||||||
## [1.6.1](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.6.0...v1.6.1) (2026-02-25)
|
## [1.6.1](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.6.0...v1.6.1) (2026-02-25)
|
||||||
|
|||||||
@@ -3,12 +3,20 @@ const nextConfig = {
|
|||||||
reactStrictMode: false,
|
reactStrictMode: false,
|
||||||
experimental: {
|
experimental: {
|
||||||
serverActions: true,
|
serverActions: true,
|
||||||
|
serverComponentsExternalPackages: ['@prisma/client'],
|
||||||
},
|
},
|
||||||
output: "standalone",
|
output: "standalone",
|
||||||
staticPageGenerationTimeout: 180, // tingkatkan menjadi 3 menit
|
staticPageGenerationTimeout: 180, // tingkatkan menjadi 3 menit
|
||||||
eslint: {
|
eslint: {
|
||||||
ignoreDuringBuilds: true,
|
ignoreDuringBuilds: true,
|
||||||
},
|
},
|
||||||
|
webpack: (config, { isServer }) => {
|
||||||
|
if (isServer) {
|
||||||
|
config.externals = config.externals || [];
|
||||||
|
config.externals.push('@prisma/client');
|
||||||
|
}
|
||||||
|
return config;
|
||||||
|
},
|
||||||
// async headers() {
|
// async headers() {
|
||||||
// return [
|
// return [
|
||||||
// {
|
// {
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
{
|
{
|
||||||
"name": "hipmi",
|
"name": "hipmi",
|
||||||
"version": "1.6.2",
|
"version": "1.6.4",
|
||||||
"private": true,
|
"private": true,
|
||||||
"prisma": {
|
"prisma": {
|
||||||
"seed": "bun prisma/seed.ts"
|
"seed": "bun prisma/seed.ts"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev --experimental-https",
|
"dev": "next dev --experimental-https",
|
||||||
"build": "next build",
|
"build": "prisma generate && next build",
|
||||||
"build:dev": "next build",
|
"build:dev": "prisma generate && next build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
|
"postbuild": "node scripts/postbuild.js",
|
||||||
"lint": "next lint",
|
"lint": "next lint",
|
||||||
"ver": "bunx commit-and-tag-version -- --prerelease"
|
"ver": "bunx commit-and-tag-version -- --prerelease"
|
||||||
},
|
},
|
||||||
|
|||||||
41
scripts/postbuild.js
Normal file
41
scripts/postbuild.js
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
const standaloneDir = path.join(__dirname, '../.next/standalone');
|
||||||
|
const prismaDir = path.join(__dirname, '../node_modules/.prisma');
|
||||||
|
|
||||||
|
console.log('🚀 Running postbuild script...');
|
||||||
|
|
||||||
|
// Copy Prisma binaries ke standalone output
|
||||||
|
if (fs.existsSync(prismaDir)) {
|
||||||
|
const dest = path.join(standaloneDir, 'node_modules/.prisma');
|
||||||
|
fs.mkdirSync(path.dirname(dest), { recursive: true });
|
||||||
|
fs.cpSync(prismaDir, dest, { recursive: true });
|
||||||
|
console.log('✓ Prisma binaries copied to standalone output');
|
||||||
|
} else {
|
||||||
|
console.warn('⚠ Prisma binaries directory not found, skipping...');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Copy schema.prisma jika diperlukan
|
||||||
|
const schemaSrc = path.join(__dirname, '../prisma/schema.prisma');
|
||||||
|
const schemaDest = path.join(standaloneDir, 'prisma/schema.prisma');
|
||||||
|
if (fs.existsSync(schemaSrc)) {
|
||||||
|
fs.mkdirSync(path.dirname(schemaDest), { recursive: true });
|
||||||
|
fs.copyFileSync(schemaSrc, schemaDest);
|
||||||
|
console.log('✓ schema.prisma copied to standalone output');
|
||||||
|
} else {
|
||||||
|
console.warn('⚠ schema.prisma not found, skipping...');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Copy prisma client dari node_modules/@prisma/client
|
||||||
|
const prismaClientSrc = path.join(__dirname, '../node_modules/@prisma/client');
|
||||||
|
const prismaClientDest = path.join(standaloneDir, 'node_modules/@prisma/client');
|
||||||
|
if (fs.existsSync(prismaClientSrc)) {
|
||||||
|
fs.mkdirSync(path.dirname(prismaClientDest), { recursive: true });
|
||||||
|
fs.cpSync(prismaClientSrc, prismaClientDest, { recursive: true });
|
||||||
|
console.log('✓ @prisma/client copied to standalone output');
|
||||||
|
} else {
|
||||||
|
console.warn('⚠ @prisma/client not found, skipping...');
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('✅ Postbuild script completed!');
|
||||||
@@ -25,15 +25,21 @@ export default function WaitingRoom_View({
|
|||||||
const [isLoadingHome, setIsLoadingHome] = useState(false);
|
const [isLoadingHome, setIsLoadingHome] = useState(false);
|
||||||
|
|
||||||
async function onClickLogout() {
|
async function onClickLogout() {
|
||||||
setLoading(true);
|
try {
|
||||||
const res = await fetch(`/api/auth/logout?id=${userLoginId}`, {
|
setLoading(true);
|
||||||
method: "GET",
|
const res = await fetch(`/api/auth/logout?id=${userLoginId}`, {
|
||||||
});
|
method: "GET",
|
||||||
|
});
|
||||||
|
|
||||||
const result = await res.json();
|
const result = await res.json();
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
ComponentGlobal_NotifikasiBerhasil(result.message);
|
ComponentGlobal_NotifikasiBerhasil(result.message);
|
||||||
router.push("/", { scroll: false });
|
router.push("/", { scroll: false });
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error button to home", error);
|
||||||
|
} finally {
|
||||||
|
setLoading(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,7 +89,8 @@ export default function WaitingRoom_View({
|
|||||||
</Text>
|
</Text>
|
||||||
<Text fw={"bold"} c={"white"} align="center">
|
<Text fw={"bold"} c={"white"} align="center">
|
||||||
Harap tunggu, Anda akan menerima pemberitahuan melalui
|
Harap tunggu, Anda akan menerima pemberitahuan melalui
|
||||||
Whatsapp setelah disetujui.
|
Whatsapp setelah disetujui, untuk sementara anda bisa
|
||||||
|
menunggu pada halaman ini atau keluar.
|
||||||
</Text>
|
</Text>
|
||||||
</Stack>
|
</Stack>
|
||||||
{isAccess && (
|
{isAccess && (
|
||||||
@@ -110,6 +117,10 @@ export default function WaitingRoom_View({
|
|||||||
Home
|
Home
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
<Button color="red" loading={loading} onClick={onClickLogout}>
|
||||||
|
Keluar
|
||||||
|
</Button>
|
||||||
</Stack>
|
</Stack>
|
||||||
)}
|
)}
|
||||||
</ComponentGlobal_CardStyles>
|
</ComponentGlobal_CardStyles>
|
||||||
|
|||||||
@@ -12,11 +12,21 @@ if (process.env.NODE_ENV === "production") {
|
|||||||
prisma = new PrismaClient({
|
prisma = new PrismaClient({
|
||||||
// Reduce logging in production to improve performance
|
// Reduce logging in production to improve performance
|
||||||
log: ['error', 'warn'],
|
log: ['error', 'warn'],
|
||||||
|
datasources: {
|
||||||
|
db: {
|
||||||
|
url: process.env.DATABASE_URL,
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if (!global.prisma) {
|
if (!global.prisma) {
|
||||||
global.prisma = new PrismaClient({
|
global.prisma = new PrismaClient({
|
||||||
log: ['error', 'warn', 'info', 'query'], // More verbose logging in development
|
log: ['error', 'warn', 'info', 'query'], // More verbose logging in development
|
||||||
|
datasources: {
|
||||||
|
db: {
|
||||||
|
url: process.env.DATABASE_URL,
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
prisma = global.prisma;
|
prisma = global.prisma;
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ export const middleware = async (req: NextRequest) => {
|
|||||||
|
|
||||||
const { pathname } = req.nextUrl;
|
const { pathname } = req.nextUrl;
|
||||||
|
|
||||||
const apiBaseUrl = new URL(req.url).origin || process.env.NEXT_PUBLIC_API_URL;
|
const apiBaseUrl = process.env.NEXT_PUBLIC_API_URL || new URL(req.url).origin;
|
||||||
// Removed excessive logging that was causing high CPU usage
|
// Removed excessive logging that was causing high CPU usage
|
||||||
// const dbUrl = process.env.DATABASE_URL;
|
// const dbUrl = process.env.DATABASE_URL;
|
||||||
// console.log("DATABASE_URL >>", dbUrl);
|
// console.log("DATABASE_URL >>", dbUrl);
|
||||||
|
|||||||
Reference in New Issue
Block a user