File: /var/www/quadcode/frontend/node_modules/filemanager-webpack-plugin/dist/index.cjs.map
{"version":3,"file":"index.cjs","sources":["../src/options-schema.js","../src/utils/p-exec.js","../src/utils/glob-copy.js","../src/actions/copy.js","../src/actions/move.js","../src/actions/delete.js","../src/actions/mkdir.js","../src/actions/archive.js","../src/index.js"],"sourcesContent":["export default {\n title: 'FileManagerPluginOptions',\n type: 'object',\n additionalProperties: false,\n definitions: {\n Copy: {\n description: 'Copy individual files or entire directories from a source folder to a destination folder',\n type: 'array',\n minItems: 1,\n additionalItems: true,\n itmes: [\n {\n type: 'object',\n additionalProperties: false,\n properties: {\n source: {\n description: 'Copy source. A file or directory or a glob',\n type: 'string',\n minLength: 1,\n },\n destination: {\n description: 'Copy destination',\n type: 'string',\n minLength: 1,\n },\n options: {\n additionalProperties: false,\n type: 'object',\n description: 'Options to forward to archiver',\n properties: {\n flat: {\n description: 'Flatten the directory structure. All copied files will be put in the same directory',\n type: 'boolean',\n default: false,\n },\n overwrite: {\n description: 'overwrite existing file or directory',\n type: 'boolean',\n default: true,\n },\n preserveTimestamps: {\n description: 'Set last modification and access times to the ones of the original source files',\n type: 'boolean',\n default: false,\n },\n },\n },\n globOptions: {\n additionalProperties: true,\n type: 'object',\n description: 'Options to forward to fast-glob',\n },\n },\n },\n ],\n },\n Delete: {\n description: 'Delete individual files or entire directories',\n type: 'array',\n minItems: 1,\n additionalItems: true,\n items: {\n anyOf: [\n {\n type: 'object',\n additionalProperties: false,\n properties: {\n source: {\n type: 'string',\n minLength: 1,\n },\n options: {\n additionalProperties: true,\n type: 'object',\n description: 'Options to forward to del',\n },\n },\n },\n {\n type: 'string',\n minLength: 1,\n },\n ],\n },\n },\n Move: {\n description: 'Move individual files or entire directories from a source folder to a destination folder',\n type: 'array',\n additionalItems: true,\n items: [\n {\n type: 'object',\n additionalProperties: false,\n properties: {\n source: {\n description: 'Move source. A file or directory or a glob',\n type: 'string',\n minLength: 1,\n },\n destination: {\n description: 'Move destination',\n type: 'string',\n minLength: 1,\n },\n },\n },\n ],\n },\n Mkdir: {\n description: 'Create Directories',\n type: 'array',\n minItems: 1,\n additionalItems: true,\n items: {\n type: 'string',\n },\n },\n Archive: {\n description: 'Archive individual files or entire directories.',\n type: 'array',\n additionalItems: true,\n items: [\n {\n type: 'object',\n additionalProperties: false,\n properties: {\n source: {\n description: 'Source. A file or directory or a glob',\n type: 'string',\n minLength: 1,\n },\n destination: {\n description: 'Archive destination',\n type: 'string',\n minLength: 1,\n },\n format: {\n type: 'string',\n enum: ['zip', 'tar'],\n },\n options: {\n additionalProperties: true,\n type: 'object',\n description: 'Options to forward to archiver',\n },\n },\n },\n ],\n },\n Actions: {\n type: 'object',\n additionalProperties: false,\n properties: {\n copy: {\n $ref: '#/definitions/Copy',\n },\n delete: {\n $ref: '#/definitions/Delete',\n },\n move: {\n $ref: '#/definitions/Move',\n },\n mkdir: {\n $ref: '#/definitions/Mkdir',\n },\n archive: {\n $ref: '#/definitions/Archive',\n },\n },\n },\n },\n properties: {\n events: {\n type: 'object',\n additionalProperties: false,\n properties: {\n onStart: {\n oneOf: [\n {\n $ref: '#/definitions/Actions',\n },\n {\n type: 'array',\n items: {\n $ref: '#/definitions/Actions',\n },\n },\n ],\n },\n onEnd: {\n oneOf: [\n {\n $ref: '#/definitions/Actions',\n },\n {\n type: 'array',\n items: {\n $ref: '#/definitions/Actions',\n },\n },\n ],\n },\n },\n },\n runTasksInSeries: {\n type: 'boolean',\n default: false,\n description: 'Run tasks in an action in series',\n },\n context: {\n type: 'string',\n description: 'The directory, an absolute path, for resolving files. Defaults to webpack context',\n },\n runOnceInWatchMode: {\n type: 'boolean',\n default: false,\n description: 'Run tasks only at first compilation in watch mode',\n },\n },\n};\n","const defaultTask = async () => {};\n\nconst pExec = async (series = false, arr = [], task = defaultTask) => {\n if (series) {\n await arr.reduce(async (p, spec) => {\n await p;\n return task(spec);\n }, Promise.resolve(null));\n return;\n }\n\n const pMap = arr.map(async (spec) => await task(spec));\n await Promise.all(pMap);\n};\n\nexport default pExec;\n","import path from 'path';\nimport fse from 'fs-extra';\nimport fg from 'fast-glob';\n\nconst defaultOptions = {\n flat: false,\n cwd: process.cwd(),\n};\n\nconst destPath = (pattern, file, options = defaultOptions) => {\n if (options.flat) {\n return path.posix.basename(file);\n }\n\n const pathArr = pattern.split('/');\n const globIndex = pathArr.findIndex((item) => (item ? fg.isDynamicPattern(item) : false));\n const normalized = pathArr.slice(0, globIndex).join('/');\n\n const absolutePath = path.isAbsolute(normalized) ? normalized : path.posix.join(options.cwd, normalized);\n\n return path.relative(absolutePath, file);\n};\n\nconst globCopy = async (pattern, destination, options = defaultOptions, globOptions = {}) => {\n await fse.ensureDir(destination);\n\n const matches = await fg(pattern, { dot: true, ...globOptions, absolute: true, cwd: options.cwd });\n\n const entries = matches.map((file) => {\n const destDir = path.isAbsolute(destination) ? destination : path.posix.join(options.cwd, destination);\n const destFileName = destPath(pattern, file, options);\n\n return {\n from: file,\n destDir,\n destFileName,\n to: path.posix.join(destDir, destFileName),\n };\n });\n\n const cpPromises = entries.map(async (entry) => {\n const copyOptions = {\n overwrite: true,\n preserveTimestamps: true,\n };\n\n return fse.copy(entry.from, entry.to, copyOptions);\n });\n\n return Promise.all(cpPromises);\n};\n\nexport default globCopy;\n","import fs from 'fs';\nimport path from 'path';\nimport fsExtra from 'fs-extra';\nimport isGlob from 'is-glob';\n\nimport pExec from '../utils/p-exec.js';\nimport globCopy from '../utils/glob-copy.js';\n\nconst fsExtraDefaultOptions = {\n preserveTimestamps: true,\n};\n\nconst copy = async (task, { logger }) => {\n const {\n source,\n absoluteSource,\n destination,\n absoluteDestination,\n context,\n toType,\n options = {},\n globOptions = {},\n } = task;\n\n logger.log(`copying from ${source} to ${destination}`);\n\n if (isGlob(source)) {\n const cpOptions = {\n ...options,\n cwd: context,\n };\n\n await globCopy(source, absoluteDestination, cpOptions, globOptions);\n } else {\n const isSourceFile = fs.lstatSync(absoluteSource).isFile();\n\n // if source is a file and target is a directory\n // create the directory and copy the file into that directory\n if (isSourceFile && toType === 'dir') {\n await fsExtra.ensureDir(absoluteDestination);\n\n const sourceFileName = path.posix.basename(absoluteSource);\n const filePath = path.resolve(absoluteDestination, sourceFileName);\n\n await fsExtra.copy(absoluteSource, filePath, fsExtraDefaultOptions);\n return;\n }\n\n await fsExtra.copy(absoluteSource, absoluteDestination, fsExtraDefaultOptions);\n }\n\n logger.info(`copied \"${source}\" to \"${destination}`);\n};\n\nconst copyAction = async (tasks, options) => {\n const { runTasksInSeries, logger } = options;\n\n const taskOptions = {\n logger,\n };\n\n logger.debug(`processing copy tasks. tasks: ${tasks}`);\n\n await pExec(runTasksInSeries, tasks, async (task) => {\n try {\n await copy(task, taskOptions);\n } catch (err) {\n logger.error(`error while copying. task ${err}`);\n }\n });\n logger.debug(`copy tasks complete. tasks: ${tasks}`);\n};\n\nexport default copyAction;\n","import fsExtra from 'fs-extra';\n\nimport pExec from '../utils/p-exec.js';\n\nconst moveAction = async (tasks, options) => {\n const { runTasksInSeries, logger } = options;\n\n logger.debug(`processing move tasks. tasks: ${tasks}`);\n\n await pExec(runTasksInSeries, tasks, async (task) => {\n try {\n await fsExtra.move(task.absoluteSource, task.absoluteDestination);\n logger.info(`moved ${task.source} to ${task.destination}`);\n } catch (err) {\n logger.error(`unable to move ${task.source}, ${err}`);\n }\n });\n\n logger.debug(`move tasks complete. tasks: ${tasks}`);\n};\n\nexport default moveAction;\n","import del from 'del';\n\nimport pExec from '../utils/p-exec.js';\n\nconst deleteAction = async (tasks, taskOptions) => {\n const { runTasksInSeries, logger } = taskOptions;\n\n logger.debug(`processing delete tasks. tasks: ${tasks}`);\n\n await pExec(runTasksInSeries, tasks, async (task) => {\n const { options = {} } = task;\n\n try {\n await del(task.absoluteSource, options);\n logger.info(`deleted ${task.source}`);\n } catch (err) {\n logger.error(`unable to delete ${task.source}. ${err}`);\n }\n });\n\n logger.debug(`delete tasks complete. tasks: ${tasks}`);\n};\n\nexport default deleteAction;\n","import fs from 'fs';\n\nimport pExec from '../utils/p-exec.js';\n\nconst mkdirAction = async (tasks, options) => {\n const { runTasksInSeries, logger } = options;\n\n logger.debug(`processing mkdir tasks. tasks: ${tasks}`);\n\n await pExec(runTasksInSeries, tasks, async (task) => {\n try {\n await fs.promises.mkdir(task.absoluteSource, { recursive: true });\n logger.info(`created directory. ${task.source}`);\n } catch (err) {\n logger.error(`unable to create direcotry: ${task.source}. ${err}`);\n }\n });\n\n logger.debug(`mkdir tasks complete. tasks: ${tasks}`);\n};\n\nexport default mkdirAction;\n","import fs from 'fs';\nimport path from 'path';\nimport archiver from 'archiver';\nimport isGlob from 'is-glob';\nimport fsExtra from 'fs-extra';\n\nimport pExec from '../utils/p-exec.js';\n\nconst archive = async (task, { logger }) => {\n const { source, absoluteSource, absoluteDestination, options = {}, context } = task;\n const format = task.format || path.extname(absoluteDestination).replace('.', '');\n\n // Exclude destination file from archive\n const destFile = path.basename(absoluteDestination);\n const destDir = path.dirname(absoluteDestination);\n\n const inputGlobOptions = options.globOptions || {};\n\n const ignore = Array.isArray(inputGlobOptions.ignore) ? [...inputGlobOptions.ignore, destFile] : [destFile];\n const fileToIgnore = typeof inputGlobOptions.ignore === 'string' ? [...ignore, inputGlobOptions.ignore] : ignore;\n const globOptions = { ...inputGlobOptions, ignore: fileToIgnore };\n\n await fsExtra.ensureDir(destDir);\n\n const output = fs.createWriteStream(absoluteDestination);\n const archive = archiver(format, options);\n\n const streamClose = () => new Promise((resolve) => output.on('close', resolve));\n\n archive.pipe(output);\n\n logger.log(`archiving src ${source}`);\n\n if (isGlob(source)) {\n const opts = {\n ...globOptions,\n cwd: context,\n };\n\n await archive.glob(source, opts).finalize();\n } else {\n const sStat = fs.lstatSync(absoluteSource);\n\n if (sStat.isDirectory()) {\n const opts = {\n ...globOptions,\n cwd: absoluteSource,\n };\n\n await archive.glob('**/*', opts).finalize();\n }\n\n if (sStat.isFile()) {\n const opts = {\n name: path.basename(source),\n };\n\n await archive.file(absoluteSource, opts).finalize();\n }\n }\n\n await streamClose();\n\n logger.info(`archive created at \"${absoluteDestination}\"`);\n};\n\nconst archiveAction = async (tasks, options) => {\n const { runTasksInSeries, logger } = options;\n\n const taskOptions = {\n logger,\n };\n\n logger.debug(`processing archive tasks. tasks: ${tasks}`);\n await pExec(runTasksInSeries, tasks, async (task) => {\n try {\n await archive(task, taskOptions);\n } catch (err) {\n logger.error(`error while creating archive. task ${task}`);\n }\n });\n logger.debug(`archive tasks complete. tasks: ${tasks}`);\n};\n\nexport default archiveAction;\n","import path from 'path';\nimport { validate } from 'schema-utils';\nimport normalizePath from 'normalize-path';\n\nimport optionsSchema from './options-schema.js';\nimport pExec from './utils/p-exec.js';\nimport { copyAction, moveAction, mkdirAction, archiveAction, deleteAction } from './actions/index.js';\n\nconst PLUGIN_NAME = 'FileManagerPlugin';\n\nconst defaultOptions = {\n events: {\n onStart: [],\n onEnd: [],\n },\n runTasksInSeries: false,\n context: null,\n runOnceInWatchMode: false,\n};\n\nconst resolvePaths = (action, context) => {\n return action.map((task) => {\n if (typeof task === 'string') {\n const source = task;\n return {\n source,\n absoluteSource: path.isAbsolute(source) ? source : path.join(context, source),\n };\n }\n\n const { source, destination } = task;\n\n if (!destination) {\n return {\n ...task,\n source,\n absoluteSource: path.isAbsolute(source) ? source : path.join(context, source),\n };\n }\n\n const toType = /(?:\\\\|\\/)$/.test(destination) ? 'dir' : 'file';\n\n const absoluteSource = path.isAbsolute(source) ? source : path.join(context, source);\n const absoluteDestination = path.isAbsolute(destination) ? destination : path.join(context, destination);\n\n return {\n ...task,\n source: normalizePath(source),\n absoluteSource: normalizePath(absoluteSource),\n destination: normalizePath(destination),\n absoluteDestination: normalizePath(absoluteDestination),\n toType,\n context,\n };\n });\n};\n\nclass FileManagerPlugin {\n constructor(options) {\n validate(optionsSchema, options, {\n name: PLUGIN_NAME,\n baseDataPath: 'actions',\n });\n\n this.options = { ...defaultOptions, ...options };\n }\n\n async applyAction(action, actionParams) {\n const opts = {\n runTasksInSeries: this.options.runTasksInSeries,\n logger: this.logger,\n };\n\n await action(resolvePaths(actionParams, this.context), opts);\n }\n\n async run(event) {\n for (const actionType in event) {\n const action = event[actionType];\n\n switch (actionType) {\n case 'delete':\n await this.applyAction(deleteAction, action);\n break;\n\n case 'mkdir':\n await this.applyAction(mkdirAction, action);\n break;\n\n case 'copy':\n await this.applyAction(copyAction, action);\n break;\n\n case 'move':\n await this.applyAction(moveAction, action);\n break;\n\n case 'archive':\n await this.applyAction(archiveAction, action);\n break;\n\n default:\n throw Error('Unknown action');\n }\n }\n }\n\n async execute(eventName) {\n const { events } = this.options;\n\n if (Array.isArray(events[eventName])) {\n const eventsArr = events[eventName];\n\n await pExec(true, eventsArr, async (event) => await this.run(event));\n return;\n }\n\n const event = events[eventName];\n await this.run(event);\n }\n\n apply(compiler) {\n this.context = this.options.context || compiler.options.context;\n this.logger = compiler.getInfrastructureLogger(PLUGIN_NAME);\n\n const onStart = async () => {\n await this.execute('onStart');\n };\n\n const onEnd = async () => {\n await this.execute('onEnd');\n };\n\n compiler.hooks.beforeRun.tapPromise(PLUGIN_NAME, onStart);\n compiler.hooks.afterEmit.tapPromise(PLUGIN_NAME, onEnd);\n\n let watchRunCount = 0;\n compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, async () => {\n if (this.options.runOnceInWatchMode && watchRunCount > 0) {\n return;\n }\n\n ++watchRunCount;\n await onStart();\n });\n }\n}\n\nexport default FileManagerPlugin;\n"],"names":["defaultOptions","fse","validate"],"mappings":"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"}