Files
fluxscape/packages/noodl-git/src/core/attributes.ts
Michael Cartner b9c60b07dc Initial commit
Co-Authored-By: Eric Tuvesson <eric.tuvesson@gmail.com>
Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com>
Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com>
Co-Authored-By: Anders Larsson <64838990+anders-topp@users.noreply.github.com>
Co-Authored-By: Johan  <4934465+joolsus@users.noreply.github.com>
Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com>
Co-Authored-By: victoratndl <99176179+victoratndl@users.noreply.github.com>
2024-01-26 11:52:55 +01:00

22 lines
666 B
TypeScript

import path from 'path';
import fs from 'fs';
export async function appendGitAttributes(repositoryDir: string, newItems: string[]) {
const gitAttributesPath = path.join(repositoryDir, '.gitattributes');
const content = fs.existsSync(gitAttributesPath)
? await fs.promises.readFile(gitAttributesPath, { encoding: 'utf-8' })
: '';
const lineByLine = content.split('\n').map((x) => x.trim());
const newContent = [];
newItems.forEach((text) => {
if (!lineByLine.includes(text)) {
newContent.push(text);
}
});
if (newContent.length > 0) {
await fs.promises.appendFile(gitAttributesPath, newContent.join('\r\n') + '\r\n');
}
}