版博士V2.0程序
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

69 строки
2.1 KiB

  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.loadModule = exports.getVueI18nVersion = exports.checkVueI18nBridgeInstallPackage = exports.checkInstallPackage = void 0;
  4. // eslint-disable-next-line @typescript-eslint/ban-types
  5. function checkInstallPackage(pkg, debug) {
  6. let installedVueI18n = false;
  7. try {
  8. debug(`vue-i18n load path: ${require.resolve('vue-i18n')}`);
  9. installedVueI18n = true;
  10. }
  11. catch (e) {
  12. debug(`cannot find 'vue-i18n'`, e);
  13. }
  14. let installedPetiteVueI18n = false;
  15. try {
  16. debug(`petite-vue-i18n load path: ${require.resolve('petite-vue-i18n')}`);
  17. installedPetiteVueI18n = true;
  18. }
  19. catch (e) {
  20. debug(`cannot find 'petite-vue-i18n'`, e);
  21. }
  22. if (installedVueI18n) {
  23. return 'vue-i18n';
  24. }
  25. if (installedPetiteVueI18n) {
  26. return 'petite-vue-i18n';
  27. }
  28. throw new Error(`${pkg} requires 'vue-i18n' or 'petite-vue-i18n' to be present in the dependency tree.`);
  29. }
  30. exports.checkInstallPackage = checkInstallPackage;
  31. // eslint-disable-next-line @typescript-eslint/ban-types
  32. function checkVueI18nBridgeInstallPackage(debug) {
  33. let ret = false;
  34. try {
  35. debug(`vue-i18n-bridge load path: ${require.resolve('vue-i18n-bridge')}`);
  36. ret = true;
  37. }
  38. catch (e) {
  39. debug(`cannot find 'vue-i18n-bridge'`, e);
  40. }
  41. return ret;
  42. }
  43. exports.checkVueI18nBridgeInstallPackage = checkVueI18nBridgeInstallPackage;
  44. function getVueI18nVersion(debug) {
  45. const VueI18n = loadModule('vue-i18n', debug);
  46. if (VueI18n == null) {
  47. return '';
  48. }
  49. if (VueI18n.version && VueI18n.version.startsWith('8.')) {
  50. return '8';
  51. }
  52. if (VueI18n.VERSION && VueI18n.VERSION.startsWith('9.')) {
  53. return '9';
  54. }
  55. return 'unknown';
  56. }
  57. exports.getVueI18nVersion = getVueI18nVersion;
  58. // eslint-disable-next-line @typescript-eslint/no-explicit-any
  59. function loadModule(moduleName, debug) {
  60. try {
  61. return require(moduleName);
  62. }
  63. catch (e) {
  64. debug(`cannot load '${moduleName}'`, e);
  65. return null;
  66. }
  67. }
  68. exports.loadModule = loadModule;