mirror of
https://github.com/fluxscape/fluxscape.git
synced 2026-01-11 23:02:55 +01:00
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>
22 lines
666 B
TypeScript
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');
|
|
}
|
|
}
|