Files
pole-book/server/node_modules/@strapi/cloud-cli/dist/utils/compress-files.mjs.map

1 line
5.9 KiB
Plaintext

{"version":3,"file":"compress-files.mjs","sources":["../../src/utils/compress-files.ts"],"sourcesContent":["import * as fse from 'fs-extra';\nimport * as tar from 'tar';\nimport * as path from 'path';\nimport { minimatch } from 'minimatch';\n\nconst IGNORED_PATTERNS = [\n '**/.git/**',\n '**/node_modules/**',\n '**/build/**',\n '**/dist/**',\n '**/.cache/**',\n '**/.circleci/**',\n '**/.github/**',\n '**/.gitignore',\n '**/.gitkeep',\n '**/.gitlab-ci.yml',\n '**/.idea/**',\n '**/.vscode/**',\n];\n\nconst isIgnoredFile = (folderPath: string, file: string, ignorePatterns: string[]): boolean => {\n ignorePatterns.push(...IGNORED_PATTERNS);\n const relativeFilePath = path.join(folderPath, file);\n let isIgnored = false;\n for (const pattern of ignorePatterns) {\n if (pattern.startsWith('!')) {\n if (minimatch(relativeFilePath, pattern.slice(1), { matchBase: true, dot: true })) {\n return false;\n }\n } else if (minimatch(relativeFilePath, pattern, { matchBase: true, dot: true })) {\n if (path.basename(file) !== '.gitkeep') {\n isIgnored = true;\n }\n }\n }\n return isIgnored;\n};\n\nconst getFiles = async (\n dirPath: string,\n ignorePatterns: string[] = [],\n subfolder: string = ''\n): Promise<string[]> => {\n const arrayOfFiles: string[] = [];\n const entries = await fse.readdir(path.join(dirPath, subfolder));\n\n for (const entry of entries) {\n const entryPathFromRoot = path.join(subfolder, entry);\n const entryPath = path.relative(dirPath, entryPathFromRoot);\n const isIgnored = isIgnoredFile(dirPath, entryPathFromRoot, ignorePatterns);\n\n if (!isIgnored) {\n if (fse.statSync(entryPath).isDirectory()) {\n const subFiles = await getFiles(dirPath, ignorePatterns, entryPathFromRoot);\n arrayOfFiles.push(...subFiles);\n } else {\n arrayOfFiles.push(entryPath);\n }\n }\n }\n return arrayOfFiles;\n};\n\nconst readGitignore = async (folderPath: string): Promise<string[]> => {\n const gitignorePath = path.resolve(folderPath, '.gitignore');\n const pathExist = await fse.pathExists(gitignorePath);\n\n if (!pathExist) return [];\n\n const gitignoreContent = await fse.readFile(gitignorePath, 'utf8');\n\n return gitignoreContent\n .split(/\\r?\\n/)\n .filter((line) => Boolean(line.trim()) && !line.startsWith('#'));\n};\n\nconst compressFilesToTar = async (\n storagePath: string,\n folderToCompress: string,\n filename: string\n): Promise<void> => {\n const ignorePatterns = await readGitignore(folderToCompress);\n const filesToCompress = await getFiles(folderToCompress, ignorePatterns);\n\n return tar.c(\n {\n gzip: true,\n file: path.resolve(storagePath, filename),\n },\n filesToCompress\n );\n};\n\nexport { compressFilesToTar, isIgnoredFile };\n"],"names":["IGNORED_PATTERNS","isIgnoredFile","folderPath","file","ignorePatterns","push","relativeFilePath","path","join","isIgnored","pattern","startsWith","minimatch","slice","matchBase","dot","basename","getFiles","dirPath","subfolder","arrayOfFiles","entries","fse","readdir","entry","entryPathFromRoot","entryPath","relative","statSync","isDirectory","subFiles","readGitignore","gitignorePath","resolve","pathExist","pathExists","gitignoreContent","readFile","split","filter","line","Boolean","trim","compressFilesToTar","storagePath","folderToCompress","filename","filesToCompress","tar","c","gzip"],"mappings":"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"}