mirror of
https://github.com/fluxscape/fluxscape.git
synced 2026-01-12 07:12:54 +01:00
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>
This commit is contained in:
21
packages/noodl-git/src/core/attributes.ts
Normal file
21
packages/noodl-git/src/core/attributes.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
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');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user