4 lines · 14.3 KB · TypeScript
RawDownload
// @generated - run node packages/build-tools/scripts/build-browser-path-polyfill.mjsexport const BROWSER_PATH_POLYFILL_CODE ="var process = globalThis.process || {\n  env: {},\n  cwd: () => '/',\n};\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __commonJS = (cb, mod) => function __require() {\n  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\n\n// node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js\nvar require_path_browserify = __commonJS({\n  \"node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js\"(exports2, module2) {\n    \"use strict\";\n    function assertPath(path2) {\n      if (typeof path2 !== \"string\") {\n        throw new TypeError(\"Path must be a string. Received \" + JSON.stringify(path2));\n      }\n    }\n    function normalizeStringPosix(path2, allowAboveRoot) {\n      var res = \"\";\n      var lastSegmentLength = 0;\n      var lastSlash = -1;\n      var dots = 0;\n      var code;\n      for (var i = 0; i <= path2.length; ++i) {\n        if (i < path2.length)\n          code = path2.charCodeAt(i);\n        else if (code === 47)\n          break;\n        else\n          code = 47;\n        if (code === 47) {\n          if (lastSlash === i - 1 || dots === 1) {\n          } else if (lastSlash !== i - 1 && dots === 2) {\n            if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 || res.charCodeAt(res.length - 2) !== 46) {\n              if (res.length > 2) {\n                var lastSlashIndex = res.lastIndexOf(\"/\");\n                if (lastSlashIndex !== res.length - 1) {\n                  if (lastSlashIndex === -1) {\n                    res = \"\";\n                    lastSegmentLength = 0;\n                  } else {\n                    res = res.slice(0, lastSlashIndex);\n                    lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n                  }\n                  lastSlash = i;\n                  dots = 0;\n                  continue;\n                }\n              } else if (res.length === 2 || res.length === 1) {\n                res = \"\";\n                lastSegmentLength = 0;\n                lastSlash = i;\n                dots = 0;\n                continue;\n              }\n            }\n            if (allowAboveRoot) {\n              if (res.length > 0)\n                res += \"/..\";\n              else\n                res = \"..\";\n              lastSegmentLength = 2;\n            }\n          } else {\n            if (res.length > 0)\n              res += \"/\" + path2.slice(lastSlash + 1, i);\n            else\n              res = path2.slice(lastSlash + 1, i);\n            lastSegmentLength = i - lastSlash - 1;\n          }\n          lastSlash = i;\n          dots = 0;\n        } else if (code === 46 && dots !== -1) {\n          ++dots;\n        } else {\n          dots = -1;\n        }\n      }\n      return res;\n    }\n    function _format(sep, pathObject) {\n      var dir = pathObject.dir || pathObject.root;\n      var base = pathObject.base || (pathObject.name || \"\") + (pathObject.ext || \"\");\n      if (!dir) {\n        return base;\n      }\n      if (dir === pathObject.root) {\n        return dir + base;\n      }\n      return dir + sep + base;\n    }\n    var posix2 = {\n      // path.resolve([from ...], to)\n      resolve: function resolve() {\n        var resolvedPath = \"\";\n        var resolvedAbsolute = false;\n        var cwd;\n        for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n          var path2;\n          if (i >= 0)\n            path2 = arguments[i];\n          else {\n            if (cwd === void 0)\n              cwd = process.cwd();\n            path2 = cwd;\n          }\n          assertPath(path2);\n          if (path2.length === 0) {\n            continue;\n          }\n          resolvedPath = path2 + \"/\" + resolvedPath;\n          resolvedAbsolute = path2.charCodeAt(0) === 47;\n        }\n        resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n        if (resolvedAbsolute) {\n          if (resolvedPath.length > 0)\n            return \"/\" + resolvedPath;\n          else\n            return \"/\";\n        } else if (resolvedPath.length > 0) {\n          return resolvedPath;\n        } else {\n          return \".\";\n        }\n      },\n      normalize: function normalize(path2) {\n        assertPath(path2);\n        if (path2.length === 0) return \".\";\n        var isAbsolute = path2.charCodeAt(0) === 47;\n        var trailingSeparator = path2.charCodeAt(path2.length - 1) === 47;\n        path2 = normalizeStringPosix(path2, !isAbsolute);\n        if (path2.length === 0 && !isAbsolute) path2 = \".\";\n        if (path2.length > 0 && trailingSeparator) path2 += \"/\";\n        if (isAbsolute) return \"/\" + path2;\n        return path2;\n      },\n      isAbsolute: function isAbsolute(path2) {\n        assertPath(path2);\n        return path2.length > 0 && path2.charCodeAt(0) === 47;\n      },\n      join: function join() {\n        if (arguments.length === 0)\n          return \".\";\n        var joined;\n        for (var i = 0; i < arguments.length; ++i) {\n          var arg = arguments[i];\n          assertPath(arg);\n          if (arg.length > 0) {\n            if (joined === void 0)\n              joined = arg;\n            else\n              joined += \"/\" + arg;\n          }\n        }\n        if (joined === void 0)\n          return \".\";\n        return posix2.normalize(joined);\n      },\n      relative: function relative(from, to) {\n        assertPath(from);\n        assertPath(to);\n        if (from === to) return \"\";\n        from = posix2.resolve(from);\n        to = posix2.resolve(to);\n        if (from === to) return \"\";\n        var fromStart = 1;\n        for (; fromStart < from.length; ++fromStart) {\n          if (from.charCodeAt(fromStart) !== 47)\n            break;\n        }\n        var fromEnd = from.length;\n        var fromLen = fromEnd - fromStart;\n        var toStart = 1;\n        for (; toStart < to.length; ++toStart) {\n          if (to.charCodeAt(toStart) !== 47)\n            break;\n        }\n        var toEnd = to.length;\n        var toLen = toEnd - toStart;\n        var length = fromLen < toLen ? fromLen : toLen;\n        var lastCommonSep = -1;\n        var i = 0;\n        for (; i <= length; ++i) {\n          if (i === length) {\n            if (toLen > length) {\n              if (to.charCodeAt(toStart + i) === 47) {\n                return to.slice(toStart + i + 1);\n              } else if (i === 0) {\n                return to.slice(toStart + i);\n              }\n            } else if (fromLen > length) {\n              if (from.charCodeAt(fromStart + i) === 47) {\n                lastCommonSep = i;\n              } else if (i === 0) {\n                lastCommonSep = 0;\n              }\n            }\n            break;\n          }\n          var fromCode = from.charCodeAt(fromStart + i);\n          var toCode = to.charCodeAt(toStart + i);\n          if (fromCode !== toCode)\n            break;\n          else if (fromCode === 47)\n            lastCommonSep = i;\n        }\n        var out = \"\";\n        for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n          if (i === fromEnd || from.charCodeAt(i) === 47) {\n            if (out.length === 0)\n              out += \"..\";\n            else\n              out += \"/..\";\n          }\n        }\n        if (out.length > 0)\n          return out + to.slice(toStart + lastCommonSep);\n        else {\n          toStart += lastCommonSep;\n          if (to.charCodeAt(toStart) === 47)\n            ++toStart;\n          return to.slice(toStart);\n        }\n      },\n      _makeLong: function _makeLong(path2) {\n        return path2;\n      },\n      dirname: function dirname(path2) {\n        assertPath(path2);\n        if (path2.length === 0) return \".\";\n        var code = path2.charCodeAt(0);\n        var hasRoot = code === 47;\n        var end = -1;\n        var matchedSlash = true;\n        for (var i = path2.length - 1; i >= 1; --i) {\n          code = path2.charCodeAt(i);\n          if (code === 47) {\n            if (!matchedSlash) {\n              end = i;\n              break;\n            }\n          } else {\n            matchedSlash = false;\n          }\n        }\n        if (end === -1) return hasRoot ? \"/\" : \".\";\n        if (hasRoot && end === 1) return \"//\";\n        return path2.slice(0, end);\n      },\n      basename: function basename(path2, ext) {\n        if (ext !== void 0 && typeof ext !== \"string\") throw new TypeError('\"ext\" argument must be a string');\n        assertPath(path2);\n        var start = 0;\n        var end = -1;\n        var matchedSlash = true;\n        var i;\n        if (ext !== void 0 && ext.length > 0 && ext.length <= path2.length) {\n          if (ext.length === path2.length && ext === path2) return \"\";\n          var extIdx = ext.length - 1;\n          var firstNonSlashEnd = -1;\n          for (i = path2.length - 1; i >= 0; --i) {\n            var code = path2.charCodeAt(i);\n            if (code === 47) {\n              if (!matchedSlash) {\n                start = i + 1;\n                break;\n              }\n            } else {\n              if (firstNonSlashEnd === -1) {\n                matchedSlash = false;\n                firstNonSlashEnd = i + 1;\n              }\n              if (extIdx >= 0) {\n                if (code === ext.charCodeAt(extIdx)) {\n                  if (--extIdx === -1) {\n                    end = i;\n                  }\n                } else {\n                  extIdx = -1;\n                  end = firstNonSlashEnd;\n                }\n              }\n            }\n          }\n          if (start === end) end = firstNonSlashEnd;\n          else if (end === -1) end = path2.length;\n          return path2.slice(start, end);\n        } else {\n          for (i = path2.length - 1; i >= 0; --i) {\n            if (path2.charCodeAt(i) === 47) {\n              if (!matchedSlash) {\n                start = i + 1;\n                break;\n              }\n            } else if (end === -1) {\n              matchedSlash = false;\n              end = i + 1;\n            }\n          }\n          if (end === -1) return \"\";\n          return path2.slice(start, end);\n        }\n      },\n      extname: function extname(path2) {\n        assertPath(path2);\n        var startDot = -1;\n        var startPart = 0;\n        var end = -1;\n        var matchedSlash = true;\n        var preDotState = 0;\n        for (var i = path2.length - 1; i >= 0; --i) {\n          var code = path2.charCodeAt(i);\n          if (code === 47) {\n            if (!matchedSlash) {\n              startPart = i + 1;\n              break;\n            }\n            continue;\n          }\n          if (end === -1) {\n            matchedSlash = false;\n            end = i + 1;\n          }\n          if (code === 46) {\n            if (startDot === -1)\n              startDot = i;\n            else if (preDotState !== 1)\n              preDotState = 1;\n          } else if (startDot !== -1) {\n            preDotState = -1;\n          }\n        }\n        if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot\n        preDotState === 0 || // The (right-most) trimmed path component is exactly '..'\n        preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n          return \"\";\n        }\n        return path2.slice(startDot, end);\n      },\n      format: function format(pathObject) {\n        if (pathObject === null || typeof pathObject !== \"object\") {\n          throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n        }\n        return _format(\"/\", pathObject);\n      },\n      parse: function parse(path2) {\n        assertPath(path2);\n        var ret = { root: \"\", dir: \"\", base: \"\", ext: \"\", name: \"\" };\n        if (path2.length === 0) return ret;\n        var code = path2.charCodeAt(0);\n        var isAbsolute = code === 47;\n        var start;\n        if (isAbsolute) {\n          ret.root = \"/\";\n          start = 1;\n        } else {\n          start = 0;\n        }\n        var startDot = -1;\n        var startPart = 0;\n        var end = -1;\n        var matchedSlash = true;\n        var i = path2.length - 1;\n        var preDotState = 0;\n        for (; i >= start; --i) {\n          code = path2.charCodeAt(i);\n          if (code === 47) {\n            if (!matchedSlash) {\n              startPart = i + 1;\n              break;\n            }\n            continue;\n          }\n          if (end === -1) {\n            matchedSlash = false;\n            end = i + 1;\n          }\n          if (code === 46) {\n            if (startDot === -1) startDot = i;\n            else if (preDotState !== 1) preDotState = 1;\n          } else if (startDot !== -1) {\n            preDotState = -1;\n          }\n        }\n        if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot\n        preDotState === 0 || // The (right-most) trimmed path component is exactly '..'\n        preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n          if (end !== -1) {\n            if (startPart === 0 && isAbsolute) ret.base = ret.name = path2.slice(1, end);\n            else ret.base = ret.name = path2.slice(startPart, end);\n          }\n        } else {\n          if (startPart === 0 && isAbsolute) {\n            ret.name = path2.slice(1, startDot);\n            ret.base = path2.slice(1, end);\n          } else {\n            ret.name = path2.slice(startPart, startDot);\n            ret.base = path2.slice(startPart, end);\n          }\n          ret.ext = path2.slice(startDot, end);\n        }\n        if (startPart > 0) ret.dir = path2.slice(0, startPart - 1);\n        else if (isAbsolute) ret.dir = \"/\";\n        return ret;\n      },\n      sep: \"/\",\n      delimiter: \":\",\n      win32: null,\n      posix: null\n    };\n    posix2.posix = posix2;\n    module2.exports = posix2;\n  }\n});\n\n// <stdin>\nvar path = require_path_browserify();\nvar resolved = path.default ?? path;\nvar posix = resolved.posix ?? resolved;\nposix.posix = posix;\nmodule.exports = posix;\n\nif (module.exports && module.exports.default == null) module.exports.default = module.exports;\n";