shared.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.installHBuilderXPlugin = exports.normalizePath = exports.isWindows = exports.resolveSourceMapPath = exports.isInHBuilderX = exports.runByHBuilderX = exports.once = exports.parseJson = void 0;
  7. const os_1 = __importDefault(require("os"));
  8. const path_1 = __importDefault(require("path"));
  9. const jsonc_parser_1 = require("jsonc-parser");
  10. function parseJson(jsonStr) {
  11. return (0, jsonc_parser_1.parse)(jsonStr);
  12. }
  13. exports.parseJson = parseJson;
  14. function once(fn, ctx = null) {
  15. let res;
  16. return ((...args) => {
  17. if (fn) {
  18. res = fn.apply(ctx, args);
  19. fn = null;
  20. }
  21. return res;
  22. });
  23. }
  24. exports.once = once;
  25. exports.runByHBuilderX = once(() => {
  26. return (!!process.env.UNI_HBUILDERX_PLUGINS &&
  27. (!!process.env.RUN_BY_HBUILDERX || !!process.env.HX_Version));
  28. });
  29. exports.isInHBuilderX = once(() => {
  30. try {
  31. // eslint-disable-next-line no-restricted-globals
  32. const { name } = require(path_1.default.resolve(process.cwd(), '../about/package.json'));
  33. if (name === 'about') {
  34. process.env.UNI_HBUILDERX_PLUGINS = path_1.default.resolve(process.cwd(), '..');
  35. return true;
  36. }
  37. }
  38. catch (e) {
  39. // console.error(e)
  40. }
  41. return false;
  42. });
  43. function resolveSourceMapPath(outputDir, platform) {
  44. let dir = platform || process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM;
  45. if (dir === 'app-plus') {
  46. dir = 'app';
  47. }
  48. return path_1.default.resolve(outputDir || process.env.UNI_OUTPUT_DIR, '../.sourcemap/' + dir);
  49. }
  50. exports.resolveSourceMapPath = resolveSourceMapPath;
  51. exports.isWindows = os_1.default.platform() === 'win32';
  52. function normalizePath(id) {
  53. return exports.isWindows ? id.replace(/\\/g, '/') : id;
  54. }
  55. exports.normalizePath = normalizePath;
  56. function supportAutoInstallPlugin() {
  57. return !!process.env.HX_Version;
  58. }
  59. function installHBuilderXPlugin(plugin) {
  60. if (!supportAutoInstallPlugin()) {
  61. return;
  62. }
  63. return console.error(`%HXRunUniAPPPluginName%${plugin}%HXRunUniAPPPluginName%`);
  64. }
  65. exports.installHBuilderXPlugin = installHBuilderXPlugin;