@tarojs/plugin-framework-react 3.6.0-alpha.0 → 3.6.0-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/index.js CHANGED
@@ -7,8 +7,7 @@ var shared = require('@tarojs/shared');
7
7
  var acorn = require('acorn');
8
8
  var walk = require('acorn-walk');
9
9
 
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
10
+ function _interopNamespaceDefault(e) {
12
11
  var n = Object.create(null);
13
12
  if (e) {
14
13
  Object.keys(e).forEach(function (k) {
@@ -21,12 +20,12 @@ function _interopNamespace(e) {
21
20
  }
22
21
  });
23
22
  }
24
- n["default"] = e;
23
+ n.default = e;
25
24
  return Object.freeze(n);
26
25
  }
27
26
 
28
- var acorn__namespace = /*#__PURE__*/_interopNamespace(acorn);
29
- var walk__namespace = /*#__PURE__*/_interopNamespace(walk);
27
+ var acorn__namespace = /*#__PURE__*/_interopNamespaceDefault(acorn);
28
+ var walk__namespace = /*#__PURE__*/_interopNamespaceDefault(walk);
30
29
 
31
30
  function addConfig(source) {
32
31
  const configsMap = {
@@ -212,7 +211,6 @@ function setAlias$1(ctx, framework, chain) {
212
211
  // 不是生产环境,且没有设置 debugReact,则使用压缩版本的 react 依赖,减少体积
213
212
  alias.set('react-reconciler$', 'react-reconciler/cjs/react-reconciler.production.min.js');
214
213
  alias.set('react$', 'react/cjs/react.production.min.js');
215
- alias.set('scheduler$', 'scheduler/cjs/scheduler.production.min.js');
216
214
  alias.set('react/jsx-runtime$', 'react/cjs/react-jsx-runtime.production.min.js');
217
215
  // 在React18中,使用了exports字段约定了模块暴露路径,其中并未暴露 ./cjs/ 。这将使上面的alias在编译时报错。相当的tricky。
218
216
  // Why writeJson? prebundle will load package.json via readFile to check exports property.
@@ -320,5 +318,5 @@ function setAlias(framework, chain) {
320
318
  }
321
319
  }
322
320
 
323
- exports["default"] = index;
321
+ exports.default = index;
324
322
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/loader-meta.ts","../src/webpack.h5.ts","../src/webpack.mini.ts","../src/index.ts"],"sourcesContent":["import * as acorn from 'acorn'\nimport * as walk from 'acorn-walk'\n\nimport { Frameworks } from './index'\n\ninterface ILoaderMeta {\n importFrameworkStatement: string\n mockAppStatement: string\n frameworkArgs: string\n creator: string\n creatorLocation: string\n importFrameworkName: string\n isNeedRawLoader?: boolean\n extraImportForWeb?: string\n execBeforeCreateWebApp?: string\n compatComponentImport?: string\n compatComponentExtra?: string\n modifyConfig?: (config: Record<string, any>, source: string) => void\n}\n\nfunction addConfig (source) {\n const configsMap = {\n enableShareAppMessage: ['onShareAppMessage', 'useShareAppMessage'],\n enableShareTimeline: ['onShareTimeline', 'useShareTimeline']\n }\n const ast = acorn.parse(source, {\n ecmaVersion: 'latest',\n sourceType: 'module'\n })\n\n const additionConfig: Record<string, any> = {}\n\n function check (name: string) {\n Object.keys(configsMap).forEach(configName => {\n const apis: string[] = configsMap[configName]\n if (apis.includes(name)) {\n additionConfig[configName] = true\n }\n })\n }\n\n walk.simple(ast, {\n FunctionExpression (node: any) {\n if (!node.id || !node.id.name) return\n check(node.id.name)\n },\n FunctionDeclaration (node: any) {\n if (!node.id || !node.id.name) return\n check(node.id.name)\n },\n CallExpression (node: any) {\n const { callee } = node\n if (callee.type === 'Identifier') {\n check(callee.name)\n } else if (callee.type === 'MemberExpression') {\n if (callee.property.type === 'Identifier') {\n check(callee.property.name)\n } else if (callee.property.type === 'Literal') {\n check(callee.property.value)\n }\n }\n node.arguments.forEach(item => {\n if (item.type === 'Literal' && item.value) {\n check(item.value)\n }\n })\n }\n })\n\n return additionConfig\n}\n\nconst frameworkMeta: Record<string, ILoaderMeta> = {\n nerv: {\n importFrameworkStatement: `\nimport Nerv from 'nervjs';\n`,\n mockAppStatement: `\nclass App extends Nerv.Component {\n render () {\n return this.props.children\n }\n}\n`,\n frameworkArgs: 'Nerv, Nerv, config',\n creator: 'createReactApp',\n creatorLocation: '@tarojs/plugin-framework-react/dist/runtime',\n importFrameworkName: 'Nerv',\n modifyConfig (config, source) {\n Object.assign(config, addConfig(source))\n }\n },\n react: {\n importFrameworkStatement: `\nimport * as React from 'react'\nimport ReactDOM from 'react-dom'\n`,\n mockAppStatement: `\nclass App extends React.Component {\n render () {\n return this.props.children\n }\n}\n`,\n frameworkArgs: 'React, ReactDOM, config',\n creator: 'createReactApp',\n creatorLocation: '@tarojs/plugin-framework-react/dist/runtime',\n importFrameworkName: 'React',\n compatComponentImport: 'import { PullDownRefresh } from \"@tarojs/components\"',\n compatComponentExtra: 'config.PullDownRefresh = PullDownRefresh',\n modifyConfig (config, source) {\n Object.assign(config, addConfig(source))\n }\n }\n}\n\nexport function getLoaderMeta (framework: Frameworks) {\n if (framework === 'preact') framework = 'react'\n return frameworkMeta[framework]\n}\n\n// In react 18 or above, should using react-dom/client\nexport function getLoaderMetaForH5 (framework: Frameworks){\n const loaderMeta = getLoaderMeta(framework)\n\n if(framework === 'react'){\n const react = require('react')\n const majorVersion = Number((react.version || '18').split('.')[0])\n if( majorVersion >= 18){\n loaderMeta.importFrameworkStatement = loaderMeta.importFrameworkStatement.replace(\"'react-dom'\", \"'react-dom/client'\")\n }\n }\n\n return loaderMeta\n}\n","import { getLoaderMetaForH5 } from './loader-meta'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { Frameworks } from './index'\n\nexport function modifyH5WebpackChain (ctx: IPluginContext, framework: Frameworks, chain) {\n setAlias(ctx, chain)\n setLoader(framework, chain)\n setPlugin(ctx, framework, chain)\n\n chain.merge({\n module: {\n rule: {\n 'process-import-taro': {\n test: /taro-h5[\\\\/]dist[\\\\/]index/,\n loader: require.resolve('./api-loader')\n }\n }\n }\n })\n}\n\nfunction setAlias (ctx: IPluginContext, chain) {\n const config = ctx.initialConfig\n const alias = chain.resolve.alias\n\n if (config.h5?.useHtmlComponents) {\n alias.set('@tarojs/components$', '@tarojs/components-react/index')\n } else {\n alias.set('@tarojs/components$', '@tarojs/components/dist/react')\n }\n}\n\nfunction setLoader (framework: Frameworks, chain) {\n chain.plugin('mainPlugin')\n .tap(args => {\n args[0].loaderMeta = getLoaderMetaForH5(framework)\n return args\n })\n}\n\nfunction setPlugin (ctx: IPluginContext, framework: Frameworks, chain) {\n const config = ctx.initialConfig\n const webpackConfig = chain.toConfig()\n const isProd = webpackConfig.mode === 'production'\n if (!isProd && config.h5?.devServer?.hot !== false) {\n // 默认开启 fast-refresh\n if (framework === 'react') {\n chain\n .plugin('fastRefreshPlugin')\n .use(require('@pmmmwh/react-refresh-webpack-plugin'))\n } else if (framework === 'preact') {\n chain\n .plugin('hotModuleReplacementPlugin')\n .use(require('webpack').HotModuleReplacementPlugin)\n chain\n .plugin('fastRefreshPlugin')\n .use(require('@prefresh/webpack'))\n }\n }\n}\n","\nimport { fs } from '@tarojs/helper'\n\nimport { getLoaderMeta } from './loader-meta'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { Frameworks } from './index'\n\nexport function modifyMiniWebpackChain (ctx: IPluginContext, framework: Frameworks, chain) {\n setAlias(ctx, framework, chain)\n setLoader(framework, chain)\n}\n\nfunction setAlias (ctx: IPluginContext, framework: Frameworks, chain) {\n const config = ctx.initialConfig\n const alias = chain.resolve.alias\n\n if (framework === 'react') {\n alias.set('react-dom$', '@tarojs/react')\n const webpackConfig = chain.toConfig()\n const isProd = webpackConfig.mode === 'production'\n if (!isProd && config.mini?.debugReact !== true) {\n // 不是生产环境,且没有设置 debugReact,则使用压缩版本的 react 依赖,减少体积\n alias.set('react-reconciler$', 'react-reconciler/cjs/react-reconciler.production.min.js')\n alias.set('react$', 'react/cjs/react.production.min.js')\n alias.set('scheduler$', 'scheduler/cjs/scheduler.production.min.js')\n alias.set('react/jsx-runtime$', 'react/cjs/react-jsx-runtime.production.min.js')\n\n // 在React18中,使用了exports字段约定了模块暴露路径,其中并未暴露 ./cjs/ 。这将使上面的alias在编译时报错。相当的tricky。\n // Why writeJson? prebundle will load package.json via readFile to check exports property.\n const reactPkgPath = require.resolve('react/package.json', { paths: [process.cwd()] })\n if (reactPkgPath) {\n const reactPkg = require('react/package.json')\n const reactVersion = (reactPkg.version || '')\n if ((/^[~^]?18/).test(reactVersion) && reactPkg.exports) {\n reactPkg.exports = Object.assign(reactPkg.exports, {\n './cjs/': './cjs/'\n })\n fs.writeJsonSync(reactPkgPath, reactPkg, { spaces: 2 })\n }\n }\n }\n }\n}\n\nfunction setLoader (framework: Frameworks, chain) {\n chain.plugin('miniPlugin')\n .tap(args => {\n args[0].loaderMeta = getLoaderMeta(framework)\n return args\n })\n}\n","import { fs } from '@tarojs/helper'\nimport { isString } from '@tarojs/shared'\n\nimport { modifyH5WebpackChain } from './webpack.h5'\nimport { modifyMiniWebpackChain } from './webpack.mini'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { Plugin } from 'esbuild'\n\nexport type Frameworks = 'react' | 'preact' | 'nerv'\n\nexport default (ctx: IPluginContext) => {\n const { framework } = ctx.initialConfig\n\n if (framework !== 'react' && framework !== 'nerv' && framework !== 'preact') return\n\n ctx.modifyWebpackChain(({ chain }) => {\n // 通用\n setAlias(framework, chain)\n chain\n .plugin('definePlugin')\n .tap(args => {\n const config = args[0]\n config.__TARO_FRAMEWORK__ = `\"${framework}\"`\n return args\n })\n\n if (process.env.TARO_ENV === 'h5') {\n // H5\n modifyH5WebpackChain(ctx, framework, chain)\n } else {\n // 小程序\n modifyMiniWebpackChain(ctx, framework, chain)\n }\n })\n\n ctx.modifyRunnerOpts(({ opts }) => {\n if (!opts?.compiler) return\n\n if (isString(opts.compiler)) {\n opts.compiler = {\n type: opts.compiler\n }\n }\n\n const { compiler } = opts\n if (compiler.type === 'webpack5') {\n // 提供给 webpack5 依赖预编译收集器的第三方依赖\n const deps = [\n 'react',\n 'react-dom',\n 'react/jsx-runtime',\n '@tarojs/plugin-framework-react/dist/runtime'\n ]\n compiler.prebundle ||= {}\n const prebundleOptions = compiler.prebundle\n prebundleOptions.include ||= []\n prebundleOptions.include = prebundleOptions.include.concat(deps)\n prebundleOptions.exclude ||= []\n prebundleOptions.exclude.push(/mobx/) // 依赖会对 webpack 修改,默认排除\n if (prebundleOptions.enable === false) return\n\n const taroReactPlugin: Plugin = {\n name: 'taroReactPlugin',\n setup (build) {\n build.onLoad({ filter: /taro-h5[\\\\/]dist[\\\\/]index/ }, ({ path }) => {\n const content = fs.readFileSync(path).toString()\n return {\n contents: require('./api-loader')(content)\n }\n })\n }\n }\n\n prebundleOptions.esbuild ||= {}\n const esbuildConfig = prebundleOptions.esbuild\n esbuildConfig.plugins ||= []\n esbuildConfig.plugins.push(taroReactPlugin)\n }\n })\n}\n\nfunction setAlias (framework: Frameworks, chain) {\n const alias = chain.resolve.alias\n\n switch (framework) {\n case 'preact':\n alias.set('react', 'preact/compat')\n alias.set('react-dom/test-utils', 'preact/test-utils')\n alias.set('react-dom', 'preact/compat')\n alias.set('react/jsx-runtime', 'preact/jsx-runtime')\n break\n case 'nerv':\n alias.set('react$', 'nervjs')\n alias.set('react-dom$', 'nervjs')\n break\n }\n}\n"],"names":["acorn","walk","setAlias","setLoader","fs","isString"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/loader-meta.ts","../src/webpack.h5.ts","../src/webpack.mini.ts","../src/index.ts"],"sourcesContent":["import * as acorn from 'acorn'\nimport * as walk from 'acorn-walk'\n\nimport { Frameworks } from './index'\n\ninterface ILoaderMeta {\n importFrameworkStatement: string\n mockAppStatement: string\n frameworkArgs: string\n creator: string\n creatorLocation: string\n importFrameworkName: string\n isNeedRawLoader?: boolean\n extraImportForWeb?: string\n execBeforeCreateWebApp?: string\n compatComponentImport?: string\n compatComponentExtra?: string\n modifyConfig?: (config: Record<string, any>, source: string) => void\n}\n\nfunction addConfig (source) {\n const configsMap = {\n enableShareAppMessage: ['onShareAppMessage', 'useShareAppMessage'],\n enableShareTimeline: ['onShareTimeline', 'useShareTimeline']\n }\n const ast = acorn.parse(source, {\n ecmaVersion: 'latest',\n sourceType: 'module'\n })\n\n const additionConfig: Record<string, any> = {}\n\n function check (name: string) {\n Object.keys(configsMap).forEach(configName => {\n const apis: string[] = configsMap[configName]\n if (apis.includes(name)) {\n additionConfig[configName] = true\n }\n })\n }\n\n walk.simple(ast, {\n FunctionExpression (node: any) {\n if (!node.id || !node.id.name) return\n check(node.id.name)\n },\n FunctionDeclaration (node: any) {\n if (!node.id || !node.id.name) return\n check(node.id.name)\n },\n CallExpression (node: any) {\n const { callee } = node\n if (callee.type === 'Identifier') {\n check(callee.name)\n } else if (callee.type === 'MemberExpression') {\n if (callee.property.type === 'Identifier') {\n check(callee.property.name)\n } else if (callee.property.type === 'Literal') {\n check(callee.property.value)\n }\n }\n node.arguments.forEach(item => {\n if (item.type === 'Literal' && item.value) {\n check(item.value)\n }\n })\n }\n })\n\n return additionConfig\n}\n\nconst frameworkMeta: Record<string, ILoaderMeta> = {\n nerv: {\n importFrameworkStatement: `\nimport Nerv from 'nervjs';\n`,\n mockAppStatement: `\nclass App extends Nerv.Component {\n render () {\n return this.props.children\n }\n}\n`,\n frameworkArgs: 'Nerv, Nerv, config',\n creator: 'createReactApp',\n creatorLocation: '@tarojs/plugin-framework-react/dist/runtime',\n importFrameworkName: 'Nerv',\n modifyConfig (config, source) {\n Object.assign(config, addConfig(source))\n }\n },\n react: {\n importFrameworkStatement: `\nimport * as React from 'react'\nimport ReactDOM from 'react-dom'\n`,\n mockAppStatement: `\nclass App extends React.Component {\n render () {\n return this.props.children\n }\n}\n`,\n frameworkArgs: 'React, ReactDOM, config',\n creator: 'createReactApp',\n creatorLocation: '@tarojs/plugin-framework-react/dist/runtime',\n importFrameworkName: 'React',\n compatComponentImport: 'import { PullDownRefresh } from \"@tarojs/components\"',\n compatComponentExtra: 'config.PullDownRefresh = PullDownRefresh',\n modifyConfig (config, source) {\n Object.assign(config, addConfig(source))\n }\n }\n}\n\nexport function getLoaderMeta (framework: Frameworks) {\n if (framework === 'preact') framework = 'react'\n return frameworkMeta[framework]\n}\n\n// In react 18 or above, should using react-dom/client\nexport function getLoaderMetaForH5 (framework: Frameworks){\n const loaderMeta = getLoaderMeta(framework)\n\n if(framework === 'react'){\n const react = require('react')\n const majorVersion = Number((react.version || '18').split('.')[0])\n if( majorVersion >= 18){\n loaderMeta.importFrameworkStatement = loaderMeta.importFrameworkStatement.replace(\"'react-dom'\", \"'react-dom/client'\")\n }\n }\n\n return loaderMeta\n}\n","import { getLoaderMetaForH5 } from './loader-meta'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { Frameworks } from './index'\n\nexport function modifyH5WebpackChain (ctx: IPluginContext, framework: Frameworks, chain) {\n setAlias(ctx, chain)\n setLoader(framework, chain)\n setPlugin(ctx, framework, chain)\n\n chain.merge({\n module: {\n rule: {\n 'process-import-taro': {\n test: /taro-h5[\\\\/]dist[\\\\/]index/,\n loader: require.resolve('./api-loader')\n }\n }\n }\n })\n}\n\nfunction setAlias (ctx: IPluginContext, chain) {\n const config = ctx.initialConfig\n const alias = chain.resolve.alias\n\n if (config.h5?.useHtmlComponents) {\n alias.set('@tarojs/components$', '@tarojs/components-react/index')\n } else {\n alias.set('@tarojs/components$', '@tarojs/components/dist/react')\n }\n}\n\nfunction setLoader (framework: Frameworks, chain) {\n chain.plugin('mainPlugin')\n .tap(args => {\n args[0].loaderMeta = getLoaderMetaForH5(framework)\n return args\n })\n}\n\nfunction setPlugin (ctx: IPluginContext, framework: Frameworks, chain) {\n const config = ctx.initialConfig\n const webpackConfig = chain.toConfig()\n const isProd = webpackConfig.mode === 'production'\n if (!isProd && config.h5?.devServer?.hot !== false) {\n // 默认开启 fast-refresh\n if (framework === 'react') {\n chain\n .plugin('fastRefreshPlugin')\n .use(require('@pmmmwh/react-refresh-webpack-plugin'))\n } else if (framework === 'preact') {\n chain\n .plugin('hotModuleReplacementPlugin')\n .use(require('webpack').HotModuleReplacementPlugin)\n chain\n .plugin('fastRefreshPlugin')\n .use(require('@prefresh/webpack'))\n }\n }\n}\n","\nimport { fs } from '@tarojs/helper'\n\nimport { getLoaderMeta } from './loader-meta'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { Frameworks } from './index'\n\nexport function modifyMiniWebpackChain (ctx: IPluginContext, framework: Frameworks, chain) {\n setAlias(ctx, framework, chain)\n setLoader(framework, chain)\n}\n\nfunction setAlias (ctx: IPluginContext, framework: Frameworks, chain) {\n const config = ctx.initialConfig\n const alias = chain.resolve.alias\n\n if (framework === 'react') {\n alias.set('react-dom$', '@tarojs/react')\n const webpackConfig = chain.toConfig()\n const isProd = webpackConfig.mode === 'production'\n if (!isProd && config.mini?.debugReact !== true) {\n // 不是生产环境,且没有设置 debugReact,则使用压缩版本的 react 依赖,减少体积\n alias.set('react-reconciler$', 'react-reconciler/cjs/react-reconciler.production.min.js')\n alias.set('react$', 'react/cjs/react.production.min.js')\n alias.set('react/jsx-runtime$', 'react/cjs/react-jsx-runtime.production.min.js')\n\n // 在React18中,使用了exports字段约定了模块暴露路径,其中并未暴露 ./cjs/ 。这将使上面的alias在编译时报错。相当的tricky。\n // Why writeJson? prebundle will load package.json via readFile to check exports property.\n const reactPkgPath = require.resolve('react/package.json', { paths: [process.cwd()] })\n if (reactPkgPath) {\n const reactPkg = require('react/package.json')\n const reactVersion = (reactPkg.version || '')\n if ((/^[~^]?18/).test(reactVersion) && reactPkg.exports) {\n reactPkg.exports = Object.assign(reactPkg.exports, {\n './cjs/': './cjs/'\n })\n fs.writeJsonSync(reactPkgPath, reactPkg, { spaces: 2 })\n }\n }\n }\n }\n}\n\nfunction setLoader (framework: Frameworks, chain) {\n chain.plugin('miniPlugin')\n .tap(args => {\n args[0].loaderMeta = getLoaderMeta(framework)\n return args\n })\n}\n","import { fs } from '@tarojs/helper'\nimport { isString } from '@tarojs/shared'\n\nimport { modifyH5WebpackChain } from './webpack.h5'\nimport { modifyMiniWebpackChain } from './webpack.mini'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { Plugin } from 'esbuild'\n\nexport type Frameworks = 'react' | 'preact' | 'nerv'\n\nexport default (ctx: IPluginContext) => {\n const { framework } = ctx.initialConfig\n\n if (framework !== 'react' && framework !== 'nerv' && framework !== 'preact') return\n\n ctx.modifyWebpackChain(({ chain }) => {\n // 通用\n setAlias(framework, chain)\n chain\n .plugin('definePlugin')\n .tap(args => {\n const config = args[0]\n config.__TARO_FRAMEWORK__ = `\"${framework}\"`\n return args\n })\n\n if (process.env.TARO_ENV === 'h5') {\n // H5\n modifyH5WebpackChain(ctx, framework, chain)\n } else {\n // 小程序\n modifyMiniWebpackChain(ctx, framework, chain)\n }\n })\n\n ctx.modifyRunnerOpts(({ opts }) => {\n if (!opts?.compiler) return\n\n if (isString(opts.compiler)) {\n opts.compiler = {\n type: opts.compiler\n }\n }\n\n const { compiler } = opts\n if (compiler.type === 'webpack5') {\n // 提供给 webpack5 依赖预编译收集器的第三方依赖\n const deps = [\n 'react',\n 'react-dom',\n 'react/jsx-runtime',\n '@tarojs/plugin-framework-react/dist/runtime'\n ]\n compiler.prebundle ||= {}\n const prebundleOptions = compiler.prebundle\n prebundleOptions.include ||= []\n prebundleOptions.include = prebundleOptions.include.concat(deps)\n prebundleOptions.exclude ||= []\n prebundleOptions.exclude.push(/mobx/) // 依赖会对 webpack 修改,默认排除\n if (prebundleOptions.enable === false) return\n\n const taroReactPlugin: Plugin = {\n name: 'taroReactPlugin',\n setup (build) {\n build.onLoad({ filter: /taro-h5[\\\\/]dist[\\\\/]index/ }, ({ path }) => {\n const content = fs.readFileSync(path).toString()\n return {\n contents: require('./api-loader')(content)\n }\n })\n }\n }\n\n prebundleOptions.esbuild ||= {}\n const esbuildConfig = prebundleOptions.esbuild\n esbuildConfig.plugins ||= []\n esbuildConfig.plugins.push(taroReactPlugin)\n }\n })\n}\n\nfunction setAlias (framework: Frameworks, chain) {\n const alias = chain.resolve.alias\n\n switch (framework) {\n case 'preact':\n alias.set('react', 'preact/compat')\n alias.set('react-dom/test-utils', 'preact/test-utils')\n alias.set('react-dom', 'preact/compat')\n alias.set('react/jsx-runtime', 'preact/jsx-runtime')\n break\n case 'nerv':\n alias.set('react$', 'nervjs')\n alias.set('react-dom$', 'nervjs')\n break\n }\n}\n"],"names":["acorn","walk","setAlias","setLoader","fs","isString"],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -123,29 +123,29 @@ const useScope = () => undefined;
123
123
 
124
124
  var taroHooks = /*#__PURE__*/Object.freeze({
125
125
  __proto__: null,
126
+ useAddToFavorites: useAddToFavorites,
126
127
  useDidHide: useDidHide,
127
128
  useDidShow: useDidShow,
128
129
  useError: useError,
129
- useUnhandledRejection: useUnhandledRejection,
130
130
  useLaunch: useLaunch,
131
- usePageNotFound: usePageNotFound,
132
131
  useLoad: useLoad,
132
+ useOptionMenuClick: useOptionMenuClick,
133
+ usePageNotFound: usePageNotFound,
133
134
  usePageScroll: usePageScroll,
134
135
  usePullDownRefresh: usePullDownRefresh,
135
136
  usePullIntercept: usePullIntercept,
136
137
  useReachBottom: useReachBottom,
138
+ useReady: useReady,
137
139
  useResize: useResize,
138
- useUnload: useUnload,
139
- useAddToFavorites: useAddToFavorites,
140
- useOptionMenuClick: useOptionMenuClick,
140
+ useRouter: useRouter,
141
141
  useSaveExitState: useSaveExitState,
142
+ useScope: useScope,
142
143
  useShareAppMessage: useShareAppMessage,
143
144
  useShareTimeline: useShareTimeline,
144
- useTitleClick: useTitleClick,
145
- useReady: useReady,
146
- useRouter: useRouter,
147
145
  useTabItemTap: useTabItemTap,
148
- useScope: useScope
146
+ useTitleClick: useTitleClick,
147
+ useUnhandledRejection: useUnhandledRejection,
148
+ useUnload: useUnload
149
149
  });
150
150
 
151
151
  let h$1;
@@ -552,7 +552,8 @@ function createNativeComponentConfig(Component, react, reactdom, componentConfig
552
552
  type: null,
553
553
  value: null,
554
554
  observer(_newVal, oldVal) {
555
- oldVal && this.component.forceUpdate();
555
+ var _a;
556
+ oldVal && ((_a = this.component) === null || _a === void 0 ? void 0 : _a.forceUpdate());
556
557
  }
557
558
  }
558
559
  },
@@ -571,6 +572,7 @@ function createNativeComponentConfig(Component, react, reactdom, componentConfig
571
572
  safeExecute(this.compId, 'onReady');
572
573
  },
573
574
  detached() {
575
+ resetCurrent();
574
576
  Current.app.unmount(this.compId);
575
577
  },
576
578
  pageLifetimes: {
@@ -591,6 +593,11 @@ function createNativeComponentConfig(Component, react, reactdom, componentConfig
591
593
  }
592
594
  }
593
595
  };
596
+ function resetCurrent() {
597
+ // 小程序插件页面卸载之后返回到宿主页面时,需重置Current页面和路由。否则引发插件组件二次加载异常 fix:#11991
598
+ Current.page = null;
599
+ Current.router = null;
600
+ }
594
601
  function setCurrent(compId) {
595
602
  const pages = getCurrentPages();
596
603
  const currentPage = pages[pages.length - 1];
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sources":["../src/runtime/react-meta.ts","../src/runtime/utils.ts","../src/runtime/hooks.ts","../src/runtime/connect.ts","../src/runtime/connect-native.ts","../src/runtime/index.ts"],"sourcesContent":["import { EMPTY_OBJ } from '@tarojs/shared'\n\nimport type * as React from 'react'\n\ninterface ReactMeta {\n PageContext: React.Context<string>\n R: typeof React\n}\n\nexport const reactMeta: ReactMeta = {\n PageContext: EMPTY_OBJ,\n R: EMPTY_OBJ\n}\n","import { Current } from '@tarojs/runtime'\nimport { isArray, isFunction } from '@tarojs/shared'\n\nimport type * as React from 'react'\n\nexport const HOOKS_APP_ID = 'taro-app'\n\nexport function isClassComponent (R: typeof React, component): boolean {\n const prototype = component.prototype\n\n // For React Redux\n if (component.displayName?.includes('Connect')) return false\n\n return (\n isFunction(component.render) ||\n !!prototype?.isReactComponent ||\n prototype instanceof R.Component // compat for some others react-like library\n )\n}\n\nexport function ensureIsArray<T> (item: T | T[]): T[] {\n if (isArray(item)) {\n return item\n } else {\n return item ? [item] : []\n }\n}\n\n/**\n * set writable, enumerable to true\n */\nexport function setDefaultDescriptor (obj: Record<string, any>) {\n obj.writable = true\n obj.enumerable = true\n return obj\n}\n\n/**\n * 设置入口的路由参数\n * @param options 小程序传入的参数\n */\nexport function setRouterParams (options) {\n Current.router = {\n params: options?.query,\n ...options\n }\n}\n","import {\n AppInstance, Current,\n Func, getPageInstance,\n injectPageInstance,\n Instance,\n PageLifeCycle,\n PageProps\n} from '@tarojs/runtime'\nimport { isArray, isFunction } from '@tarojs/shared'\n\nimport { reactMeta } from './react-meta'\nimport { HOOKS_APP_ID } from './utils'\n\nconst createTaroHook = (lifecycle: keyof PageLifeCycle | keyof AppInstance) => {\n return (fn: Func) => {\n const { R: React, PageContext } = reactMeta\n const id = React.useContext(PageContext) || HOOKS_APP_ID\n const instRef = React.useRef<Instance<PageProps>>()\n\n // hold fn ref and keep up to date\n const fnRef = React.useRef(fn)\n if (fnRef.current !== fn) fnRef.current = fn\n\n React.useLayoutEffect(() => {\n let inst = instRef.current = getPageInstance(id)\n let first = false\n if (!inst) {\n first = true\n instRef.current = Object.create(null)\n inst = instRef.current!\n }\n\n // callback is immutable but inner function is up to date\n const callback = (...args: any) => fnRef.current(...args)\n\n if (isFunction(inst[lifecycle])) {\n (inst[lifecycle]) = [inst[lifecycle], callback]\n } else {\n (inst[lifecycle]) = [\n ...((inst[lifecycle]) || []),\n callback\n ]\n }\n\n if (first) {\n injectPageInstance(inst!, id)\n }\n return () => {\n const inst = instRef.current\n if (!inst) return\n const list = inst![lifecycle]\n if (list === callback) {\n (inst[lifecycle]) = undefined\n } else if (isArray(list)) {\n (inst[lifecycle]) = list.filter(item => item !== callback)\n }\n instRef.current = undefined\n }\n }, [])\n }\n}\n\n/** LifeCycle */\nexport const useDidHide = createTaroHook('componentDidHide')\nexport const useDidShow = createTaroHook('componentDidShow')\n\n/** App */\nexport const useError = createTaroHook('onError')\nexport const useUnhandledRejection = createTaroHook('onUnhandledRejection')\nexport const useLaunch = createTaroHook('onLaunch')\nexport const usePageNotFound = createTaroHook('onPageNotFound')\n\n/** Page */\nexport const useLoad = createTaroHook('onLoad')\nexport const usePageScroll = createTaroHook('onPageScroll')\nexport const usePullDownRefresh = createTaroHook('onPullDownRefresh')\nexport const usePullIntercept = createTaroHook('onPullIntercept')\nexport const useReachBottom = createTaroHook('onReachBottom')\nexport const useResize = createTaroHook('onResize')\nexport const useUnload = createTaroHook('onUnload')\n\n/** Mini-Program */\nexport const useAddToFavorites = createTaroHook('onAddToFavorites')\nexport const useOptionMenuClick = createTaroHook('onOptionMenuClick')\nexport const useSaveExitState = createTaroHook('onSaveExitState')\nexport const useShareAppMessage = createTaroHook('onShareAppMessage')\nexport const useShareTimeline = createTaroHook('onShareTimeline')\nexport const useTitleClick = createTaroHook('onTitleClick')\n\n/** Router */\nexport const useReady = createTaroHook('onReady')\nexport const useRouter = (dynamic = false) => {\n const React = reactMeta.R\n return dynamic ? Current.router : React.useMemo(() => Current.router, [])\n}\nexport const useTabItemTap = createTaroHook('onTabItemTap')\n\nexport const useScope = () => undefined\n","import {\n AppInstance, Current, document, getPageInstance,\n incrementId, injectPageInstance, Instance,\n PageLifeCycle, PageProps,\n ReactAppInstance, ReactPageComponent\n} from '@tarojs/runtime'\nimport { EMPTY_OBJ, ensure, hooks } from '@tarojs/shared'\n\nimport { reactMeta } from './react-meta'\nimport { ensureIsArray, HOOKS_APP_ID, isClassComponent, setDefaultDescriptor, setRouterParams } from './utils'\n\nimport type { AppConfig } from '@tarojs/taro'\nimport type * as React from 'react'\n\ntype PageComponent = React.CElement<PageProps, React.Component<PageProps, any, any>>\n\nlet h: typeof React.createElement\nlet ReactDOM\nlet Fragment: typeof React.Fragment\n\nconst pageKeyId = incrementId()\n\nexport function setReconciler (ReactDOM) {\n hooks.tap('getLifecycle', function (instance, lifecycle: string) {\n lifecycle = lifecycle.replace(/^on(Show|Hide)$/, 'componentDid$1')\n return instance[lifecycle]\n })\n\n hooks.tap('modifyMpEvent', function (event) {\n // Note: ohos 上事件没有设置 type 类型 setter 方法导致报错\n Object.defineProperty(event, 'type', {\n value: event.type.replace(/-/g, '')\n })\n })\n\n hooks.tap('batchedEventUpdates', function (cb) {\n ReactDOM.unstable_batchedUpdates(cb)\n })\n\n hooks.tap('mergePageInstance', function (prev, next) {\n if (!prev || !next) return\n\n // 子组件使用 lifecycle hooks 注册了生命周期后,会存在 prev,里面是注册的生命周期回调。\n\n // prev 使用 Object.create(null) 创建,H5 的 fast-refresh 可能也会导致存在 prev,要排除这些意外产生的 prev\n if ('constructor' in prev) return\n\n Object.keys(prev).forEach(item => {\n const prevList = prev[item]\n const nextList = ensureIsArray<() => any>(next[item])\n next[item] = nextList.concat(prevList)\n })\n })\n\n if (process.env.TARO_ENV === 'h5') {\n hooks.tap('createPullDownComponent', (\n el: React.FunctionComponent<PageProps> | React.ComponentClass<PageProps>,\n _,\n R: typeof React,\n customWrapper\n ) => {\n const isReactComponent = isClassComponent(R, el)\n\n return R.forwardRef((props, ref) => {\n const newProps: React.ComponentProps<any> = { ...props }\n const refs = isReactComponent ? { ref: ref } : {\n forwardedRef: ref,\n // 兼容 react-redux 7.20.1+\n reactReduxForwardedRef: ref\n }\n\n return h(\n customWrapper || 'taro-pull-to-refresh',\n null,\n h(el, {\n ...newProps,\n ...refs\n })\n )\n })\n })\n\n hooks.tap('getDOMNode', inst => {\n return ReactDOM.findDOMNode(inst)\n })\n }\n}\n\nexport function connectReactPage (\n R: typeof React,\n id: string\n) {\n return (Page: ReactPageComponent): React.ComponentClass<PageProps> => {\n // eslint-disable-next-line dot-notation\n const isReactComponent = isClassComponent(R, Page)\n const inject = (node?: Instance) => node && injectPageInstance(node, id)\n const refs = isReactComponent ? { ref: inject } : {\n forwardedRef: inject,\n // 兼容 react-redux 7.20.1+\n reactReduxForwardedRef: inject\n }\n\n if (reactMeta.PageContext === EMPTY_OBJ) {\n reactMeta.PageContext = R.createContext('')\n }\n\n return class PageWrapper extends R.Component<PageProps, { hasError: boolean }> {\n state = {\n hasError: false\n }\n\n static getDerivedStateFromError (error: Error) {\n Current.app?.onError?.(error.message + error.stack)\n return { hasError: true }\n }\n\n // React 16 uncaught error 会导致整个应用 crash,\n // 目前把错误缩小到页面\n componentDidCatch (error: Error, info: React.ErrorInfo) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(error)\n console.error(info.componentStack)\n }\n }\n\n render () {\n const children = this.state.hasError\n ? []\n : h(reactMeta.PageContext.Provider, { value: id }, h(Page, {\n ...this.props,\n ...refs\n }))\n\n if (process.env.TARO_ENV === 'h5') {\n return h(\n 'div',\n { id, className: 'taro_page' },\n children\n )\n } else {\n return h(\n 'root',\n { id },\n children\n )\n }\n }\n }\n }\n}\n\n/**\n * 桥接小程序 App 构造器和 React 渲染流程\n * @param App 用户编写的入口组件\n * @param react 框架\n * @param dom 框架渲染器\n * @param config 入口组件配置 app.config.js 的内容\n * @returns 传递给 App 构造器的对象 obj :App(obj)\n */\nexport function createReactApp (\n App: React.ComponentClass,\n react: typeof React,\n dom,\n config: AppConfig\n) {\n if (process.env.NODE_ENV !== 'production') {\n ensure(!!dom, '构建 React/Nerv 项目请把 process.env.FRAMEWORK 设置为 \\'react\\'/\\'nerv\\' ')\n }\n\n reactMeta.R = react\n h = react.createElement\n ReactDOM = dom\n Fragment = react.Fragment\n const appInstanceRef = react.createRef<ReactAppInstance>()\n const isReactComponent = isClassComponent(react, App)\n let appWrapper: AppWrapper\n let appWrapperResolver: (value: AppWrapper) => void\n const appWrapperPromise = new Promise<AppWrapper>(resolve => (appWrapperResolver = resolve))\n\n setReconciler(ReactDOM)\n\n function getAppInstance (): ReactAppInstance | null {\n return appInstanceRef.current\n }\n\n function renderReactRoot () {\n let appId = 'app'\n if (process.env.TARO_ENV === 'h5') {\n appId = config?.appId || appId\n }\n const container = document.getElementById(appId)\n if((react.version || '').startsWith('18')){\n const root = ReactDOM.createRoot(container)\n root.render?.(h(AppWrapper))\n } else {\n ReactDOM.render?.(h(AppWrapper), container)\n }\n }\n\n class AppWrapper extends react.Component {\n // run createElement() inside the render function to make sure that owner is right\n private pages: Array<() => PageComponent> = []\n private elements: Array<PageComponent> = []\n\n constructor (props) {\n super(props)\n appWrapper = this\n appWrapperResolver(this)\n }\n\n public mount (pageComponent: ReactPageComponent, id: string, cb: () => void) {\n const pageWrapper = connectReactPage(react, id)(pageComponent)\n const key = id + pageKeyId()\n const page = () => h(pageWrapper, { key, tid: id })\n this.pages.push(page)\n this.forceUpdate(cb)\n }\n\n public unmount (id: string, cb: () => void) {\n const elements = this.elements\n const idx = elements.findIndex(item => item.props.tid === id)\n elements.splice(idx, 1)\n this.forceUpdate(cb)\n }\n\n public render () {\n const { pages, elements } = this\n\n while (pages.length > 0) {\n const page = pages.pop()!\n elements.push(page())\n }\n\n let props: React.ComponentProps<any> | null = null\n\n if (isReactComponent) {\n props = { ref: appInstanceRef }\n }\n\n return h(\n App,\n props,\n process.env.TARO_ENV === 'h5' ? h(Fragment ?? 'div', null, elements.slice()) : elements.slice()\n )\n }\n }\n\n if (process.env.TARO_ENV !== 'h5') {\n renderReactRoot()\n }\n\n const [ONLAUNCH, ONSHOW, ONHIDE] = hooks.call('getMiniLifecycleImpl')!.app\n\n const appObj: AppInstance = Object.create({\n render (cb: () => void) {\n appWrapper.forceUpdate(cb)\n },\n\n mount (component: ReactPageComponent, id: string, cb: () => void) {\n if (appWrapper) {\n appWrapper.mount(component, id, cb)\n } else {\n appWrapperPromise.then(appWrapper => appWrapper.mount(component, id, cb))\n }\n },\n\n unmount (id: string, cb: () => void) {\n appWrapper.unmount(id, cb)\n }\n }, {\n config: setDefaultDescriptor({\n configurable: true,\n value: config\n }),\n\n [ONLAUNCH]: setDefaultDescriptor({\n value (options) {\n setRouterParams(options)\n\n if (process.env.TARO_ENV === 'h5') {\n // 由于 H5 路由初始化的时候会清除 app 下的 dom 元素,所以需要在路由初始化后执行 render\n renderReactRoot()\n }\n\n const onLaunch = () => {\n // 用户编写的入口组件实例\n const app = getAppInstance()\n this.$app = app\n\n if (app) {\n // 把 App Class 上挂载的额外属性同步到全局 app 对象中\n if (app.taroGlobalData) {\n const globalData = app.taroGlobalData\n const keys = Object.keys(globalData)\n const descriptors = Object.getOwnPropertyDescriptors(globalData)\n keys.forEach(key => {\n Object.defineProperty(this, key, {\n configurable: true,\n enumerable: true,\n get () {\n return globalData[key]\n },\n set (value) {\n globalData[key] = value\n }\n })\n })\n Object.defineProperties(this, descriptors)\n }\n\n app.onLaunch?.(options)\n }\n triggerAppHook('onLaunch', options)\n }\n\n if (appWrapper) {\n onLaunch()\n } else {\n appWrapperPromise.then(() => onLaunch())\n }\n }\n }),\n\n [ONSHOW]: setDefaultDescriptor({\n value (options) {\n setRouterParams(options)\n\n const onShow = () => {\n /**\n * trigger lifecycle\n */\n const app = getAppInstance()\n // class component, componentDidShow\n app?.componentDidShow?.(options)\n // functional component, useDidShow\n triggerAppHook('onShow', options)\n }\n\n if (appWrapper) {\n onShow()\n } else {\n appWrapperPromise.then(onShow)\n }\n }\n }),\n\n [ONHIDE]: setDefaultDescriptor({\n value () {\n /**\n * trigger lifecycle\n */\n const app = getAppInstance()\n // class component, componentDidHide\n app?.componentDidHide?.()\n // functional component, useDidHide\n triggerAppHook('onHide')\n }\n }),\n\n onError: setDefaultDescriptor({\n value (error: string) {\n const app = getAppInstance()\n app?.onError?.(error)\n triggerAppHook('onError', error)\n if (process.env.NODE_ENV !== 'production' && error?.includes('Minified React error')) {\n console.warn('React 出现报错,请打开编译配置 mini.debugReact 查看报错详情:https://docs.taro.zone/docs/config-detail#minidebugreact')\n }\n }\n }),\n\n onUnhandledRejection: setDefaultDescriptor({\n value (res: unknown) {\n const app = getAppInstance()\n app?.onUnhandledRejection?.(res)\n triggerAppHook('onUnhandledRejection', res)\n }\n }),\n\n onPageNotFound: setDefaultDescriptor({\n value (res: unknown) {\n const app = getAppInstance()\n app?.onPageNotFound?.(res)\n triggerAppHook('onPageNotFound', res)\n }\n })\n })\n\n function triggerAppHook (lifecycle: keyof PageLifeCycle | keyof AppInstance, ...option) {\n const instance = getPageInstance(HOOKS_APP_ID)\n if (instance) {\n const app = getAppInstance()\n const func = hooks.call('getLifecycle', instance, lifecycle)\n if (Array.isArray(func)) {\n func.forEach(cb => cb.apply(app, option))\n }\n }\n }\n\n Current.app = appObj\n return appObj\n}\n","import {\n addLeadingSlash, Current, document, eventHandler,\n incrementId, injectPageInstance, Instance, removePageInstance, safeExecute,\n TaroRootElement\n} from '@tarojs/runtime'\nimport { EMPTY_OBJ } from '@tarojs/shared'\n\nimport { setReconciler } from './connect'\nimport { reactMeta } from './react-meta'\nimport { isClassComponent } from './utils'\n\nimport type { PageInstance } from '@tarojs/taro'\nimport type * as React from 'react'\n\ndeclare const getCurrentPages: () => PageInstance[]\n\nconst getNativeCompId = incrementId()\nlet h: typeof React.createElement\nlet ReactDOM\n\nfunction initNativeComponentEntry (R: typeof React, ReactDOM) {\n interface IEntryState {\n components: {\n compId: string\n element: React.ReactElement\n }[]\n }\n\n interface IWrapperProps {\n getCtx: () => any\n renderComponent: (ctx: any) => React.ReactElement\n }\n\n class NativeComponentWrapper extends R.Component<IWrapperProps, Record<any, any>> {\n root = R.createRef<TaroRootElement>()\n ctx = this.props.getCtx()\n\n componentDidMount () {\n this.ctx.component = this\n const rootElement = this.root.current!\n rootElement.ctx = this.ctx\n rootElement.performUpdate(true)\n }\n\n render () {\n return (\n h(\n 'root',\n {\n ref: this.root\n },\n this.props.renderComponent(this.ctx)\n )\n )\n }\n }\n\n class Entry extends R.Component<Record<any, any>, IEntryState> {\n state: IEntryState = {\n components: []\n }\n\n componentDidMount () {\n Current.app = this\n }\n\n mount (Component, compId, getCtx) {\n const isReactComponent = isClassComponent(R, Component)\n const inject = (node?: Instance) => node && injectPageInstance(node, compId)\n const refs = isReactComponent ? { ref: inject } : {\n forwardedRef: inject,\n reactReduxForwardedRef: inject\n }\n if (reactMeta.PageContext === EMPTY_OBJ) {\n reactMeta.PageContext = R.createContext('')\n }\n const item = {\n compId,\n element: h(NativeComponentWrapper, {\n key: compId,\n getCtx,\n renderComponent (ctx) {\n return h(\n reactMeta.PageContext.Provider,\n { value: compId },\n h(\n Component,\n {\n ...(ctx.data ||= {}).props,\n ...refs,\n $scope: ctx\n }\n )\n )\n }\n })\n }\n this.setState({\n components: [...this.state.components, item]\n })\n }\n\n unmount (compId) {\n const components = this.state.components\n const index = components.findIndex(item => item.compId === compId)\n const next = [...components.slice(0, index), ...components.slice(index + 1)]\n this.setState({\n components: next\n }, () => {\n removePageInstance(compId)\n })\n }\n\n render () {\n const components = this.state.components\n return (\n components.map(({ element }) => element)\n )\n }\n }\n\n setReconciler(ReactDOM)\n\n const app = document.getElementById('app')\n\n ReactDOM.render(\n h(Entry, {}),\n app\n )\n}\n\nexport function createNativeComponentConfig (Component, react: typeof React, reactdom, componentConfig) {\n reactMeta.R = react\n h = react.createElement\n ReactDOM = reactdom\n\n setReconciler(ReactDOM)\n\n const componentObj: Record<string, any> = {\n options: componentConfig,\n properties: {\n props: {\n type: null,\n value: null,\n observer (_newVal, oldVal) {\n oldVal && this.component.forceUpdate()\n }\n }\n },\n created () {\n if (!Current.app) {\n initNativeComponentEntry(react, ReactDOM)\n }\n },\n attached () {\n const compId = this.compId = getNativeCompId()\n setCurrent(compId)\n this.config = componentConfig\n Current.app!.mount!(Component, compId, () => this)\n },\n ready () {\n safeExecute(this.compId, 'onReady')\n },\n detached () {\n Current.app!.unmount!(this.compId)\n },\n pageLifetimes: {\n show (options) {\n safeExecute(this.compId, 'onShow', options)\n },\n hide () {\n safeExecute(this.compId, 'onHide')\n }\n },\n methods: {\n eh: eventHandler,\n onLoad (options) {\n safeExecute(this.compId, 'onLoad', options)\n },\n onUnload () {\n safeExecute(this.compId, 'onUnload')\n }\n }\n }\n\n function setCurrent (compId: string) {\n const pages = getCurrentPages()\n const currentPage = pages[pages.length - 1]\n if (Current.page === currentPage) return\n\n Current.page = currentPage\n\n const route = (currentPage as any).route || (currentPage as any).__route__\n const router = {\n params: currentPage.options || {},\n path: addLeadingSlash(route),\n $taroPath: compId,\n onReady: '',\n onHide: '',\n onShow: ''\n }\n Current.router = router\n\n if (!currentPage.options) {\n // 例如在微信小程序中,页面 options 的设置时机比组件 attached 慢\n Object.defineProperty(currentPage, 'options', {\n enumerable: true,\n configurable: true,\n get () {\n return this._optionsValue\n },\n set (value) {\n router.params = value\n this._optionsValue = value\n }\n })\n }\n }\n\n // onShareAppMessage 和 onShareTimeline 一样,会影响小程序右上方按钮的选项,因此不能默认注册。\n if (\n Component.onShareAppMessage ||\n Component.prototype?.onShareAppMessage ||\n Component.enableShareAppMessage\n ) {\n componentObj.methods.onShareAppMessage = function (options) {\n const target = options?.target\n if (target) {\n const id = target.id\n const element = document.getElementById(id)\n if (element) {\n target!.dataset = element.dataset\n }\n }\n return safeExecute(this.compId, 'onShareAppMessage', options)\n }\n }\n if (\n Component.onShareTimeline ||\n Component.prototype?.onShareTimeline ||\n Component.enableShareTimeline\n ) {\n componentObj.methods.onShareTimeline = function () {\n return safeExecute(this.compId, 'onShareTimeline')\n }\n }\n\n return componentObj\n}\n","import { hooks } from '@tarojs/shared'\n\nimport * as taroHooks from './hooks'\n\ndeclare const __TARO_FRAMEWORK__: string\n\nhooks.tap('initNativeApi', function (taro) {\n for (const hook in taroHooks) {\n taro[hook] = taroHooks[hook]\n }\n})\n\nif (__TARO_FRAMEWORK__ === 'preact') {\n const options = require('preact').options\n const oldVNodeHook = options.vnode\n const oldDiffedHook = options.diffed\n options.vnode = vnode => {\n const { type, props } = vnode\n let normalizedProps = props\n\n // only normalize props on Element nodes\n if (typeof type === 'string') {\n normalizedProps = {}\n\n for (let i in props) {\n const value = props[i]\n\n if (/^on/.test(i)) {\n i = i.toLowerCase()\n }\n\n if (type === 'map' && i === 'onregionchange') {\n // map 组件的 regionchange 事件非常特殊,详情:https://github.com/NervJS/taro/issues/5766\n normalizedProps.onbegin = value\n normalizedProps.onend = value\n continue\n }\n\n normalizedProps[i] = value\n }\n\n vnode.props = normalizedProps\n }\n\n if (oldVNodeHook) oldVNodeHook(vnode)\n }\n options.diffed = function (newVNode) {\n const domProp = Object.keys(newVNode).find(k => (newVNode[k]?.setAttribute))\n const dom = domProp ? newVNode[domProp] : null\n const newVNodeProps = newVNode.props\n if (dom) { /** ElementNode */\n for (const propName in newVNodeProps) {\n const propValue = newVNodeProps[propName]\n if (propValue === false && dom.props?.[propName] === undefined) {\n // 值为 false 的属性在 Preact 的 diff 中被 removeAttribute 了,这里手动 setAttribute\n // fix https://github.com/NervJS/taro/issues/11197\n dom.setAttribute(propName, propValue)\n }\n }\n }\n if (oldDiffedHook) oldDiffedHook(newVNode)\n }\n\n hooks.tap('modifyMpEvent', e => {\n const type = e.type\n if (type === 'tap') {\n e.type = 'click'\n } else if (type === 'focus') {\n // 兼容 preact/compat/src/render.js options.vnode 的处理逻辑\n e.type = 'focusin'\n } else if (type === 'blur') {\n e.type = 'focusout'\n }\n })\n // hooks.modifyDispatchEventImpls?.push(e => {\n // })\n}\n\nexport * from './connect'\nexport * from './connect-native'\nexport * from './hooks'\n"],"names":["h","ReactDOM"],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sources":["../src/runtime/react-meta.ts","../src/runtime/utils.ts","../src/runtime/hooks.ts","../src/runtime/connect.ts","../src/runtime/connect-native.ts","../src/runtime/index.ts"],"sourcesContent":["import { EMPTY_OBJ } from '@tarojs/shared'\n\nimport type * as React from 'react'\n\ninterface ReactMeta {\n PageContext: React.Context<string>\n R: typeof React\n}\n\nexport const reactMeta: ReactMeta = {\n PageContext: EMPTY_OBJ,\n R: EMPTY_OBJ\n}\n","import { Current } from '@tarojs/runtime'\nimport { isArray, isFunction } from '@tarojs/shared'\n\nimport type * as React from 'react'\n\nexport const HOOKS_APP_ID = 'taro-app'\n\nexport function isClassComponent (R: typeof React, component): boolean {\n const prototype = component.prototype\n\n // For React Redux\n if (component.displayName?.includes('Connect')) return false\n\n return (\n isFunction(component.render) ||\n !!prototype?.isReactComponent ||\n prototype instanceof R.Component // compat for some others react-like library\n )\n}\n\nexport function ensureIsArray<T> (item: T | T[]): T[] {\n if (isArray(item)) {\n return item\n } else {\n return item ? [item] : []\n }\n}\n\n/**\n * set writable, enumerable to true\n */\nexport function setDefaultDescriptor (obj: Record<string, any>) {\n obj.writable = true\n obj.enumerable = true\n return obj\n}\n\n/**\n * 设置入口的路由参数\n * @param options 小程序传入的参数\n */\nexport function setRouterParams (options) {\n Current.router = {\n params: options?.query,\n ...options\n }\n}\n","import {\n AppInstance, Current,\n Func, getPageInstance,\n injectPageInstance,\n Instance,\n PageLifeCycle,\n PageProps\n} from '@tarojs/runtime'\nimport { isArray, isFunction } from '@tarojs/shared'\n\nimport { reactMeta } from './react-meta'\nimport { HOOKS_APP_ID } from './utils'\n\nconst createTaroHook = (lifecycle: keyof PageLifeCycle | keyof AppInstance) => {\n return (fn: Func) => {\n const { R: React, PageContext } = reactMeta\n const id = React.useContext(PageContext) || HOOKS_APP_ID\n const instRef = React.useRef<Instance<PageProps>>()\n\n // hold fn ref and keep up to date\n const fnRef = React.useRef(fn)\n if (fnRef.current !== fn) fnRef.current = fn\n\n React.useLayoutEffect(() => {\n let inst = instRef.current = getPageInstance(id)\n let first = false\n if (!inst) {\n first = true\n instRef.current = Object.create(null)\n inst = instRef.current!\n }\n\n // callback is immutable but inner function is up to date\n const callback = (...args: any) => fnRef.current(...args)\n\n if (isFunction(inst[lifecycle])) {\n (inst[lifecycle]) = [inst[lifecycle], callback]\n } else {\n (inst[lifecycle]) = [\n ...((inst[lifecycle]) || []),\n callback\n ]\n }\n\n if (first) {\n injectPageInstance(inst!, id)\n }\n return () => {\n const inst = instRef.current\n if (!inst) return\n const list = inst![lifecycle]\n if (list === callback) {\n (inst[lifecycle]) = undefined\n } else if (isArray(list)) {\n (inst[lifecycle]) = list.filter(item => item !== callback)\n }\n instRef.current = undefined\n }\n }, [])\n }\n}\n\n/** LifeCycle */\nexport const useDidHide = createTaroHook('componentDidHide')\nexport const useDidShow = createTaroHook('componentDidShow')\n\n/** App */\nexport const useError = createTaroHook('onError')\nexport const useUnhandledRejection = createTaroHook('onUnhandledRejection')\nexport const useLaunch = createTaroHook('onLaunch')\nexport const usePageNotFound = createTaroHook('onPageNotFound')\n\n/** Page */\nexport const useLoad = createTaroHook('onLoad')\nexport const usePageScroll = createTaroHook('onPageScroll')\nexport const usePullDownRefresh = createTaroHook('onPullDownRefresh')\nexport const usePullIntercept = createTaroHook('onPullIntercept')\nexport const useReachBottom = createTaroHook('onReachBottom')\nexport const useResize = createTaroHook('onResize')\nexport const useUnload = createTaroHook('onUnload')\n\n/** Mini-Program */\nexport const useAddToFavorites = createTaroHook('onAddToFavorites')\nexport const useOptionMenuClick = createTaroHook('onOptionMenuClick')\nexport const useSaveExitState = createTaroHook('onSaveExitState')\nexport const useShareAppMessage = createTaroHook('onShareAppMessage')\nexport const useShareTimeline = createTaroHook('onShareTimeline')\nexport const useTitleClick = createTaroHook('onTitleClick')\n\n/** Router */\nexport const useReady = createTaroHook('onReady')\nexport const useRouter = (dynamic = false) => {\n const React = reactMeta.R\n return dynamic ? Current.router : React.useMemo(() => Current.router, [])\n}\nexport const useTabItemTap = createTaroHook('onTabItemTap')\n\nexport const useScope = () => undefined\n","import {\n AppInstance, Current, document, getPageInstance,\n incrementId, injectPageInstance, Instance,\n PageLifeCycle, PageProps,\n ReactAppInstance, ReactPageComponent\n} from '@tarojs/runtime'\nimport { EMPTY_OBJ, ensure, hooks } from '@tarojs/shared'\n\nimport { reactMeta } from './react-meta'\nimport { ensureIsArray, HOOKS_APP_ID, isClassComponent, setDefaultDescriptor, setRouterParams } from './utils'\n\nimport type { AppConfig } from '@tarojs/taro'\nimport type * as React from 'react'\n\ntype PageComponent = React.CElement<PageProps, React.Component<PageProps, any, any>>\n\nlet h: typeof React.createElement\nlet ReactDOM\nlet Fragment: typeof React.Fragment\n\nconst pageKeyId = incrementId()\n\nexport function setReconciler (ReactDOM) {\n hooks.tap('getLifecycle', function (instance, lifecycle: string) {\n lifecycle = lifecycle.replace(/^on(Show|Hide)$/, 'componentDid$1')\n return instance[lifecycle]\n })\n\n hooks.tap('modifyMpEvent', function (event) {\n // Note: ohos 上事件没有设置 type 类型 setter 方法导致报错\n Object.defineProperty(event, 'type', {\n value: event.type.replace(/-/g, '')\n })\n })\n\n hooks.tap('batchedEventUpdates', function (cb) {\n ReactDOM.unstable_batchedUpdates(cb)\n })\n\n hooks.tap('mergePageInstance', function (prev, next) {\n if (!prev || !next) return\n\n // 子组件使用 lifecycle hooks 注册了生命周期后,会存在 prev,里面是注册的生命周期回调。\n\n // prev 使用 Object.create(null) 创建,H5 的 fast-refresh 可能也会导致存在 prev,要排除这些意外产生的 prev\n if ('constructor' in prev) return\n\n Object.keys(prev).forEach(item => {\n const prevList = prev[item]\n const nextList = ensureIsArray<() => any>(next[item])\n next[item] = nextList.concat(prevList)\n })\n })\n\n if (process.env.TARO_ENV === 'h5') {\n hooks.tap('createPullDownComponent', (\n el: React.FunctionComponent<PageProps> | React.ComponentClass<PageProps>,\n _,\n R: typeof React,\n customWrapper\n ) => {\n const isReactComponent = isClassComponent(R, el)\n\n return R.forwardRef((props, ref) => {\n const newProps: React.ComponentProps<any> = { ...props }\n const refs = isReactComponent ? { ref: ref } : {\n forwardedRef: ref,\n // 兼容 react-redux 7.20.1+\n reactReduxForwardedRef: ref\n }\n\n return h(\n customWrapper || 'taro-pull-to-refresh',\n null,\n h(el, {\n ...newProps,\n ...refs\n })\n )\n })\n })\n\n hooks.tap('getDOMNode', inst => {\n return ReactDOM.findDOMNode(inst)\n })\n }\n}\n\nexport function connectReactPage (\n R: typeof React,\n id: string\n) {\n return (Page: ReactPageComponent): React.ComponentClass<PageProps> => {\n // eslint-disable-next-line dot-notation\n const isReactComponent = isClassComponent(R, Page)\n const inject = (node?: Instance) => node && injectPageInstance(node, id)\n const refs = isReactComponent ? { ref: inject } : {\n forwardedRef: inject,\n // 兼容 react-redux 7.20.1+\n reactReduxForwardedRef: inject\n }\n\n if (reactMeta.PageContext === EMPTY_OBJ) {\n reactMeta.PageContext = R.createContext('')\n }\n\n return class PageWrapper extends R.Component<PageProps, { hasError: boolean }> {\n state = {\n hasError: false\n }\n\n static getDerivedStateFromError (error: Error) {\n Current.app?.onError?.(error.message + error.stack)\n return { hasError: true }\n }\n\n // React 16 uncaught error 会导致整个应用 crash,\n // 目前把错误缩小到页面\n componentDidCatch (error: Error, info: React.ErrorInfo) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(error)\n console.error(info.componentStack)\n }\n }\n\n render () {\n const children = this.state.hasError\n ? []\n : h(reactMeta.PageContext.Provider, { value: id }, h(Page, {\n ...this.props,\n ...refs\n }))\n\n if (process.env.TARO_ENV === 'h5') {\n return h(\n 'div',\n { id, className: 'taro_page' },\n children\n )\n } else {\n return h(\n 'root',\n { id },\n children\n )\n }\n }\n }\n }\n}\n\n/**\n * 桥接小程序 App 构造器和 React 渲染流程\n * @param App 用户编写的入口组件\n * @param react 框架\n * @param dom 框架渲染器\n * @param config 入口组件配置 app.config.js 的内容\n * @returns 传递给 App 构造器的对象 obj :App(obj)\n */\nexport function createReactApp (\n App: React.ComponentClass,\n react: typeof React,\n dom,\n config: AppConfig\n) {\n if (process.env.NODE_ENV !== 'production') {\n ensure(!!dom, '构建 React/Nerv 项目请把 process.env.FRAMEWORK 设置为 \\'react\\'/\\'nerv\\' ')\n }\n\n reactMeta.R = react\n h = react.createElement\n ReactDOM = dom\n Fragment = react.Fragment\n const appInstanceRef = react.createRef<ReactAppInstance>()\n const isReactComponent = isClassComponent(react, App)\n let appWrapper: AppWrapper\n let appWrapperResolver: (value: AppWrapper) => void\n const appWrapperPromise = new Promise<AppWrapper>(resolve => (appWrapperResolver = resolve))\n\n setReconciler(ReactDOM)\n\n function getAppInstance (): ReactAppInstance | null {\n return appInstanceRef.current\n }\n\n function renderReactRoot () {\n let appId = 'app'\n if (process.env.TARO_ENV === 'h5') {\n appId = config?.appId || appId\n }\n const container = document.getElementById(appId)\n if((react.version || '').startsWith('18')){\n const root = ReactDOM.createRoot(container)\n root.render?.(h(AppWrapper))\n } else {\n ReactDOM.render?.(h(AppWrapper), container)\n }\n }\n\n class AppWrapper extends react.Component {\n // run createElement() inside the render function to make sure that owner is right\n private pages: Array<() => PageComponent> = []\n private elements: Array<PageComponent> = []\n\n constructor (props) {\n super(props)\n appWrapper = this\n appWrapperResolver(this)\n }\n\n public mount (pageComponent: ReactPageComponent, id: string, cb: () => void) {\n const pageWrapper = connectReactPage(react, id)(pageComponent)\n const key = id + pageKeyId()\n const page = () => h(pageWrapper, { key, tid: id })\n this.pages.push(page)\n this.forceUpdate(cb)\n }\n\n public unmount (id: string, cb: () => void) {\n const elements = this.elements\n const idx = elements.findIndex(item => item.props.tid === id)\n elements.splice(idx, 1)\n this.forceUpdate(cb)\n }\n\n public render () {\n const { pages, elements } = this\n\n while (pages.length > 0) {\n const page = pages.pop()!\n elements.push(page())\n }\n\n let props: React.ComponentProps<any> | null = null\n\n if (isReactComponent) {\n props = { ref: appInstanceRef }\n }\n\n return h(\n App,\n props,\n process.env.TARO_ENV === 'h5' ? h(Fragment ?? 'div', null, elements.slice()) : elements.slice()\n )\n }\n }\n\n if (process.env.TARO_ENV !== 'h5') {\n renderReactRoot()\n }\n\n const [ONLAUNCH, ONSHOW, ONHIDE] = hooks.call('getMiniLifecycleImpl')!.app\n\n const appObj: AppInstance = Object.create({\n render (cb: () => void) {\n appWrapper.forceUpdate(cb)\n },\n\n mount (component: ReactPageComponent, id: string, cb: () => void) {\n if (appWrapper) {\n appWrapper.mount(component, id, cb)\n } else {\n appWrapperPromise.then(appWrapper => appWrapper.mount(component, id, cb))\n }\n },\n\n unmount (id: string, cb: () => void) {\n appWrapper.unmount(id, cb)\n }\n }, {\n config: setDefaultDescriptor({\n configurable: true,\n value: config\n }),\n\n [ONLAUNCH]: setDefaultDescriptor({\n value (options) {\n setRouterParams(options)\n\n if (process.env.TARO_ENV === 'h5') {\n // 由于 H5 路由初始化的时候会清除 app 下的 dom 元素,所以需要在路由初始化后执行 render\n renderReactRoot()\n }\n\n const onLaunch = () => {\n // 用户编写的入口组件实例\n const app = getAppInstance()\n this.$app = app\n\n if (app) {\n // 把 App Class 上挂载的额外属性同步到全局 app 对象中\n if (app.taroGlobalData) {\n const globalData = app.taroGlobalData\n const keys = Object.keys(globalData)\n const descriptors = Object.getOwnPropertyDescriptors(globalData)\n keys.forEach(key => {\n Object.defineProperty(this, key, {\n configurable: true,\n enumerable: true,\n get () {\n return globalData[key]\n },\n set (value) {\n globalData[key] = value\n }\n })\n })\n Object.defineProperties(this, descriptors)\n }\n\n app.onLaunch?.(options)\n }\n triggerAppHook('onLaunch', options)\n }\n\n if (appWrapper) {\n onLaunch()\n } else {\n appWrapperPromise.then(() => onLaunch())\n }\n }\n }),\n\n [ONSHOW]: setDefaultDescriptor({\n value (options) {\n setRouterParams(options)\n\n const onShow = () => {\n /**\n * trigger lifecycle\n */\n const app = getAppInstance()\n // class component, componentDidShow\n app?.componentDidShow?.(options)\n // functional component, useDidShow\n triggerAppHook('onShow', options)\n }\n\n if (appWrapper) {\n onShow()\n } else {\n appWrapperPromise.then(onShow)\n }\n }\n }),\n\n [ONHIDE]: setDefaultDescriptor({\n value () {\n /**\n * trigger lifecycle\n */\n const app = getAppInstance()\n // class component, componentDidHide\n app?.componentDidHide?.()\n // functional component, useDidHide\n triggerAppHook('onHide')\n }\n }),\n\n onError: setDefaultDescriptor({\n value (error: string) {\n const app = getAppInstance()\n app?.onError?.(error)\n triggerAppHook('onError', error)\n if (process.env.NODE_ENV !== 'production' && error?.includes('Minified React error')) {\n console.warn('React 出现报错,请打开编译配置 mini.debugReact 查看报错详情:https://docs.taro.zone/docs/config-detail#minidebugreact')\n }\n }\n }),\n\n onUnhandledRejection: setDefaultDescriptor({\n value (res: unknown) {\n const app = getAppInstance()\n app?.onUnhandledRejection?.(res)\n triggerAppHook('onUnhandledRejection', res)\n }\n }),\n\n onPageNotFound: setDefaultDescriptor({\n value (res: unknown) {\n const app = getAppInstance()\n app?.onPageNotFound?.(res)\n triggerAppHook('onPageNotFound', res)\n }\n })\n })\n\n function triggerAppHook (lifecycle: keyof PageLifeCycle | keyof AppInstance, ...option) {\n const instance = getPageInstance(HOOKS_APP_ID)\n if (instance) {\n const app = getAppInstance()\n const func = hooks.call('getLifecycle', instance, lifecycle)\n if (Array.isArray(func)) {\n func.forEach(cb => cb.apply(app, option))\n }\n }\n }\n\n Current.app = appObj\n return appObj\n}\n","import {\n addLeadingSlash, Current, document, eventHandler,\n incrementId, injectPageInstance, Instance, removePageInstance, safeExecute,\n TaroRootElement\n} from '@tarojs/runtime'\nimport { EMPTY_OBJ } from '@tarojs/shared'\n\nimport { setReconciler } from './connect'\nimport { reactMeta } from './react-meta'\nimport { isClassComponent } from './utils'\n\nimport type { PageInstance } from '@tarojs/taro'\nimport type * as React from 'react'\n\ndeclare const getCurrentPages: () => PageInstance[]\n\nconst getNativeCompId = incrementId()\nlet h: typeof React.createElement\nlet ReactDOM\n\nfunction initNativeComponentEntry (R: typeof React, ReactDOM) {\n interface IEntryState {\n components: {\n compId: string\n element: React.ReactElement\n }[]\n }\n\n interface IWrapperProps {\n getCtx: () => any\n renderComponent: (ctx: any) => React.ReactElement\n }\n\n class NativeComponentWrapper extends R.Component<IWrapperProps, Record<any, any>> {\n root = R.createRef<TaroRootElement>()\n ctx = this.props.getCtx()\n\n componentDidMount () {\n this.ctx.component = this\n const rootElement = this.root.current!\n rootElement.ctx = this.ctx\n rootElement.performUpdate(true)\n }\n\n render () {\n return (\n h(\n 'root',\n {\n ref: this.root\n },\n this.props.renderComponent(this.ctx)\n )\n )\n }\n }\n\n class Entry extends R.Component<Record<any, any>, IEntryState> {\n state: IEntryState = {\n components: []\n }\n\n componentDidMount () {\n Current.app = this\n }\n\n mount (Component, compId, getCtx) {\n const isReactComponent = isClassComponent(R, Component)\n const inject = (node?: Instance) => node && injectPageInstance(node, compId)\n const refs = isReactComponent ? { ref: inject } : {\n forwardedRef: inject,\n reactReduxForwardedRef: inject\n }\n if (reactMeta.PageContext === EMPTY_OBJ) {\n reactMeta.PageContext = R.createContext('')\n }\n const item = {\n compId,\n element: h(NativeComponentWrapper, {\n key: compId,\n getCtx,\n renderComponent (ctx) {\n return h(\n reactMeta.PageContext.Provider,\n { value: compId },\n h(\n Component,\n {\n ...(ctx.data ||= {}).props,\n ...refs,\n $scope: ctx\n }\n )\n )\n }\n })\n }\n this.setState({\n components: [...this.state.components, item]\n })\n }\n\n unmount (compId) {\n const components = this.state.components\n const index = components.findIndex(item => item.compId === compId)\n const next = [...components.slice(0, index), ...components.slice(index + 1)]\n this.setState({\n components: next\n }, () => {\n removePageInstance(compId)\n })\n }\n\n render () {\n const components = this.state.components\n return (\n components.map(({ element }) => element)\n )\n }\n }\n\n setReconciler(ReactDOM)\n\n const app = document.getElementById('app')\n\n ReactDOM.render(\n h(Entry, {}),\n app\n )\n}\n\nexport function createNativeComponentConfig (Component, react: typeof React, reactdom, componentConfig) {\n reactMeta.R = react\n h = react.createElement\n ReactDOM = reactdom\n\n setReconciler(ReactDOM)\n\n const componentObj: Record<string, any> = {\n options: componentConfig,\n properties: {\n props: {\n type: null,\n value: null,\n observer (_newVal, oldVal) {\n oldVal && this.component?.forceUpdate()\n }\n }\n },\n created () {\n if (!Current.app) {\n initNativeComponentEntry(react, ReactDOM)\n }\n },\n attached () {\n const compId = this.compId = getNativeCompId()\n setCurrent(compId)\n this.config = componentConfig\n Current.app!.mount!(Component, compId, () => this)\n },\n ready () {\n safeExecute(this.compId, 'onReady')\n },\n detached () {\n resetCurrent()\n Current.app!.unmount!(this.compId)\n },\n pageLifetimes: {\n show (options) {\n safeExecute(this.compId, 'onShow', options)\n },\n hide () {\n safeExecute(this.compId, 'onHide')\n }\n },\n methods: {\n eh: eventHandler,\n onLoad (options) {\n safeExecute(this.compId, 'onLoad', options)\n },\n onUnload () {\n safeExecute(this.compId, 'onUnload')\n }\n }\n }\n \n function resetCurrent () {\n // 小程序插件页面卸载之后返回到宿主页面时,需重置Current页面和路由。否则引发插件组件二次加载异常 fix:#11991\n Current.page = null\n Current.router = null\n }\n\n function setCurrent (compId: string) {\n const pages = getCurrentPages()\n const currentPage = pages[pages.length - 1]\n if (Current.page === currentPage) return\n\n Current.page = currentPage\n\n const route = (currentPage as any).route || (currentPage as any).__route__\n const router = {\n params: currentPage.options || {},\n path: addLeadingSlash(route),\n $taroPath: compId,\n onReady: '',\n onHide: '',\n onShow: ''\n }\n Current.router = router\n\n if (!currentPage.options) {\n // 例如在微信小程序中,页面 options 的设置时机比组件 attached 慢\n Object.defineProperty(currentPage, 'options', {\n enumerable: true,\n configurable: true,\n get () {\n return this._optionsValue\n },\n set (value) {\n router.params = value\n this._optionsValue = value\n }\n })\n }\n }\n\n // onShareAppMessage 和 onShareTimeline 一样,会影响小程序右上方按钮的选项,因此不能默认注册。\n if (\n Component.onShareAppMessage ||\n Component.prototype?.onShareAppMessage ||\n Component.enableShareAppMessage\n ) {\n componentObj.methods.onShareAppMessage = function (options) {\n const target = options?.target\n if (target) {\n const id = target.id\n const element = document.getElementById(id)\n if (element) {\n target!.dataset = element.dataset\n }\n }\n return safeExecute(this.compId, 'onShareAppMessage', options)\n }\n }\n if (\n Component.onShareTimeline ||\n Component.prototype?.onShareTimeline ||\n Component.enableShareTimeline\n ) {\n componentObj.methods.onShareTimeline = function () {\n return safeExecute(this.compId, 'onShareTimeline')\n }\n }\n\n return componentObj\n}\n","import { hooks } from '@tarojs/shared'\n\nimport * as taroHooks from './hooks'\n\ndeclare const __TARO_FRAMEWORK__: string\n\nhooks.tap('initNativeApi', function (taro) {\n for (const hook in taroHooks) {\n taro[hook] = taroHooks[hook]\n }\n})\n\nif (__TARO_FRAMEWORK__ === 'preact') {\n const options = require('preact').options\n const oldVNodeHook = options.vnode\n const oldDiffedHook = options.diffed\n options.vnode = vnode => {\n const { type, props } = vnode\n let normalizedProps = props\n\n // only normalize props on Element nodes\n if (typeof type === 'string') {\n normalizedProps = {}\n\n for (let i in props) {\n const value = props[i]\n\n if (/^on/.test(i)) {\n i = i.toLowerCase()\n }\n\n if (type === 'map' && i === 'onregionchange') {\n // map 组件的 regionchange 事件非常特殊,详情:https://github.com/NervJS/taro/issues/5766\n normalizedProps.onbegin = value\n normalizedProps.onend = value\n continue\n }\n\n normalizedProps[i] = value\n }\n\n vnode.props = normalizedProps\n }\n\n if (oldVNodeHook) oldVNodeHook(vnode)\n }\n options.diffed = function (newVNode) {\n const domProp = Object.keys(newVNode).find(k => (newVNode[k]?.setAttribute))\n const dom = domProp ? newVNode[domProp] : null\n const newVNodeProps = newVNode.props\n if (dom) { /** ElementNode */\n for (const propName in newVNodeProps) {\n const propValue = newVNodeProps[propName]\n if (propValue === false && dom.props?.[propName] === undefined) {\n // 值为 false 的属性在 Preact 的 diff 中被 removeAttribute 了,这里手动 setAttribute\n // fix https://github.com/NervJS/taro/issues/11197\n dom.setAttribute(propName, propValue)\n }\n }\n }\n if (oldDiffedHook) oldDiffedHook(newVNode)\n }\n\n hooks.tap('modifyMpEvent', e => {\n const type = e.type\n if (type === 'tap') {\n e.type = 'click'\n } else if (type === 'focus') {\n // 兼容 preact/compat/src/render.js options.vnode 的处理逻辑\n e.type = 'focusin'\n } else if (type === 'blur') {\n e.type = 'focusout'\n }\n })\n // hooks.modifyDispatchEventImpls?.push(e => {\n // })\n}\n\nexport * from './connect'\nexport * from './connect-native'\nexport * from './hooks'\n"],"names":["h","ReactDOM"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/plugin-framework-react",
3
- "version": "3.6.0-alpha.0",
3
+ "version": "3.6.0-alpha.2",
4
4
  "description": "React/Preact/Nerv 框架插件",
5
5
  "author": "drchan",
6
6
  "homepage": "https://github.com/nervjs/taro",
@@ -23,10 +23,10 @@
23
23
  "dependencies": {
24
24
  "acorn": "^8.0.4",
25
25
  "acorn-walk": "^8.0.0",
26
- "@tarojs/helper": "3.6.0-alpha.0",
27
- "@tarojs/runtime": "3.6.0-alpha.0",
28
- "@tarojs/service": "3.6.0-alpha.0",
29
- "@tarojs/shared": "3.6.0-alpha.0"
26
+ "@tarojs/helper": "3.6.0-alpha.2",
27
+ "@tarojs/runtime": "3.6.0-alpha.2",
28
+ "@tarojs/service": "3.6.0-alpha.2",
29
+ "@tarojs/shared": "3.6.0-alpha.2"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
@@ -35,7 +35,10 @@
35
35
  "@prefresh/webpack": "^3.2.3",
36
36
  "preact": "^10.10.0",
37
37
  "react-refresh": "^0.11.0",
38
- "webpack": "5.69.0"
38
+ "webpack": "5.69.0",
39
+ "rollup": "^3.8.1",
40
+ "rollup-plugin-node-externals": "^4.0.0",
41
+ "rollup-plugin-ts": "^3.0.2"
39
42
  },
40
43
  "peerDependencies": {
41
44
  "react": ">=17"
@@ -58,7 +61,7 @@
58
61
  }
59
62
  },
60
63
  "scripts": {
61
- "build": "rollup -c",
62
- "dev": "rollup -c -w"
64
+ "build": "rollup -c --bundleConfigAsCjs",
65
+ "dev": "rollup -c -w --bundleConfigAsCjs"
63
66
  }
64
67
  }