@tarojs/service 3.7.0-alpha.2 → 3.7.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Config.js CHANGED
@@ -1,36 +1,67 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  const helper_1 = require("@tarojs/helper");
4
- const fs = require("fs-extra");
13
+ const ora = require("ora");
5
14
  const path = require("path");
6
15
  const merge = require("webpack-merge");
7
16
  const constants_1 = require("./utils/constants");
8
17
  class Config {
9
18
  constructor(opts) {
10
19
  this.appPath = opts.appPath;
11
- this.init();
20
+ this.disableGlobalConfig = !!(opts === null || opts === void 0 ? void 0 : opts.disableGlobalConfig);
12
21
  }
13
- init() {
14
- this.configPath = (0, helper_1.resolveScriptPath)(path.join(this.appPath, constants_1.CONFIG_DIR_NAME, constants_1.DEFAULT_CONFIG_FILE));
15
- if (!fs.existsSync(this.configPath)) {
22
+ init(configEnv) {
23
+ return __awaiter(this, void 0, void 0, function* () {
16
24
  this.initialConfig = {};
25
+ this.initialGlobalConfig = {};
17
26
  this.isInitSuccess = false;
18
- }
19
- else {
20
- (0, helper_1.createSwcRegister)({
21
- only: [
22
- filePath => filePath.indexOf(path.join(this.appPath, constants_1.CONFIG_DIR_NAME)) >= 0
23
- ]
24
- });
25
- try {
26
- this.initialConfig = (0, helper_1.getModuleDefaultExport)(require(this.configPath))(merge);
27
- this.isInitSuccess = true;
27
+ this.configPath = (0, helper_1.resolveScriptPath)(path.join(this.appPath, constants_1.CONFIG_DIR_NAME, constants_1.DEFAULT_CONFIG_FILE));
28
+ if (!helper_1.fs.existsSync(this.configPath)) {
29
+ if (this.disableGlobalConfig)
30
+ return;
31
+ this.initGlobalConfig();
28
32
  }
29
- catch (err) {
30
- this.initialConfig = {};
31
- this.isInitSuccess = false;
32
- console.log(err);
33
+ else {
34
+ (0, helper_1.createSwcRegister)({
35
+ only: [
36
+ filePath => filePath.indexOf(path.join(this.appPath, constants_1.CONFIG_DIR_NAME)) >= 0
37
+ ]
38
+ });
39
+ try {
40
+ const userExport = (0, helper_1.getModuleDefaultExport)(require(this.configPath));
41
+ this.initialConfig = typeof userExport === 'function' ? yield userExport(merge, configEnv) : userExport;
42
+ this.isInitSuccess = true;
43
+ }
44
+ catch (err) {
45
+ console.log(err);
46
+ }
33
47
  }
48
+ });
49
+ }
50
+ initGlobalConfig() {
51
+ const homedir = (0, helper_1.getUserHomeDir)();
52
+ if (!homedir)
53
+ return console.error('获取不到用户 home 路径');
54
+ const globalPluginConfigPath = path.join((0, helper_1.getUserHomeDir)(), helper_1.TARO_GLOBAL_CONFIG_DIR, helper_1.TARO_GLOBAL_CONFIG_FILE);
55
+ const spinner = ora(`开始获取 taro 全局配置文件: ${globalPluginConfigPath}`).start();
56
+ if (!helper_1.fs.existsSync(globalPluginConfigPath))
57
+ return spinner.warn(`获取 taro 全局配置文件失败,不存在全局配置文件:${globalPluginConfigPath}`);
58
+ try {
59
+ this.initialGlobalConfig = helper_1.fs.readJSONSync(globalPluginConfigPath) || {};
60
+ spinner.succeed('获取 taro 全局配置成功');
61
+ }
62
+ catch (e) {
63
+ spinner.stop();
64
+ console.warn(`获取全局配置失败,如果需要启用全局插件请查看配置文件: ${globalPluginConfigPath} `);
34
65
  }
35
66
  }
36
67
  getConfigWithNamed(platform, configName) {
@@ -1 +1 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"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"}
package/dist/Kernel.js CHANGED
@@ -15,7 +15,6 @@ const events_1 = require("events");
15
15
  const lodash_1 = require("lodash");
16
16
  const path = require("path");
17
17
  const tapable_1 = require("tapable");
18
- const Config_1 = require("./Config");
19
18
  const Plugin_1 = require("./Plugin");
20
19
  const utils_1 = require("./utils");
21
20
  const constants_1 = require("./utils/constants");
@@ -26,6 +25,7 @@ class Kernel extends events_1.EventEmitter {
26
25
  this.appPath = options.appPath || process.cwd();
27
26
  this.optsPresets = options.presets;
28
27
  this.optsPlugins = options.plugins;
28
+ this.config = options.config;
29
29
  this.hooks = new Map();
30
30
  this.methods = new Map();
31
31
  this.commands = new Map();
@@ -35,10 +35,8 @@ class Kernel extends events_1.EventEmitter {
35
35
  this.initPaths();
36
36
  }
37
37
  initConfig() {
38
- this.config = new Config_1.default({
39
- appPath: this.appPath
40
- });
41
38
  this.initialConfig = this.config.initialConfig;
39
+ this.initialGlobalConfig = this.config.initialGlobalConfig;
42
40
  this.debugger('initConfig', this.initialConfig);
43
41
  }
44
42
  initPaths() {
@@ -61,46 +59,68 @@ class Kernel extends events_1.EventEmitter {
61
59
  }
62
60
  initPresetsAndPlugins() {
63
61
  const initialConfig = this.initialConfig;
64
- const allConfigPresets = (0, utils_1.mergePlugins)(this.optsPresets || [], initialConfig.presets || [])();
65
- const allConfigPlugins = (0, utils_1.mergePlugins)(this.optsPlugins || [], initialConfig.plugins || [])();
66
- this.debugger('initPresetsAndPlugins', allConfigPresets, allConfigPlugins);
62
+ const initialGlobalConfig = this.initialGlobalConfig;
63
+ const cliAndProjectConfigPresets = (0, utils_1.mergePlugins)(this.optsPresets || [], initialConfig.presets || [])();
64
+ const cliAndProjectPlugins = (0, utils_1.mergePlugins)(this.optsPlugins || [], initialConfig.plugins || [])();
65
+ const globalPlugins = (0, utils_1.convertPluginsToObject)(initialGlobalConfig.plugins || [])();
66
+ const globalPresets = (0, utils_1.convertPluginsToObject)(initialGlobalConfig.presets || [])();
67
+ this.debugger('initPresetsAndPlugins', cliAndProjectConfigPresets, cliAndProjectPlugins);
68
+ this.debugger('globalPresetsAndPlugins', globalPlugins, globalPresets);
67
69
  process.env.NODE_ENV !== 'test' &&
68
70
  helper.createSwcRegister({
69
- only: [...Object.keys(allConfigPresets), ...Object.keys(allConfigPlugins)]
71
+ only: [
72
+ ...Object.keys(cliAndProjectConfigPresets),
73
+ ...Object.keys(cliAndProjectPlugins),
74
+ ...Object.keys(globalPresets),
75
+ ...Object.keys(globalPlugins)
76
+ ]
70
77
  });
71
78
  this.plugins = new Map();
72
79
  this.extraPlugins = {};
73
- this.resolvePresets(allConfigPresets);
74
- this.resolvePlugins(allConfigPlugins);
80
+ this.globalExtraPlugins = {};
81
+ this.resolvePresets(cliAndProjectConfigPresets, globalPresets);
82
+ this.resolvePlugins(cliAndProjectPlugins, globalPlugins);
75
83
  }
76
- resolvePresets(presets) {
77
- const allPresets = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, presets, constants_1.PluginType.Preset);
78
- while (allPresets.length) {
79
- this.initPreset(allPresets.shift());
84
+ resolvePresets(cliAndProjectPresets, globalPresets) {
85
+ const resolvedCliAndProjectPresets = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, cliAndProjectPresets, constants_1.PluginType.Preset);
86
+ while (resolvedCliAndProjectPresets.length) {
87
+ this.initPreset(resolvedCliAndProjectPresets.shift());
88
+ }
89
+ const globalConfigRootPath = path.join(helper.getUserHomeDir(), helper.TARO_GLOBAL_CONFIG_DIR);
90
+ const resolvedGlobalPresets = (0, utils_1.resolvePresetsOrPlugins)(globalConfigRootPath, globalPresets, constants_1.PluginType.Plugin, true);
91
+ while (resolvedGlobalPresets.length) {
92
+ this.initPreset(resolvedGlobalPresets.shift(), true);
80
93
  }
81
94
  }
82
- resolvePlugins(plugins) {
83
- plugins = (0, lodash_1.merge)(this.extraPlugins, plugins);
84
- const allPlugins = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, plugins, constants_1.PluginType.Plugin);
85
- while (allPlugins.length) {
86
- this.initPlugin(allPlugins.shift());
95
+ resolvePlugins(cliAndProjectPlugins, globalPlugins) {
96
+ cliAndProjectPlugins = (0, lodash_1.merge)(this.extraPlugins, cliAndProjectPlugins);
97
+ const resolvedCliAndProjectPlugins = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, cliAndProjectPlugins, constants_1.PluginType.Plugin);
98
+ globalPlugins = (0, lodash_1.merge)(this.globalExtraPlugins, globalPlugins);
99
+ const globalConfigRootPath = path.join(helper.getUserHomeDir(), helper.TARO_GLOBAL_CONFIG_DIR);
100
+ const resolvedGlobalPlugins = (0, utils_1.resolvePresetsOrPlugins)(globalConfigRootPath, globalPlugins, constants_1.PluginType.Plugin, true);
101
+ const resolvedPlugins = resolvedCliAndProjectPlugins.concat(resolvedGlobalPlugins);
102
+ while (resolvedPlugins.length) {
103
+ this.initPlugin(resolvedPlugins.shift());
87
104
  }
88
105
  this.extraPlugins = {};
106
+ this.globalExtraPlugins = {};
89
107
  }
90
- initPreset(preset) {
108
+ initPreset(preset, isGlobalConfigPreset) {
91
109
  this.debugger('initPreset', preset);
92
110
  const { id, path, opts, apply } = preset;
93
111
  const pluginCtx = this.initPluginCtx({ id, path, ctx: this });
94
112
  const { presets, plugins } = apply()(pluginCtx, opts) || {};
95
113
  this.registerPlugin(preset);
96
114
  if (Array.isArray(presets)) {
97
- const _presets = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, (0, utils_1.convertPluginsToObject)(presets)(), constants_1.PluginType.Preset);
115
+ const _presets = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, (0, utils_1.convertPluginsToObject)(presets)(), constants_1.PluginType.Preset, isGlobalConfigPreset);
98
116
  while (_presets.length) {
99
- this.initPreset(_presets.shift());
117
+ this.initPreset(_presets.shift(), isGlobalConfigPreset);
100
118
  }
101
119
  }
102
120
  if (Array.isArray(plugins)) {
103
- this.extraPlugins = (0, lodash_1.merge)(this.extraPlugins, (0, utils_1.convertPluginsToObject)(plugins)());
121
+ isGlobalConfigPreset
122
+ ? (this.globalExtraPlugins = (0, lodash_1.merge)(this.globalExtraPlugins, (0, utils_1.convertPluginsToObject)(plugins)()))
123
+ : (this.extraPlugins = (0, lodash_1.merge)(this.extraPlugins, (0, utils_1.convertPluginsToObject)(plugins)()));
104
124
  }
105
125
  }
106
126
  initPlugin(plugin) {
@@ -111,6 +131,21 @@ class Kernel extends events_1.EventEmitter {
111
131
  apply()(pluginCtx, opts);
112
132
  this.checkPluginOpts(pluginCtx, opts);
113
133
  }
134
+ applyCliCommandPlugin(commandNames = []) {
135
+ const existsCliCommand = [];
136
+ for (let i = 0; i < commandNames.length; i++) {
137
+ const commandName = commandNames[i];
138
+ const commandFilePath = path.resolve(this.cliCommandsPath, `${commandName}.js`);
139
+ if (this.cliCommands.includes(commandName))
140
+ existsCliCommand.push(commandFilePath);
141
+ }
142
+ const commandPlugins = (0, utils_1.convertPluginsToObject)(existsCliCommand || [])();
143
+ helper.createSwcRegister({ only: [...Object.keys(commandPlugins)] });
144
+ const resolvedCommandPlugins = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, commandPlugins, constants_1.PluginType.Plugin);
145
+ while (resolvedCommandPlugins.length) {
146
+ this.initPlugin(resolvedCommandPlugins.shift());
147
+ }
148
+ }
114
149
  checkPluginOpts(pluginCtx, opts) {
115
150
  if (typeof pluginCtx.optsSchema !== 'function') {
116
151
  return;
@@ -145,7 +180,8 @@ class Kernel extends events_1.EventEmitter {
145
180
  'helper',
146
181
  'runOpts',
147
182
  'initialConfig',
148
- 'applyPlugins'
183
+ 'applyPlugins',
184
+ 'applyCliCommandPlugin'
149
185
  ];
150
186
  internalMethods.forEach(name => {
151
187
  if (!this.methods.has(name)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../src/Kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../src/Kernel.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,12 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.TaroPlatformWeb = exports.TaroPlatformBase = exports.Kernel = void 0;
17
+ exports.TaroPlatformWeb = exports.TaroPlatformBase = exports.Kernel = exports.Config = void 0;
18
+ const Config_1 = require("./Config");
19
+ exports.Config = Config_1.default;
18
20
  const Kernel_1 = require("./Kernel");
19
21
  exports.Kernel = Kernel_1.default;
20
22
  const platform_plugin_base_1 = require("./platform-plugin-base");
21
23
  Object.defineProperty(exports, "TaroPlatformBase", { enumerable: true, get: function () { return platform_plugin_base_1.TaroPlatformBase; } });
22
24
  Object.defineProperty(exports, "TaroPlatformWeb", { enumerable: true, get: function () { return platform_plugin_base_1.TaroPlatformWeb; } });
23
25
  __exportStar(require("./utils/types"), exports);
24
- exports.default = { Kernel: Kernel_1.default, TaroPlatformBase: platform_plugin_base_1.TaroPlatformBase, TaroPlatformWeb: platform_plugin_base_1.TaroPlatformWeb };
26
+ exports.default = { Config: Config_1.default, Kernel: Kernel_1.default, TaroPlatformBase: platform_plugin_base_1.TaroPlatformBase, TaroPlatformWeb: platform_plugin_base_1.TaroPlatformWeb };
25
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAA6B;AAIpB,iBAJF,gBAAM,CAIE;AAHf,iEAA0E;AAGzD,iGAHR,uCAAgB,OAGQ;AAAE,gGAHR,sCAAe,OAGQ;AADlD,gDAA6B;AAE7B,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,gBAAgB,EAAhB,uCAAgB,EAAE,eAAe,EAAf,sCAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAA6B;AAKpB,iBALF,gBAAM,CAKE;AAJf,qCAA6B;AAIZ,iBAJV,gBAAM,CAIU;AAHvB,iEAA0E;AAGjD,iGAHhB,uCAAgB,OAGgB;AAAE,gGAHhB,sCAAe,OAGgB;AAD1D,gDAA6B;AAE7B,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,MAAM,EAAN,gBAAM,EAAE,gBAAgB,EAAhB,uCAAgB,EAAE,eAAe,EAAf,sCAAe,EAAE,CAAA"}
@@ -10,7 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TaroPlatformBase = void 0;
13
+ const helper_1 = require("@tarojs/helper");
13
14
  const shared_1 = require("@tarojs/shared");
15
+ const package_1 = require("../utils/package");
14
16
  const platform_1 = require("./platform");
15
17
  class TaroPlatformBase extends platform_1.default {
16
18
  constructor() {
@@ -94,7 +96,15 @@ ${exampleCommand}`));
94
96
  * @param extraOptions 需要额外合入 Options 的配置项
95
97
  */
96
98
  getOptions(extraOptions = {}) {
97
- const { ctx, config, globalObject, fileType, template } = this;
99
+ const { ctx, globalObject, fileType, template } = this;
100
+ const config = (0, helper_1.recursiveMerge)(Object.assign({}, this.config), {
101
+ env: {
102
+ FRAMEWORK: JSON.stringify(this.config.framework),
103
+ TARO_ENV: JSON.stringify(this.platform),
104
+ TARO_PLATFORM: JSON.stringify(this.platformType),
105
+ TARO_VERSION: JSON.stringify((0, package_1.getPkgVersion)())
106
+ }
107
+ });
98
108
  return Object.assign(Object.assign(Object.assign({}, config), { nodeModulesPath: ctx.paths.nodeModulesPath, buildAdapter: config.platform, platformType: this.platformType, globalObject,
99
109
  fileType,
100
110
  template }), extraOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"mini.js","sourceRoot":"","sources":["../../src/platform-plugin-base/mini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mini.js","sourceRoot":"","sources":["../../src/platform-plugin-base/mini.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+C;AAC/C,2CAA8C;AAE9C,8CAAgD;AAChD,yCAAqC;AAarC,MAAsB,gBAA8C,SAAQ,kBAAe;IAA3F;;QACE,iBAAY,GAAG,sBAAa,CAAC,IAAI,CAAA;IAyKnC,CAAC;IAjKC;;;;OAIG;IACW,KAAK;;;YACjB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YACzD,MAAA,MAAA,IAAI,CAAC,GAAG,EAAC,YAAY,mDAAG,IAAI,CAAC,CAAA;;KAC9B;IAEO,SAAS;;QACf,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QACvC,IAAI,OAAO,eAAe,KAAK,WAAW,IAAI,CAAC,CAAC,eAAe,EAAE;YAC/D,IAAI,CAAC,cAAc,EAAE,CAAA;SACtB;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;SACnD;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,0CAAE,KAAK,MAAK,KAAK,EAAE;YAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;YACrD,QAAQ,sCAAwB,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;SAC9E;IACH,CAAC;IAES,mBAAmB,CAAE,QAAgB;;QAC7C,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE7B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5E,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YACjC,MAAM,cAAc,GAAG,SAAS;gBAC9B,CAAC,CAAC,kDAAkD,QAAQ,UAAU;gBACtE,CAAC,CAAC,2CAA2C,QAAQ,UAAU,CAAA;YAEjE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;;EAEjC,cAAc,EAAE,CAAC,CAAC,CAAA;SACf;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,MAAM,CAAA,EAAE;YACzD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iFAAiF,CAAC,CAAC,CAAA;SACjH;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;YACxC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAA;YACvF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SAClB;IACH,CAAC;IAED;;OAEG;IACa,SAAS;;YACvB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;YAClC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YAE3B,IAAI,SAAiB,CAAA;YACrB,QAAQ,IAAI,CAAC,QAAQ,EAAE;gBACrB,KAAK,UAAU;oBACb,SAAS,GAAG,yBAAyB,CAAA;oBACrC,MAAK;gBACP,KAAK,MAAM;oBACT,SAAS,GAAG,qBAAqB,CAAA;oBACjC,MAAK;gBACP;oBACE,SAAS,GAAG,qBAAqB,CAAA;aACpC;YAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YAEtD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACnC,CAAC;KAAA;IAED;;;OAGG;IACO,UAAU,CAAE,YAAY,GAAG,EAAE;QACrC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAEtD,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5D,GAAG,EAAE;gBACH,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBAChD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACvC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;gBAChD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAA,uBAAa,GAAE,CAAC;aAC9C;SACF,CAAC,CAAA;QAEF,qDACK,MAAM,KACT,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,EAC1C,YAAY,EAAE,MAAM,CAAC,QAAQ,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY;YACZ,QAAQ;YACR,QAAQ,KACL,YAAY,EAChB;IACH,CAAC;IAED;;;OAGG;IACW,KAAK,CAAE,YAAY,GAAG,EAAE;;;YACpC,MAAA,MAAA,IAAI,CAAC,GAAG,EAAC,WAAW,mDAAG,IAAI,CAAC,CAAA;YAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;;KACxE;IAEa,SAAS,CAAE,YAAY,GAAG,EAAE;;YACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;aAC5C,EAAE,YAAY,CAAC,CAAC,CAAA;YACjB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;KAAA;IAED;;;;OAIG;IACO,qBAAqB,CAAE,GAAW,EAAE,IAAI,GAAG,qBAAqB;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAAE,OAAM;QACzC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAC7B,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACO,0BAA0B,CAAE,GAAG,EAAE,MAAM;QAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;gBACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC3B,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;oBAChC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;iBAC1D;gBACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;aAChB;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAChC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;aAChB;iBAAM,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBACvC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;aAClD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACU,KAAK;;YAChB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;KAAA;CACF;AA1KD,4CA0KC"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform-plugin-base/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA,MAAa,WAAW;IAAxB;QACE,aAAQ,GAAe,EAAE,CAAA;IAqB3B,CAAC;IAnBO,OAAO,CAAE,EAAQ,EAAE,KAAQ,EAAE,GAAG,IAAW;;YAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;KAAA;IAED,OAAO,CAAE,KAAQ;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAA;IACxD,CAAC;IAED,QAAQ,CAAE,KAAQ;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAA;IACzD,CAAC;IAED,UAAU,CAAE,OAAiB;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;CACF;AAtBD,kCAsBC;AAED,MAA8B,YAAY;IAaxC,YAAa,GAAmB,EAAE,MAAS;QAHjC,qBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAC1C,qBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAGlD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5E,CAAC;IAES,cAAc;QACtB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACxC,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAE,MAAe;;QACvC,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAE,IAAI,CAAA;QACxC,IAAG,YAAY,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,CAAA;SACzC;IACH,CAAC;CAMF;AAzCD,+BAyCC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform-plugin-base/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA,MAAa,WAAW;IAAxB;QACE,aAAQ,GAAe,EAAE,CAAA;IAqB3B,CAAC;IAnBO,OAAO,CAAE,EAAQ,EAAE,KAAQ,EAAE,GAAG,IAAW;;YAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;KAAA;IAED,OAAO,CAAE,KAAQ;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAA;IACxD,CAAC;IAED,QAAQ,CAAE,KAAQ;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAA;IACzD,CAAC;IAED,UAAU,CAAE,OAAiB;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;CACF;AAtBD,kCAsBC;AAED,MAA8B,YAAY;IAaxC,YAAa,GAAmB,EAAE,MAAS;QAHjC,qBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAC1C,qBAAgB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAGlD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5E,CAAC;IAES,cAAc;QACtB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACxC,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAE,MAAe;;QACvC,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAE,IAAI,CAAA;QACxC,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,CAAA;SACzC;IACH,CAAC;CAMF;AAzCD,+BAyCC"}
@@ -41,9 +41,13 @@ function mergePlugins(dist, src) {
41
41
  }
42
42
  exports.mergePlugins = mergePlugins;
43
43
  // getModuleDefaultExport
44
- function resolvePresetsOrPlugins(root, args, type) {
45
- return Object.keys(args).map(item => {
46
- var _a;
44
+ function resolvePresetsOrPlugins(root, args, type, skipError) {
45
+ var _a, _b;
46
+ // 全局的插件引入报错,不抛出 Error 影响主流程,而是通过 log 提醒然后把插件 filter 掉,保证主流程不变
47
+ const resolvedPresetsOrPlugins = [];
48
+ const presetsOrPluginsNames = Object.keys(args) || [];
49
+ for (let i = 0; i < presetsOrPluginsNames.length; i++) {
50
+ const item = presetsOrPluginsNames[i];
47
51
  let fPath;
48
52
  try {
49
53
  fPath = resolve.sync(item, {
@@ -54,14 +58,19 @@ function resolvePresetsOrPlugins(root, args, type) {
54
58
  catch (err) {
55
59
  if ((_a = args[item]) === null || _a === void 0 ? void 0 : _a.backup) {
56
60
  // 如果项目中没有,可以使用 CLI 中的插件
57
- fPath = args[item].backup;
61
+ fPath = (_b = args[item]) === null || _b === void 0 ? void 0 : _b.backup;
62
+ }
63
+ else if (skipError) {
64
+ // 如果跳过报错,那么 log 提醒,并且不使用该插件
65
+ console.log(helper_1.chalk.yellow(`找不到插件依赖 "${item}",请先在项目中安装,项目路径:${root}`));
66
+ continue;
58
67
  }
59
68
  else {
60
- console.log(helper_1.chalk.red(`找不到依赖 "${item}",请先在项目中安装`));
69
+ console.log(helper_1.chalk.red(`找不到插件依赖 "${item}",请先在项目中安装,项目路径:${root}`));
61
70
  process.exit(1);
62
71
  }
63
72
  }
64
- return {
73
+ const resolvedItem = {
65
74
  id: fPath,
66
75
  path: fPath,
67
76
  type,
@@ -72,11 +81,19 @@ function resolvePresetsOrPlugins(root, args, type) {
72
81
  }
73
82
  catch (error) {
74
83
  console.error(error);
75
- throw new Error(`插件依赖 "${item}" 加载失败,请检查插件配置`);
84
+ // 全局的插件运行报错,不抛出 Error 影响主流程,而是通过 log 提醒然后把插件 filter 掉,保证主流程不变
85
+ if (skipError) {
86
+ console.error(`插件依赖 "${item}" 加载失败,请检查插件配置`);
87
+ }
88
+ else {
89
+ throw new Error(`插件依赖 "${item}" 加载失败,请检查插件配置`);
90
+ }
76
91
  }
77
92
  }
78
93
  };
79
- });
94
+ resolvedPresetsOrPlugins.push(resolvedItem);
95
+ }
96
+ return resolvedPresetsOrPlugins;
80
97
  }
81
98
  exports.resolvePresetsOrPlugins = resolvePresetsOrPlugins;
82
99
  function supplementBlank(length) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/service",
3
- "version": "3.7.0-alpha.2",
3
+ "version": "3.7.0-alpha.3",
4
4
  "description": "Taro Service",
5
5
  "main": "index.js",
6
6
  "types": "types/index.d.ts",
@@ -24,15 +24,15 @@
24
24
  },
25
25
  "homepage": "https://github.com/NervJS/taro#readme",
26
26
  "dependencies": {
27
- "fs-extra": "^8.1.0",
28
27
  "joi": "^17.6.0",
29
28
  "lodash": "^4.17.21",
30
29
  "resolve": "^1.22.0",
31
30
  "tapable": "^1.1.3",
32
31
  "webpack-merge": "^4.2.2",
33
- "@tarojs/helper": "3.7.0-alpha.2",
34
- "@tarojs/shared": "3.7.0-alpha.2",
35
- "@tarojs/taro": "3.7.0-alpha.2"
32
+ "ora": "^5.0.0",
33
+ "@tarojs/helper": "3.7.0-alpha.3",
34
+ "@tarojs/shared": "3.7.0-alpha.3",
35
+ "@tarojs/taro": "3.7.0-alpha.3"
36
36
  },
37
37
  "devDependencies": {
38
38
  "vite": "^4.2.0",
@@ -43,7 +43,8 @@
43
43
  "dev": "tsc -w",
44
44
  "prod": "tsc",
45
45
  "clean": "rimraf dist types",
46
- "test": "jest",
47
- "test:dev": "jest --watch"
46
+ "test": "cross-env NODE_ENV=jest jest",
47
+ "test:ci": "cross-env NODE_ENV=jest jest --ci -i --passWithNoTests",
48
+ "test:dev": "cross-env NODE_ENV=jest jest --watch"
48
49
  }
49
50
  }
package/src/Config.ts CHANGED
@@ -1,12 +1,16 @@
1
1
  import {
2
2
  createSwcRegister,
3
3
  ENTRY,
4
+ fs,
4
5
  getModuleDefaultExport,
6
+ getUserHomeDir,
5
7
  OUTPUT_DIR,
6
8
  resolveScriptPath,
7
- SOURCE_DIR
9
+ SOURCE_DIR,
10
+ TARO_GLOBAL_CONFIG_DIR,
11
+ TARO_GLOBAL_CONFIG_FILE
8
12
  } from '@tarojs/helper'
9
- import * as fs from 'fs-extra'
13
+ import * as ora from 'ora'
10
14
  import * as path from 'path'
11
15
  import * as merge from 'webpack-merge'
12
16
 
@@ -19,23 +23,33 @@ import type { IProjectConfig } from '@tarojs/taro/types/compile'
19
23
 
20
24
  interface IConfigOptions {
21
25
  appPath: string
26
+ disableGlobalConfig?: boolean
22
27
  }
23
28
 
24
29
  export default class Config {
25
30
  appPath: string
26
31
  configPath: string
27
32
  initialConfig: IProjectConfig
33
+ initialGlobalConfig: IProjectConfig
28
34
  isInitSuccess: boolean
35
+ disableGlobalConfig: boolean
36
+
29
37
  constructor (opts: IConfigOptions) {
30
38
  this.appPath = opts.appPath
31
- this.init()
39
+ this.disableGlobalConfig = !!opts?.disableGlobalConfig
32
40
  }
33
41
 
34
- init () {
42
+ async init (configEnv: {
43
+ mode: string
44
+ command: string
45
+ }) {
46
+ this.initialConfig = {}
47
+ this.initialGlobalConfig = {}
48
+ this.isInitSuccess = false
35
49
  this.configPath = resolveScriptPath(path.join(this.appPath, CONFIG_DIR_NAME, DEFAULT_CONFIG_FILE))
36
50
  if (!fs.existsSync(this.configPath)) {
37
- this.initialConfig = {}
38
- this.isInitSuccess = false
51
+ if (this.disableGlobalConfig) return
52
+ this.initGlobalConfig()
39
53
  } else {
40
54
  createSwcRegister({
41
55
  only: [
@@ -43,16 +57,30 @@ export default class Config {
43
57
  ]
44
58
  })
45
59
  try {
46
- this.initialConfig = getModuleDefaultExport(require(this.configPath))(merge)
60
+ const userExport = getModuleDefaultExport(require(this.configPath))
61
+ this.initialConfig = typeof userExport === 'function' ? await userExport(merge, configEnv) : userExport
47
62
  this.isInitSuccess = true
48
63
  } catch (err) {
49
- this.initialConfig = {}
50
- this.isInitSuccess = false
51
64
  console.log(err)
52
65
  }
53
66
  }
54
67
  }
55
68
 
69
+ initGlobalConfig () {
70
+ const homedir = getUserHomeDir()
71
+ if (!homedir) return console.error('获取不到用户 home 路径')
72
+ const globalPluginConfigPath = path.join(getUserHomeDir(), TARO_GLOBAL_CONFIG_DIR, TARO_GLOBAL_CONFIG_FILE)
73
+ const spinner = ora(`开始获取 taro 全局配置文件: ${globalPluginConfigPath}`).start()
74
+ if (!fs.existsSync(globalPluginConfigPath)) return spinner.warn(`获取 taro 全局配置文件失败,不存在全局配置文件:${globalPluginConfigPath}`)
75
+ try {
76
+ this.initialGlobalConfig = fs.readJSONSync(globalPluginConfigPath) || {}
77
+ spinner.succeed('获取 taro 全局配置成功')
78
+ } catch (e){
79
+ spinner.stop()
80
+ console.warn(`获取全局配置失败,如果需要启用全局插件请查看配置文件: ${globalPluginConfigPath} `)
81
+ }
82
+ }
83
+
56
84
  getConfigWithNamed (platform, configName) {
57
85
  const initialConfig = this.initialConfig
58
86
  const sourceDirName = initialConfig.sourceRoot || SOURCE_DIR
package/src/Kernel.ts CHANGED
@@ -5,7 +5,6 @@ import { merge } from 'lodash'
5
5
  import * as path from 'path'
6
6
  import { AsyncSeriesWaterfallHook } from 'tapable'
7
7
 
8
- import Config from './Config'
9
8
  import Plugin from './Plugin'
10
9
  import { convertPluginsToObject, mergePlugins, printHelpLog, resolvePresetsOrPlugins } from './utils'
11
10
  import {
@@ -16,6 +15,7 @@ import {
16
15
  } from './utils/constants'
17
16
 
18
17
  import type { IProjectConfig, PluginItem } from '@tarojs/taro/types/compile'
18
+ import type Config from './Config'
19
19
  import type {
20
20
  Func,
21
21
  ICommand,
@@ -29,6 +29,7 @@ import type {
29
29
 
30
30
  interface IKernelOptions {
31
31
  appPath: string
32
+ config: Config
32
33
  presets?: PluginItem[]
33
34
  plugins?: PluginItem[]
34
35
  }
@@ -42,10 +43,14 @@ export default class Kernel extends EventEmitter {
42
43
  plugins: Map<string, IPlugin>
43
44
  paths: IPaths
44
45
  extraPlugins: IPluginsObject
46
+ globalExtraPlugins: IPluginsObject
45
47
  config: Config
46
48
  initialConfig: IProjectConfig
49
+ initialGlobalConfig: IProjectConfig
47
50
  hooks: Map<string, IHook[]>
48
51
  methods: Map<string, Func[]>
52
+ cliCommands: string []
53
+ cliCommandsPath: string
49
54
  commands: Map<string, ICommand>
50
55
  platforms: Map<string, IPlatform>
51
56
  helper: any
@@ -58,6 +63,7 @@ export default class Kernel extends EventEmitter {
58
63
  this.appPath = options.appPath || process.cwd()
59
64
  this.optsPresets = options.presets
60
65
  this.optsPlugins = options.plugins
66
+ this.config = options.config
61
67
  this.hooks = new Map()
62
68
  this.methods = new Map()
63
69
  this.commands = new Map()
@@ -68,10 +74,8 @@ export default class Kernel extends EventEmitter {
68
74
  }
69
75
 
70
76
  initConfig () {
71
- this.config = new Config({
72
- appPath: this.appPath
73
- })
74
77
  this.initialConfig = this.config.initialConfig
78
+ this.initialGlobalConfig = this.config.initialGlobalConfig
75
79
  this.debugger('initConfig', this.initialConfig)
76
80
  }
77
81
 
@@ -97,50 +101,76 @@ export default class Kernel extends EventEmitter {
97
101
 
98
102
  initPresetsAndPlugins () {
99
103
  const initialConfig = this.initialConfig
100
- const allConfigPresets = mergePlugins(this.optsPresets || [], initialConfig.presets || [])()
101
- const allConfigPlugins = mergePlugins(this.optsPlugins || [], initialConfig.plugins || [])()
102
- this.debugger('initPresetsAndPlugins', allConfigPresets, allConfigPlugins)
104
+ const initialGlobalConfig = this.initialGlobalConfig
105
+ const cliAndProjectConfigPresets = mergePlugins(this.optsPresets || [], initialConfig.presets || [])()
106
+ const cliAndProjectPlugins = mergePlugins(this.optsPlugins || [], initialConfig.plugins || [])()
107
+ const globalPlugins = convertPluginsToObject(initialGlobalConfig.plugins || [])()
108
+ const globalPresets = convertPluginsToObject(initialGlobalConfig.presets || [])()
109
+ this.debugger('initPresetsAndPlugins', cliAndProjectConfigPresets, cliAndProjectPlugins)
110
+ this.debugger('globalPresetsAndPlugins', globalPlugins, globalPresets)
103
111
  process.env.NODE_ENV !== 'test' &&
104
112
  helper.createSwcRegister({
105
- only: [...Object.keys(allConfigPresets), ...Object.keys(allConfigPlugins)]
113
+ only: [
114
+ ...Object.keys(cliAndProjectConfigPresets),
115
+ ...Object.keys(cliAndProjectPlugins),
116
+ ...Object.keys(globalPresets),
117
+ ...Object.keys(globalPlugins)
118
+ ]
106
119
  })
107
120
  this.plugins = new Map()
108
121
  this.extraPlugins = {}
109
- this.resolvePresets(allConfigPresets)
110
- this.resolvePlugins(allConfigPlugins)
122
+ this.globalExtraPlugins = {}
123
+ this.resolvePresets(cliAndProjectConfigPresets, globalPresets)
124
+ this.resolvePlugins(cliAndProjectPlugins, globalPlugins)
111
125
  }
112
126
 
113
- resolvePresets (presets) {
114
- const allPresets = resolvePresetsOrPlugins(this.appPath, presets, PluginType.Preset)
115
- while (allPresets.length) {
116
- this.initPreset(allPresets.shift()!)
127
+ resolvePresets (cliAndProjectPresets: IPluginsObject, globalPresets: IPluginsObject) {
128
+ const resolvedCliAndProjectPresets = resolvePresetsOrPlugins(this.appPath, cliAndProjectPresets, PluginType.Preset)
129
+ while (resolvedCliAndProjectPresets.length) {
130
+ this.initPreset(resolvedCliAndProjectPresets.shift()!)
131
+ }
132
+
133
+ const globalConfigRootPath = path.join(helper.getUserHomeDir(), helper.TARO_GLOBAL_CONFIG_DIR)
134
+ const resolvedGlobalPresets = resolvePresetsOrPlugins(globalConfigRootPath, globalPresets, PluginType.Plugin, true)
135
+ while (resolvedGlobalPresets.length) {
136
+ this.initPreset(resolvedGlobalPresets.shift()!, true)
117
137
  }
118
138
  }
119
139
 
120
- resolvePlugins (plugins) {
121
- plugins = merge(this.extraPlugins, plugins)
122
- const allPlugins = resolvePresetsOrPlugins(this.appPath, plugins, PluginType.Plugin)
140
+ resolvePlugins (cliAndProjectPlugins: IPluginsObject, globalPlugins: IPluginsObject) {
141
+ cliAndProjectPlugins = merge(this.extraPlugins, cliAndProjectPlugins)
142
+ const resolvedCliAndProjectPlugins = resolvePresetsOrPlugins(this.appPath, cliAndProjectPlugins, PluginType.Plugin)
143
+
144
+ globalPlugins = merge(this.globalExtraPlugins, globalPlugins)
145
+ const globalConfigRootPath = path.join(helper.getUserHomeDir(), helper.TARO_GLOBAL_CONFIG_DIR)
146
+ const resolvedGlobalPlugins = resolvePresetsOrPlugins(globalConfigRootPath, globalPlugins, PluginType.Plugin, true)
147
+
148
+ const resolvedPlugins = resolvedCliAndProjectPlugins.concat(resolvedGlobalPlugins)
123
149
 
124
- while (allPlugins.length) {
125
- this.initPlugin(allPlugins.shift()!)
150
+ while (resolvedPlugins.length) {
151
+ this.initPlugin(resolvedPlugins.shift()!)
126
152
  }
153
+
127
154
  this.extraPlugins = {}
155
+ this.globalExtraPlugins = {}
128
156
  }
129
157
 
130
- initPreset (preset: IPreset) {
158
+ initPreset (preset: IPreset, isGlobalConfigPreset?: boolean) {
131
159
  this.debugger('initPreset', preset)
132
160
  const { id, path, opts, apply } = preset
133
161
  const pluginCtx = this.initPluginCtx({ id, path, ctx: this })
134
162
  const { presets, plugins } = apply()(pluginCtx, opts) || {}
135
163
  this.registerPlugin(preset)
136
164
  if (Array.isArray(presets)) {
137
- const _presets = resolvePresetsOrPlugins(this.appPath, convertPluginsToObject(presets)(), PluginType.Preset)
165
+ const _presets = resolvePresetsOrPlugins(this.appPath, convertPluginsToObject(presets)(), PluginType.Preset, isGlobalConfigPreset)
138
166
  while (_presets.length) {
139
- this.initPreset(_presets.shift()!)
167
+ this.initPreset(_presets.shift()!, isGlobalConfigPreset)
140
168
  }
141
169
  }
142
170
  if (Array.isArray(plugins)) {
143
- this.extraPlugins = merge(this.extraPlugins, convertPluginsToObject(plugins)())
171
+ isGlobalConfigPreset
172
+ ? (this.globalExtraPlugins = merge(this.globalExtraPlugins, convertPluginsToObject(plugins)()))
173
+ : (this.extraPlugins = merge(this.extraPlugins, convertPluginsToObject(plugins)()))
144
174
  }
145
175
  }
146
176
 
@@ -153,6 +183,21 @@ export default class Kernel extends EventEmitter {
153
183
  this.checkPluginOpts(pluginCtx, opts)
154
184
  }
155
185
 
186
+ applyCliCommandPlugin (commandNames: string[] = []) {
187
+ const existsCliCommand: string[] = []
188
+ for ( let i = 0; i < commandNames.length; i++ ) {
189
+ const commandName = commandNames[i]
190
+ const commandFilePath = path.resolve(this.cliCommandsPath, `${commandName}.js`)
191
+ if (this.cliCommands.includes(commandName)) existsCliCommand.push(commandFilePath)
192
+ }
193
+ const commandPlugins = convertPluginsToObject(existsCliCommand || [])()
194
+ helper.createSwcRegister({ only: [ ...Object.keys(commandPlugins) ] })
195
+ const resolvedCommandPlugins = resolvePresetsOrPlugins(this.appPath, commandPlugins, PluginType.Plugin)
196
+ while (resolvedCommandPlugins.length) {
197
+ this.initPlugin(resolvedCommandPlugins.shift()!)
198
+ }
199
+ }
200
+
156
201
  checkPluginOpts (pluginCtx, opts) {
157
202
  if (typeof pluginCtx.optsSchema !== 'function') {
158
203
  return
@@ -189,7 +234,8 @@ export default class Kernel extends EventEmitter {
189
234
  'helper',
190
235
  'runOpts',
191
236
  'initialConfig',
192
- 'applyPlugins'
237
+ 'applyPlugins',
238
+ 'applyCliCommandPlugin'
193
239
  ]
194
240
  internalMethods.forEach(name => {
195
241
  if (!this.methods.has(name)) {
package/src/index.ts CHANGED
@@ -1,8 +1,9 @@
1
+ import Config from './Config'
1
2
  import Kernel from './Kernel'
2
3
  import { TaroPlatformBase, TaroPlatformWeb } from './platform-plugin-base'
3
4
 
4
5
  export * from './utils/types'
5
- export { Kernel, TaroPlatformBase, TaroPlatformWeb }
6
- export default { Kernel, TaroPlatformBase, TaroPlatformWeb }
6
+ export { Config, Kernel, TaroPlatformBase, TaroPlatformWeb }
7
+ export default { Config, Kernel, TaroPlatformBase, TaroPlatformWeb }
7
8
 
8
9
  export type { IPluginContext } from './utils/types'
@@ -1,5 +1,7 @@
1
+ import { recursiveMerge } from '@tarojs/helper'
1
2
  import { PLATFORM_TYPE } from '@tarojs/shared'
2
3
 
4
+ import { getPkgVersion } from '../utils/package'
3
5
  import TaroPlatform from './platform'
4
6
 
5
7
  import type { RecursiveTemplate, UnRecursiveTemplate } from '@tarojs/shared/dist/template'
@@ -103,7 +105,16 @@ ${exampleCommand}`))
103
105
  * @param extraOptions 需要额外合入 Options 的配置项
104
106
  */
105
107
  protected getOptions (extraOptions = {}) {
106
- const { ctx, config, globalObject, fileType, template } = this
108
+ const { ctx, globalObject, fileType, template } = this
109
+
110
+ const config = recursiveMerge(Object.assign({}, this.config), {
111
+ env: {
112
+ FRAMEWORK: JSON.stringify(this.config.framework),
113
+ TARO_ENV: JSON.stringify(this.platform),
114
+ TARO_PLATFORM: JSON.stringify(this.platformType),
115
+ TARO_VERSION: JSON.stringify(getPkgVersion())
116
+ }
117
+ })
107
118
 
108
119
  return {
109
120
  ...config,
@@ -63,7 +63,7 @@ export default abstract class TaroPlatform<T extends TConfig = TConfig> {
63
63
  */
64
64
  private updateOutputPath (config: TConfig) {
65
65
  const platformPath = config.output?.path
66
- if(platformPath) {
66
+ if (platformPath) {
67
67
  this.ctx.paths.outputPath = platformPath
68
68
  }
69
69
  }
@@ -4,9 +4,9 @@ import * as path from 'path'
4
4
  import * as resolve from 'resolve'
5
5
 
6
6
  import { PluginType } from './constants'
7
- import { IPlugin, IPluginsObject } from './types'
8
7
 
9
8
  import type { PluginItem } from '@tarojs/taro/types/compile'
9
+ import type { IPlugin, IPluginsObject } from './types'
10
10
 
11
11
  export const isNpmPkg: (name: string) => boolean = name => !(/^(\.|\/)/.test(name))
12
12
 
@@ -42,8 +42,12 @@ export function mergePlugins (dist: PluginItem[], src: PluginItem[]) {
42
42
  }
43
43
 
44
44
  // getModuleDefaultExport
45
- export function resolvePresetsOrPlugins (root: string, args, type: PluginType): IPlugin[] {
46
- return Object.keys(args).map(item => {
45
+ export function resolvePresetsOrPlugins (root: string, args: IPluginsObject, type: PluginType, skipError?: boolean): IPlugin[] {
46
+ // 全局的插件引入报错,不抛出 Error 影响主流程,而是通过 log 提醒然后把插件 filter 掉,保证主流程不变
47
+ const resolvedPresetsOrPlugins: IPlugin[] = []
48
+ const presetsOrPluginsNames = Object.keys(args) || []
49
+ for ( let i = 0; i < presetsOrPluginsNames.length; i++ ) {
50
+ const item = presetsOrPluginsNames[i]
47
51
  let fPath
48
52
  try {
49
53
  fPath = resolve.sync(item, {
@@ -53,13 +57,17 @@ export function resolvePresetsOrPlugins (root: string, args, type: PluginType):
53
57
  } catch (err) {
54
58
  if (args[item]?.backup) {
55
59
  // 如果项目中没有,可以使用 CLI 中的插件
56
- fPath = args[item].backup
60
+ fPath = args[item]?.backup
61
+ } else if (skipError) {
62
+ // 如果跳过报错,那么 log 提醒,并且不使用该插件
63
+ console.log(chalk.yellow(`找不到插件依赖 "${item}",请先在项目中安装,项目路径:${root}`))
64
+ continue
57
65
  } else {
58
- console.log(chalk.red(`找不到依赖 "${item}",请先在项目中安装`))
66
+ console.log(chalk.red(`找不到插件依赖 "${item}",请先在项目中安装,项目路径:${root}`))
59
67
  process.exit(1)
60
68
  }
61
69
  }
62
- return {
70
+ const resolvedItem = {
63
71
  id: fPath,
64
72
  path: fPath,
65
73
  type,
@@ -69,11 +77,19 @@ export function resolvePresetsOrPlugins (root: string, args, type: PluginType):
69
77
  return getModuleDefaultExport(require(fPath))
70
78
  } catch (error) {
71
79
  console.error(error)
72
- throw new Error(`插件依赖 "${item}" 加载失败,请检查插件配置`)
80
+ // 全局的插件运行报错,不抛出 Error 影响主流程,而是通过 log 提醒然后把插件 filter 掉,保证主流程不变
81
+ if (skipError) {
82
+ console.error(`插件依赖 "${item}" 加载失败,请检查插件配置`)
83
+ } else {
84
+ throw new Error(`插件依赖 "${item}" 加载失败,请检查插件配置`)
85
+ }
73
86
  }
74
87
  }
75
88
  }
76
- })
89
+ resolvedPresetsOrPlugins.push(resolvedItem)
90
+ }
91
+
92
+ return resolvedPresetsOrPlugins
77
93
  }
78
94
 
79
95
  function supplementBlank (length) {
package/types/Config.d.ts CHANGED
@@ -1,14 +1,22 @@
1
+ import * as ora from 'ora';
1
2
  import type { IProjectConfig } from '@tarojs/taro/types/compile';
2
3
  interface IConfigOptions {
3
4
  appPath: string;
5
+ disableGlobalConfig?: boolean;
4
6
  }
5
7
  export default class Config {
6
8
  appPath: string;
7
9
  configPath: string;
8
10
  initialConfig: IProjectConfig;
11
+ initialGlobalConfig: IProjectConfig;
9
12
  isInitSuccess: boolean;
13
+ disableGlobalConfig: boolean;
10
14
  constructor(opts: IConfigOptions);
11
- init(): void;
15
+ init(configEnv: {
16
+ mode: string;
17
+ command: string;
18
+ }): Promise<void>;
19
+ initGlobalConfig(): void | ora.Ora;
12
20
  getConfigWithNamed(platform: any, configName: any): any;
13
21
  }
14
22
  export {};
package/types/Kernel.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
- import Config from './Config';
4
3
  import Plugin from './Plugin';
5
4
  import type { IProjectConfig, PluginItem } from '@tarojs/taro/types/compile';
5
+ import type Config from './Config';
6
6
  import type { Func, ICommand, IHook, IPaths, IPlatform, IPlugin, IPluginsObject, IPreset } from './utils/types';
7
7
  interface IKernelOptions {
8
8
  appPath: string;
9
+ config: Config;
9
10
  presets?: PluginItem[];
10
11
  plugins?: PluginItem[];
11
12
  }
@@ -18,10 +19,14 @@ export default class Kernel extends EventEmitter {
18
19
  plugins: Map<string, IPlugin>;
19
20
  paths: IPaths;
20
21
  extraPlugins: IPluginsObject;
22
+ globalExtraPlugins: IPluginsObject;
21
23
  config: Config;
22
24
  initialConfig: IProjectConfig;
25
+ initialGlobalConfig: IProjectConfig;
23
26
  hooks: Map<string, IHook[]>;
24
27
  methods: Map<string, Func[]>;
28
+ cliCommands: string[];
29
+ cliCommandsPath: string;
25
30
  commands: Map<string, ICommand>;
26
31
  platforms: Map<string, IPlatform>;
27
32
  helper: any;
@@ -32,10 +37,11 @@ export default class Kernel extends EventEmitter {
32
37
  initPaths(): void;
33
38
  initHelper(): void;
34
39
  initPresetsAndPlugins(): void;
35
- resolvePresets(presets: any): void;
36
- resolvePlugins(plugins: any): void;
37
- initPreset(preset: IPreset): void;
40
+ resolvePresets(cliAndProjectPresets: IPluginsObject, globalPresets: IPluginsObject): void;
41
+ resolvePlugins(cliAndProjectPlugins: IPluginsObject, globalPlugins: IPluginsObject): void;
42
+ initPreset(preset: IPreset, isGlobalConfigPreset?: boolean): void;
38
43
  initPlugin(plugin: IPlugin): void;
44
+ applyCliCommandPlugin(commandNames?: string[]): void;
39
45
  checkPluginOpts(pluginCtx: any, opts: any): void;
40
46
  registerPlugin(plugin: IPlugin): void;
41
47
  initPluginCtx({ id, path, ctx }: {
package/types/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
+ import Config from './Config';
1
2
  import Kernel from './Kernel';
2
3
  import { TaroPlatformBase, TaroPlatformWeb } from './platform-plugin-base';
3
4
  export * from './utils/types';
4
- export { Kernel, TaroPlatformBase, TaroPlatformWeb };
5
+ export { Config, Kernel, TaroPlatformBase, TaroPlatformWeb };
5
6
  declare const _default: {
7
+ Config: typeof Config;
6
8
  Kernel: typeof Kernel;
7
9
  TaroPlatformBase: typeof TaroPlatformBase;
8
10
  TaroPlatformWeb: typeof TaroPlatformWeb;
@@ -32,14 +32,7 @@ export declare abstract class TaroPlatformBase<T extends TConfig = TConfig> exte
32
32
  * 准备 mini-runner 参数
33
33
  * @param extraOptions 需要额外合入 Options 的配置项
34
34
  */
35
- protected getOptions(extraOptions?: {}): T & {
36
- nodeModulesPath: string;
37
- buildAdapter: any;
38
- platformType: PLATFORM_TYPE;
39
- globalObject: string;
40
- fileType: IFileType;
41
- template: RecursiveTemplate | UnRecursiveTemplate;
42
- };
35
+ protected getOptions(extraOptions?: {}): any;
43
36
  /**
44
37
  * 调用 mini-runner 开始编译
45
38
  * @param extraOptions 需要额外传入 @tarojs/mini-runner 的配置项
@@ -1,9 +1,9 @@
1
1
  import { PluginType } from './constants';
2
- import { IPlugin, IPluginsObject } from './types';
3
2
  import type { PluginItem } from '@tarojs/taro/types/compile';
3
+ import type { IPlugin, IPluginsObject } from './types';
4
4
  export declare const isNpmPkg: (name: string) => boolean;
5
5
  export declare function getPluginPath(pluginPath: string): string;
6
6
  export declare function convertPluginsToObject(items: PluginItem[]): () => IPluginsObject;
7
7
  export declare function mergePlugins(dist: PluginItem[], src: PluginItem[]): () => IPluginsObject;
8
- export declare function resolvePresetsOrPlugins(root: string, args: any, type: PluginType): IPlugin[];
8
+ export declare function resolvePresetsOrPlugins(root: string, args: IPluginsObject, type: PluginType, skipError?: boolean): IPlugin[];
9
9
  export declare function printHelpLog(command: any, optionsList: Map<string, string>, synopsisList?: Set<string>): void;
@@ -27,8 +27,8 @@ export interface IPaths {
27
27
  */
28
28
  nodeModulesPath: string;
29
29
  }
30
- export declare type Func = (...args: any[]) => any;
31
- export declare type IPluginsObject = Record<string, Record<any, any> | null>;
30
+ export type Func = (...args: any[]) => any;
31
+ export type IPluginsObject = Record<string, Record<any, any> | null>;
32
32
  export interface IPlugin {
33
33
  id: string;
34
34
  path: string;
@@ -36,7 +36,7 @@ export interface IPlugin {
36
36
  type: PluginType;
37
37
  apply: Func;
38
38
  }
39
- export declare type IPreset = IPlugin;
39
+ export type IPreset = IPlugin;
40
40
  export interface IHook {
41
41
  name: string;
42
42
  plugin?: string;