we have a task from November, 1 to November, 20. And we want to prevent shrinking or moving this task before November, 10. I think we could set the end date constraint just for the end date in this case.
this requirement is not really clear, but I believe you meant the constraint should be for endDate to be >= Nov 10, together with startDate which is earlier than Nov 10.
I believe all you need is to adjust the requirement to format startDate/endDate bounds. calculate bounds for startDate according to task duration and set constraint in regular format.
Pseudo code
getDateConstraints(taskRecord) {
const
diff = taskRecord.endDate - "Nov 10 date",
contraintStart = taskRecord.startDate - diff;
return { start : contraintStart, end: null };
}