mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-06-01 06:12:54 +00:00
@@ -103,11 +103,6 @@ for (var subdomain in domains) {
|
||||
if (domainData.record.URL) {
|
||||
records.push(A(subdomainName, IP("192.0.2.1"), CF_PROXY_ON));
|
||||
}
|
||||
|
||||
// Handle redirects
|
||||
if (domainData.redirect_config && !domainData.record.A && !domainData.record.AAAA && !domainData.record.CNAME) {
|
||||
records.push(A(subdomainName, IP("192.0.2.1"), CF_PROXY_ON));
|
||||
}
|
||||
}
|
||||
|
||||
var options = {
|
||||
|
||||
+3
-2
@@ -165,10 +165,11 @@ t("All files should have valid required and optional fields", (t) => {
|
||||
// Validate email format
|
||||
if (data.owner.email) {
|
||||
t.regex(data.owner.email, emailRegex, `${file}: Owner email should be a valid email address`);
|
||||
t.true(!data.owner.email.endsWith("@users.noreply.github.com"), `${file}: Owner email should not be a GitHub no-reply email`);
|
||||
}
|
||||
|
||||
// Ensure 'record' field is not empty unless using redirect_config
|
||||
t.true(Object.keys(data.record).length > 0 || data.redirect_config.custom_paths, `${file}: Missing DNS records`);
|
||||
// Ensure 'record' field is not empty
|
||||
t.true(Object.keys(data.record).length > 0, `${file}: Missing DNS records`);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
+11
-2
@@ -215,8 +215,8 @@ function validateRecordValues(t, data, file) {
|
||||
`${urlMessage} must start with a slash, contain only alphanumeric characters, hyphens, underscores, periods, and slashes, and cannot end with a slash at index ${idx}`
|
||||
);
|
||||
t.true(
|
||||
customPath.length >= 1 && customPath.length <= 255,
|
||||
`${urlMessage} should be 1-255 characters long at index ${idx}`
|
||||
customPath.length >= 2 && customPath.length <= 255,
|
||||
`${urlMessage} should be 2-255 characters long at index ${idx}`
|
||||
);
|
||||
|
||||
// Validate the redirect URL
|
||||
@@ -266,6 +266,15 @@ t("All files should have valid record types", (t) => {
|
||||
`${file}: URL records cannot be combined with A, AAAA, or CNAME records`
|
||||
);
|
||||
}
|
||||
if (data.redirect_config) {
|
||||
t.true(
|
||||
recordKeys.includes("URL") || data.proxied,
|
||||
`${file}: Redirect config must be combined with a URL record or the domain must be proxied`
|
||||
);
|
||||
if (data.redirect_config.redirect_paths) {
|
||||
t.true(recordKeys.includes("URL"), `${file}: redirect_config.redirect_paths requires a URL record`);
|
||||
}
|
||||
}
|
||||
|
||||
validateRecordValues(t, data, file);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user