EASYAIuniappNewUI/node_modules/@dcloudio/uni-app-uts/dist/plugins/ios/plugin.js
2025-02-08 18:50:38 +08:00

107 lines
4.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.uniAppIOSPlugin = exports.initUniAppIosCssPlugin = void 0;
const path_1 = __importDefault(require("path"));
const fs_extra_1 = __importDefault(require("fs-extra"));
const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
const utils_1 = require("../utils");
const css_1 = require("./css");
function initUniAppIosCssPlugin(config) {
(0, uni_cli_shared_1.injectCssPlugin)(config, process.env.UNI_COMPILE_TARGET === 'uni_modules'
? {
createUrlReplacer: uni_cli_shared_1.createEncryptCssUrlReplacer,
}
: {});
(0, uni_cli_shared_1.injectCssPostPlugin)(config, (0, css_1.uniAppCssPlugin)(config));
}
exports.initUniAppIosCssPlugin = initUniAppIosCssPlugin;
function uniAppIOSPlugin() {
const inputDir = process.env.UNI_INPUT_DIR;
const outputDir = process.env.UNI_OUTPUT_DIR;
const uvueOutputDir = (0, uni_cli_shared_1.uvueOutDir)('app-ios');
const tscOutputDir = (0, uni_cli_shared_1.tscOutDir)('app-ios');
// 开始编译时,清空输出目录
function emptyOutDir() {
// ext-api 编译时,需要同时编译多个平台,并保留多个平台的输出目录
if (process.env.UNI_COMPILE_TARGET === 'ext-api') {
return;
}
if (fs_extra_1.default.existsSync(outputDir)) {
(0, uni_cli_shared_1.emptyDir)(outputDir);
}
}
emptyOutDir();
function emptyUVueDir() {
if (fs_extra_1.default.existsSync(uvueOutputDir)) {
(0, uni_cli_shared_1.emptyDir)(uvueOutputDir);
}
}
emptyUVueDir();
function emptyTscDir() {
if (fs_extra_1.default.existsSync(tscOutputDir)) {
(0, uni_cli_shared_1.emptyDir)(tscOutputDir);
}
}
emptyTscDir();
return {
name: 'uni:app-uts',
apply: 'build',
uni: (0, utils_1.createUniOptions)('ios'),
config() {
return {
base: '/', // 强制 base
build: {
sourcemap: (0, uni_cli_shared_1.enableSourceMap)(), //enableSourceMap() ? 'hidden' : false,
emptyOutDir: false,
assetsInlineLimit: 0,
rollupOptions: {
input: (0, uni_cli_shared_1.resolveMainPathOnce)(inputDir),
external: ['vue', '@vue/shared'],
output: {
name: 'AppService',
banner: ``,
format: 'iife',
entryFileNames: uni_cli_shared_1.APP_SERVICE_FILENAME,
globals: {
vue: 'Vue',
'@vue/shared': 'uni.VueShared',
},
sourcemapPathTransform: (relativeSourcePath, sourcemapPath) => {
return (0, uni_cli_shared_1.normalizePath)(path_1.default.relative(process.env.UNI_INPUT_DIR, path_1.default.resolve(path_1.default.dirname(sourcemapPath), relativeSourcePath)));
},
},
},
},
};
},
configResolved(config) {
(0, utils_1.configResolved)(config);
initUniAppIosCssPlugin(config);
},
generateBundle(_, bundle) {
const APP_SERVICE_FILENAME_MAP = uni_cli_shared_1.APP_SERVICE_FILENAME + '.map';
const appServiceMap = bundle[APP_SERVICE_FILENAME_MAP];
if (appServiceMap && appServiceMap.type === 'asset') {
const source = JSON.parse(appServiceMap.source);
source.sourceRoot = (0, uni_cli_shared_1.normalizePath)(inputDir);
const newSourceMapFileName = path_1.default.resolve(process.env.UNI_APP_X_CACHE_DIR, 'sourcemap', APP_SERVICE_FILENAME_MAP);
fs_extra_1.default.outputFileSync(newSourceMapFileName, JSON.stringify(source));
delete bundle[APP_SERVICE_FILENAME_MAP];
const appService = bundle[uni_cli_shared_1.APP_SERVICE_FILENAME];
if (appService && appService.type === 'chunk') {
appService.code = appService.code.replace(`//# sourceMappingURL=app-service.js.map`, `//# sourceMappingURL=` +
path_1.default.relative(process.env.UNI_OUTPUT_DIR, newSourceMapFileName));
}
}
},
async writeBundle() {
// x 上暂时编译所有uni ext api不管代码里是否调用了
await (0, uni_cli_shared_1.buildUniExtApis)();
},
};
}
exports.uniAppIOSPlugin = uniAppIOSPlugin;