@tarojs/service 3.7.0-alpha.25 → 3.7.0-alpha.27

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/index.js CHANGED
@@ -14,14 +14,15 @@ 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 = exports.Config = void 0;
17
+ exports.TaroPlatformWeb = exports.TaroPlatformBase = exports.TaroPlatform = exports.Kernel = exports.Config = void 0;
18
18
  const Config_1 = require("./Config");
19
19
  exports.Config = Config_1.default;
20
20
  const Kernel_1 = require("./Kernel");
21
21
  exports.Kernel = Kernel_1.default;
22
22
  const platform_plugin_base_1 = require("./platform-plugin-base");
23
+ Object.defineProperty(exports, "TaroPlatform", { enumerable: true, get: function () { return platform_plugin_base_1.TaroPlatform; } });
23
24
  Object.defineProperty(exports, "TaroPlatformBase", { enumerable: true, get: function () { return platform_plugin_base_1.TaroPlatformBase; } });
24
25
  Object.defineProperty(exports, "TaroPlatformWeb", { enumerable: true, get: function () { return platform_plugin_base_1.TaroPlatformWeb; } });
25
26
  __exportStar(require("./utils/types"), exports);
26
- exports.default = { Config: Config_1.default, Kernel: Kernel_1.default, TaroPlatformBase: platform_plugin_base_1.TaroPlatformBase, TaroPlatformWeb: platform_plugin_base_1.TaroPlatformWeb };
27
+ exports.default = { Config: Config_1.default, Kernel: Kernel_1.default, TaroPlatform: platform_plugin_base_1.TaroPlatform, TaroPlatformBase: platform_plugin_base_1.TaroPlatformBase, TaroPlatformWeb: platform_plugin_base_1.TaroPlatformWeb };
27
28
  //# 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;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"}
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,iEAAwF;AAG/D,6FAHhB,mCAAY,OAGgB;AAAE,iGAHhB,uCAAgB,OAGgB;AAAE,gGAHhB,sCAAe,OAGgB;AADxE,gDAA6B;AAE7B,kBAAe,EAAE,MAAM,EAAN,gBAAM,EAAE,MAAM,EAAN,gBAAM,EAAE,YAAY,EAAZ,mCAAY,EAAE,gBAAgB,EAAhB,uCAAgB,EAAE,eAAe,EAAf,sCAAe,EAAE,CAAA"}
@@ -14,6 +14,9 @@ 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.TaroPlatform = void 0;
17
18
  __exportStar(require("./mini"), exports);
19
+ var platform_1 = require("./platform");
20
+ Object.defineProperty(exports, "TaroPlatform", { enumerable: true, get: function () { return platform_1.default; } });
18
21
  __exportStar(require("./web"), exports);
19
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platform-plugin-base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,wCAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platform-plugin-base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,uCAAoD;AAA3C,wGAAA,OAAO,OAAgB;AAChC,wCAAqB"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TaroPlatformBase = void 0;
13
13
  const helper_1 = require("@tarojs/helper");
14
14
  const shared_1 = require("@tarojs/shared");
15
+ const path = require("path");
15
16
  const package_1 = require("../utils/package");
16
17
  const platform_1 = require("./platform");
17
18
  class TaroPlatformBase extends platform_1.default {
@@ -32,7 +33,7 @@ class TaroPlatformBase extends platform_1.default {
32
33
  });
33
34
  }
34
35
  setupImpl() {
35
- var _a;
36
+ var _a, _b;
36
37
  const { output } = this.config;
37
38
  // webpack5 原生支持 output.clean 选项,但是 webpack4 不支持, 为统一行为,这里做一下兼容
38
39
  // (在 packages/taro-mini-runner/src/webpack/chain.ts 和 packages/taro-webpack-runner/src/utils/chain.ts 的 makeConfig 中对 clean 选项做了过滤)
@@ -52,6 +53,19 @@ class TaroPlatformBase extends platform_1.default {
52
53
  const { printLog, processTypeEnum } = this.ctx.helper;
53
54
  printLog("start" /* processTypeEnum.START */, '开发者工具-项目目录', `${this.ctx.paths.outputPath}`);
54
55
  }
56
+ // Webpack5 代码自动热重载
57
+ if (this.compiler === 'webpack5' && this.config.isWatch && this.projectConfigJsonOutputPath) {
58
+ try {
59
+ const projectConfig = require(this.projectConfigJsonOutputPath);
60
+ if (((_b = projectConfig.setting) === null || _b === void 0 ? void 0 : _b.compileHotReLoad) === true) {
61
+ this.ctx.modifyWebpackChain(({ chain }) => {
62
+ chain.plugin('TaroMiniHMRPlugin')
63
+ .use(require(path.join(__dirname, './webpack/hmr-plugin.js')).default);
64
+ });
65
+ }
66
+ }
67
+ catch (_) { } // eslint-disable-line no-empty
68
+ }
55
69
  }
56
70
  printDevelopmentTip(platform) {
57
71
  var _a;
@@ -149,6 +163,7 @@ ${exampleCommand}`));
149
163
  srcConfigName: src,
150
164
  distConfigName: dist
151
165
  });
166
+ this.projectConfigJsonOutputPath = `${this.ctx.paths.outputPath}/${dist}`;
152
167
  }
153
168
  /**
154
169
  * 递归替换对象的 key 值
@@ -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":"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"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class TaroMiniHMRPlugin {
4
+ apply(compiler) {
5
+ compiler.hooks.thisCompilation.tap('TaroMiniHMRPlugin', compilation => {
6
+ compilation.hooks.beforeChunkAssets.tap('TaroMiniHMRPlugin', () => {
7
+ compilation.chunks.forEach(chunk => {
8
+ if (chunk.hasRuntime() && chunk.name === 'runtime') {
9
+ const runtimeModules = compilation.chunkGraph.getChunkRuntimeModulesInOrder(chunk);
10
+ for (const module of runtimeModules) {
11
+ if (module.name === 'jsonp chunk loading') {
12
+ const runtimeSource = compilation.codeGenerationResults.getSource(module, chunk.runtime, 'runtime');
13
+ runtimeSource._value += `
14
+ var miniHMRCallback = function(parentChunkLoadingFunction, data) {
15
+ var chunkIds = data[0];
16
+ var moreModules = data[1];
17
+ if(chunkIds.some(function(id) { return installedChunks[id] === 0 })) {
18
+ chunkIds.forEach(id => {
19
+ delete installedChunks[id]
20
+ })
21
+ Object.keys(moreModules).forEach(id => {
22
+ delete __webpack_module_cache__[id]
23
+ })
24
+ }
25
+ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
26
+ }
27
+ chunkLoadingGlobal.push = miniHMRCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));`;
28
+ }
29
+ }
30
+ }
31
+ });
32
+ });
33
+ });
34
+ }
35
+ }
36
+ exports.default = TaroMiniHMRPlugin;
37
+ //# sourceMappingURL=hmr-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr-plugin.js","sourceRoot":"","sources":["../../../src/platform-plugin-base/webpack/hmr-plugin.ts"],"names":[],"mappings":";;AAAA,MAAqB,iBAAiB;IACpC,KAAK,CAAE,QAAQ;QACb,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE;YACpE,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,EAAE;gBAChE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACjC,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;wBAClD,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAA;wBAClF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE;4BACnC,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE;gCACzC,MAAM,aAAa,GAAG,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAC/D,MAAM,EACN,KAAK,CAAC,OAAO,EACb,SAAS,CACV,CAAA;gCACD,aAAa,CAAC,MAAM,IAAI;;;;;;;;;;;;;;wGAcgE,CAAA;6BACzF;yBACF;qBACF;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AApCD,oCAoCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/service",
3
- "version": "3.7.0-alpha.25",
3
+ "version": "3.7.0-alpha.27",
4
4
  "description": "Taro Service",
5
5
  "main": "index.js",
6
6
  "types": "types/index.d.ts",
@@ -30,10 +30,10 @@
30
30
  "tapable": "^1.1.3",
31
31
  "webpack-merge": "^4.2.2",
32
32
  "ora": "^5.0.0",
33
- "@tarojs/taro": "3.7.0-alpha.25",
34
- "@tarojs/helper": "3.7.0-alpha.25",
35
- "@tarojs/runner-utils": "3.7.0-alpha.25",
36
- "@tarojs/shared": "3.7.0-alpha.25"
33
+ "@tarojs/shared": "3.7.0-alpha.27",
34
+ "@tarojs/helper": "3.7.0-alpha.27",
35
+ "@tarojs/runner-utils": "3.7.0-alpha.27",
36
+ "@tarojs/taro": "3.7.0-alpha.27"
37
37
  },
38
38
  "devDependencies": {
39
39
  "vite": "^4.2.0",
@@ -43,7 +43,7 @@
43
43
  "build": "run-s clean prod",
44
44
  "dev": "tsc -w",
45
45
  "prod": "tsc",
46
- "clean": "rimraf dist types",
46
+ "clean": "rimraf --impl=move-remove dist types",
47
47
  "test": "cross-env NODE_ENV=jest jest",
48
48
  "test:ci": "cross-env NODE_ENV=jest jest --ci -i --passWithNoTests",
49
49
  "test:dev": "cross-env NODE_ENV=jest jest --watch"
package/src/index.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import Config from './Config'
2
2
  import Kernel from './Kernel'
3
- import { TaroPlatformBase, TaroPlatformWeb } from './platform-plugin-base'
3
+ import { TaroPlatform, TaroPlatformBase, TaroPlatformWeb } from './platform-plugin-base'
4
4
 
5
5
  export * from './utils/types'
6
- export { Config, Kernel, TaroPlatformBase, TaroPlatformWeb }
7
- export default { Config, Kernel, TaroPlatformBase, TaroPlatformWeb }
6
+ export { Config, Kernel, TaroPlatform, TaroPlatformBase, TaroPlatformWeb }
7
+ export default { Config, Kernel, TaroPlatform, TaroPlatformBase, TaroPlatformWeb }
8
8
 
9
9
  export type { IPluginContext } from './utils/types'
@@ -1,2 +1,3 @@
1
1
  export * from './mini'
2
+ export { default as TaroPlatform } from './platform'
2
3
  export * from './web'
@@ -1,5 +1,6 @@
1
1
  import { recursiveMerge } from '@tarojs/helper'
2
2
  import { isObject, PLATFORM_TYPE } from '@tarojs/shared'
3
+ import * as path from 'path'
3
4
 
4
5
  import { getPkgVersion } from '../utils/package'
5
6
  import TaroPlatform from './platform'
@@ -24,6 +25,8 @@ export abstract class TaroPlatformBase<T extends TConfig = TConfig> extends Taro
24
25
  projectConfigJson?: string
25
26
  taroComponentsPath?: string
26
27
 
28
+ private projectConfigJsonOutputPath: string
29
+
27
30
  /**
28
31
  * 1. 清空 dist 文件夹
29
32
  * 2. 输出编译提示
@@ -53,6 +56,18 @@ export abstract class TaroPlatformBase<T extends TConfig = TConfig> extends Taro
53
56
  const { printLog, processTypeEnum } = this.ctx.helper
54
57
  printLog(processTypeEnum.START, '开发者工具-项目目录', `${this.ctx.paths.outputPath}`)
55
58
  }
59
+ // Webpack5 代码自动热重载
60
+ if (this.compiler === 'webpack5' && this.config.isWatch && this.projectConfigJsonOutputPath) {
61
+ try {
62
+ const projectConfig = require(this.projectConfigJsonOutputPath)
63
+ if (projectConfig.setting?.compileHotReLoad === true) {
64
+ this.ctx.modifyWebpackChain(({ chain }) => {
65
+ chain.plugin('TaroMiniHMRPlugin')
66
+ .use(require(path.join(__dirname, './webpack/hmr-plugin.js')).default)
67
+ })
68
+ }
69
+ } catch (_) {} // eslint-disable-line no-empty
70
+ }
56
71
  }
57
72
 
58
73
  protected printDevelopmentTip (platform: string) {
@@ -168,6 +183,7 @@ ${exampleCommand}`))
168
183
  srcConfigName: src,
169
184
  distConfigName: dist
170
185
  })
186
+ this.projectConfigJsonOutputPath = `${this.ctx.paths.outputPath}/${dist}`
171
187
  }
172
188
 
173
189
  /**
@@ -0,0 +1,37 @@
1
+ export default class TaroMiniHMRPlugin {
2
+ apply (compiler) {
3
+ compiler.hooks.thisCompilation.tap('TaroMiniHMRPlugin', compilation => {
4
+ compilation.hooks.beforeChunkAssets.tap('TaroMiniHMRPlugin', () => {
5
+ compilation.chunks.forEach(chunk => {
6
+ if (chunk.hasRuntime() && chunk.name === 'runtime') {
7
+ const runtimeModules = compilation.chunkGraph.getChunkRuntimeModulesInOrder(chunk)
8
+ for (const module of runtimeModules) {
9
+ if (module.name === 'jsonp chunk loading') {
10
+ const runtimeSource = compilation.codeGenerationResults.getSource(
11
+ module,
12
+ chunk.runtime,
13
+ 'runtime'
14
+ )
15
+ runtimeSource._value += `
16
+ var miniHMRCallback = function(parentChunkLoadingFunction, data) {
17
+ var chunkIds = data[0];
18
+ var moreModules = data[1];
19
+ if(chunkIds.some(function(id) { return installedChunks[id] === 0 })) {
20
+ chunkIds.forEach(id => {
21
+ delete installedChunks[id]
22
+ })
23
+ Object.keys(moreModules).forEach(id => {
24
+ delete __webpack_module_cache__[id]
25
+ })
26
+ }
27
+ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
28
+ }
29
+ chunkLoadingGlobal.push = miniHMRCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));`
30
+ }
31
+ }
32
+ }
33
+ })
34
+ })
35
+ })
36
+ }
37
+ }
package/types/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import Config from './Config';
2
2
  import Kernel from './Kernel';
3
- import { TaroPlatformBase, TaroPlatformWeb } from './platform-plugin-base';
3
+ import { TaroPlatform, TaroPlatformBase, TaroPlatformWeb } from './platform-plugin-base';
4
4
  export * from './utils/types';
5
- export { Config, Kernel, TaroPlatformBase, TaroPlatformWeb };
5
+ export { Config, Kernel, TaroPlatform, TaroPlatformBase, TaroPlatformWeb };
6
6
  declare const _default: {
7
7
  Config: typeof Config;
8
8
  Kernel: typeof Kernel;
9
+ TaroPlatform: typeof TaroPlatform;
9
10
  TaroPlatformBase: typeof TaroPlatformBase;
10
11
  TaroPlatformWeb: typeof TaroPlatformWeb;
11
12
  };
@@ -1,2 +1,3 @@
1
1
  export * from './mini';
2
+ export { default as TaroPlatform } from './platform';
2
3
  export * from './web';
@@ -16,6 +16,7 @@ export declare abstract class TaroPlatformBase<T extends TConfig = TConfig> exte
16
16
  abstract template: RecursiveTemplate | UnRecursiveTemplate;
17
17
  projectConfigJson?: string;
18
18
  taroComponentsPath?: string;
19
+ private projectConfigJsonOutputPath;
19
20
  /**
20
21
  * 1. 清空 dist 文件夹
21
22
  * 2. 输出编译提示
@@ -0,0 +1,3 @@
1
+ export default class TaroMiniHMRPlugin {
2
+ apply(compiler: any): void;
3
+ }