120 lines
1.7 KiB
JavaScript
120 lines
1.7 KiB
JavaScript
// Vorlagen für die .gitignore, die per Knopf in ein Repo geschrieben werden.
|
|
|
|
const GENERAL = `# Betriebssystem / Editor
|
|
.DS_Store
|
|
Thumbs.db
|
|
desktop.ini
|
|
.vscode/
|
|
.idea/
|
|
|
|
# Zugangsdaten und Logs
|
|
.env
|
|
.env.*
|
|
*.pem
|
|
*.key
|
|
*.log
|
|
`;
|
|
|
|
const TEMPLATES = {
|
|
node: {
|
|
label: 'Node.js',
|
|
content: `# Node.js
|
|
node_modules/
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.npm/
|
|
.cache/
|
|
`
|
|
},
|
|
dotnet: {
|
|
label: '.NET',
|
|
content: `# .NET
|
|
bin/
|
|
obj/
|
|
.vs/
|
|
*.user
|
|
*.suo
|
|
*.nupkg
|
|
`
|
|
},
|
|
electron: {
|
|
label: 'Electron',
|
|
content: `# Electron
|
|
dist/
|
|
out/
|
|
release/
|
|
*.exe
|
|
*.blockmap
|
|
*.sha256
|
|
`
|
|
},
|
|
python: {
|
|
label: 'Python',
|
|
content: `# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
.venv/
|
|
venv/
|
|
*.egg-info/
|
|
.pytest_cache/
|
|
.mypy_cache/
|
|
build/
|
|
dist/
|
|
`
|
|
},
|
|
java: {
|
|
label: 'Java (Maven/Gradle)',
|
|
content: `# Java
|
|
target/
|
|
build/
|
|
.gradle/
|
|
*.class
|
|
*.jar
|
|
*.war
|
|
*.iml
|
|
out/
|
|
`
|
|
},
|
|
php: {
|
|
label: 'PHP',
|
|
content: `# PHP
|
|
vendor/
|
|
composer.phar
|
|
.phpunit.result.cache
|
|
`
|
|
},
|
|
unity: {
|
|
label: 'Unity',
|
|
content: `# Unity
|
|
[Ll]ibrary/
|
|
[Tt]emp/
|
|
[Oo]bj/
|
|
[Bb]uild/
|
|
[Bb]uilds/
|
|
[Ll]ogs/
|
|
[Uu]ser[Ss]ettings/
|
|
*.csproj
|
|
*.sln
|
|
`
|
|
}
|
|
};
|
|
|
|
function listTemplates() {
|
|
return Object.entries(TEMPLATES).map(([key, t]) => ({ key, label: t.label }));
|
|
}
|
|
|
|
// Baut die Datei aus dem allgemeinen Teil und den gewählten Vorlagen (unbekannte Schlüssel entfallen).
|
|
function buildGitignore(keys) {
|
|
const parts = [GENERAL];
|
|
const seen = new Set();
|
|
for (const key of keys || []) {
|
|
if (seen.has(key) || !Object.prototype.hasOwnProperty.call(TEMPLATES, key)) continue;
|
|
seen.add(key);
|
|
parts.push(TEMPLATES[key].content);
|
|
}
|
|
return parts.join('\n');
|
|
}
|
|
|
|
module.exports = { listTemplates, buildGitignore };
|