UNPKG

serverless-modular

Version:

serverless framework plugin for feature management

46 lines (42 loc) 2.1 kB
const fsPath = require('fs-path'); const fs = require('fs'); const utils = require('../../utils'); async function updateGitignore(cwd) { const gitIgnorePath = `${cwd}/.gitignore`; const nodeModulesIgnoreStr = '\n# node_modules\nnode_modules\n'; const functionsIgnoreStr = '\n# sm main functions\nsm.functions.yml\n'; const slsIgnoreStr = '\n# serverless file generated by build\nsrc/**/serverless.yml\n'; const slsDirectoryIgnoreStr = '\n# feature serverless directories generated sls deploy\nsrc/**/.serverless\n'; const mainSlsDirectoryIgnoreStr = '\n# main serverless directories generated for sls deploy\n.serverless\n'; const smLogsIgnoreStr = '\n# serverless logs file generated for feature sls deploy\nsrc/**/.sm.log\n'; const mainSmLogsIgnoreStr = '\n# serverless logs file generated for main sls deploy\n.sm.log\n'; const fullGitIgnoreStr = `${nodeModulesIgnoreStr}${functionsIgnoreStr}${slsIgnoreStr}${mainSlsDirectoryIgnoreStr}${slsDirectoryIgnoreStr}${mainSmLogsIgnoreStr}${smLogsIgnoreStr}`; if (!utils.fileExits(gitIgnorePath)) { fsPath.writeFileSync(gitIgnorePath, fullGitIgnoreStr); } else { if (!utils.existsInFile('node_modules', gitIgnorePath)) { fs.appendFileSync(gitIgnorePath, nodeModulesIgnoreStr); } if (!utils.existsInFile('sm.functions.yml', gitIgnorePath)) { fs.appendFileSync(gitIgnorePath, functionsIgnoreStr); } if (!utils.existsInFile('src/**/serverless.yml', gitIgnorePath)) { fs.appendFileSync(gitIgnorePath, slsIgnoreStr); } if (!utils.existsInFile('src/**/.serverless', gitIgnorePath)) { fs.appendFileSync(gitIgnorePath, slsDirectoryIgnoreStr); } if (!utils.existsInFile('.serverless', gitIgnorePath)) { fs.appendFileSync(gitIgnorePath, mainSlsDirectoryIgnoreStr); } if (!utils.existsInFile('.sm.log', gitIgnorePath)) { fs.appendFileSync(gitIgnorePath, mainSmLogsIgnoreStr); } if (!utils.existsInFile('src/**/.sm.log', gitIgnorePath)) { fs.appendFileSync(gitIgnorePath, smLogsIgnoreStr); } } } module.exports = { updateGitignore };