uni.plugin.js 1.7 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2 3 4 5 6 7 8
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_extra_1 = __importDefault(require("fs-extra"));
const path_1 = __importDefault(require("path"));
const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
fxy060608's avatar
fxy060608 已提交
9
exports.default = [
fxy060608's avatar
fxy060608 已提交
10
    (0, uni_cli_shared_1.defineUniMainJsPlugin)((opts) => {
fxy060608's avatar
fxy060608 已提交
11
        return {
fxy060608's avatar
fxy060608 已提交
12
            name: 'uni:automator',
fxy060608's avatar
fxy060608 已提交
13 14 15 16 17 18 19 20 21 22
            enforce: 'pre',
            configResolved() {
                if (!process.env.UNI_AUTOMATOR_WS_ENDPOINT) {
                    return;
                }
                const pkg = JSON.parse(fs_extra_1.default.readFileSync(path_1.default.resolve(__dirname, '../package.json'), 'utf8'));
                const automatorJson = JSON.stringify({
                    version: pkg.version,
                    wsEndpoint: process.env.UNI_AUTOMATOR_WS_ENDPOINT,
                });
fxy060608's avatar
fxy060608 已提交
23
                fs_extra_1.default.outputFileSync(path_1.default.resolve(process.env.UNI_OUTPUT_DIR, '../.automator/' + (0, uni_cli_shared_1.getPlatformDir)() + '/.automator.json'), automatorJson);
fxy060608's avatar
fxy060608 已提交
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
            },
            transform(code, id) {
                if (!process.env.UNI_AUTOMATOR_WS_ENDPOINT) {
                    return null;
                }
                if (opts.filter(id)) {
                    const platform = process.env.UNI_PLATFORM;
                    return {
                        code: code +
                            `;import '@dcloudio/uni-${platform === 'app' ? 'app-plus' : platform}/lib/automator.js';`,
                        map: null,
                    };
                }
            },
        };
    }),
];