index.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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.uniOptions = void 0;
  7. const fs_extra_1 = __importDefault(require("fs-extra"));
  8. const path_1 = __importDefault(require("path"));
  9. const uni_shared_1 = require("@dcloudio/uni-shared");
  10. const uni_i18n_1 = require("@dcloudio/uni-i18n");
  11. const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
  12. const nvue_1 = require("../../nvue");
  13. const plugin_1 = require("../../nvue/plugin");
  14. const transformWxsProps_1 = require("./transforms/transformWxsProps");
  15. function isAppNVueNativeTag(tag) {
  16. return (0, uni_cli_shared_1.matchUTSComponent)(tag) || (0, uni_shared_1.isAppNVueNativeTag)(tag);
  17. }
  18. function uniOptions(compilerType = process.env.UNI_COMPILER) {
  19. const isNVueCompiler = compilerType === 'nvue';
  20. return {
  21. copyOptions() {
  22. const platform = process.env.UNI_PLATFORM;
  23. const inputDir = process.env.UNI_INPUT_DIR;
  24. const outputDir = process.env.UNI_OUTPUT_DIR;
  25. const targets = [];
  26. // 自动化测试时,不启用隐私政策
  27. if (!process.env.UNI_AUTOMATOR_WS_ENDPOINT) {
  28. targets.push({
  29. src: 'androidPrivacy.json',
  30. dest: outputDir,
  31. transform(source) {
  32. const options = (0, uni_cli_shared_1.initI18nOptions)(platform, inputDir, false, true);
  33. if (!options) {
  34. return;
  35. }
  36. return (0, uni_i18n_1.compileI18nJsonStr)(source.toString(), options);
  37. },
  38. });
  39. const debugFilename = '__nvue_debug__';
  40. if (fs_extra_1.default.existsSync(path_1.default.resolve(inputDir, debugFilename))) {
  41. targets.push({
  42. src: debugFilename,
  43. dest: outputDir,
  44. });
  45. }
  46. }
  47. return {
  48. assets: ['hybrid/html/**/*', 'uni_modules/*/hybrid/html/**/*'],
  49. targets,
  50. };
  51. },
  52. compilerOptions: {
  53. isNativeTag: isNVueCompiler ? isAppNVueNativeTag : uni_shared_1.isAppNativeTag,
  54. nodeTransforms: [
  55. ...(isNVueCompiler ? (0, nvue_1.initNVueNodeTransforms)() : [transformWxsProps_1.transformWxsProps]),
  56. uni_cli_shared_1.transformTapToClick,
  57. uni_cli_shared_1.transformMatchMedia,
  58. uni_cli_shared_1.transformPageHead,
  59. ],
  60. directiveTransforms: {
  61. ...(isNVueCompiler ? (0, plugin_1.initNVueDirectiveTransforms)() : {}),
  62. },
  63. },
  64. };
  65. }
  66. exports.uniOptions = uniOptions;