feat: turbostarter boilerplate
Production-ready Next.js boilerplate with: - Runtime env validation (fail-fast on missing vars) - Feature-gated config (S3, Stripe, email, OAuth) - Docker + Coolify deployment pipeline - PostgreSQL + pgvector, MinIO S3, Better Auth - TypeScript strict mode (no ignoreBuildErrors) - i18n (en/es), AI modules, billing, monitoring Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
20
packages/cms/src/utils/index.ts
Normal file
20
packages/cms/src/utils/index.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { exec } from "child_process";
|
||||
import { promisify } from "util";
|
||||
|
||||
const execPromise = promisify(exec);
|
||||
|
||||
export const getLastModifiedAt = async (filePath: string) => {
|
||||
try {
|
||||
const { stdout } = await execPromise(
|
||||
`git log -1 --format=%ai -- ${filePath}`,
|
||||
);
|
||||
|
||||
if (stdout) {
|
||||
return new Date(stdout.trim()).toISOString();
|
||||
}
|
||||
|
||||
return new Date().toISOString();
|
||||
} catch {
|
||||
return new Date().toISOString();
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user