123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 'use strict';
- var path = require('path');
- var uniCliShared = require('@dcloudio/uni-cli-shared');
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
- var path__default = /*#__PURE__*/_interopDefault(path);
- var index = () => [
- uniCliShared.defineUniMainJsPlugin((opts) => {
- let isEnableV1 = false;
- let isEnableV2 = false;
- let isOffline = false;
- let configModulePush = false;
- return {
- name: 'uni:push',
- enforce: 'pre',
- config(config, env) {
- if (uniCliShared.isSsr(env.command, config)) {
- return;
- }
- const inputDir = process.env.UNI_INPUT_DIR;
- const platform = process.env.UNI_PLATFORM;
- isEnableV1 = uniCliShared.isEnableUniPushV1(inputDir, platform);
- isEnableV2 = uniCliShared.isEnableUniPushV2(inputDir, platform);
- configModulePush = uniCliShared.hasPushModule(inputDir);
- // v1
- if (isEnableV1) {
- return;
- }
- if (!isEnableV2) {
- return;
- }
- // v2
- isOffline = platform === 'app' && uniCliShared.isUniPushOffline(inputDir);
- if (isOffline) {
- return;
- }
- return {
- define: {
- 'process.env.UNI_PUSH_DEBUG': false,
- },
- };
- },
- resolveId(id) {
- if (id === '@dcloudio/uni-push') {
- let file = 'dist/uni-push.es.js';
- if (isEnableV1) {
- file = 'dist/uni-push-v1.plus.es.js';
- }
- else if (isOffline) {
- file = 'dist/uni-push.plus.es.js';
- }
- return uniCliShared.resolveBuiltIn(path__default.default.join('@dcloudio/uni-push', file));
- }
- },
- transform(code, id) {
- if (!opts.filter(id)) {
- return;
- }
- // 如果启用了v1,但是没有配置module.push,不需要注入
- if (isEnableV1 && !configModulePush) {
- return;
- }
- // 如果启用了v2+offline,但是没有配置module.push,不需要注入
- if (isEnableV2 && isOffline && !configModulePush) {
- return;
- }
- if (isEnableV1 || isEnableV2) {
- return {
- code: `import '@dcloudio/uni-push';` + code,
- map: null,
- };
- }
- },
- };
- }),
- ];
- module.exports = index;
|