|
|
|
|
|
"use strict";
|
|
|
|
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
|
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
|
|
|
|
};
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
|
|
|
exports.createResolve = exports.customResolver = void 0;
|
|
|
|
|
|
const path_1 = __importDefault(require("path"));
|
|
|
|
|
|
const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
|
|
|
|
|
|
function resolveUTSModuleProxyFile(id, importer) {
|
|
|
|
|
|
const file = (0, uni_cli_shared_1.resolveUTSAppModule)(process.env.UNI_UTS_PLATFORM, id, importer);
|
|
|
|
|
|
if (file) {
|
|
|
|
|
|
// app-js 会返回完整路径,不需要 uts-proxy
|
|
|
|
|
|
if (file.endsWith('.uts')) {
|
|
|
|
|
|
return file;
|
|
|
|
|
|
}
|
|
|
|
|
|
return file + '?uts-proxy';
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
const customResolver = (updatedId, importer) => {
|
|
|
|
|
|
updatedId = updatedId.split('?')[0];
|
|
|
|
|
|
const utsImporter = importer
|
|
|
|
|
|
? path_1.default.dirname(importer)
|
|
|
|
|
|
: process.env.UNI_INPUT_DIR;
|
|
|
|
|
|
const utsModuleFile = process.env.UNI_PLATFORM === 'app' ||
|
|
|
|
|
|
process.env.UNI_PLATFORM === 'app-harmony'
|
|
|
|
|
|
? resolveUTSModuleProxyFile(updatedId, utsImporter)
|
|
|
|
|
|
: (0, uni_cli_shared_1.resolveUTSModule)(updatedId, utsImporter);
|
|
|
|
|
|
if (utsModuleFile) {
|
|
|
|
|
|
return uni_cli_shared_1.isWindows ? (0, uni_cli_shared_1.normalizePath)(utsModuleFile) : utsModuleFile;
|
|
|
|
|
|
}
|
|
|
|
|
|
const resolveId = (0, uni_cli_shared_1.resolveEncryptUniModule)((0, uni_cli_shared_1.normalizePath)(updatedId), process.env.UNI_UTS_PLATFORM, process.env.UNI_APP_X === 'true');
|
|
|
|
|
|
if (resolveId) {
|
|
|
|
|
|
return resolveId;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (uni_cli_shared_1.isWindows) {
|
|
|
|
|
|
return (0, uni_cli_shared_1.normalizePath)((0, uni_cli_shared_1.requireResolve)(updatedId, importer || process.env.UNI_INPUT_DIR));
|
|
|
|
|
|
}
|
|
|
|
|
|
return (0, uni_cli_shared_1.requireResolve)(updatedId, importer || process.env.UNI_INPUT_DIR);
|
|
|
|
|
|
};
|
|
|
|
|
|
exports.customResolver = customResolver;
|
|
|
|
|
|
function createResolve(options, _config) {
|
|
|
|
|
|
const alias = [];
|
|
|
|
|
|
if ((0, uni_cli_shared_1.isNormalCompileTarget)()) {
|
|
|
|
|
|
// 加密组件内部使用的 vue export helper,需要重新映射回来
|
|
|
|
|
|
alias.push({
|
|
|
|
|
|
find: 'plugin-vue:export-helper',
|
|
|
|
|
|
replacement: '\0plugin-vue:export-helper',
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
|
|
|
// 必须使用alias解析,插件定制的resolveId,不会被应用到css等预处理器中
|
|
|
|
|
|
alias: [
|
|
|
|
|
|
// because @rollup/plugin-alias' type doesn't allow function
|
|
|
|
|
|
// replacement, but its implementation does work with function values.
|
|
|
|
|
|
{
|
|
|
|
|
|
find: /^(~@|@)\/(.*)/,
|
|
|
|
|
|
replacement(_str, _$1, $2) {
|
|
|
|
|
|
return (0, uni_cli_shared_1.normalizePath)(path_1.default.resolve(options.inputDir, $2));
|
|
|
|
|
|
},
|
|
|
|
|
|
customResolver: exports.customResolver,
|
|
|
|
|
|
},
|
|
|
|
|
|
...alias,
|
|
|
|
|
|
],
|
|
|
|
|
|
extensions: process.env.UNI_APP_X === 'true' ? uni_cli_shared_1.uni_app_x_extensions : uni_cli_shared_1.extensions,
|
|
|
|
|
|
preserveSymlinks: true,
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
exports.createResolve = createResolve;
|