'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const path = require('path')
const {
  resolveUTSModule
} = require('./uts')
class UTSResolverPlugin {
  apply (resolver) {
    resolver.hooks.resolve.tapAsync('UTSResolverPlugin', (request, resolveContext, callback) => {
      let utsModulePath = ''
      if (request.request.startsWith('@/uni_modules/')) {
        utsModulePath = path.resolve(process.env.UNI_INPUT_DIR, request.request.replace('@/', ''))
      } else if (request.request.includes('uni_modules')) {
        utsModulePath = path.resolve(request.path, request.request)
      }
      if (utsModulePath) {
        const utsModule = resolveUTSModule(utsModulePath)
        if (utsModule) {
          if (process.env.UNI_PLATFORM === 'app-plus') {
            request.request = utsModule + '/package.json?uts-proxy'
          } else {
            request.request = utsModule
          }
        }
      }
      callback()
    })
  }
}
 
module.exports = UTSResolverPlugin