HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/node_modules/@vue/vue-loader-v15/lib/resolveScript.js
const { resolveCompiler } = require('./compiler')

const clientCache = new WeakMap()
const serverCache = new WeakMap()

exports.resolveScript = function resolveScript(
  descriptor,
  scopeId,
  options,
  loaderContext
) {
  if (!descriptor.script && !descriptor.scriptSetup) {
    return null
  }

  const { compiler } = resolveCompiler(loaderContext.rootContext, loaderContext)
  if (!compiler.compileScript) {
    if (descriptor.scriptSetup) {
      loaderContext.emitError(
        'The version of Vue you are using does not support <script setup>. ' +
          'Please upgrade to 2.7 or above.'
      )
    }
    return descriptor.script
  }

  const isProd =
    loaderContext.mode === 'production' || process.env.NODE_ENV === 'production'
  const isServer = options.optimizeSSR || loaderContext.target === 'node'

  const cacheToUse = isServer ? serverCache : clientCache
  const cached = cacheToUse.get(descriptor)
  if (cached) {
    return cached
  }

  let resolved = null

  try {
    resolved = compiler.compileScript(descriptor, {
      id: scopeId,
      isProd,
      babelParserPlugins: options.babelParserPlugins
    })
  } catch (e) {
    loaderContext.emitError(e)
  }

  cacheToUse.set(descriptor, resolved)
  return resolved
}