| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.relativeInputDir = exports.configResolved = exports.isPages = exports.isManifest = exports.createUniOptions = void 0;
- const node_path_1 = __importDefault(require("node:path"));
- const uni_shared_1 = require("@dcloudio/uni-shared");
- const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
- const uni_i18n_1 = require("@dcloudio/uni-i18n");
- function createUniOptions(platform) {
- return {
- copyOptions() {
- const platform = process.env.UNI_PLATFORM;
- const inputDir = process.env.UNI_INPUT_DIR;
- const outputDir = process.env.UNI_OUTPUT_DIR;
- const targets = [];
- // 自动化测试时,不启用隐私政策
- if (!process.env.UNI_AUTOMATOR_WS_ENDPOINT) {
- if (process.env.UNI_UTS_PLATFORM === 'app-android') {
- targets.push({
- src: 'androidPrivacy.json',
- dest: outputDir,
- transform(source) {
- const options = (0, uni_cli_shared_1.initI18nOptions)(platform, inputDir, false, true);
- if (!options) {
- return;
- }
- return (0, uni_i18n_1.compileI18nJsonStr)(source.toString(), options);
- },
- });
- }
- }
- return {
- assets: ['hybrid/html/**/*', 'uni_modules/*/hybrid/html/**/*'],
- targets,
- };
- },
- compilerOptions: platform === 'ios'
- ? {
- isNativeTag(tag) {
- return (0, uni_cli_shared_1.matchUTSComponent)(tag) || (0, uni_shared_1.isAppNVueNativeTag)(tag);
- },
- nodeTransforms: [uni_cli_shared_1.transformTapToClick, uni_cli_shared_1.transformUTSComponent],
- }
- : {},
- };
- }
- exports.createUniOptions = createUniOptions;
- function isManifest(id) {
- return id.endsWith(uni_cli_shared_1.MANIFEST_JSON_UTS);
- }
- exports.isManifest = isManifest;
- function isPages(id) {
- return id.endsWith(uni_cli_shared_1.PAGES_JSON_UTS);
- }
- exports.isPages = isPages;
- // TODO vite 升级需要考虑调整以下列表
- const REMOVED_PLUGINS = [
- 'vite:build-metadata',
- 'vite:modulepreload-polyfill',
- // 'vite:css', // iOS replace
- 'vite:esbuild',
- 'vite:wasm-helper',
- 'vite:worker',
- // 'vite:json',
- // 'vite:asset', // replace
- 'vite:wasm-fallback',
- 'vite:define',
- // 'vite:css-post', // iOS replace
- 'vite:build-html',
- 'vite:html-inline-proxy',
- 'vite:worker-import-meta-url',
- 'vite:asset-import-meta-url',
- 'vite:force-systemjs-wrap-complete',
- 'vite:watch-package-data',
- 'commonjs',
- 'vite:data-uri',
- 'vite:dynamic-import-vars',
- 'vite:import-glob',
- 'vite:build-import-analysis',
- 'vite:esbuild-transpile',
- 'vite:terser',
- 'vite:reporter',
- ];
- function configResolved(config, isAndroidX = false) {
- const plugins = config.plugins;
- const len = plugins.length;
- const removedPlugins = REMOVED_PLUGINS.slice(0);
- if (isAndroidX) {
- removedPlugins.push('vite:css');
- removedPlugins.push('vite:css-post');
- }
- for (let i = len - 1; i >= 0; i--) {
- const plugin = plugins[i];
- if (removedPlugins.includes(plugin.name)) {
- plugins.splice(i, 1);
- }
- }
- // console.log(plugins.map((p) => p.name))
- // 强制不inline
- config.build.assetsInlineLimit = 0;
- (0, uni_cli_shared_1.injectAssetPlugin)(config, { isAndroidX });
- }
- exports.configResolved = configResolved;
- function relativeInputDir(filename) {
- const inputDir = process.env.UNI_INPUT_DIR;
- filename = (0, uni_cli_shared_1.normalizeNodeModules)(filename);
- if (filename.startsWith(inputDir)) {
- return (0, uni_cli_shared_1.normalizePath)(node_path_1.default.relative(inputDir, filename));
- }
- return filename;
- }
- exports.relativeInputDir = relativeInputDir;
|