@tarojs/service 3.6.6-alpha.0 → 3.6.6-alpha.2

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,20 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const helper_1 = require("@tarojs/helper");
4
- const fs = require("fs-extra");
4
+ const ora = require("ora");
5
5
  const path = require("path");
6
6
  const merge = require("webpack-merge");
7
7
  const constants_1 = require("./utils/constants");
8
8
  class Config {
9
9
  constructor(opts) {
10
10
  this.appPath = opts.appPath;
11
+ this.disableGlobalConfig = !!(opts === null || opts === void 0 ? void 0 : opts.disableGlobalConfig);
11
12
  this.init();
12
13
  }
13
14
  init() {
15
+ this.initialConfig = {};
16
+ this.initialGlobalConfig = {};
17
+ this.isInitSuccess = false;
14
18
  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)) {
16
- this.initialConfig = {};
17
- this.isInitSuccess = false;
19
+ if (!helper_1.fs.existsSync(this.configPath)) {
20
+ if (this.disableGlobalConfig)
21
+ return;
22
+ this.initGlobalConfig();
18
23
  }
19
24
  else {
20
25
  (0, helper_1.createSwcRegister)({
@@ -27,12 +32,27 @@ class Config {
27
32
  this.isInitSuccess = true;
28
33
  }
29
34
  catch (err) {
30
- this.initialConfig = {};
31
- this.isInitSuccess = false;
32
35
  console.log(err);
33
36
  }
34
37
  }
35
38
  }
39
+ initGlobalConfig() {
40
+ const homedir = (0, helper_1.getUserHomeDir)();
41
+ if (!homedir)
42
+ return console.error('获取不到用户 home 路径');
43
+ const globalPluginConfigPath = path.join((0, helper_1.getUserHomeDir)(), helper_1.TARO_GLOBAL_CONFIG_DIR, helper_1.TARO_GLOBAL_CONFIG_FILE);
44
+ const spinner = ora(`开始获取 taro 全局配置文件: ${globalPluginConfigPath}`).start();
45
+ if (!helper_1.fs.existsSync(globalPluginConfigPath))
46
+ return spinner.warn(`获取 taro 全局配置文件失败,不存在全局配置文件:${globalPluginConfigPath}`);
47
+ try {
48
+ this.initialGlobalConfig = helper_1.fs.readJSONSync(globalPluginConfigPath) || {};
49
+ spinner.succeed('获取 taro 全局配置成功');
50
+ }
51
+ catch (e) {
52
+ spinner.stop();
53
+ console.warn(`获取全局配置失败,如果需要启用全局插件请查看配置文件: ${globalPluginConfigPath} `);
54
+ }
55
+ }
36
56
  getConfigWithNamed(platform, configName) {
37
57
  const initialConfig = this.initialConfig;
38
58
  const sourceDirName = initialConfig.sourceRoot || helper_1.SOURCE_DIR;
@@ -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
@@ -26,6 +26,7 @@ class Kernel extends events_1.EventEmitter {
26
26
  this.appPath = options.appPath || process.cwd();
27
27
  this.optsPresets = options.presets;
28
28
  this.optsPlugins = options.plugins;
29
+ this.disableGlobalConfig = options.disableGlobalConfig;
29
30
  this.hooks = new Map();
30
31
  this.methods = new Map();
31
32
  this.commands = new Map();
@@ -36,9 +37,11 @@ class Kernel extends events_1.EventEmitter {
36
37
  }
37
38
  initConfig() {
38
39
  this.config = new Config_1.default({
39
- appPath: this.appPath
40
+ appPath: this.appPath,
41
+ disableGlobalConfig: this.disableGlobalConfig
40
42
  });
41
43
  this.initialConfig = this.config.initialConfig;
44
+ this.initialGlobalConfig = this.config.initialGlobalConfig;
42
45
  this.debugger('initConfig', this.initialConfig);
43
46
  }
44
47
  initPaths() {
@@ -61,46 +64,68 @@ class Kernel extends events_1.EventEmitter {
61
64
  }
62
65
  initPresetsAndPlugins() {
63
66
  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);
67
+ const initialGlobalConfig = this.initialGlobalConfig;
68
+ const cliAndProjectConfigPresets = (0, utils_1.mergePlugins)(this.optsPresets || [], initialConfig.presets || [])();
69
+ const cliAndProjectPlugins = (0, utils_1.mergePlugins)(this.optsPlugins || [], initialConfig.plugins || [])();
70
+ const globalPlugins = (0, utils_1.convertPluginsToObject)(initialGlobalConfig.plugins || [])();
71
+ const globalPresets = (0, utils_1.convertPluginsToObject)(initialGlobalConfig.presets || [])();
72
+ this.debugger('initPresetsAndPlugins', cliAndProjectConfigPresets, cliAndProjectPlugins);
73
+ this.debugger('globalPresetsAndPlugins', globalPlugins, globalPresets);
67
74
  process.env.NODE_ENV !== 'test' &&
68
75
  helper.createSwcRegister({
69
- only: [...Object.keys(allConfigPresets), ...Object.keys(allConfigPlugins)]
76
+ only: [
77
+ ...Object.keys(cliAndProjectConfigPresets),
78
+ ...Object.keys(cliAndProjectPlugins),
79
+ ...Object.keys(globalPresets),
80
+ ...Object.keys(globalPlugins)
81
+ ]
70
82
  });
71
83
  this.plugins = new Map();
72
84
  this.extraPlugins = {};
73
- this.resolvePresets(allConfigPresets);
74
- this.resolvePlugins(allConfigPlugins);
85
+ this.globalExtraPlugins = {};
86
+ this.resolvePresets(cliAndProjectConfigPresets, globalPresets);
87
+ this.resolvePlugins(cliAndProjectPlugins, globalPlugins);
75
88
  }
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());
89
+ resolvePresets(cliAndProjectPresets, globalPresets) {
90
+ const resolvedCliAndProjectPresets = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, cliAndProjectPresets, constants_1.PluginType.Preset);
91
+ while (resolvedCliAndProjectPresets.length) {
92
+ this.initPreset(resolvedCliAndProjectPresets.shift());
93
+ }
94
+ const globalConfigRootPath = path.join(helper.getUserHomeDir(), helper.TARO_GLOBAL_CONFIG_DIR);
95
+ const resolvedGlobalPresets = (0, utils_1.resolvePresetsOrPlugins)(globalConfigRootPath, globalPresets, constants_1.PluginType.Plugin, true);
96
+ while (resolvedGlobalPresets.length) {
97
+ this.initPreset(resolvedGlobalPresets.shift(), true);
80
98
  }
81
99
  }
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());
100
+ resolvePlugins(cliAndProjectPlugins, globalPlugins) {
101
+ cliAndProjectPlugins = (0, lodash_1.merge)(this.extraPlugins, cliAndProjectPlugins);
102
+ const resolvedCliAndProjectPlugins = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, cliAndProjectPlugins, constants_1.PluginType.Plugin);
103
+ globalPlugins = (0, lodash_1.merge)(this.globalExtraPlugins, globalPlugins);
104
+ const globalConfigRootPath = path.join(helper.getUserHomeDir(), helper.TARO_GLOBAL_CONFIG_DIR);
105
+ const resolvedGlobalPlugins = (0, utils_1.resolvePresetsOrPlugins)(globalConfigRootPath, globalPlugins, constants_1.PluginType.Plugin, true);
106
+ const resolvedPlugins = resolvedCliAndProjectPlugins.concat(resolvedGlobalPlugins);
107
+ while (resolvedPlugins.length) {
108
+ this.initPlugin(resolvedPlugins.shift());
87
109
  }
88
110
  this.extraPlugins = {};
111
+ this.globalExtraPlugins = {};
89
112
  }
90
- initPreset(preset) {
113
+ initPreset(preset, isGlobalConfigPreset) {
91
114
  this.debugger('initPreset', preset);
92
115
  const { id, path, opts, apply } = preset;
93
116
  const pluginCtx = this.initPluginCtx({ id, path, ctx: this });
94
117
  const { presets, plugins } = apply()(pluginCtx, opts) || {};
95
118
  this.registerPlugin(preset);
96
119
  if (Array.isArray(presets)) {
97
- const _presets = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, (0, utils_1.convertPluginsToObject)(presets)(), constants_1.PluginType.Preset);
120
+ const _presets = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, (0, utils_1.convertPluginsToObject)(presets)(), constants_1.PluginType.Preset, isGlobalConfigPreset);
98
121
  while (_presets.length) {
99
- this.initPreset(_presets.shift());
122
+ this.initPreset(_presets.shift(), isGlobalConfigPreset);
100
123
  }
101
124
  }
102
125
  if (Array.isArray(plugins)) {
103
- this.extraPlugins = (0, lodash_1.merge)(this.extraPlugins, (0, utils_1.convertPluginsToObject)(plugins)());
126
+ isGlobalConfigPreset
127
+ ? (this.globalExtraPlugins = (0, lodash_1.merge)(this.globalExtraPlugins, (0, utils_1.convertPluginsToObject)(plugins)()))
128
+ : (this.extraPlugins = (0, lodash_1.merge)(this.extraPlugins, (0, utils_1.convertPluginsToObject)(plugins)()));
104
129
  }
105
130
  }
106
131
  initPlugin(plugin) {
@@ -111,6 +136,21 @@ class Kernel extends events_1.EventEmitter {
111
136
  apply()(pluginCtx, opts);
112
137
  this.checkPluginOpts(pluginCtx, opts);
113
138
  }
139
+ applyCliCommandPlugin(commandNames = []) {
140
+ const existsCliCommand = [];
141
+ for (let i = 0; i < commandNames.length; i++) {
142
+ const commandName = commandNames[i];
143
+ const commandFilePath = path.resolve(this.cliCommandsPath, `${commandName}.js`);
144
+ if (this.cliCommands.includes(commandName))
145
+ existsCliCommand.push(commandFilePath);
146
+ }
147
+ const commandPlugins = (0, utils_1.convertPluginsToObject)(existsCliCommand || [])();
148
+ helper.createSwcRegister({ only: [...Object.keys(commandPlugins)] });
149
+ const resolvedCommandPlugins = (0, utils_1.resolvePresetsOrPlugins)(this.appPath, commandPlugins, constants_1.PluginType.Plugin);
150
+ while (resolvedCommandPlugins.length) {
151
+ this.initPlugin(resolvedCommandPlugins.shift());
152
+ }
153
+ }
114
154
  checkPluginOpts(pluginCtx, opts) {
115
155
  if (typeof pluginCtx.optsSchema !== 'function') {
116
156
  return;
@@ -145,7 +185,8 @@ class Kernel extends events_1.EventEmitter {
145
185
  'helper',
146
186
  'runOpts',
147
187
  'initialConfig',
148
- 'applyPlugins'
188
+ 'applyPlugins',
189
+ 'applyCliCommandPlugin'
149
190
  ];
150
191
  internalMethods.forEach(name => {
151
192
  if (!this.methods.has(name)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../src/Kernel.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yCAAwC;AACxC,2CAAgD;AAChD,mCAAqC;AACrC,mCAA8B;AAC9B,6BAA4B;AAC5B,qCAAkD;AAElD,qCAA6B;AAC7B,qCAA6B;AAC7B,mCAAqG;AACrG,iDAK0B;AAoB1B,MAAqB,MAAO,SAAQ,qBAAY;IAmB9C,YAAa,OAAuB;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAa,CAAC,CAAA;QACxG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAC/C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;SACrF,CAAA;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;gBACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,UAAoB,CAAC;gBAC5E,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,UAAoB,CAAC;aAChF,CAAC,CAAA;SACH;QACD,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC7B,CAAC;IAED,qBAAqB;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACxC,MAAM,gBAAgB,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAA;QAC5F,MAAM,gBAAgB,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAA;QAC5F,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;QAC1E,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;YAC/B,MAAM,CAAC,iBAAiB,CAAC;gBACvB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC3E,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;QACrC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC;IAED,cAAc,CAAE,OAAO;QACrB,MAAM,UAAU,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,sBAAU,CAAC,MAAM,CAAC,CAAA;QACpF,OAAO,UAAU,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAA;SACrC;IACH,CAAC;IAED,cAAc,CAAE,OAAO;QACrB,OAAO,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC3C,MAAM,UAAU,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,sBAAU,CAAC,MAAM,CAAC,CAAA;QAEpF,OAAO,UAAU,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAA;SACrC;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;IACxB,CAAC;IAED,UAAU,CAAE,MAAe;QACzB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACnC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAA,8BAAsB,EAAC,OAAO,CAAC,EAAE,EAAE,sBAAU,CAAC,MAAM,CAAC,CAAA;YAC5G,OAAO,QAAQ,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAG,CAAC,CAAA;aACnC;SACF;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,YAAY,EAAE,IAAA,8BAAsB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAA;SAChF;IACH,CAAC;IAED,UAAU,CAAE,MAAe;QACzB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3B,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QACxB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,eAAe,CAAE,SAAS,EAAE,IAAI;QAC9B,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE;YAC9C,OAAM;SACP;QACD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,KAAK,SAAS,CAAC,EAAE,wBAAwB,CAAC,CAAA;SAC3D;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,OAAO,GAAG,KAAK,SAAS,CAAC,EAAE,iBAAiB,CAAA;YAClD,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,cAAc,CAAE,MAAe;QAC7B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;SACxC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,aAAa,CAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAA6C;QACzE,MAAM,SAAS,GAAG,IAAI,gBAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;QAC/C,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG;YACjB,SAAS;YACT,SAAS;YACT,WAAW;YACX,OAAO;YACP,QAAQ;YACR,SAAS;YACT,eAAe;YACf,cAAc;SACf,CAAA;QACD,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;aAC/B;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;YAC1B,GAAG,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;gBAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBACzB,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE;4BAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gCACpB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;4BACvB,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAA;qBACF;oBACD,OAAO,MAAM,CAAA;iBACd;gBACD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAC7B,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBAC7E;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAEK,YAAY,CAAE,IAA6D;;YAC/E,IAAI,IAAI,CAAA;YACR,IAAI,UAAU,CAAA;YACd,IAAI,IAAI,CAAA;YACR,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,IAAI,GAAG,IAAI,CAAA;aACZ;iBAAM;gBACL,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;gBAChB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;aACjB;YACD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;YAC7B,IAAI,CAAC,QAAQ,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAA;YAC1C,IAAI,CAAC,QAAQ,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAA;YACtD,IAAI,CAAC,QAAQ,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAA;YAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;aAClC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YACxC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjB,OAAO,MAAM,UAAU,CAAA;aACxB;YACD,MAAM,SAAS,GAAG,IAAI,kCAAwB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YACvD,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,MAAM,MAAM,GAAU,EAAE,CAAA;gBACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACxB,SAAS,CAAC,UAAU,CAAC;wBACnB,IAAI,EAAE,IAAI,CAAC,MAAO;wBAClB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;wBACtB,aAAa;wBACb,MAAM,EAAE,IAAI,CAAC,MAAM;qBACpB,EAAE,CAAM,GAAG,EAAC,EAAE;wBACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;wBACpC,IAAI,0BAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BACzD,OAAO,GAAG,CAAA;yBACX;wBACD,IAAI,uBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;4BAChB,OAAO,MAAM,CAAA;yBACd;wBACD,OAAO,IAAI,CAAA;oBACb,CAAC,CAAA,CAAC,CAAA;iBACH;aACF;YACD,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC5C,CAAC;KAAA;IAED,eAAe,CAAE,QAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAA;SACvC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;QACxF,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAA,wBAAe,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;QAC9E,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,UAAU,CAAE,IAAI;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,OAAO,CAAE,IAAY;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAA;QACnC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAA;QAC/D,IAAI,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAA;QAChC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;YACvB,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,CAAC,CAAA;SAChE;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAA;QACvE,IAAA,oBAAY,EAAC,IAAI,EAAE,UAAU,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;IACpG,CAAC;IAEK,GAAG,CAAE,IAA2C;;;YACpD,IAAI,IAAI,CAAA;YACR,IAAI,IAAI,CAAA;YACR,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,IAAI,GAAG,IAAI,CAAA;aACZ;iBAAM;gBACL,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;gBAChB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;aACjB;YACD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC5B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAA;YACzC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;YAChC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAErB,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAA;YACtC,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAE5B,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YAElC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;YAChC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YAElC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAA;aACjC;YAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE;gBAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;aAC1B;YAED,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,QAAQ,EAAE;gBAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,IAAI,CAAC,YAAY,CAAC;oBACtB,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE;wBACJ,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM;qBACnB;iBACF,CAAC,CAAA;aACH;YAED,MAAM,IAAI,CAAC,YAAY,CAAC;gBACtB,IAAI;gBACJ,IAAI;aACL,CAAC,CAAA;;KACH;CACF;AA/SD,yBA+SC"}
1
+ {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../src/Kernel.ts"],"names":[],"mappings":"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"}
@@ -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.6.6-alpha.0",
3
+ "version": "3.6.6-alpha.2",
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.6.6-alpha.0",
34
- "@tarojs/taro": "3.6.6-alpha.0",
35
- "@tarojs/shared": "3.6.6-alpha.0"
32
+ "ora": "^5.0.0",
33
+ "@tarojs/helper": "3.6.6-alpha.2",
34
+ "@tarojs/shared": "3.6.6-alpha.2",
35
+ "@tarojs/taro": "3.6.6-alpha.2"
36
36
  },
37
37
  "devDependencies": {
38
38
  "webpack": "5.78.0"
@@ -42,7 +42,7 @@
42
42
  "dev": "tsc -w",
43
43
  "prod": "tsc",
44
44
  "clean": "rimraf dist types",
45
- "test": "jest",
46
- "test:dev": "jest --watch"
45
+ "test": "cross-env NODE_ENV=jest jest --ci -i --passWithNoTests",
46
+ "test:dev": "cross-env NODE_ENV=jest jest --watch"
47
47
  }
48
48
  }
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,31 @@ 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
39
+ this.disableGlobalConfig = !!opts?.disableGlobalConfig
31
40
  this.init()
32
41
  }
33
42
 
34
43
  init () {
44
+ this.initialConfig = {}
45
+ this.initialGlobalConfig = {}
46
+ this.isInitSuccess = false
35
47
  this.configPath = resolveScriptPath(path.join(this.appPath, CONFIG_DIR_NAME, DEFAULT_CONFIG_FILE))
36
48
  if (!fs.existsSync(this.configPath)) {
37
- this.initialConfig = {}
38
- this.isInitSuccess = false
49
+ if(this.disableGlobalConfig) return
50
+ this.initGlobalConfig()
39
51
  } else {
40
52
  createSwcRegister({
41
53
  only: [
@@ -46,13 +58,26 @@ export default class Config {
46
58
  this.initialConfig = getModuleDefaultExport(require(this.configPath))(merge)
47
59
  this.isInitSuccess = true
48
60
  } catch (err) {
49
- this.initialConfig = {}
50
- this.isInitSuccess = false
51
61
  console.log(err)
52
62
  }
53
63
  }
54
64
  }
55
65
 
66
+ initGlobalConfig () {
67
+ const homedir = getUserHomeDir()
68
+ if(!homedir) return console.error('获取不到用户 home 路径')
69
+ const globalPluginConfigPath = path.join(getUserHomeDir(), TARO_GLOBAL_CONFIG_DIR, TARO_GLOBAL_CONFIG_FILE)
70
+ const spinner = ora(`开始获取 taro 全局配置文件: ${globalPluginConfigPath}`).start()
71
+ if (!fs.existsSync(globalPluginConfigPath)) return spinner.warn(`获取 taro 全局配置文件失败,不存在全局配置文件:${globalPluginConfigPath}`)
72
+ try {
73
+ this.initialGlobalConfig = fs.readJSONSync(globalPluginConfigPath) || {}
74
+ spinner.succeed('获取 taro 全局配置成功')
75
+ }catch(e){
76
+ spinner.stop()
77
+ console.warn(`获取全局配置失败,如果需要启用全局插件请查看配置文件: ${globalPluginConfigPath} `)
78
+ }
79
+ }
80
+
56
81
  getConfigWithNamed (platform, configName) {
57
82
  const initialConfig = this.initialConfig
58
83
  const sourceDirName = initialConfig.sourceRoot || SOURCE_DIR
package/src/Kernel.ts CHANGED
@@ -29,6 +29,7 @@ import type {
29
29
 
30
30
  interface IKernelOptions {
31
31
  appPath: string
32
+ disableGlobalConfig: boolean
32
33
  presets?: PluginItem[]
33
34
  plugins?: PluginItem[]
34
35
  }
@@ -42,10 +43,15 @@ 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
54
+ disableGlobalConfig: boolean
49
55
  commands: Map<string, ICommand>
50
56
  platforms: Map<string, IPlatform>
51
57
  helper: any
@@ -58,6 +64,7 @@ export default class Kernel extends EventEmitter {
58
64
  this.appPath = options.appPath || process.cwd()
59
65
  this.optsPresets = options.presets
60
66
  this.optsPlugins = options.plugins
67
+ this.disableGlobalConfig = options.disableGlobalConfig
61
68
  this.hooks = new Map()
62
69
  this.methods = new Map()
63
70
  this.commands = new Map()
@@ -69,9 +76,11 @@ export default class Kernel extends EventEmitter {
69
76
 
70
77
  initConfig () {
71
78
  this.config = new Config({
72
- appPath: this.appPath
79
+ appPath: this.appPath,
80
+ disableGlobalConfig: this.disableGlobalConfig
73
81
  })
74
82
  this.initialConfig = this.config.initialConfig
83
+ this.initialGlobalConfig = this.config.initialGlobalConfig
75
84
  this.debugger('initConfig', this.initialConfig)
76
85
  }
77
86
 
@@ -97,50 +106,76 @@ export default class Kernel extends EventEmitter {
97
106
 
98
107
  initPresetsAndPlugins () {
99
108
  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)
109
+ const initialGlobalConfig = this.initialGlobalConfig
110
+ const cliAndProjectConfigPresets = mergePlugins(this.optsPresets || [], initialConfig.presets || [])()
111
+ const cliAndProjectPlugins = mergePlugins(this.optsPlugins || [], initialConfig.plugins || [])()
112
+ const globalPlugins = convertPluginsToObject(initialGlobalConfig.plugins || [])()
113
+ const globalPresets = convertPluginsToObject(initialGlobalConfig.presets || [])()
114
+ this.debugger('initPresetsAndPlugins', cliAndProjectConfigPresets, cliAndProjectPlugins)
115
+ this.debugger('globalPresetsAndPlugins', globalPlugins, globalPresets)
103
116
  process.env.NODE_ENV !== 'test' &&
104
117
  helper.createSwcRegister({
105
- only: [...Object.keys(allConfigPresets), ...Object.keys(allConfigPlugins)]
118
+ only: [
119
+ ...Object.keys(cliAndProjectConfigPresets),
120
+ ...Object.keys(cliAndProjectPlugins),
121
+ ...Object.keys(globalPresets),
122
+ ...Object.keys(globalPlugins)
123
+ ]
106
124
  })
107
125
  this.plugins = new Map()
108
126
  this.extraPlugins = {}
109
- this.resolvePresets(allConfigPresets)
110
- this.resolvePlugins(allConfigPlugins)
127
+ this.globalExtraPlugins = {}
128
+ this.resolvePresets(cliAndProjectConfigPresets, globalPresets)
129
+ this.resolvePlugins(cliAndProjectPlugins, globalPlugins)
111
130
  }
112
131
 
113
- resolvePresets (presets) {
114
- const allPresets = resolvePresetsOrPlugins(this.appPath, presets, PluginType.Preset)
115
- while (allPresets.length) {
116
- this.initPreset(allPresets.shift()!)
132
+ resolvePresets (cliAndProjectPresets: IPluginsObject, globalPresets: IPluginsObject) {
133
+ const resolvedCliAndProjectPresets = resolvePresetsOrPlugins(this.appPath, cliAndProjectPresets, PluginType.Preset)
134
+ while (resolvedCliAndProjectPresets.length) {
135
+ this.initPreset(resolvedCliAndProjectPresets.shift()!)
136
+ }
137
+
138
+ const globalConfigRootPath = path.join(helper.getUserHomeDir(), helper.TARO_GLOBAL_CONFIG_DIR)
139
+ const resolvedGlobalPresets = resolvePresetsOrPlugins(globalConfigRootPath , globalPresets, PluginType.Plugin, true)
140
+ while (resolvedGlobalPresets.length) {
141
+ this.initPreset(resolvedGlobalPresets.shift()!, true)
117
142
  }
118
143
  }
119
144
 
120
- resolvePlugins (plugins) {
121
- plugins = merge(this.extraPlugins, plugins)
122
- const allPlugins = resolvePresetsOrPlugins(this.appPath, plugins, PluginType.Plugin)
145
+ resolvePlugins (cliAndProjectPlugins: IPluginsObject, globalPlugins: IPluginsObject) {
146
+ cliAndProjectPlugins = merge(this.extraPlugins, cliAndProjectPlugins)
147
+ const resolvedCliAndProjectPlugins = resolvePresetsOrPlugins(this.appPath, cliAndProjectPlugins, PluginType.Plugin)
148
+
149
+ globalPlugins = merge(this.globalExtraPlugins, globalPlugins)
150
+ const globalConfigRootPath = path.join(helper.getUserHomeDir(), helper.TARO_GLOBAL_CONFIG_DIR)
151
+ const resolvedGlobalPlugins = resolvePresetsOrPlugins(globalConfigRootPath , globalPlugins, PluginType.Plugin, true)
152
+
153
+ const resolvedPlugins = resolvedCliAndProjectPlugins.concat(resolvedGlobalPlugins)
123
154
 
124
- while (allPlugins.length) {
125
- this.initPlugin(allPlugins.shift()!)
155
+ while (resolvedPlugins.length) {
156
+ this.initPlugin(resolvedPlugins.shift()!)
126
157
  }
158
+
127
159
  this.extraPlugins = {}
160
+ this.globalExtraPlugins = {}
128
161
  }
129
162
 
130
- initPreset (preset: IPreset) {
163
+ initPreset (preset: IPreset, isGlobalConfigPreset?: boolean) {
131
164
  this.debugger('initPreset', preset)
132
165
  const { id, path, opts, apply } = preset
133
166
  const pluginCtx = this.initPluginCtx({ id, path, ctx: this })
134
167
  const { presets, plugins } = apply()(pluginCtx, opts) || {}
135
168
  this.registerPlugin(preset)
136
169
  if (Array.isArray(presets)) {
137
- const _presets = resolvePresetsOrPlugins(this.appPath, convertPluginsToObject(presets)(), PluginType.Preset)
170
+ const _presets = resolvePresetsOrPlugins(this.appPath, convertPluginsToObject(presets)(), PluginType.Preset, isGlobalConfigPreset)
138
171
  while (_presets.length) {
139
- this.initPreset(_presets.shift()!)
172
+ this.initPreset(_presets.shift()!, isGlobalConfigPreset)
140
173
  }
141
174
  }
142
175
  if (Array.isArray(plugins)) {
143
- this.extraPlugins = merge(this.extraPlugins, convertPluginsToObject(plugins)())
176
+ isGlobalConfigPreset
177
+ ? (this.globalExtraPlugins = merge(this.globalExtraPlugins, convertPluginsToObject(plugins)()))
178
+ : (this.extraPlugins = merge(this.extraPlugins, convertPluginsToObject(plugins)()))
144
179
  }
145
180
  }
146
181
 
@@ -153,6 +188,21 @@ export default class Kernel extends EventEmitter {
153
188
  this.checkPluginOpts(pluginCtx, opts)
154
189
  }
155
190
 
191
+ applyCliCommandPlugin (commandNames: string[] = []) {
192
+ const existsCliCommand: string[] = []
193
+ for( let i = 0; i < commandNames.length; i++ ) {
194
+ const commandName = commandNames[i]
195
+ const commandFilePath = path.resolve(this.cliCommandsPath, `${commandName}.js`)
196
+ if(this.cliCommands.includes(commandName)) existsCliCommand.push(commandFilePath)
197
+ }
198
+ const commandPlugins = convertPluginsToObject(existsCliCommand || [])()
199
+ helper.createSwcRegister({ only: [ ...Object.keys(commandPlugins) ] })
200
+ const resolvedCommandPlugins = resolvePresetsOrPlugins(this.appPath , commandPlugins, PluginType.Plugin)
201
+ while (resolvedCommandPlugins.length) {
202
+ this.initPlugin(resolvedCommandPlugins.shift()!)
203
+ }
204
+ }
205
+
156
206
  checkPluginOpts (pluginCtx, opts) {
157
207
  if (typeof pluginCtx.optsSchema !== 'function') {
158
208
  return
@@ -189,7 +239,8 @@ export default class Kernel extends EventEmitter {
189
239
  'helper',
190
240
  'runOpts',
191
241
  'initialConfig',
192
- 'applyPlugins'
242
+ 'applyPlugins',
243
+ 'applyCliCommandPlugin'
193
244
  ]
194
245
  internalMethods.forEach(name => {
195
246
  if (!this.methods.has(name)) {
@@ -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,19 @@
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
15
  init(): void;
16
+ initGlobalConfig(): void | ora.Ora;
12
17
  getConfigWithNamed(platform: any, configName: any): any;
13
18
  }
14
19
  export {};
package/types/Kernel.d.ts CHANGED
@@ -6,6 +6,7 @@ import type { IProjectConfig, PluginItem } from '@tarojs/taro/types/compile';
6
6
  import type { Func, ICommand, IHook, IPaths, IPlatform, IPlugin, IPluginsObject, IPreset } from './utils/types';
7
7
  interface IKernelOptions {
8
8
  appPath: string;
9
+ disableGlobalConfig: boolean;
9
10
  presets?: PluginItem[];
10
11
  plugins?: PluginItem[];
11
12
  }
@@ -18,10 +19,15 @@ 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;
30
+ disableGlobalConfig: boolean;
25
31
  commands: Map<string, ICommand>;
26
32
  platforms: Map<string, IPlatform>;
27
33
  helper: any;
@@ -32,10 +38,11 @@ export default class Kernel extends EventEmitter {
32
38
  initPaths(): void;
33
39
  initHelper(): void;
34
40
  initPresetsAndPlugins(): void;
35
- resolvePresets(presets: any): void;
36
- resolvePlugins(plugins: any): void;
37
- initPreset(preset: IPreset): void;
41
+ resolvePresets(cliAndProjectPresets: IPluginsObject, globalPresets: IPluginsObject): void;
42
+ resolvePlugins(cliAndProjectPlugins: IPluginsObject, globalPlugins: IPluginsObject): void;
43
+ initPreset(preset: IPreset, isGlobalConfigPreset?: boolean): void;
38
44
  initPlugin(plugin: IPlugin): void;
45
+ applyCliCommandPlugin(commandNames?: string[]): void;
39
46
  checkPluginOpts(pluginCtx: any, opts: any): void;
40
47
  registerPlugin(plugin: IPlugin): void;
41
48
  initPluginCtx({ id, path, ctx }: {
@@ -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;