This commit is contained in:
91
node_modules/@dcloudio/uni-console/lib/uni.plugin.js
generated
vendored
Normal file
91
node_modules/@dcloudio/uni-console/lib/uni.plugin.js
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs-extra');
|
||||
var path = require('path');
|
||||
var uniCliShared = require('@dcloudio/uni-cli-shared');
|
||||
|
||||
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
||||
|
||||
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
||||
var path__default = /*#__PURE__*/_interopDefault(path);
|
||||
|
||||
const uniConsoleRuntimePlugin = () => {
|
||||
return {
|
||||
name: 'uni:console:runtime',
|
||||
config() {
|
||||
const isX = process.env.UNI_APP_X === 'true';
|
||||
const isProd = process.env.NODE_ENV === 'production';
|
||||
let keepOriginal = true;
|
||||
if (process.env.UNI_PLATFORM == 'mp-harmony' ||
|
||||
process.env.UNI_PLATFORM === 'app-harmony') {
|
||||
keepOriginal = false;
|
||||
}
|
||||
const webviewEvalJsCode = isX && process.env.UNI_UTS_PLATFORM === 'app-android'
|
||||
? fs__default.default.readFileSync(path__default.default.join(__dirname, '../dist/__uniwebview.js'), 'utf-8')
|
||||
: '';
|
||||
return {
|
||||
define: {
|
||||
'process.env.UNI_CONSOLE_KEEP_ORIGINAL': process.env
|
||||
.UNI_CONSOLE_KEEP_ORIGINAL
|
||||
? process.env.UNI_CONSOLE_KEEP_ORIGINAL === 'true'
|
||||
: keepOriginal,
|
||||
'process.env.UNI_SOCKET_HOSTS': JSON.stringify(isProd ? '' : process.env.UNI_SOCKET_HOSTS),
|
||||
'process.env.UNI_SOCKET_PORT': JSON.stringify(isProd ? '' : process.env.UNI_SOCKET_PORT),
|
||||
'process.env.UNI_SOCKET_ID': JSON.stringify(isProd ? '' : process.env.UNI_SOCKET_ID),
|
||||
'process.env.UNI_CONSOLE_WEBVIEW_EVAL_JS_CODE': JSON.stringify(webviewEvalJsCode),
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
};
|
||||
var index = () => {
|
||||
return [
|
||||
uniConsoleRuntimePlugin(),
|
||||
uniCliShared.defineUniMainJsPlugin((opts) => {
|
||||
let hasRuntimeSocket = uniCliShared.isEnableConsole();
|
||||
const isX = process.env.UNI_APP_X === 'true';
|
||||
// 基座类型为custom时,不启用运行时socket
|
||||
// 需要判断自定义基座是否包含socket模块,有的话才可以启用
|
||||
if (isX && process.env.UNI_PLATFORM === 'app') {
|
||||
if (process.env.HX_USE_BASE_TYPE === 'custom') {
|
||||
hasRuntimeSocket = false;
|
||||
}
|
||||
}
|
||||
let uniConsolePath = uniCliShared.resolveBuiltIn(path__default.default.join('@dcloudio/uni-console', `dist/${(process.env.UNI_PLATFORM || '').startsWith('mp-') ? 'mp' : 'index'}.esm.js`));
|
||||
if (isX) {
|
||||
if (process.env.UNI_UTS_PLATFORM === 'app-android') {
|
||||
uniConsolePath = uniCliShared.resolveBuiltIn(path__default.default.join('@dcloudio/uni-console', 'src/runtime/app/index.ts'));
|
||||
}
|
||||
else if (process.env.UNI_UTS_PLATFORM === 'app-ios') {
|
||||
uniConsolePath = uniCliShared.resolveBuiltIn(path__default.default.join('@dcloudio/uni-console', 'dist/app.esm.js'));
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (process.env.UNI_PLATFORM === 'app-harmony') {
|
||||
uniConsolePath = uniCliShared.resolveBuiltIn(path__default.default.join('@dcloudio/uni-console', 'dist/harmony.jsvm.esm.js'));
|
||||
}
|
||||
}
|
||||
return {
|
||||
name: 'uni:console-main-js',
|
||||
enforce:
|
||||
// android需要提前,不然拿到的code是解析后的仅保留import语句的
|
||||
process.env.UNI_UTS_PLATFORM === 'app-android' ? 'pre' : 'post',
|
||||
transform(code, id) {
|
||||
if (!hasRuntimeSocket) {
|
||||
return;
|
||||
}
|
||||
if (!opts.filter(id)) {
|
||||
return;
|
||||
}
|
||||
return {
|
||||
// 采用绝对路径引入,此时,tsc失效,代码里需要自己处理好各种类型问题
|
||||
code: `import '${uniCliShared.normalizePath(uniConsolePath)}';${code}`,
|
||||
map: null,
|
||||
};
|
||||
},
|
||||
};
|
||||
}),
|
||||
];
|
||||
};
|
||||
|
||||
module.exports = index;
|
||||
Reference in New Issue
Block a user