{"version":3,"sources":["jsdelivr-header.js","/npm/replace@1.2.2/replace.js"],"names":[],"mappings":"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","file":"/npm/replace@1.2.2/replace.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/replace@1.2.2/replace.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var fs = require(\"fs\"),\n    path = require(\"path\"),\n    chalk = require(\"chalk\"),\n    minimatch = require(\"minimatch\"),\n    sharedOptions = require(\"./bin/shared-options\");\n\nmodule.exports = function(options) {\n    var matched = [];\n    // If the path is the same as the default and the recursive option was not\n    // specified, search recursively under the current directory as a\n    // convenience.\n    if (options.paths.length === 1 &&\n        options.paths[0] === sharedOptions.paths.default[0] &&\n        !options.hasOwnProperty('recursive')) {\n        options.paths = ['.'];\n    }\n\n    var lineCount = 0,\n        limit = 400; // chars per line\n\n    if (options.r) {\n        options.recursive = true;\n    }\n\n    if (!options.color) {\n        options.color = \"cyan\";\n    }\n\n    var flags = \"g\"; // global multiline\n    if (options.ignoreCase) {\n        flags += \"i\";\n    }\n    if (options.multiline) {\n        flags += \"m\";\n    }\n\n    var regex;\n    if (options.regex instanceof RegExp) {\n        regex = options.regex;\n    }\n    else {\n        regex = new RegExp(options.regex, flags);\n    }\n    var canReplace = !options.preview && options.replacement !== undefined;\n\n    var includes;\n    if (options.include) {\n        includes = options.include.split(\",\");\n    }\n    var excludes = [];\n    if (options.exclude) {\n        excludes = options.exclude.split(\",\");\n    }\n    var ignoreFile = options.excludeList || path.join(__dirname, '/defaultignore');\n    var ignores = fs.readFileSync(ignoreFile, \"utf-8\").split(\"\\n\");\n    excludes = excludes.concat(ignores);\n\n    var replaceFunc;\n    if (options.funcFile) {\n        eval('replaceFunc = ' + fs.readFileSync(options.funcFile, \"utf-8\"));\n    }\n\n    if(options.z) {\n          process.stdin.resume();\n          _input = \"\";\n          process.stdin.on(\"data\", function (input) {\n            _input += input;\n          });\n          \n          process.stdin.on(\"end\", function () {\n              const text = replacizeText(_input);\n              process.stdout.write(text);\n          });\n    } else {\n        for (var i = 0; i < options.paths.length; i++) {\n            if (options.async) {\n                replacizeFile(options.paths[i]);\n            }\n            else {\n                replacizeFileSync(options.paths[i]);\n            }\n        }\n    }\n\n    return matched;\n\n    function canSearch(file, isFile) {\n      var inIncludes = includes && includes.some(function(include) {\n          return minimatch(file, include, { matchBase: true });\n      })\n      var inExcludes = excludes.some(function(exclude) {\n          return minimatch(file, exclude, { matchBase: true });\n      })\n\n      return ((!includes || !isFile || inIncludes) && (!excludes || !inExcludes));\n    }\n\n    function replacizeFile(file) {\n      fs.lstat(file, function(err, stats) {\n          if (err) throw err;\n\n          if (stats.isSymbolicLink()) {\n              // don't follow symbolic links for now\n              return;\n          }\n          var isFile = stats.isFile();\n          if (!canSearch(file, isFile)) {\n              return;\n          }\n          if (isFile) {\n              fs.readFile(file, \"utf-8\", function(err, text) {\n                  if (err) {\n                      if (err.code == 'EMFILE') {\n                          console.log('Too many files, try running `replace` without --async');\n                          process.exit(1);\n                      }\n                      throw err;\n                  }\n\n                  text = replacizeText(text, file);\n                  if (canReplace && text !== null) {\n                      fs.writeFile(file, text, function(err) {\n                          if (err) throw err;\n                      });\n                  }\n              });\n          }\n          else if (stats.isDirectory() && options.recursive) {\n              fs.readdir(file, function(err, files) {\n                  if (err) throw err;\n                  for (var i = 0; i < files.length; i++) {\n                      replacizeFile(path.join(file, files[i]));\n                  }\n              });\n          }\n       });\n    }\n\n    function replacizeFileSync(file) {\n      var stats = fs.lstatSync(file);\n      if (stats.isSymbolicLink()) {\n          // don't follow symbolic links for now\n          return;\n      }\n      var isFile = stats.isFile();\n      if (!canSearch(file, isFile)) {\n          return;\n      }\n      if (isFile) {\n          var text = fs.readFileSync(file, \"utf-8\");\n\n          var replacizedText = replacizeText(text, file);\n\n          if (replacizedText !== null) {\n              if (canReplace) {\n                  fs.writeFileSync(file, replacizedText);\n              } else {\n                  matched.push({ text, path: file });\n              }\n          }\n      }\n      else if (stats.isDirectory() && options.recursive) {\n          var files = fs.readdirSync(file);\n          for (var i = 0; i < files.length; i++) {\n              replacizeFileSync(path.join(file, files[i]));\n          }\n      }\n    }\n\n    function replacizeText(text, file) {\n        var match = text.match(regex);\n        if (!match) {\n            return null;\n        }\n\n        if (!options.silent && file) {\n            var printout = options.noColor ? file : options.fileColor ? chalk[options.fileColor](file) : file;\n            if (options.count) {\n                var count = \" (\" + match.length + \")\";\n                count = options.noColor ? count : chalk.grey(count);\n                printout += count;\n            }\n            console.log(printout);\n        }\n        if (!options.silent && !options.quiet\n           && !(lineCount > options.maxLines)\n           && options.multiline) {\n            var lines = text.split(\"\\n\");\n            for (var i = 0; i < lines.length; i++) {\n                var line = lines[i];\n                if (line.match(regex)) {\n                    if (++lineCount > options.maxLines) {\n                        break;\n                    }\n                    var replacement = options.replacement || \"$&\";\n                    if (!options.noColor) {\n                      replacement = chalk[options.color](replacement);\n                    }\n                    line = line.replace(regex, replaceFunc || replacement);\n                    // only console log if file not stdin\n                    file && console.log(\" \" + (i + 1) + \": \" + line.slice(0, limit));\n                }\n            }\n        }\n        if (canReplace) {\n            return text.replace(regex, replaceFunc || options.replacement);\n        }\n    }\n}\n"]}