build.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.createBuild = void 0;
  4. const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
  5. const shared_1 = require("@vue/shared");
  6. function createBuild(options, config) {
  7. (0, uni_cli_shared_1.initEasycomsOnce)(options.inputDir, {
  8. dirs: [(0, uni_cli_shared_1.resolveComponentsLibPath)()],
  9. platform: process.env.UNI_PLATFORM,
  10. isX: process.env.UNI_APP_X === 'true',
  11. });
  12. const rollupOutputOption = config.build?.rollupOptions?.output;
  13. const sourcemap = process.env.SOURCEMAP === 'true' ? 'hidden' : config.build?.sourcemap;
  14. return {
  15. sourcemap,
  16. cssTarget: uni_cli_shared_1.cssTarget,
  17. chunkSizeWarningLimit: 100000000,
  18. minify: config.build && (0, shared_1.hasOwn)(config.build, 'minify')
  19. ? config.build.minify
  20. : process.env.NODE_ENV === 'production'
  21. ? 'terser'
  22. : false,
  23. rollupOptions: {
  24. onwarn(warning, warn) {
  25. if (warning.code === 'UNUSED_EXTERNAL_IMPORT') {
  26. const { message } = warning;
  27. // ignore
  28. if (message.includes('"vue"') ||
  29. message.includes('"resolveComponent"') ||
  30. message.includes('"@dcloudio/uni-h5"')) {
  31. return;
  32. }
  33. }
  34. warn(warning);
  35. },
  36. output: {
  37. sourcemapExcludeSources: !(0, shared_1.isArray)(rollupOutputOption) &&
  38. rollupOutputOption?.sourcemapExcludeSources === false
  39. ? false
  40. : process.env.SOURCEMAP === 'true',
  41. },
  42. },
  43. };
  44. }
  45. exports.createBuild = createBuild;