mirror of
				https://github.com/Theodor-Springmann-Stiftung/kgpz_web.git
				synced 2025-10-31 09:55:30 +00:00 
			
		
		
		
	Fixed some build options for vite
This commit is contained in:
		
							
								
								
									
										264
									
								
								node_modules/globby/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										264
									
								
								node_modules/globby/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,264 @@ | ||||
| import process from 'node:process'; | ||||
| import fs from 'node:fs'; | ||||
| import nodePath from 'node:path'; | ||||
| import mergeStreams from '@sindresorhus/merge-streams'; | ||||
| import fastGlob from 'fast-glob'; | ||||
| import {isDirectory, isDirectorySync} from 'path-type'; | ||||
| import {toPath} from 'unicorn-magic'; | ||||
| import { | ||||
| 	GITIGNORE_FILES_PATTERN, | ||||
| 	isIgnoredByIgnoreFiles, | ||||
| 	isIgnoredByIgnoreFilesSync, | ||||
| } from './ignore.js'; | ||||
| import {isNegativePattern} from './utilities.js'; | ||||
|  | ||||
| const assertPatternsInput = patterns => { | ||||
| 	if (patterns.some(pattern => typeof pattern !== 'string')) { | ||||
| 		throw new TypeError('Patterns must be a string or an array of strings'); | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| const normalizePathForDirectoryGlob = (filePath, cwd) => { | ||||
| 	const path = isNegativePattern(filePath) ? filePath.slice(1) : filePath; | ||||
| 	return nodePath.isAbsolute(path) ? path : nodePath.join(cwd, path); | ||||
| }; | ||||
|  | ||||
| const getDirectoryGlob = ({directoryPath, files, extensions}) => { | ||||
| 	const extensionGlob = extensions?.length > 0 ? `.${extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0]}` : ''; | ||||
| 	return files | ||||
| 		? files.map(file => nodePath.posix.join(directoryPath, `**/${nodePath.extname(file) ? file : `${file}${extensionGlob}`}`)) | ||||
| 		: [nodePath.posix.join(directoryPath, `**${extensionGlob ? `/*${extensionGlob}` : ''}`)]; | ||||
| }; | ||||
|  | ||||
| const directoryToGlob = async (directoryPaths, { | ||||
| 	cwd = process.cwd(), | ||||
| 	files, | ||||
| 	extensions, | ||||
| } = {}) => { | ||||
| 	const globs = await Promise.all(directoryPaths.map(async directoryPath => | ||||
| 		(await isDirectory(normalizePathForDirectoryGlob(directoryPath, cwd))) ? getDirectoryGlob({directoryPath, files, extensions}) : directoryPath), | ||||
| 	); | ||||
|  | ||||
| 	return globs.flat(); | ||||
| }; | ||||
|  | ||||
| const directoryToGlobSync = (directoryPaths, { | ||||
| 	cwd = process.cwd(), | ||||
| 	files, | ||||
| 	extensions, | ||||
| } = {}) => directoryPaths.flatMap(directoryPath => isDirectorySync(normalizePathForDirectoryGlob(directoryPath, cwd)) ? getDirectoryGlob({directoryPath, files, extensions}) : directoryPath); | ||||
|  | ||||
| const toPatternsArray = patterns => { | ||||
| 	patterns = [...new Set([patterns].flat())]; | ||||
| 	assertPatternsInput(patterns); | ||||
| 	return patterns; | ||||
| }; | ||||
|  | ||||
| const checkCwdOption = cwd => { | ||||
| 	if (!cwd) { | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	let stat; | ||||
| 	try { | ||||
| 		stat = fs.statSync(cwd); | ||||
| 	} catch { | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	if (!stat.isDirectory()) { | ||||
| 		throw new Error('The `cwd` option must be a path to a directory'); | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| const normalizeOptions = (options = {}) => { | ||||
| 	options = { | ||||
| 		...options, | ||||
| 		ignore: options.ignore ?? [], | ||||
| 		expandDirectories: options.expandDirectories ?? true, | ||||
| 		cwd: toPath(options.cwd), | ||||
| 	}; | ||||
|  | ||||
| 	checkCwdOption(options.cwd); | ||||
|  | ||||
| 	return options; | ||||
| }; | ||||
|  | ||||
| const normalizeArguments = function_ => async (patterns, options) => function_(toPatternsArray(patterns), normalizeOptions(options)); | ||||
| const normalizeArgumentsSync = function_ => (patterns, options) => function_(toPatternsArray(patterns), normalizeOptions(options)); | ||||
|  | ||||
| const getIgnoreFilesPatterns = options => { | ||||
| 	const {ignoreFiles, gitignore} = options; | ||||
|  | ||||
| 	const patterns = ignoreFiles ? toPatternsArray(ignoreFiles) : []; | ||||
| 	if (gitignore) { | ||||
| 		patterns.push(GITIGNORE_FILES_PATTERN); | ||||
| 	} | ||||
|  | ||||
| 	return patterns; | ||||
| }; | ||||
|  | ||||
| const getFilter = async options => { | ||||
| 	const ignoreFilesPatterns = getIgnoreFilesPatterns(options); | ||||
| 	return createFilterFunction( | ||||
| 		ignoreFilesPatterns.length > 0 && await isIgnoredByIgnoreFiles(ignoreFilesPatterns, options), | ||||
| 	); | ||||
| }; | ||||
|  | ||||
| const getFilterSync = options => { | ||||
| 	const ignoreFilesPatterns = getIgnoreFilesPatterns(options); | ||||
| 	return createFilterFunction( | ||||
| 		ignoreFilesPatterns.length > 0 && isIgnoredByIgnoreFilesSync(ignoreFilesPatterns, options), | ||||
| 	); | ||||
| }; | ||||
|  | ||||
| const createFilterFunction = isIgnored => { | ||||
| 	const seen = new Set(); | ||||
|  | ||||
| 	return fastGlobResult => { | ||||
| 		const pathKey = nodePath.normalize(fastGlobResult.path ?? fastGlobResult); | ||||
|  | ||||
| 		if (seen.has(pathKey) || (isIgnored && isIgnored(pathKey))) { | ||||
| 			return false; | ||||
| 		} | ||||
|  | ||||
| 		seen.add(pathKey); | ||||
|  | ||||
| 		return true; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| const unionFastGlobResults = (results, filter) => results.flat().filter(fastGlobResult => filter(fastGlobResult)); | ||||
|  | ||||
| const convertNegativePatterns = (patterns, options) => { | ||||
| 	const tasks = []; | ||||
|  | ||||
| 	while (patterns.length > 0) { | ||||
| 		const index = patterns.findIndex(pattern => isNegativePattern(pattern)); | ||||
|  | ||||
| 		if (index === -1) { | ||||
| 			tasks.push({patterns, options}); | ||||
| 			break; | ||||
| 		} | ||||
|  | ||||
| 		const ignorePattern = patterns[index].slice(1); | ||||
|  | ||||
| 		for (const task of tasks) { | ||||
| 			task.options.ignore.push(ignorePattern); | ||||
| 		} | ||||
|  | ||||
| 		if (index !== 0) { | ||||
| 			tasks.push({ | ||||
| 				patterns: patterns.slice(0, index), | ||||
| 				options: { | ||||
| 					...options, | ||||
| 					ignore: [ | ||||
| 						...options.ignore, | ||||
| 						ignorePattern, | ||||
| 					], | ||||
| 				}, | ||||
| 			}); | ||||
| 		} | ||||
|  | ||||
| 		patterns = patterns.slice(index + 1); | ||||
| 	} | ||||
|  | ||||
| 	return tasks; | ||||
| }; | ||||
|  | ||||
| const normalizeExpandDirectoriesOption = (options, cwd) => ({ | ||||
| 	...(cwd ? {cwd} : {}), | ||||
| 	...(Array.isArray(options) ? {files: options} : options), | ||||
| }); | ||||
|  | ||||
| const generateTasks = async (patterns, options) => { | ||||
| 	const globTasks = convertNegativePatterns(patterns, options); | ||||
|  | ||||
| 	const {cwd, expandDirectories} = options; | ||||
|  | ||||
| 	if (!expandDirectories) { | ||||
| 		return globTasks; | ||||
| 	} | ||||
|  | ||||
| 	const directoryToGlobOptions = normalizeExpandDirectoriesOption(expandDirectories, cwd); | ||||
|  | ||||
| 	return Promise.all( | ||||
| 		globTasks.map(async task => { | ||||
| 			let {patterns, options} = task; | ||||
|  | ||||
| 			[ | ||||
| 				patterns, | ||||
| 				options.ignore, | ||||
| 			] = await Promise.all([ | ||||
| 				directoryToGlob(patterns, directoryToGlobOptions), | ||||
| 				directoryToGlob(options.ignore, {cwd}), | ||||
| 			]); | ||||
|  | ||||
| 			return {patterns, options}; | ||||
| 		}), | ||||
| 	); | ||||
| }; | ||||
|  | ||||
| const generateTasksSync = (patterns, options) => { | ||||
| 	const globTasks = convertNegativePatterns(patterns, options); | ||||
| 	const {cwd, expandDirectories} = options; | ||||
|  | ||||
| 	if (!expandDirectories) { | ||||
| 		return globTasks; | ||||
| 	} | ||||
|  | ||||
| 	const directoryToGlobSyncOptions = normalizeExpandDirectoriesOption(expandDirectories, cwd); | ||||
|  | ||||
| 	return globTasks.map(task => { | ||||
| 		let {patterns, options} = task; | ||||
| 		patterns = directoryToGlobSync(patterns, directoryToGlobSyncOptions); | ||||
| 		options.ignore = directoryToGlobSync(options.ignore, {cwd}); | ||||
| 		return {patterns, options}; | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| export const globby = normalizeArguments(async (patterns, options) => { | ||||
| 	const [ | ||||
| 		tasks, | ||||
| 		filter, | ||||
| 	] = await Promise.all([ | ||||
| 		generateTasks(patterns, options), | ||||
| 		getFilter(options), | ||||
| 	]); | ||||
|  | ||||
| 	const results = await Promise.all(tasks.map(task => fastGlob(task.patterns, task.options))); | ||||
| 	return unionFastGlobResults(results, filter); | ||||
| }); | ||||
|  | ||||
| export const globbySync = normalizeArgumentsSync((patterns, options) => { | ||||
| 	const tasks = generateTasksSync(patterns, options); | ||||
| 	const filter = getFilterSync(options); | ||||
| 	const results = tasks.map(task => fastGlob.sync(task.patterns, task.options)); | ||||
| 	return unionFastGlobResults(results, filter); | ||||
| }); | ||||
|  | ||||
| export const globbyStream = normalizeArgumentsSync((patterns, options) => { | ||||
| 	const tasks = generateTasksSync(patterns, options); | ||||
| 	const filter = getFilterSync(options); | ||||
| 	const streams = tasks.map(task => fastGlob.stream(task.patterns, task.options)); | ||||
| 	const stream = mergeStreams(streams).filter(fastGlobResult => filter(fastGlobResult)); | ||||
|  | ||||
| 	// TODO: Make it return a web stream at some point. | ||||
| 	// return Readable.toWeb(stream); | ||||
|  | ||||
| 	return stream; | ||||
| }); | ||||
|  | ||||
| export const isDynamicPattern = normalizeArgumentsSync( | ||||
| 	(patterns, options) => patterns.some(pattern => fastGlob.isDynamicPattern(pattern, options)), | ||||
| ); | ||||
|  | ||||
| export const generateGlobTasks = normalizeArguments(generateTasks); | ||||
| export const generateGlobTasksSync = normalizeArgumentsSync(generateTasksSync); | ||||
|  | ||||
| export { | ||||
| 	isGitIgnored, | ||||
| 	isGitIgnoredSync, | ||||
| } from './ignore.js'; | ||||
|  | ||||
| export const {convertPathToPattern} = fastGlob; | ||||
		Reference in New Issue
	
	Block a user
	 Simon Martens
					Simon Martens