From ab4e8129d5c94ff96e6c85d0d2b66a04a052b4e5 Mon Sep 17 00:00:00 2001
From: HelenHuang <LinHuang@pollex.com.tw>
Date: 星期四, 09 六月 2022 15:26:15 +0800
Subject: [PATCH] TODO#139888 嚴選配對 - 文案修改

---
 PAMapp/node_modules/browserslist/update-db.js |  229 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 110 insertions(+), 119 deletions(-)

diff --git a/PAMapp/node_modules/browserslist/update-db.js b/PAMapp/node_modules/browserslist/update-db.js
index 5707602..3e69e64 100644
--- a/PAMapp/node_modules/browserslist/update-db.js
+++ b/PAMapp/node_modules/browserslist/update-db.js
@@ -6,7 +6,7 @@
 
 var BrowserslistError = require('./error')
 
-function detectLockfile () {
+function detectLockfile() {
   var packageDir = escalade('.', function (dir, names) {
     return names.indexOf('package.json') !== -1 ? dir : ''
   })
@@ -14,7 +14,7 @@
   if (!packageDir) {
     throw new BrowserslistError(
       'Cannot find package.json. ' +
-      'Is this the right directory to run `npx browserslist --update-db` in?'
+        'Is this the right directory to run `npx browserslist --update-db` in?'
     )
   }
 
@@ -40,7 +40,7 @@
   )
 }
 
-function getLatestInfo (lock) {
+function getLatestInfo(lock) {
   if (lock.mode === 'yarn') {
     if (lock.version === 1) {
       return JSON.parse(
@@ -57,8 +57,10 @@
   )
 }
 
-function getBrowsersList () {
-  return childProcess.execSync('npx browserslist').toString()
+function getBrowsersList() {
+  return childProcess
+    .execSync('npx browserslist')
+    .toString()
     .trim()
     .split('\n')
     .map(function (line) {
@@ -73,44 +75,49 @@
     }, {})
 }
 
-function diffBrowsersLists (old, current) {
+function diffBrowsersLists(old, current) {
   var browsers = Object.keys(old).concat(
     Object.keys(current).filter(function (browser) {
       return old[browser] === undefined
     })
   )
-  return browsers.map(function (browser) {
-    var oldVersions = old[browser] || []
-    var currentVersions = current[browser] || []
-    var intersection = oldVersions.filter(function (version) {
-      return currentVersions.indexOf(version) !== -1
+  return browsers
+    .map(function (browser) {
+      var oldVersions = old[browser] || []
+      var currentVersions = current[browser] || []
+      var intersection = oldVersions.filter(function (version) {
+        return currentVersions.indexOf(version) !== -1
+      })
+      var addedVersions = currentVersions.filter(function (version) {
+        return intersection.indexOf(version) === -1
+      })
+      var removedVersions = oldVersions.filter(function (version) {
+        return intersection.indexOf(version) === -1
+      })
+      return removedVersions
+        .map(function (version) {
+          return pico.red('- ' + browser + ' ' + version)
+        })
+        .concat(
+          addedVersions.map(function (version) {
+            return pico.green('+ ' + browser + ' ' + version)
+          })
+        )
     })
-    var addedVersions = currentVersions.filter(function (version) {
-      return intersection.indexOf(version) === -1
-    })
-    var removedVersions = oldVersions.filter(function (version) {
-      return intersection.indexOf(version) === -1
-    })
-    return removedVersions.map(function (version) {
-      return pico.red('- ' + browser + ' ' + version)
-    }).concat(addedVersions.map(function (version) {
-      return pico.green('+ ' + browser + ' ' + version)
-    }))
-  })
     .reduce(function (result, array) {
       return result.concat(array)
     }, [])
     .join('\n')
 }
 
-function updateNpmLockfile (lock, latest) {
+function updateNpmLockfile(lock, latest) {
   var metadata = { latest: latest, versions: [] }
   var content = deletePackage(JSON.parse(lock.content), metadata)
   metadata.content = JSON.stringify(content, null, '  ')
   return metadata
 }
 
-function deletePackage (node, metadata) {
+function deletePackage(node, metadata) {
   if (node.dependencies) {
     if (node.dependencies['caniuse-lite']) {
       var version = node.dependencies['caniuse-lite'].version
@@ -124,9 +131,9 @@
   return node
 }
 
-var yarnVersionRe = new RegExp('version "(.*?)"')
+var yarnVersionRe = /version "(.*?)"/
 
-function updateYarnLockfile (lock, latest) {
+function updateYarnLockfile(lock, latest) {
   var blocks = lock.content.split(/(\n{2,})/).map(function (block) {
     return block.split('\n')
   })
@@ -137,78 +144,52 @@
       versions[match[1]] = true
       if (match[1] !== latest.version) {
         lines[1] = lines[1].replace(
-          /version "[^"]+"/, 'version "' + latest.version + '"'
+          /version "[^"]+"/,
+          'version "' + latest.version + '"'
         )
         lines[2] = lines[2].replace(
-          /resolved "[^"]+"/, 'resolved "' + latest.dist.tarball + '"'
+          /resolved "[^"]+"/,
+          'resolved "' + latest.dist.tarball + '"'
         )
-        lines[3] = latest.dist.integrity ? lines[3].replace(
-          /integrity .+/, 'integrity ' + latest.dist.integrity
-        ) : ''
+        if (lines.length === 4) {
+          lines[3] = latest.dist.integrity
+            ? lines[3].replace(
+                /integrity .+/,
+                'integrity ' + latest.dist.integrity
+              )
+            : ''
+        }
       }
     }
   })
-  var content = blocks.map(function (lines) {
-    return lines.join('\n')
-  }).join('')
+  var content = blocks
+    .map(function (lines) {
+      return lines.join('\n')
+    })
+    .join('')
   return { content: content, versions: versions }
 }
 
-function updatePnpmLockfile (lock, latest) {
-  var versions = {}
-  var lines = lock.content.split('\n')
-  var i
-  var j
-  var lineParts
-
-  for (i = 0; i < lines.length; i++) {
-    if (lines[i].indexOf('caniuse-lite:') >= 0) {
-      lineParts = lines[i].split(/:\s?/, 2)
-      versions[lineParts[1]] = true
-      lines[i] = lineParts[0] + ': ' + latest.version
-    } else if (lines[i].indexOf('/caniuse-lite') >= 0) {
-      lineParts = lines[i].split(/([/:])/)
-      for (j = 0; j < lineParts.length; j++) {
-        if (lineParts[j].indexOf('caniuse-lite') >= 0) {
-          versions[lineParts[j + 2]] = true
-          lineParts[j + 2] = latest.version
-          break
-        }
-      }
-      lines[i] = lineParts.join('')
-      for (i = i + 1; i < lines.length; i++) {
-        if (lines[i].indexOf('integrity: ') !== -1) {
-          lines[i] = lines[i].replace(
-            /integrity: .+/, 'integrity: ' + latest.dist.integrity
-          )
-        } else if (lines[i].indexOf(' /') !== -1) {
-          break
-        }
-      }
-    }
-  }
-  return { content: lines.join('\n'), versions: versions }
-}
-
-function updateLockfile (lock, latest) {
+function updateLockfile(lock, latest) {
   if (!lock.content) lock.content = fs.readFileSync(lock.file).toString()
 
-  if (lock.mode === 'npm') {
-    return updateNpmLockfile(lock, latest)
-  } else if (lock.mode === 'yarn') {
+  if (lock.mode === 'yarn') {
     return updateYarnLockfile(lock, latest)
+  } else {
+    return updateNpmLockfile(lock, latest)
   }
-  return updatePnpmLockfile(lock, latest)
 }
 
-function updatePackageManually (print, lock, latest) {
+function updatePackageManually(print, lock, latest) {
   var lockfileData = updateLockfile(lock, latest)
   var caniuseVersions = Object.keys(lockfileData.versions).sort()
-  if (caniuseVersions.length === 1 &&
-    caniuseVersions[0] === latest.version) {
+  if (caniuseVersions.length === 1 && caniuseVersions[0] === latest.version) {
     print(
-      'Installed version:  ' + pico.bold(pico.green(latest.version)) + '\n' +
-      pico.bold(pico.green('caniuse-lite is up to date')) + '\n'
+      'Installed version:  ' +
+        pico.bold(pico.green(latest.version)) +
+        '\n' +
+        pico.bold(pico.green('caniuse-lite is up to date')) +
+        '\n'
     )
     return
   }
@@ -218,41 +199,67 @@
   }
   print(
     'Installed version' +
-    (caniuseVersions.length === 1 ? ':  ' : 's: ') +
-    pico.bold(pico.red(caniuseVersions.join(', '))) +
-    '\n' +
-    'Removing old caniuse-lite from lock file\n'
+      (caniuseVersions.length === 1 ? ':  ' : 's: ') +
+      pico.bold(pico.red(caniuseVersions.join(', '))) +
+      '\n' +
+      'Removing old caniuse-lite from lock file\n'
   )
   fs.writeFileSync(lock.file, lockfileData.content)
 
   var install = lock.mode === 'yarn' ? 'yarn add -W' : lock.mode + ' install'
   print(
     'Installing new caniuse-lite version\n' +
-    pico.yellow('$ ' + install + ' caniuse-lite') + '\n'
+      pico.yellow('$ ' + install + ' caniuse-lite') +
+      '\n'
   )
   try {
     childProcess.execSync(install + ' caniuse-lite')
-  } catch (e) /* istanbul ignore next */ {
+  } catch (e) /* c8 ignore start */ {
     print(
       pico.red(
         '\n' +
-        e.stack + '\n\n' +
-        'Problem with `' + install + ' caniuse-lite` call. ' +
-        'Run it manually.\n'
+          e.stack +
+          '\n\n' +
+          'Problem with `' +
+          install +
+          ' caniuse-lite` call. ' +
+          'Run it manually.\n'
       )
     )
     process.exit(1)
-  }
+  } /* c8 ignore end */
 
   var del = lock.mode === 'yarn' ? 'yarn remove -W' : lock.mode + ' uninstall'
   print(
     'Cleaning package.json dependencies from caniuse-lite\n' +
-    pico.yellow('$ ' + del + ' caniuse-lite') + '\n'
+      pico.yellow('$ ' + del + ' caniuse-lite') +
+      '\n'
   )
   childProcess.execSync(del + ' caniuse-lite')
 }
 
-module.exports = function updateDB (print) {
+function updateWith(print, cmd) {
+  print('Updating caniuse-lite version\n' + pico.yellow('$ ' + cmd) + '\n')
+  try {
+    childProcess.execSync(cmd)
+  } catch (e) /* c8 ignore start */ {
+    print(pico.red(e.stdout.toString()))
+    print(
+      pico.red(
+        '\n' +
+          e.stack +
+          '\n\n' +
+          'Problem with `' +
+          cmd +
+          '` call. ' +
+          'Run it manually.\n'
+      )
+    )
+    process.exit(1)
+  } /* c8 ignore end */
+}
+
+module.exports = function updateDB(print) {
   var lock = detectLockfile()
   var latest = getLatestInfo(lock)
 
@@ -264,29 +271,12 @@
     browsersListRetrievalError = e
   }
 
-  print(
-    'Latest version:     ' + pico.bold(pico.green(latest.version)) + '\n'
-  )
+  print('Latest version:     ' + pico.bold(pico.green(latest.version)) + '\n')
 
   if (lock.mode === 'yarn' && lock.version !== 1) {
-    var update = 'yarn up -R'
-    print(
-      'Updating caniuse-lite version\n' +
-      pico.yellow('$ ' + update + ' caniuse-lite') + '\n'
-    )
-    try {
-      childProcess.execSync(update + ' caniuse-lite')
-    } catch (e) /* istanbul ignore next */ {
-      print(
-        pico.red(
-          '\n' +
-          e.stack + '\n\n' +
-          'Problem with `' + update + ' caniuse-lite` call. ' +
-          'Run it manually.\n'
-        )
-      )
-      process.exit(1)
-    }
+    updateWith(print, 'yarn up -R caniuse-lite')
+  } else if (lock.mode === 'pnpm') {
+    updateWith(print, 'pnpm up caniuse-lite')
   } else {
     updatePackageManually(print, lock, latest)
   }
@@ -297,18 +287,19 @@
   if (!browsersListRetrievalError) {
     try {
       currentBrowsersList = getBrowsersList()
-    } catch (e) /* istanbul ignore next */ {
+    } catch (e) /* c8 ignore start */ {
       browsersListRetrievalError = e
-    }
+    } /* c8 ignore end */
   }
 
   if (browsersListRetrievalError) {
     print(
       pico.red(
         '\n' +
-        browsersListRetrievalError.stack + '\n\n' +
-        'Problem with browser list retrieval.\n' +
-        'Target browser changes won� be shown.\n'
+          browsersListRetrievalError.stack +
+          '\n\n' +
+          'Problem with browser list retrieval.\n' +
+          'Target browser changes won� be shown.\n'
       )
     )
   } else {

--
Gitblit v1.8.0