{"version":3,"sources":["jsdelivr-header.js","/npm/vite-plugin-tm-userscript@1.2.1/dist/index.js"],"names":[],"mappings":"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","file":"/npm/vite-plugin-tm-userscript@1.2.1/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/vite-plugin-tm-userscript@1.2.1/dist/index.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 __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __export = (target, all) => {\n  for (var name in all)\n    __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from))\n      if (!__hasOwnProp.call(to, key) && key !== except)\n        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n  }\n  return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target, mod));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n  default: () => tampermonkeyPlugin,\n  defineTmHeader: () => defineTmHeader\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/common/constant.ts\nvar DEV_MODE = \"development\";\nvar PROD_MODE = \"production\";\nvar GM_ADD_STYLE = \"GM_addStyle\";\nvar DEFAULT_NPM_CDN = \"https://unpkg.com\";\nvar INTRO_FOR_PLACEHOLDER = 'console.warn(\"__TEMPLATE_INJECT_CSS_PLACEHOLDER_NOT_WORK__\")';\nvar grants = [\n  \"unsafeWindow\",\n  \"GM_addStyle\",\n  \"GM_addElement\",\n  \"GM_deleteValue\",\n  \"GM_listValues\",\n  \"GM_addValueChangeListener\",\n  \"GM_removeValueChangeListener\",\n  \"GM_setValue\",\n  \"GM_getValue\",\n  \"GM_log\",\n  \"GM_getResourceText\",\n  \"GM_getResourceURL\",\n  \"GM_registerMenuCommand\",\n  \"GM_unregisterMenuCommand\",\n  \"GM_openInTab\",\n  \"GM_xmlhttpRequest\",\n  \"GM_download\",\n  \"GM_getTab\",\n  \"GM_saveTab\",\n  \"GM_getTabs\",\n  \"GM_notification\",\n  \"GM_setClipboard\",\n  \"GM_info\"\n];\nvar tmHeaderKeys = [\n  \"name\",\n  \"name:en\",\n  \"name:zh\",\n  \"name:zh-cn\",\n  \"version\",\n  \"description\",\n  \"description:en\",\n  \"description:zh\",\n  \"description:zh-cn\",\n  \"author\",\n  \"namespace\",\n  \"license\",\n  \"match\",\n  \"include\",\n  \"require\",\n  \"homepage\",\n  \"homepageURL\",\n  \"website\",\n  \"source\",\n  \"icon\",\n  \"iconURL\",\n  \"defaulticon\",\n  \"icon64\",\n  \"icon64URL\",\n  \"updateURL\",\n  \"downloadURL\",\n  \"supportURL\",\n  \"contributionURL\",\n  \"contributionAmount\",\n  \"compatible\",\n  \"incompatible\",\n  \"exclude\",\n  \"resource\",\n  \"connect\",\n  \"run-at\",\n  \"grant\",\n  \"noframes\",\n  \"unwrap\",\n  \"nocompat\",\n  \"antifeature\"\n];\n\n// src/lib/client-code.ts\nfunction generateClientCode({ address, port }, entry) {\n  return `\n  const url = 'http://${address}:${port}'\n\n  const originFetch = unsafeWindow.fetch\n  const ping = '/__vite_ping'\n  unsafeWindow.fetch = function(input, init) {\n    if (input === ping) {\n      input = url + ping\n    }\n    return originFetch(input, init)\n  }\n\n  ${grants.map((item) => `unsafeWindow.${item} = ${item}`).join(\"\\n  \")}\n\n  function createModuleScript(path) {\n    if (typeof GM_addElement == 'function') {\n      return GM_addElement('script', {\n        type: 'module',\n        src: url + '/' + path\n      })\n    } else {\n      const script = document.createElement('script')\n      script.type = 'module'\n      script.src = url + '/' + path\n      document.body.appendChild(script)\n      return script\n    }\n  }\n\n  createModuleScript('@vite/client')\n  createModuleScript('${entry != null ? entry : \"src/main.ts\"}')\n`;\n}\n\n// src/common/utils.ts\nvar import_node_fs = __toESM(require(\"fs\"));\nvar import_node_path = __toESM(require(\"path\"));\nvar root = process.cwd();\nfunction readJSON(filePath) {\n  const json = import_node_fs.default.readFileSync(filePath, \"utf8\");\n  return JSON.parse(json);\n}\nfunction readPackageJSON() {\n  const packagePath = import_node_path.default.resolve(root, \"package.json\");\n  return readJSON(packagePath);\n}\nfunction buildName(name) {\n  return name.replace(/(^|-)([A-Za-z])/g, (m) => m.replace(\"-\", \"\").toUpperCase());\n}\nfunction buildGlobalName(input) {\n  if (!input)\n    return input;\n  if (Array.isArray(input)) {\n    const result = {};\n    for (const name of input) {\n      result[name] = buildName(name);\n    }\n    return result;\n  }\n  const globals = {};\n  for (const [key, value] of Object.entries(input)) {\n    if (Array.isArray(value)) {\n      globals[key] = value[0];\n    } else {\n      globals[key] = value;\n    }\n  }\n  return globals;\n}\nfunction buildDefaultCDN(packageName) {\n  const packagePath = import_node_path.default.resolve(root, `node_modules/${packageName}/package.json`);\n  if (import_node_fs.default.existsSync(packagePath)) {\n    const { version = \"latest\" } = readJSON(packagePath);\n    return `${DEFAULT_NPM_CDN}/${packageName}@${version}`;\n  }\n  return `${DEFAULT_NPM_CDN}/${packageName}`;\n}\nfunction buildRequireCDN(input) {\n  if (!input)\n    return [];\n  if (Array.isArray(input)) {\n    return input.map((name) => buildDefaultCDN(name)).filter(Boolean);\n  }\n  const requireCDNs = [];\n  for (const [key, value] of Object.entries(input)) {\n    if (Array.isArray(value)) {\n      value[1] && requireCDNs.push(value[1]);\n      continue;\n    }\n    requireCDNs.push(buildDefaultCDN(key));\n  }\n  return requireCDNs;\n}\nfunction defaultEntry() {\n  const tsconfigFile = import_node_path.default.resolve(root, \"vite.config.ts\");\n  const extension = import_node_fs.default.existsSync(tsconfigFile) ? \"ts\" : \"js\";\n  return import_node_path.default.resolve(root, `src/main.${extension}`);\n}\nfunction getDefinedConfig() {\n  const jsonPath = import_node_path.default.resolve(root, \"header.config.json\");\n  if (import_node_fs.default.existsSync(jsonPath)) {\n    return readJSON(jsonPath);\n  }\n  const jsPath = import_node_path.default.resolve(root, \"header.config.js\");\n  if (import_node_fs.default.existsSync(jsPath)) {\n    return require(jsPath);\n  }\n  const txtPath = import_node_path.default.resolve(root, \"header.config.txt\");\n  if (import_node_fs.default.existsSync(txtPath)) {\n    return import_node_fs.default.readFileSync(txtPath, \"utf8\");\n  }\n  return readPackageJSON().tmHeader;\n}\n\n// src/lib/grants.ts\nvar import_acorn_walk = require(\"acorn-walk\");\nvar grantsSet = new Set(grants);\nvar usedGrants = /* @__PURE__ */ new Set();\nfunction parseGrant(autoGrant) {\n  if (autoGrant === false)\n    return {};\n  return {\n    name: \"tm-userscript-grant\",\n    moduleParsed(moduleInfo) {\n      if (/\\.(ts|js|vue)$/.test(moduleInfo.id) && moduleInfo.ast) {\n        (0, import_acorn_walk.full)(moduleInfo.ast, (node) => {\n          if (node.type === \"CallExpression\") {\n            const calleeName = node.callee.name;\n            if (calleeName && grantsSet.has(calleeName)) {\n              usedGrants.add(calleeName);\n            }\n          }\n          if (node.type === \"Identifier\" && grantsSet.has(node.name)) {\n            usedGrants.add(node.name);\n          }\n        });\n      }\n    }\n  };\n}\nfunction addUsedGrants(tmConfig, isDevelopment = false) {\n  if (isDevelopment) {\n    tmConfig.grant = grants;\n    return;\n  }\n  if (!Array.isArray(tmConfig.grant)) {\n    tmConfig.grant = [tmConfig.grant].filter(Boolean);\n  }\n  tmConfig.grant = [.../* @__PURE__ */ new Set([...tmConfig.grant, ...usedGrants])];\n}\nfunction addExtraTmGrant(tmConfig) {\n  if (!Array.isArray(tmConfig.grant)) {\n    tmConfig.grant = [tmConfig.grant].filter(Boolean);\n  }\n  if (!tmConfig.grant.includes(GM_ADD_STYLE)) {\n    tmConfig.grant.push(GM_ADD_STYLE);\n  }\n  return tmConfig;\n}\n\n// src/lib/tm-header.ts\nfunction generateTmHeader(mode, input, hasCss, headers) {\n  var _a, _b, _c;\n  const definedConfig = (_a = headers != null ? headers : getDefinedConfig()) != null ? _a : {};\n  if (typeof definedConfig == \"string\")\n    return definedConfig;\n  const packageJson = readPackageJSON();\n  const config = {};\n  for (const key of tmHeaderKeys) {\n    const value = (_b = definedConfig[key]) != null ? _b : packageJson[key];\n    if (value)\n      config[key] = value;\n  }\n  config.require = [\n    ...Array.isArray(config.require) ? config.require : [(_c = config.require) != null ? _c : \"\"],\n    ...buildRequireCDN(input)\n  ].filter(Boolean);\n  if (mode === DEV_MODE) {\n    addUsedGrants(config, true);\n    config.name = \"[ Dev ] - \" + config.name;\n  } else {\n    hasCss && addExtraTmGrant(config);\n    addUsedGrants(config);\n  }\n  const definedMetaKeys = Object.keys(config);\n  const maxKeyLength = Math.max(...definedMetaKeys.map((k) => k.length));\n  const definedMetaBlock = definedMetaKeys.flatMap((key) => {\n    const value = config[key];\n    const spaces = Array.from({ length: maxKeyLength - key.length + 8 }).join(\" \");\n    const dealMeta = (v) => {\n      if (Array.isArray(v))\n        return v.map((element) => dealMeta(element));\n      if (typeof v == \"boolean\" && v === true)\n        return `// @${key}`;\n      return `// @${key}${spaces}${v}`;\n    };\n    return dealMeta(value);\n  });\n  return [\n    \"// ==UserScript==\",\n    ...definedMetaBlock,\n    \"// ==/UserScript==\"\n  ].join(\"\\n\");\n}\n\n// src/lib/build-options.ts\nvar getRollupOptions = (input) => {\n  const external = Array.isArray(input) ? input : Object.keys(input != null ? input : {});\n  const globals = buildGlobalName(input);\n  return {\n    external,\n    output: {\n      globals,\n      intro: INTRO_FOR_PLACEHOLDER,\n      inlineDynamicImports: true\n    }\n  };\n};\nvar getLibraryOptions = (entry) => {\n  const { name: packageName } = readPackageJSON();\n  if (!packageName) {\n    const error = \"props `name` in package.json is required!\";\n    console.error(error);\n    throw new Error(error);\n  }\n  const name = buildName(packageName);\n  return {\n    name,\n    entry: entry != null ? entry : defaultEntry(),\n    formats: [\"iife\"],\n    fileName: () => `${packageName}.user.js`\n  };\n};\n\n// src/lib/plugin.ts\nfunction generateDevelopmentCode(address, input, entry, headers) {\n  if (!address)\n    return \"\\u5904\\u7406\\u5927\\u5931\\u8D25\\u4E86\\u55F7...\";\n  const tmHeader = generateTmHeader(DEV_MODE, input, true, headers);\n  const code = generateClientCode(address, entry);\n  return `${tmHeader}\n\n(function () {\n${code}\n})()`;\n}\nfunction getAddress(address) {\n  return typeof address == \"object\" ? address : void 0;\n}\nvar DEV_TAMPERMONKEY_PATH = \"/_development.user.js\";\nvar showInstallLog = (address) => {\n  const url = `http://${address.address}:${address.port}${DEV_TAMPERMONKEY_PATH}`;\n  setTimeout(() => {\n    console.log(\"\\x1B[36m%s\\x1B[0m\", `> [TMPlugin] - click link to install userscript: ${url}`);\n  });\n};\nfunction tampermonkeyPlugin(options = {}) {\n  const { entry, externalGlobals, autoGrant, headers } = options;\n  const { moduleParsed } = parseGrant(autoGrant);\n  return [\n    {\n      name: \"tm-userscript-builder\",\n      moduleParsed,\n      configureServer(server) {\n        return () => {\n          var _a;\n          (_a = server.httpServer) == null ? void 0 : _a.on(\"listening\", () => {\n            var _a2;\n            const address = getAddress((_a2 = server.httpServer) == null ? void 0 : _a2.address());\n            address && showInstallLog(address);\n          });\n          server.middlewares.use((request, response, next) => {\n            var _a2;\n            if (request.url === DEV_TAMPERMONKEY_PATH) {\n              const address = getAddress((_a2 = server.httpServer) == null ? void 0 : _a2.address());\n              const developmentCode = generateDevelopmentCode(address, externalGlobals, entry, headers);\n              response.setHeader(\"Cache-Control\", \"no-store\");\n              response.write(developmentCode);\n            }\n            next();\n          });\n        };\n      },\n      config(config) {\n        var _a;\n        let hmr = (_a = config.server) == null ? void 0 : _a.hmr;\n        if (typeof hmr === \"boolean\" || !hmr)\n          hmr = {};\n        hmr.protocol = \"ws\";\n        hmr.host = \"127.0.0.1\";\n        config.server = __spreadProps(__spreadValues({}, config.server), {\n          hmr\n        });\n        config.build = {\n          lib: getLibraryOptions(entry),\n          rollupOptions: getRollupOptions(externalGlobals),\n          minify: false,\n          sourcemap: false,\n          cssCodeSplit: false\n        };\n      }\n    },\n    {\n      name: \"tm-userscript-inject\",\n      apply: \"build\",\n      enforce: \"post\",\n      generateBundle(_options, bundle) {\n        const bundleKeys = Object.keys(bundle);\n        const cssBundles = bundleKeys.filter((key) => key.endsWith(\".css\"));\n        const jsBundles = bundleKeys.filter((key) => key.endsWith(\".js\"));\n        const cssList = [];\n        for (const css of cssBundles) {\n          const chunk = bundle[css];\n          if (chunk.type === \"asset\" && typeof chunk.source == \"string\") {\n            delete bundle[css];\n            cssList.push(chunk.source);\n            continue;\n          }\n        }\n        const hadCss = cssList.length > 0;\n        const tmHeader = generateTmHeader(PROD_MODE, externalGlobals, hadCss, headers);\n        for (const js of jsBundles) {\n          const chunk = bundle[js];\n          if (chunk.type === \"chunk\") {\n            let chunkCode = chunk.code;\n            for (const [moduleKey, moduleValue] of Object.entries(chunk.modules)) {\n              if (/\\.(c|le|sc)ss$/.test(moduleKey) && moduleValue.code) {\n                const cssCode = moduleValue.code.replaceAll(\"'\", '\"').replaceAll(\"#__PURE__\", \"@__PURE__\");\n                chunkCode = chunkCode.replace(cssCode, \"\");\n              }\n            }\n            chunk.code = tmHeader + \"\\n\\n\" + chunkCode.replace(INTRO_FOR_PLACEHOLDER, hadCss ? `${GM_ADD_STYLE}(\\`\n${cssList.join(\"\\n\")}  \\`)` : \"\");\n          }\n        }\n      }\n    }\n  ];\n}\n\n// src/index.ts\nfunction defineTmHeader(options) {\n  return options;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n  defineTmHeader\n});\n"]}