| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.parseMiniProgramProjectJson = exports.isMiniProgramProjectJsonKey = void 0;
- const shared_1 = require("@vue/shared");
- const merge_1 = require("merge");
- const json_1 = require("../json");
- const projectKeys = [
- 'appid',
- 'setting',
- 'miniprogramRoot',
- 'cloudfunctionRoot',
- 'qcloudRoot',
- 'pluginRoot',
- 'compileType',
- 'libVersion',
- 'projectname',
- 'packOptions',
- 'debugOptions',
- 'scripts',
- 'cloudbaseRoot',
- ];
- function isMiniProgramProjectJsonKey(name) {
- return projectKeys.includes(name);
- }
- exports.isMiniProgramProjectJsonKey = isMiniProgramProjectJsonKey;
- function parseMiniProgramProjectJson(jsonStr, platform, { template, pagesJson }) {
- const projectJson = JSON.parse(JSON.stringify(template));
- const manifestJson = (0, json_1.parseJson)(jsonStr);
- if (manifestJson) {
- projectJson.projectname = manifestJson.name;
- const platformConfig = manifestJson[platform];
- if (platformConfig) {
- projectKeys.forEach((name) => {
- if ((0, shared_1.hasOwn)(platformConfig, name)) {
- if ((0, shared_1.isPlainObject)(platformConfig[name]) &&
- (0, shared_1.isPlainObject)(projectJson[name])) {
- ;
- projectJson[name] = (0, merge_1.recursive)(true, projectJson[name], platformConfig[name]);
- }
- else {
- ;
- projectJson[name] = platformConfig[name];
- }
- }
- });
- // 使用了微信小程序手势系统,自动开启 ES6=>ES5
- platform === 'mp-weixin' &&
- weixinSkyline(platformConfig) &&
- openES62ES5(projectJson);
- }
- }
- // 其实仅开发期间 condition 生效即可,暂不做判断
- const miniprogram = parseMiniProgramCondition(pagesJson);
- if (miniprogram) {
- if (!projectJson.condition) {
- projectJson.condition = {};
- }
- projectJson.condition.miniprogram = miniprogram;
- }
- if (!projectJson.appid) {
- projectJson.appid = 'touristappid';
- }
- return projectJson;
- }
- exports.parseMiniProgramProjectJson = parseMiniProgramProjectJson;
- function weixinSkyline(config) {
- return (config.renderer === 'skyline' &&
- config.lazyCodeLoading === 'requiredComponents');
- }
- function openES62ES5(config) {
- if (!config.setting) {
- config.setting = {};
- }
- if (!config.setting.es6) {
- config.setting.es6 = true;
- }
- }
- function parseMiniProgramCondition(pagesJson) {
- const launchPagePath = process.env.UNI_CLI_LAUNCH_PAGE_PATH || '';
- if (launchPagePath) {
- return {
- current: 0,
- list: [
- {
- id: 0,
- name: launchPagePath,
- pathName: launchPagePath,
- query: process.env.UNI_CLI_LAUNCH_PAGE_QUERY || '', // 启动参数,在页面的onLoad函数里面得到。
- },
- ],
- };
- }
- const condition = pagesJson.condition;
- if (!condition || !(0, shared_1.isArray)(condition.list) || !condition.list.length) {
- return;
- }
- condition.list.forEach(function (item, index) {
- item.id = item.id || index;
- if (item.path) {
- item.pathName = item.path;
- delete item.path;
- }
- });
- return condition;
- }
|