I have a utility function of Cloudinary upload using their SDK. I am working in NEXT JS 14 and server action but encountering an error
TypeError: Cannot read properties of undefined (reading 'node')
When I import my utility function, then I get the error else not. Here are my imports
import uploadToCloudinary from "@/service/uploadToCloudinary"; // works if I comment it out
import { constants } from "@/config";
import { supabase } from "@/lib";
import { isCategoryUnique, isLoggedIn } from "@/middlewares";
uploadToCloudinary.js
const cloudinary = require("cloudinary");
// Configure Cloudinary with your account details
cloudinary.config({
cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
api_key: process.env.CLOUDINARY_API_KEY,
api_secret: process.env.CLOUDINARY_API_SECRET,
});
// eslint-disable-next-line import/no-anonymous-default-export
export default async (file, folder) => {
try {
const { secure_url, public_id } = await cloudinary?.v2?.uploader?.upload(
file,
{
folder,
upload_preset: process.env.CLOUDINARY_PRESET,
}
);
return {
success: true,
data: { secure_url, public_id },
};
} catch (error) {
console.error("Error uploading file to Cloudinary:", error);
return {
success: false,
data: "Internal Server Error",
};
}
};