mirror of
https://github.com/twentyhq/twenty.git
synced 2024-12-27 22:32:49 +03:00
e2e871ca32
* Add Typescript to Danger.js * Additional check to ease local testing
46 lines
1.8 KiB
TypeScript
46 lines
1.8 KiB
TypeScript
import { danger, warn, markdown, schedule } from "danger";
|
|
import todos from "danger-plugin-todos";
|
|
|
|
function getMdSection(category: string, message: string) {
|
|
return `# ${category} <br>${message}`;
|
|
}
|
|
|
|
// Check if package.json was changed, but not yarn.lock
|
|
const packageChanged = danger.git.modified_files.includes("package.json");
|
|
const lockfileChanged = danger.git.modified_files.includes("yarn.lock");
|
|
if (packageChanged && !lockfileChanged) {
|
|
const message = "Changes were made to package.json, but not to yarn.lock";
|
|
const idea = "Perhaps you need to run `yarn install`?";
|
|
warn(`${message} - <i>${idea}</i>`);
|
|
}
|
|
|
|
// Check if .env.example was changed, but not enviroment variable documentation
|
|
const envChanged =
|
|
danger.git.modified_files.includes(".env.example") ||
|
|
danger.git.modified_files.includes("environment.service.ts");
|
|
const envDocsChanged = danger.git.modified_files.includes(
|
|
"enviroment-variables.mdx"
|
|
);
|
|
if (envChanged && !envDocsChanged) {
|
|
const message =
|
|
"Changes were made to the enviroment variables, but not to the documentation";
|
|
const idea =
|
|
"Please review your changes and check if a change needs to be documented!";
|
|
warn(`${message} - <i>${idea}</i>`);
|
|
}
|
|
|
|
// CLA alert if first time contributor
|
|
if (danger.github && danger.github.pr &&
|
|
(danger.github.pr.author_association === "FIRST_TIME_CONTRIBUTOR" ||
|
|
danger.github.pr.author_association === "NONE")
|
|
) {
|
|
markdown(getMdSection('CLA', `
|
|
Hello there and welcome to our project!
|
|
By submitting your Pull Request, you acknowledge that you agree with the terms of our [Contributor License Agreement](https://github.com/twentyhq/twenty/blob/main/.github/CLA.md).
|
|
Although we don't have a dedicated legal counsel, having this kind of agreement can protect us from potential legal issues or patent trolls.
|
|
Thank you for your understanding.`))
|
|
}
|
|
|
|
// TODOS / Fixme
|
|
schedule(todos());
|