{"version":3,"sources":["jsdelivr-header.js","/npm/create-vite-deno@0.0.2/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;OCHO,OAAQ,iBACR,SAAU,mBACR,kBAAqB,kBACvB,aAAc,kBACd,YAAa,iBAElB,KACA,KACA,MACA,SACA,UACA,QACA,IACA,MACA,OACA,iBACK,WAIP,MAAM,KAAO,SAAS,QAAQ,KAAK,MAAM,GAAI,CAAE,OAAQ,CAAC,OAClD,IAAM,QAAQ,MAEd,WAAa,CACjB,CACE,KAAM,cACN,MAAO,OACP,SAAU,CACR,CACE,KAAM,cACN,QAAS,aACT,MAAO,QAET,CACE,KAAM,iBACN,QAAS,aACT,MAAO,QAIb,CACE,KAAM,UACN,MAAO,MACP,SAAU,CACR,CACE,KAAM,UACN,QAAS,aACT,MAAO,QAET,CACE,KAAM,aACN,QAAS,aACT,MAAO,QAIb,CACE,KAAM,YACN,MAAO,KACP,SAAU,CACR,CACE,KAAM,YACN,QAAS,aACT,MAAO,QAET,CACE,KAAM,eACN,QAAS,aACT,MAAO,QAIb,CACE,KAAM,aACN,MAAO,QACP,SAAU,CACR,CACE,KAAM,aACN,QAAS,aACT,MAAO,QAET,CACE,KAAM,gBACN,QAAS,aACT,MAAO,QAIb,CACE,KAAM,aACN,MAAO,IACP,SAAU,CACR,CACE,KAAM,aACN,QAAS,aACT,MAAO,QAET,CACE,KAAM,gBACN,QAAS,aACT,MAAO,QAIb,CACE,KAAM,YACN,MAAO,UACP,SAAU,CACR,CACE,KAAM,YACN,QAAS,aACT,MAAO,QAET,CACE,KAAM,eACN,QAAS,aACT,MAAO,QAIb,CACE,KAAM,eACN,MAAO,QAET,CACE,KAAM,WACN,MAAO,OAET,CACE,KAAM,aACN,MAAO,MAET,CACE,KAAM,cACN,MAAO,SAET,CACE,KAAM,WACN,MAAO,UAET,CACE,KAAM,cACN,MAAO,KAET,CACE,KAAM,aACN,MAAO,WAET,CACE,KAAM,UACN,MAAO,aACP,SAAU,CACR,CACE,KAAM,UACN,QAAS,aACT,MAAO,QAET,CACE,KAAM,aACN,QAAS,aACT,MAAO,QAIb,CACE,KAAM,gBACN,MAAO,WAIL,UAAY,WAAW,KAC1B,GAAO,EAAE,UAAY,EAAE,SAAS,KAAK,GAAM,EAAE,QAAU,CAAC,EAAE,QAC3D,QAAO,CAAC,EAAG,IAAM,EAAE,OAAO,IAAI,IAE1B,YAAc,CAClB,WAAY,cAGd,eAAe,OAGb,IAAI,EAAY,gBAAgB,KAAK,EAAE,IACnC,EAAW,KAAK,UAAY,KAAK,EAErC,MAAM,EAAmB,eACnB,EAAiB,IACP,MAAd,EAAoB,KAAK,SAAS,KAAK,WAAa,EAEtD,IAAI,EAAS,CAAC,EAEd,IACE,QAAe,QACb,CACE,CACE,KAAM,EAAY,KAAO,OACzB,KAAM,cACN,QAAS,MAAM,iBACf,QAAS,EACT,QAAU,IACR,EAAY,gBAAgB,EAAM,QAAU,IAGhD,CACE,KAAM,KACH,GAAG,WAAW,IAAc,QAAQ,GAAa,KAAO,UAC3D,KAAM,YACN,QAAS,KACQ,MAAd,EACG,oBACA,qBAAqB,MACzB,sDAEJ,CAEE,KAAM,CAAC,GAAK,aAAc,CAAC,KACzB,IAAkB,IAAd,EACF,MAAM,IAAI,MAAM,IAAI,KAAO,wBAE7B,OAAO,MAET,KAAM,oBAER,CACE,KAAM,IAAO,mBAAmB,KAAoB,KAAO,OAC3D,KAAM,cACN,QAAS,MAAM,iBACf,QAAS,IAAM,mBAAmB,KAClC,SAAW,GACT,mBAAmB,IAAQ,6BAE/B,CACE,KAAM,GAAY,UAAU,SAAS,GAAY,KAAO,SACxD,KAAM,YACN,QACsB,iBAAb,GAA0B,UAAU,SAAS,GAIhD,MAAM,sBAHN,MACE,IAAI,yDAGZ,QAAS,EACT,QAAS,WAAW,KAAK,IAEhB,CACL,OAAO,EAFc,EAAU,OAET,EAAU,MAChC,MAAO,OAIb,CACE,KAAO,GACL,GAAa,EAAU,SAAW,SAAW,KAC/C,KAAM,UACN,QAAS,MAAM,qBAEf,QAAU,GACR,EAAU,SAAS,KAAK,IAEf,CACL,OAAO,EAFY,EAAQ,OAEP,EAAQ,MAC5B,MAAO,EAAQ,WAKzB,CACE,SAAU,KACR,MAAM,IAAI,MAAM,IAAI,KAAO,uBAAsB,GAIzD,CAAE,MAAO,GAEP,YADA,QAAQ,IAAI,EAAU,QAExB,CAGA,MAAM,UAAE,EAAS,UAAE,EAAS,YAAE,EAAW,QAAE,GAAY,EAEjD,EAAO,KAAK,KAAK,IAAK,GAExB,EACF,SAAS,GACC,GAAG,WAAW,IACxB,GAAG,UAAU,EAAM,CAAE,WAAW,IAIlC,EAAW,GAAW,GAAW,MAAQ,EAEzC,QAAQ,IAAI,4BAA4B,QAExC,MAAM,EAAc,KAAK,QACvB,0BAA0B,KAC1B,KACA,YAAY,KAGR,EAAQ,CAAC,EAAM,KACnB,MAAM,EAAa,YAAY,GAC3B,KAAK,KAAK,EAAM,YAAY,IAC5B,KAAK,KAAK,EAAM,GAChB,EACF,GAAG,cAAc,EAAY,GAE7B,KAAK,KAAK,KAAK,EAAa,GAAO,EACrC,EAGI,EAAQ,GAAG,YAAY,GAC7B,IAAK,MAAM,KAAQ,EAAM,QAAQ,GAAY,iBAAN,IACrC,EAAM,GAIR,GADe,EAAS,WAAW,SAEjC,QAAQ,IAAI,sBACR,IAAS,KACX,QAAQ,IAAI,QAAQ,KAAK,SAAS,IAAK,MAEzC,QAAQ,IAAI,mBACZ,QAAQ,UACH,CACL,MAAM,EAAM,KAAK,MACf,GAAG,aAAa,KAAK,KAAK,EAAa,gBAAiB,UAG1D,EAAI,KAAO,GAAe,IAE1B,EAAM,eAAgB,KAAK,UAAU,EAAK,KAAM,IAEhD,MAAM,EAAU,iBAAiB,QAAQ,IAAI,uBACvC,EAAa,EAAU,EAAQ,KAAO,MAM5C,GAJA,QAAQ,IAAI,sBACR,IAAS,KACX,QAAQ,IAAI,QAAQ,KAAK,SAAS,IAAK,MAGlC,SADC,EAEJ,QAAQ,IAAI,UACZ,QAAQ,IAAI,mBAGZ,QAAQ,IAAI,KAAK,aACjB,QAAQ,IAAI,KAAK,aAGrB,QAAQ,KACV,CACF,CAKA,SAAS,gBAAgB,GACvB,OAAO,GAAW,OAAO,QAAQ,QAAS,GAC5C,CAEA,SAAS,KAAK,EAAK,GACJ,GAAG,SAAS,GAChB,cACP,QAAQ,EAAK,GAEb,GAAG,aAAa,EAAK,EAEzB,CAKA,SAAS,mBAAmB,GAC1B,MAAO,6DAA6D,KAClE,EAEJ,CAKA,SAAS,mBAAmB,GAC1B,OAAO,EACJ,OACA,cACA,QAAQ,OAAQ,KAChB,QAAQ,QAAS,IACjB,QAAQ,gBAAiB,IAC9B,CAMA,SAAS,QAAQ,EAAQ,GACvB,GAAG,UAAU,EAAS,CAAE,WAAW,IACnC,IAAK,MAAM,KAAQ,GAAG,YAAY,GAAS,CAGzC,KAFgB,KAAK,QAAQ,EAAQ,GACpB,KAAK,QAAQ,EAAS,GAEzC,CACF,CAKA,SAAS,QAAQ,GACf,MAAM,EAAQ,GAAG,YAAY,GAC7B,OAAwB,IAAjB,EAAM,QAAkC,IAAjB,EAAM,QAA6B,SAAb,EAAM,EAC5D,CAKA,SAAS,SAAS,GAChB,GAAK,GAAG,WAAW,GAGnB,IAAK,MAAM,KAAQ,GAAG,YAAY,GAChC,GAAG,OAAO,KAAK,QAAQ,EAAK,GAAO,CAAE,WAAW,EAAM,OAAO,GAEjE,CAMA,SAAS,iBAAiB,GACxB,IAAK,EAAW,OAChB,MACM,EADU,EAAU,MAAM,KAAK,GACV,MAAM,KACjC,MAAO,CACL,KAAM,EAAW,GACjB,QAAS,EAAW,GAExB,CAEA,OAAO,OAAO,IACZ,QAAQ,MAAM,EAAC","file":"/npm/create-vite-deno@0.0.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.19.2.\n * Original file: /npm/create-vite-deno@0.0.2/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","#!/usr/bin/env node\n\n// @ts-check\nimport fs from 'node:fs'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport minimist from 'minimist'\nimport prompts from 'prompts'\nimport {\n  blue,\n  cyan,\n  green,\n  lightRed,\n  lightBlue,\n  magenta,\n  red,\n  reset,\n  yellow,\n  lightMagenta\n} from 'kolorist'\n\n// Avoids autoconversion to number of the project name by defining that the args\n// non associated with an option ( _ ) needs to be parsed as a string. See #4606\nconst argv = minimist(process.argv.slice(2), { string: ['_'] })\nconst cwd = process.cwd()\n\nconst FRAMEWORKS = [\n  {\n    name: 'ssr-vanilla',\n    color: yellow,\n    variants: [\n      {\n        name: 'ssr-vanilla',\n        display: 'JavaScript',\n        color: yellow\n      },\n      {\n        name: 'ssr-vanilla-ts',\n        display: 'TypeScript',\n        color: blue\n      }\n    ]\n  },\n  {\n    name: 'ssr-vue',\n    color: green,\n    variants: [\n      {\n        name: 'ssr-vue',\n        display: 'JavaScript',\n        color: yellow\n      },\n      {\n        name: 'ssr-vue-ts',\n        display: 'TypeScript',\n        color: blue\n      }\n    ]\n  },\n  {\n    name: 'ssr-react',\n    color: cyan,\n    variants: [\n      {\n        name: 'ssr-react',\n        display: 'JavaScript',\n        color: yellow\n      },\n      {\n        name: 'ssr-react-ts',\n        display: 'TypeScript',\n        color: blue\n      }\n    ]\n  },\n  {\n    name: 'ssr-preact',\n    color: magenta,\n    variants: [\n      {\n        name: 'ssr-preact',\n        display: 'JavaScript',\n        color: yellow\n      },\n      {\n        name: 'ssr-preact-ts',\n        display: 'TypeScript',\n        color: blue\n      }\n    ]\n  },\n  {\n    name: 'ssr-svelte',\n    color: red,\n    variants: [\n      {\n        name: 'ssr-svelte',\n        display: 'JavaScript',\n        color: yellow\n      },\n      {\n        name: 'ssr-svelte-ts',\n        display: 'TypeScript',\n        color: blue\n      }\n    ]\n  },\n  {\n    name: 'ssr-solid',\n    color: lightBlue,\n    variants: [\n      {\n        name: 'ssr-solid',\n        display: 'JavaScript',\n        color: yellow\n      },\n      {\n        name: 'ssr-solid-ts',\n        display: 'TypeScript',\n        color: blue\n      }\n    ]\n  },\n  {\n    name: 'deno-vanilla',\n    color: yellow\n  },\n  {\n    name: 'deno-vue',\n    color: green\n  },\n  {\n    name: 'deno-react',\n    color: cyan\n  },\n  {\n    name: 'deno-preact',\n    color: magenta\n  },\n  {\n    name: 'deno-lit',\n    color: lightRed\n  },\n  {\n    name: 'deno-svelte',\n    color: red\n  },\n  {\n    name: 'deno-solid',\n    color: lightBlue\n  },\n  {\n    name: 'library',\n    color: lightMagenta,\n    variants: [\n      {\n        name: 'library',\n        display: 'JavaScript',\n        color: yellow\n      },\n      {\n        name: 'library-ts',\n        display: 'TypeScript',\n        color: blue\n      }\n    ]\n  },\n  {\n    name: 'ssr-transform',\n    color: lightRed\n  }\n]\n\nconst TEMPLATES = FRAMEWORKS.map(\n  (f) => (f.variants && f.variants.map((v) => v.name)) || [f.name]\n).reduce((a, b) => a.concat(b), [])\n\nconst renameFiles = {\n  _gitignore: '.gitignore'\n}\n\nasync function init() {\n  /** @type {string} */\n  // @ts-ignore\n  let targetDir = formatTargetDir(argv._[0])\n  let template = argv.template || argv.t\n\n  const defaultTargetDir = 'vite-project'\n  const getProjectName = () =>\n    targetDir === '.' ? path.basename(path.resolve()) : targetDir\n\n  let result = {}\n\n  try {\n    result = await prompts(\n      [\n        {\n          type: targetDir ? null : 'text',\n          name: 'projectName',\n          message: reset('Project name:'),\n          initial: defaultTargetDir,\n          onState: (state) => {\n            targetDir = formatTargetDir(state.value) || defaultTargetDir\n          }\n        },\n        {\n          type: () =>\n            !fs.existsSync(targetDir) || isEmpty(targetDir) ? null : 'confirm',\n          name: 'overwrite',\n          message: () =>\n            (targetDir === '.'\n              ? 'Current directory'\n              : `Target directory \"${targetDir}\"`) +\n            ` is not empty. Remove existing files and continue?`\n        },\n        {\n          // @ts-ignore\n          type: (_, { overwrite } = {}) => {\n            if (overwrite === false) {\n              throw new Error(red('✖') + ' Operation cancelled')\n            }\n            return null\n          },\n          name: 'overwriteChecker'\n        },\n        {\n          type: () => (isValidPackageName(getProjectName()) ? null : 'text'),\n          name: 'packageName',\n          message: reset('Package name:'),\n          initial: () => toValidPackageName(getProjectName()),\n          validate: (dir) =>\n            isValidPackageName(dir) || 'Invalid package.json name'\n        },\n        {\n          type: template && TEMPLATES.includes(template) ? null : 'select',\n          name: 'framework',\n          message:\n            typeof template === 'string' && !TEMPLATES.includes(template)\n              ? reset(\n                  `\"${template}\" isn't a valid template. Please choose from below: `\n                )\n              : reset('Select a template:'),\n          initial: 0,\n          choices: FRAMEWORKS.map((framework) => {\n            const frameworkColor = framework.color\n            return {\n              title: frameworkColor(framework.name),\n              value: framework\n            }\n          })\n        },\n        {\n          type: (framework) =>\n            framework && framework.variants ? 'select' : null,\n          name: 'variant',\n          message: reset('Select a variant:'),\n          // @ts-ignore\n          choices: (framework) =>\n            framework.variants.map((variant) => {\n              const variantColor = variant.color\n              return {\n                title: variantColor(variant.name),\n                value: variant.name\n              }\n            })\n        }\n      ],\n      {\n        onCancel: () => {\n          throw new Error(red('✖') + ' Operation cancelled')\n        }\n      }\n    )\n  } catch (cancelled) {\n    console.log(cancelled.message)\n    return\n  }\n\n  // user choice associated with prompts\n  const { framework, overwrite, packageName, variant } = result\n\n  const root = path.join(cwd, targetDir)\n\n  if (overwrite) {\n    emptyDir(root)\n  } else if (!fs.existsSync(root)) {\n    fs.mkdirSync(root, { recursive: true })\n  }\n\n  // determine template\n  template = variant || framework?.name || template\n\n  console.log(`\\nScaffolding project in ${root}...`)\n\n  const templateDir = path.resolve(\n    fileURLToPath(import.meta.url),\n    '..',\n    `template-${template}`\n  )\n\n  const write = (file, content) => {\n    const targetPath = renameFiles[file]\n      ? path.join(root, renameFiles[file])\n      : path.join(root, file)\n    if (content) {\n      fs.writeFileSync(targetPath, content)\n    } else {\n      copy(path.join(templateDir, file), targetPath)\n    }\n  }\n\n  const files = fs.readdirSync(templateDir)\n  for (const file of files.filter((f) => f !== 'package.json')) {\n    write(file)\n  }\n\n  const isDeno = template.startsWith('deno-')\n  if (isDeno) {\n    console.log(`\\nDone. Now run:\\n`)\n    if (root !== cwd) {\n      console.log(`  cd ${path.relative(cwd, root)}`)\n    }\n    console.log('  deno task dev')\n    console.log()\n  } else {\n    const pkg = JSON.parse(\n      fs.readFileSync(path.join(templateDir, `package.json`), 'utf-8')\n    )\n\n    pkg.name = packageName || getProjectName()\n\n    write('package.json', JSON.stringify(pkg, null, 2))\n\n    const pkgInfo = pkgFromUserAgent(process.env.npm_config_user_agent)\n    const pkgManager = pkgInfo ? pkgInfo.name : 'npm'\n\n    console.log(`\\nDone. Now run:\\n`)\n    if (root !== cwd) {\n      console.log(`  cd ${path.relative(cwd, root)}`)\n    }\n    switch (pkgManager) {\n      case 'yarn':\n        console.log('  yarn')\n        console.log('  yarn dev')\n        break\n      default:\n        console.log(`  ${pkgManager} install`)\n        console.log(`  ${pkgManager} run dev`)\n        break\n    }\n    console.log()\n  }\n}\n\n/**\n * @param {string | undefined} targetDir\n */\nfunction formatTargetDir(targetDir) {\n  return targetDir?.trim().replace(/\\/+$/g, '')\n}\n\nfunction copy(src, dest) {\n  const stat = fs.statSync(src)\n  if (stat.isDirectory()) {\n    copyDir(src, dest)\n  } else {\n    fs.copyFileSync(src, dest)\n  }\n}\n\n/**\n * @param {string} projectName\n */\nfunction isValidPackageName(projectName) {\n  return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(\n    projectName\n  )\n}\n\n/**\n * @param {string} projectName\n */\nfunction toValidPackageName(projectName) {\n  return projectName\n    .trim()\n    .toLowerCase()\n    .replace(/\\s+/g, '-')\n    .replace(/^[._]/, '')\n    .replace(/[^a-z0-9-~]+/g, '-')\n}\n\n/**\n * @param {string} srcDir\n * @param {string} destDir\n */\nfunction copyDir(srcDir, destDir) {\n  fs.mkdirSync(destDir, { recursive: true })\n  for (const file of fs.readdirSync(srcDir)) {\n    const srcFile = path.resolve(srcDir, file)\n    const destFile = path.resolve(destDir, file)\n    copy(srcFile, destFile)\n  }\n}\n\n/**\n * @param {string} path\n */\nfunction isEmpty(path) {\n  const files = fs.readdirSync(path)\n  return files.length === 0 || (files.length === 1 && files[0] === '.git')\n}\n\n/**\n * @param {string} dir\n */\nfunction emptyDir(dir) {\n  if (!fs.existsSync(dir)) {\n    return\n  }\n  for (const file of fs.readdirSync(dir)) {\n    fs.rmSync(path.resolve(dir, file), { recursive: true, force: true })\n  }\n}\n\n/**\n * @param {string | undefined} userAgent process.env.npm_config_user_agent\n * @returns object | undefined\n */\nfunction pkgFromUserAgent(userAgent) {\n  if (!userAgent) return undefined\n  const pkgSpec = userAgent.split(' ')[0]\n  const pkgSpecArr = pkgSpec.split('/')\n  return {\n    name: pkgSpecArr[0],\n    version: pkgSpecArr[1]\n  }\n}\n\ninit().catch((e) => {\n  console.error(e)\n})\n"]}